From a86918312320ccc2e6dafae25fd5800ef62b3710 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Wed, 22 Apr 2015 13:08:44 -0400 Subject: [PATCH] freedreno/a4xx: primitive-restart This was the missing bit to get dolphin-emu working on a4xx. Signed-off-by: Rob Clark --- src/gallium/drivers/freedreno/a4xx/fd4_emit.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/gallium/drivers/freedreno/a4xx/fd4_emit.c b/src/gallium/drivers/freedreno/a4xx/fd4_emit.c index 353873daa05..4b6eb646aa7 100644 --- a/src/gallium/drivers/freedreno/a4xx/fd4_emit.c +++ b/src/gallium/drivers/freedreno/a4xx/fd4_emit.c @@ -466,10 +466,15 @@ fd4_emit_state(struct fd_context *ctx, struct fd_ringbuffer *ring, * when it changes. */ if (emit->info) { + const struct pipe_draw_info *info = emit->info; uint32_t val = fd4_rasterizer_stateobj(ctx->rasterizer) ->pc_prim_vtx_cntl; + if (info->indexed && info->primitive_restart) + val |= A4XX_PC_PRIM_VTX_CNTL_PRIMITIVE_RESTART; + val |= COND(vp->writes_psize, A4XX_PC_PRIM_VTX_CNTL_PSIZE); + if (fp->total_in > 0) { uint32_t varout = align(fp->total_in, 16) / 16; if (varout > 1) -- 2.30.2