System Environment: -------------------------- Arch: x86_64 Platform: Ivybridge Libdrm: (master)libdrm-2.4.37 Mesa: (master)f34764ea5308221dc35479bd118142a0e249049c Xserver:(master)xorg-server-1.12.0-233-gdae317e7265007b38012244722e3b3a06e904ed5 Xf86_video_intel:(master)2.19.0-375-gaffdebcb2d09cd8fdc5aadb2d8df3193587e4a06 Libva: (staging)f12f80371fb534e6bbf248586b3c17c298a31f4e Libva_intel_driver:(staging)82fa52510a37ab645daaa3bb7091ff5096a20d0b Kernel: (drm-intel-next-queued) 146937e5828ede495e11ba3a6f4a01b36b7166dc Bug detailed description: --------------------- It fails on Ivybridge with mesa master and 8.0 branch. Following cases also fail: glsl-bif-tex-texture(basic.textureOffset.sampler1DShadow.set1) glsl-bif-tex-texture(basic.texture.sampler1DShadow.set1) glsl-bif-tex-texture(basic.texture.sampler1DShadow.set2-mips) The last known good commit:4bfdc8313592ec8a8794d6b7bc33a5c44df34ed4. The last known bad commit:f34764ea5308221dc35479bd118142a0e249049c. Visual Report: ID |ACCELERA|DB |REND_T |SURF_T |C_BUF_T |BUF_S |RED_S | 114| 1| 1| gl| wipbpx| rgba| 32| 8| GREEN_S |BLUE_S |ALPHA_S |DEPTH_S |STENC_S |ACCUM_S |SPL_BUF |SAMPLES | 8| 8| 8| 24| 8| 64| 0| 0| SRGB |TEX_RGB |TEX_RGBA|CAVEAT |SWAP |M_PBUF_W|M_PBUF_H|M_PBUF_P -1| 0| 0| slow| undef| 0| 0| 0 Reproduce steps: ---------------------------- 1. start x 2. ./oglconform -z -suite all -v 2 -D 114 -test glsl-bif-tex-texture \ basic.texture.sampler1DShadow.set2-mips
Most of the oglc glsl-bif-tex tests have had fairly random results for me. In other words, it sometimes passes, and sometimes fails. I've spent weeks looking into this already, with no progress. While we want to fix this, I'm skeptical that it's actually a regression, so I've lowered the priority.
Bisect shows: 5b83bdc154ec8d607a4c4d96171d0128e51abaec is the first bad commit commit 5b83bdc154ec8d607a4c4d96171d0128e51abaec Author: Kenneth Graunke <kenneth@whitecape.org> Date: Sat Jun 16 02:08:13 2012 -0700 i965: Fix brw_swap_cmod() for LE/GE comparisons. The idea here is to rewrite comparisons like 2 >= x with x <= 2; we want to simply exchange arguments, not negate the condition. If equality was part of the original comparison, it should remain part of the swapped version. This is the true cause of bug #50298. It didn't manifest itself on Sandybridge because we embed the conditional modifier in the IF instruction rather than emitting a CMP. All other platforms use CMP. It also didn't manifest itself on the master branch because commit be5f27a84d ("glsl: Refine the loop instruction counting.") papered over the problem. NOTE: This is a candidate for stable release branches. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50298 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
Created attachment 65222 [details] output
I run it 20 cycles, It fails 20 times. system environment: Mesa: (master)61b62c007a7941e9b45e83440e932160a597e0e1 Kernel:(drm-intel-next-queued) ab3951eb74e7c33a2f5b7b64d72e82f1eea61571
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.