Summary: | [BDW/BSW Bisected]Piglit/shaders_glsl-max-varyings fails | ||
---|---|---|---|
Product: | Mesa | Reporter: | lu hua <huax.lu> |
Component: | Drivers/DRI/i965 | Assignee: | Matt Turner <mattst88> |
Status: | VERIFIED FIXED | QA Contact: | Intel 3D Bugs Mailing List <intel-3d-bugs> |
Severity: | normal | ||
Priority: | high | CC: | idr |
Version: | unspecified | Keywords: | patch |
Hardware: | All | ||
OS: | Linux (All) | ||
URL: | http://lists.freedesktop.org/archives/mesa-dev/2015-February/078228.html | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
remove ifs from fragment shader
reduce to 108 varyings to avoid VS spilling |
Description
lu hua
2015-01-26 06:13:19 UTC
*** Bug 88906 has been marked as a duplicate of this bug. *** Created attachment 113419 [details] [review] remove ifs from fragment shader I've reproduced the bug by running > bin/varying-packing-simple int separate -auto -fbo and can confirm that the test passes after reverting the bisected patch. I suspect that this patch simply uncovered an existing bug with spilling. Both the fragment and vertex shader spill heavily. I've modified simple.c to remove if statements from the fragment shader. After that the fragment shader doesn't spill, but the test still fails. Reducing the number of varyings to 108 allows the VS to now spill and then the test passes. More investigation needed. Created attachment 113420 [details] [review] reduce to 108 varyings to avoid VS spilling (In reply to Matt Turner from comment #3) > Created attachment 113420 [details] [review] [review] > reduce to 108 varyings to avoid VS spilling Apply this patch, It still fails: libGL: OpenDriver: trying /opt/X11R7/lib/dri/tls/i965_dri.so libGL: OpenDriver: trying /opt/X11R7/lib/dri/i965_dri.so libGL: Error in /etc/drirc line 1, column 0: no element found. libGL: Error in /root/.drirc line 1, column 0: no element found. libGL: Error in /etc/drirc line 1, column 0: no element found. libGL: Error in /root/.drirc line 1, column 0: no element found. Vertical axis: Increasing numbers of varyings. Horizontal axis: Which of the varyings contains the color. GL_MAX_VARYING_FLOATS = 128 Probe color at (90,94) Expected: 0.000000 1.000000 0.000000 Observed: 0.501961 0.501961 0.501961 Failure with 24 vec4 varyings used in varying index 22 Probe color at (90,98) Expected: 0.000000 1.000000 0.000000 Observed: 0.501961 0.501961 0.501961 Failure with 25 vec4 varyings used in varying index 22 Probe color at (2,102) Expected: 0.000000 1.000000 0.000000 Observed: 0.000000 0.000000 0.000000 Failure with 26 vec4 varyings used in varying index 0 Probe color at (6,106) Expected: 0.000000 1.000000 0.000000 Observed: 0.000000 0.000000 0.000000 Failure with 27 vec4 varyings used in varying index 1 Probe color at (2,110) Expected: 0.000000 1.000000 0.000000 Observed: 1.000000 1.000000 0.000000 Failure with 28 vec4 varyings used in varying index 0 Probe color at (6,114) Expected: 0.000000 1.000000 0.000000 Observed: 0.000000 0.000000 0.000000 Failure with 29 vec4 varyings used in varying index 1 Probe color at (2,118) Expected: 0.000000 1.000000 0.000000 Observed: 0.501961 0.501961 0.501961 Failure with 30 vec4 varyings used in varying index 0 Probe color at (6,122) Expected: 0.000000 1.000000 0.000000 Observed: 0.000000 0.000000 0.000000 Failure with 31 vec4 varyings used in varying index 1 Probe color at (2,126) Expected: 0.000000 1.000000 0.000000 Observed: 1.000000 0.000000 0.000000 Failure with 32 vec4 varyings used in varying index 0 PIGLIT: {"result": "fail" } This test also began failing intermittently on haswell. oops, disregard my last comment. I confused this test with EXT_transform_feedback.max-varyings Patch sent to the mailing list. Should be fixed by commit da20bf068ef0f816968d9bc4dfea81facf0fd680 Author: Matt Turner <mattst88@gmail.com> Date: Sat Feb 28 13:36:21 2015 -0800 i965: Consider scratch writes to have side effects. Verified.Fixed. libGL: OpenDriver: trying /opt/X11R7/lib/dri/tls/i965_dri.so libGL: OpenDriver: trying /opt/X11R7/lib/dri/i965_dri.so Vertical axis: Increasing numbers of varyings. Horizontal axis: Which of the varyings contains the color. GL_MAX_VARYING_FLOATS = 128 PIGLIT: {"result": "pass" } |
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.