From 8f2999120de83845b1c0098170356819c5a6e439 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 30 Mar 2018 16:31:07 -0700 Subject: broadcom/vc5: Add checks that we don't try to do raw Z+S load/stores. This was dying in the simulator on GTF-GLES3.gtf.GL3Tests.packed_depth_stencil.packed_depth_stencil_blit. We'll need to do basically the same thing as Z32F/S8 does in the MSAA Z24S8 case. --- src/gallium/drivers/vc5/vc5_rcl.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/gallium/drivers/vc5') diff --git a/src/gallium/drivers/vc5/vc5_rcl.c b/src/gallium/drivers/vc5/vc5_rcl.c index 8ff1515f883..83593a86d2e 100644 --- a/src/gallium/drivers/vc5/vc5_rcl.c +++ b/src/gallium/drivers/vc5/vc5_rcl.c @@ -69,6 +69,10 @@ load_general(struct vc5_cl *cl, struct pipe_surface *psurf, int buffer) /* XXX: MSAA */ #else /* V3D_VERSION < 40 */ + /* Can't do raw ZSTENCIL loads -- need to load/store them to + * separate buffers for Z and stencil. + */ + assert(buffer != ZSTENCIL); load.raw_mode = true; load.padded_height_of_output_image_in_uif_blocks = surf->padded_height_of_output_image_in_uif_blocks; @@ -119,6 +123,10 @@ store_general(struct vc5_job *job, store.height_in_ub_or_stride = slice->stride; } #else /* V3D_VERSION < 40 */ + /* Can't do raw ZSTENCIL stores -- need to load/store them to + * separate buffers for Z and stencil. + */ + assert(buffer != ZSTENCIL); store.raw_mode = true; if (!last_store) { store.disable_colour_buffers_clear_on_write = true; -- cgit v1.2.3