etnaviv: disable in-place resolve for non-supertiled surfaces
authorLucas Stach <l.stach@pengutronix.de>
Tue, 19 Dec 2017 16:35:59 +0000 (17:35 +0100)
committerChristian Gmeiner <christian.gmeiner@gmail.com>
Mon, 1 Jan 2018 21:48:06 +0000 (22:48 +0100)
The in-place resolve probably has some additional restrictions when not
operating on a super tiled surface. Disable it on non-supertiled surfaces
for now to work around a GPU hang.

Fixes: 78ade659569e ("etnaviv: Do GC3000 resolve-in-place when possible")
Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
src/gallium/drivers/etnaviv/etnaviv_rs.c

index 3d9d6a0b357d7036df52d422d3cd499147a59938..7d9e8e0e3894d10d3736b3d1d42367e538cbdf63 100644 (file)
@@ -143,6 +143,7 @@ etna_compile_rs_state(struct etna_context *ctx, struct compiled_rs_state *cs,
          rs->source_offset == rs->dest_offset &&
          rs->source_format == rs->dest_format &&
          rs->source_tiling == rs->dest_tiling &&
+         (rs->source_tiling & ETNA_LAYOUT_BIT_SUPER) &&
          rs->source_stride == rs->dest_stride &&
          !rs->downsample_x && !rs->downsample_y &&
          !rs->swap_rb && !rs->flip &&