aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/v3d
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2019-04-22 11:04:32 -0700
committerEric Anholt <[email protected]>2019-04-26 12:42:30 -0700
commit49071b2e3ff2a34b817483d38d286c04c8fa39cf (patch)
treee892fb9845e07d13da355368f98438eeea1eb55e /src/gallium/drivers/v3d
parent4358904c06838138b17e7e81b55d3a04d50dde1e (diff)
v3d: Don't try to update the shadow texture for separate stencil.
There are two cases where v3d's sampler view's resource doesn't match the base's: shadow textures for sampling from raster, and pointing at the separate depth texture for z32f_s8x24. We only want to update shadow for the first case. Fixes dEQP-GLES31.functional.stencil_texturing.render.depth32f_stencil8_draw when run after the previous testcase.
Diffstat (limited to 'src/gallium/drivers/v3d')
-rw-r--r--src/gallium/drivers/v3d/v3dx_draw.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/v3d/v3dx_draw.c b/src/gallium/drivers/v3d/v3dx_draw.c
index 0c8eb66b939..7ddd1f92a2f 100644
--- a/src/gallium/drivers/v3d/v3dx_draw.c
+++ b/src/gallium/drivers/v3d/v3dx_draw.c
@@ -157,7 +157,8 @@ v3d_predraw_check_stage_inputs(struct pipe_context *pctx,
continue;
struct v3d_sampler_view *view = v3d_sampler_view(pview);
- if (view->texture != view->base.texture)
+ if (view->texture != view->base.texture &&
+ view->base.format != PIPE_FORMAT_X32_S8X24_UINT)
v3d_update_shadow_texture(pctx, &view->base);
v3d_flush_jobs_writing_resource(v3d, view->texture);