From fc3d5bebf22f58391789437b7d3301149982de68 Mon Sep 17 00:00:00 2001 From: Emma Anholt Date: Tue, 18 May 2021 12:19:45 -0700 Subject: [PATCH] i915g: Fix writing of undefined depth value if not writing any outputs. This was showing up as flakes in CI on tests that didn't write any outputs but did check the depth result. Reviewed-by: Adam Jackson Part-of: --- src/gallium/drivers/i915/ci/piglit-i915-g33-flakes.txt | 1 - src/gallium/drivers/i915/i915_fpc_translate.c | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/gallium/drivers/i915/ci/piglit-i915-g33-flakes.txt b/src/gallium/drivers/i915/ci/piglit-i915-g33-flakes.txt index 92d1886e954..e76b4b79258 100644 --- a/src/gallium/drivers/i915/ci/piglit-i915-g33-flakes.txt +++ b/src/gallium/drivers/i915/ci/piglit-i915-g33-flakes.txt @@ -1,2 +1 @@ spec@glsl-1.10@execution@discard@glsl-fs-discard-03 -spec@glsl-1.10@glsl-fs-discard-only diff --git a/src/gallium/drivers/i915/i915_fpc_translate.c b/src/gallium/drivers/i915/i915_fpc_translate.c index bda51b3dd96..d41a59e0601 100644 --- a/src/gallium/drivers/i915/i915_fpc_translate.c +++ b/src/gallium/drivers/i915/i915_fpc_translate.c @@ -1187,7 +1187,7 @@ static void i915_fixup_depth_write(struct i915_fp_compile *p) { /* XXX assuming pos/depth is always in output[0] */ - if (p->shader->info.output_semantic_name[0] == TGSI_SEMANTIC_POSITION) { + if (p->shader->info.num_outputs != 0 && p->shader->info.output_semantic_name[0] == TGSI_SEMANTIC_POSITION) { const uint depth = UREG(REG_TYPE_OD, 0); i915_emit_arith(p,