diff options
author | Rob Clark <[email protected]> | 2014-06-18 10:24:04 -0400 |
---|---|---|
committer | Rob Clark <[email protected]> | 2014-07-25 13:29:28 -0400 |
commit | d48faad3c2d7efb7f4bf727b63487071c4a75e7a (patch) | |
tree | 63faf2efc4457849e9f06ffca81dcbcf68dd998e /src/gallium/drivers/freedreno/a3xx | |
parent | 9613ca569f553666b7397c10321f43bdbb843a13 (diff) |
freedreno/a3xx: enable/disable wa's based on patch-level
It seems like for the most part, different behaviors, workarounds, etc,
should be conditional on GPU patch revision (ie. a320.0 vs a320.2)
rather than GPU id (a320 vs a330).
Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/a3xx')
-rw-r--r-- | src/gallium/drivers/freedreno/a3xx/fd3_emit.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/gallium/drivers/freedreno/a3xx/fd3_emit.c b/src/gallium/drivers/freedreno/a3xx/fd3_emit.c index 6bbd9bf6330..1e4de26406a 100644 --- a/src/gallium/drivers/freedreno/a3xx/fd3_emit.c +++ b/src/gallium/drivers/freedreno/a3xx/fd3_emit.c @@ -681,12 +681,13 @@ fd3_emit_restore(struct fd_context *ctx) fd_event_write(ctx, ring, CACHE_FLUSH); - /* probably only really needed on a320: */ - OUT_PKT3(ring, CP_DRAW_INDX, 3); - OUT_RING(ring, 0x00000000); - OUT_RING(ring, DRAW(1, DI_SRC_SEL_AUTO_INDEX, - INDEX_SIZE_IGN, IGNORE_VISIBILITY)); - OUT_RING(ring, 0); /* NumIndices */ + if (is_a3xx_p0(ctx->screen)) { + OUT_PKT3(ring, CP_DRAW_INDX, 3); + OUT_RING(ring, 0x00000000); + OUT_RING(ring, DRAW(1, DI_SRC_SEL_AUTO_INDEX, + INDEX_SIZE_IGN, IGNORE_VISIBILITY)); + OUT_RING(ring, 0); /* NumIndices */ + } OUT_PKT3(ring, CP_NOP, 4); OUT_RING(ring, 0x00000000); |