System Environment: -------------------------- Platform: Broadwell Libdrm: (master)libdrm-2.4.54-17-ge8c3c1358ecaf4e90f7d43762357ae6f8e2022b6 Mesa: (master)50bbe49c330095ba451d0f48c56759d148a609c2 Xserver: (master)xorg-server-1.15.99.902-121-g2f5cf9ff9a0f713b7e038636484c77f113a5f10a Xf86_video_intel:(master)2.99.912-227-g8587b2fff218537c6ff568ac3ef561f0d39f03ff Libva: (master)c61d8c6ce9ffc27320e9e177c1e1123d5f1b5014 Libva_intel_driver:(master)c5cb17ea86f0065a939d3636dd26651c93d497c8 Kernel: drm-intel-nightly/ed4d04defe2c6962efe8f4ba3587a8e69e06d2dd Bug detailed description: ------------------------- Some new cases spec_glsl-1.50_execution_built-in-functions* fail on Broadwell with Mesa master branch and Mesa 10.2 branch. spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-abs-neg-int-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-abs-neg-int-ivec2 spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-abs-neg-int-ivec3 spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-abs-neg-int-ivec4 spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-abs-neg-ivec2-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-abs-neg-ivec2-ivec2 spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-abs-neg-ivec3-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-abs-neg-ivec3-ivec3 spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-abs-neg-ivec4-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-abs-neg-ivec4-ivec4 spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-abs-not-int-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-abs-not-int-ivec2 spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-abs-not-int-ivec3 spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-abs-not-int-ivec4 spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-abs-not-ivec2-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-abs-not-ivec2-ivec2 spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-abs-not-ivec3-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-abs-not-ivec3-ivec3 spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-abs-not-ivec4-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-abs-not-ivec4-ivec4 spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-not-abs-int-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-not-abs-int-ivec2 spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-not-abs-int-ivec3 spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-not-abs-int-ivec4 spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-not-abs-ivec2-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-not-abs-ivec2-ivec2 spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-not-abs-ivec3-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-not-abs-ivec3-ivec3 spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-not-abs-ivec4-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitand-not-abs-ivec4-ivec4 spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-abs-neg-int-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-abs-neg-int-ivec2 spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-abs-neg-int-ivec3 spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-abs-neg-int-ivec4 spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-abs-neg-ivec2-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-abs-neg-ivec2-ivec2 spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-abs-neg-ivec3-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-abs-neg-ivec3-ivec3 spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-abs-neg-ivec4-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-abs-neg-ivec4-ivec4 spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-abs-not-int-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-abs-not-int-ivec2 spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-abs-not-int-ivec3 spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-abs-not-int-ivec4 spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-abs-not-ivec2-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-abs-not-ivec2-ivec2 spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-abs-not-ivec3-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-abs-not-ivec3-ivec3 spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-abs-not-ivec4-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-abs-not-ivec4-ivec4 spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-not-abs-int-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-not-abs-int-ivec2 spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-not-abs-int-ivec3 spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-not-abs-int-ivec4 spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-not-abs-ivec2-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-not-abs-ivec2-ivec2 spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-not-abs-ivec3-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-not-abs-ivec3-ivec3 spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-not-abs-ivec4-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitor-not-abs-ivec4-ivec4 spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-abs-neg-int-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-abs-neg-int-ivec2 spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-abs-neg-int-ivec3 spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-abs-neg-int-ivec4 spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-abs-neg-ivec2-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-abs-neg-ivec2-ivec2 spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-abs-neg-ivec3-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-abs-neg-ivec3-ivec3 spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-abs-neg-ivec4-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-abs-neg-ivec4-ivec4 spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-abs-not-int-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-abs-not-int-ivec2 spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-abs-not-int-ivec3 spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-abs-not-int-ivec4 spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-abs-not-ivec2-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-abs-not-ivec2-ivec2 spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-abs-not-ivec3-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-abs-not-ivec3-ivec3 spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-abs-not-ivec4-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-abs-not-ivec4-ivec4 spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-not-abs-int-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-not-abs-int-ivec2 spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-not-abs-int-ivec3 spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-not-abs-int-ivec4 spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-not-abs-ivec2-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-not-abs-ivec2-ivec2 spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-not-abs-ivec3-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-not-abs-ivec3-ivec3 spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-not-abs-ivec4-int spec_glsl-1.50_execution_built-in-functions_gs-op-bitxor-not-abs-ivec4-ivec4 run bin/shader_runner generated_tests/spec/glsl-1.50/execution/built-in-functions/gs-op-bitand-abs-neg-int-int.shader_test -auto output: Probe color at (1,0) Expected: 0.000000 1.000000 0.000000 1.000000 Observed: 1.000000 0.000000 0.000000 1.000000 Probe color at (6,0) Expected: 0.000000 1.000000 0.000000 1.000000 Observed: 1.000000 0.000000 0.000000 1.000000 Probe color at (8,0) Expected: 0.000000 1.000000 0.000000 1.000000 Observed: 1.000000 0.000000 0.000000 1.000000 Probe color at (11,0) Expected: 0.000000 1.000000 0.000000 1.000000 Observed: 1.000000 0.000000 0.000000 1.000000 Probe color at (13,0) Expected: 0.000000 1.000000 0.000000 1.000000 Observed: 1.000000 0.000000 0.000000 1.000000 Probe color at (16,0) Expected: 0.000000 1.000000 0.000000 1.000000 Observed: 1.000000 0.000000 0.000000 1.000000 Probe color at (18,0) Expected: 0.000000 1.000000 0.000000 1.000000 Observed: 1.000000 0.000000 0.000000 1.000000 PIGLIT: {"result": "fail" } Reproduce steps: ------------------------- 1. xinit 2. bin/shader_runner generated_tests/spec/glsl-1.50/execution/built-in-functions/gs-op-bitand-abs-neg-int-int.shader_test -auto
In BDW the meaning of the neg / not modifier changed in some cases. I believe Abdiel was working in this area.
*** Bug 81156 has been marked as a duplicate of this bug. ***
(In reply to comment #1) > In BDW the meaning of the neg / not modifier changed in some cases. I > believe Abdiel was working in this area. Since it looks like it's just the geometry shader tests that are failing, I suspect it might be something else.
(In reply to comment #3) > (In reply to comment #1) > > In BDW the meaning of the neg / not modifier changed in some cases. I > > believe Abdiel was working in this area. > > Since it looks like it's just the geometry shader tests that are failing, I > suspect it might be something else. According to the other bug (81156) which got marked as a duplicate of this, the VS and FS ones are failing too. So...they're all failing. (I haven't verified this myself - just reading the reports...)
I don't know what the absolute value source modifier does on logic instructions, but it doesn't seem to give the absolute value of a negative argument. It doesn't appear to touch positive arguments though. Not sure how I can investigate further, without being able to create an aub file. I suspect we should just disable copy propagation of (abs) arguments into logical instructions on Broadwell.
Fixed in master by: commit a2de6562783ea87ca5fbcb67dbd36c2f345f2054 Author: Kenneth Graunke <kenneth@whitecape.org> Date: Tue Jul 15 21:27:08 2014 -0700 i965: Don't copy propagate abs into Broadwell logic instructions. It's not clear what abs on logical instructions means on Broadwell, and it doesn't appear to do anything sensible. Fixes 270 Piglit tests (the bitand/bitor/bitxor tests with abs). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81157 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Cc: "10.2" <mesa-stable@lists.freedesktop.org>
Verified.Fixed.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.