diff options
author | Eric Anholt <[email protected]> | 2018-03-30 16:31:07 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2018-04-12 11:20:50 -0700 |
commit | 8f2999120de83845b1c0098170356819c5a6e439 (patch) | |
tree | 76d728159e26cb104615fb8a8695dae1d3b831dd | |
parent | 7553cbfc9d78f0a4f8816122ce6327bc3899c2b5 (diff) |
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.
-rw-r--r-- | src/gallium/drivers/vc5/vc5_rcl.c | 8 |
1 files changed, 8 insertions, 0 deletions
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; |