From d8a1d419520a812e4b00c0ebb2e5c419eb0d79ca Mon Sep 17 00:00:00 2001 From: Emma Anholt Date: Tue, 18 May 2021 12:27:34 -0700 Subject: [PATCH] i915g: Fix undefined results for TGSI_OPCODE_KILL The swizzle() requires a proper ureg with the 0/1 swizzle fields filled in, or our ONE swizzles end up reading .x instead. This meant that we were killing based on the incoming value of R0. Reviewed-by: Adam Jackson Part-of: --- src/gallium/drivers/i915/ci/deqp-i915-g33-flakes.txt | 1 - src/gallium/drivers/i915/ci/piglit-i915-g33-flakes.txt | 1 - src/gallium/drivers/i915/i915_fpc_translate.c | 2 +- 3 files changed, 1 insertion(+), 3 deletions(-) delete mode 100644 src/gallium/drivers/i915/ci/piglit-i915-g33-flakes.txt diff --git a/src/gallium/drivers/i915/ci/deqp-i915-g33-flakes.txt b/src/gallium/drivers/i915/ci/deqp-i915-g33-flakes.txt index c08e59c..2b5321e 100644 --- a/src/gallium/drivers/i915/ci/deqp-i915-g33-flakes.txt +++ b/src/gallium/drivers/i915/ci/deqp-i915-g33-flakes.txt @@ -1,2 +1 @@ -dEQP-GLES2.functional.shaders.discard.function_always dEQP-GLES2.functional.shaders.random.texture.* diff --git a/src/gallium/drivers/i915/ci/piglit-i915-g33-flakes.txt b/src/gallium/drivers/i915/ci/piglit-i915-g33-flakes.txt deleted file mode 100644 index e76b4b7..0000000 --- a/src/gallium/drivers/i915/ci/piglit-i915-g33-flakes.txt +++ /dev/null @@ -1 +0,0 @@ -spec@glsl-1.10@execution@discard@glsl-fs-discard-03 diff --git a/src/gallium/drivers/i915/i915_fpc_translate.c b/src/gallium/drivers/i915/i915_fpc_translate.c index d41a59e..f51dfc4 100644 --- a/src/gallium/drivers/i915/i915_fpc_translate.c +++ b/src/gallium/drivers/i915/i915_fpc_translate.c @@ -646,7 +646,7 @@ i915_translate_instruction(struct i915_fp_compile *p, tmp, /* dest reg: a dummy reg */ A0_DEST_CHANNEL_ALL, /* dest writemask */ 0, /* sampler */ - negate(swizzle(0, ONE, ONE, ONE, ONE), 1, 1, 1, 1), /* coord */ + negate(swizzle(UREG(REG_TYPE_R, 0), ONE, ONE, ONE, ONE), 1, 1, 1, 1), /* coord */ T0_TEXKILL, /* opcode */ 1); /* num_coord */ break; -- 2.7.4