diff options
author | Rob Clark <[email protected]> | 2015-04-22 13:08:44 -0400 |
---|---|---|
committer | Rob Clark <[email protected]> | 2015-04-22 13:20:28 -0400 |
commit | a86918312320ccc2e6dafae25fd5800ef62b3710 (patch) | |
tree | b8927fe9d2ee6791f7bb676df401c2cba0bb40ac /src/gallium/drivers/freedreno/a4xx | |
parent | 632ea2a1139f4b228ca55331e411dbae9920c28d (diff) |
freedreno/a4xx: primitive-restart
This was the missing bit to get dolphin-emu working on a4xx.
Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/a4xx')
-rw-r--r-- | src/gallium/drivers/freedreno/a4xx/fd4_emit.c | 5 |
1 files changed, 5 insertions, 0 deletions
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) |