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 <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10874>
This commit is contained in:
parent
fc3d5bebf2
commit
d8a1d41952
3 changed files with 1 additions and 3 deletions
|
|
@ -1,2 +1 @@
|
|||
dEQP-GLES2.functional.shaders.discard.function_always
|
||||
dEQP-GLES2.functional.shaders.random.texture.*
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
spec@glsl-1.10@execution@discard@glsl-fs-discard-03
|
||||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue