System Environment: -------------------------- Arch: i386 Platform: Sandybridge Libdrm: (master)2.4.29-3-gef20301a11afae50bfe127002913dbd0b81ddccc Mesa: (master)67e6a40605c482617afa9bd698003ea15e8f8f6e Xserver: (master)xorg-server-1.11.99.2-10-ge4b4d83fad37bb737e25f7226dbcd15b892f9528 Xf86_video_intel: (master)2.17.0-179-g4c2a97e9d2b1073f0e4b3f7b6670939e1b1c5121 Kernel: (drm-intel-next)097354eb14fa94d31a09c64d640643f58e4a5a9a Bug detailed description: ------------------------- It failed only on SNB, the same failure as below cases: glsl-bif-tex-grad(basic.textureGradOffset.2D.float) glsl-bif-tex-grad(basic.textureProjGrad.2D.float.vec3) glsl-bif-tex-grad(basic.textureProjGrad.2D.float.vec4) glsl-bif-tex-grad(basic.textureProjGradOffset.2D.float.vec3) glsl-bif-tex-grad(basic.textureProjGradOffset.2D.float.vec4) glsl-bif-tex-grad(advanced.textureGrad.1D.float) glsl-bif-tex-grad(advanced.textureGradOffset.1D.float) glsl-bif-tex-grad(advanced.textureProjGrad.1D.float.vec2) glsl-bif-tex-grad(advanced.textureProjGrad.1D.float.vec4) glsl-bif-tex-grad(advanced.textureProjGradOffset.1D.float.vec2) glsl-bif-tex-grad(advanced.textureProjGradOffset.1D.float.vec4) glsl-bif-tex-grad(advanced.textureProjGradOffset.3D.float) Bisect shows 37d24a70daa41bbad9c7a85dd432f561a172e858 is the first bad commit commit 37d24a70daa41bbad9c7a85dd432f561a172e858 Author: Kenneth Graunke <kenneth@whitecape.org> AuthorDate: Thu Oct 27 21:57:48 2011 -0700 Commit: Kenneth Graunke <kenneth@whitecape.org> CommitDate: Mon Dec 19 16:33:11 2011 -0800 i965: Advertise our vertex shader texture units. Previously, we advertised 0 VS texture units. Now that we have proper support for using the sampling engine in the VS, we can advertise 16, which is conveniently the number required for OpenGL 3.0. v2: Enable on Gen4. I hacked up my tests to not use flat ivec varyings and they pass. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reproduce steps: ---------------- 1. start X 2. ./oglconform -z -s -suite all -v 2 -test glsl-bif-tex-grad basic.textureGrad.2D.float
Thanks for the report. I'll look into it ASAP.
The below cases are segfault on SNB/ILK: shad-compiler(advanced.TestTexture2D_VertShader) shad-compiler(advanced.TestTexture2DProj_vec3_VertShader) shad-compiler(advanced.TestTexture2DProj_vec4_VertShader) shad-compiler(advanced.TestTexture2DLod_VertShader) shad-compiler(advanced.TestTexture2DProjLod_vec3_VertShader) shad-compiler(advanced.TestTexture2DProjLod_vec4_VertShader) shad-compiler(advanced.TestTexture3DProj_VertShader) shad-compiler(advanced.TestTexture3DLod_VertShader) shad-compiler(advanced.TestTexture3DProjLod_VertShader) shad-compiler(advanced.TestTextureCube_VertShader) shad-compiler(advanced.TestTextureCubeLod_VertShader) shad-compiler(advanced.TestShadow2D_VertShader) shad-compiler(advanced.TestShadow2DProj_VertShader) shad-compiler(advanced.TestShadow2DLod_VertShader) shad-compiler(advanced.TestShadow2DProjLod_VertShader) here is a backtrace with shad-compiler(advanced.TestTexture2D_VertShader) (gdb) bt #0 0xb7b7faa0 in extract_float_rgba (n=128, rgba=0xa0daa58, srcFormat=6408, srcType=5126, src=0xa366d00, swapBytes=0 '\000') at main/pack.c:2525 #1 0xb7b818ff in _mesa_unpack_color_span_ubyte (ctx=0x9cb8158, n=128, dstFormat=6408, dest=0xa0ad080 "\245R)?\350\363y?", srcFormat=6408, srcType=5126, source=0xa366d00, srcPacking=0xbfffdee0, transferOps=<value optimized out>) at main/pack.c:3665 #2 0xb7ba8c18 in _mesa_make_temp_ubyte_image (ctx=0x9cb8158, dims=3, logicalBaseFormat=6408, textureBaseFormat=6408, srcWidth=128, srcHeight=128, srcDepth=1, srcFormat=6408, srcType=5126, srcAddr=0xa306d50, srcPacking=0xbfffdee0) at main/texstore.c:609 #3 0xb7baae86 in _mesa_texstore_argb8888 (ctx=0x9cb8158, dims=3, baseInternalFormat=6408, dstFormat=MESA_FORMAT_ARGB8888, dstXoffset=0, dstYoffset=0, dstZoffset=0, dstRowStride=2048, dstSlices=0xa0d2348, srcWidth=128, srcHeight=128, srcDepth=1, srcFormat=6408, srcType=5126, srcAddr=0xa306d50, srcPacking=0xbfffdee0) at main/texstore.c:1540 #4 0xb7ba52d9 in _mesa_texstore (ctx=0x9cb8158, dims=3, baseInternalFormat=6408, dstFormat=MESA_FORMAT_ARGB8888, dstXoffset=0, dstYoffset=0, dstZoffset=0, dstRowStride=2048, dstSlices=0xa0d2348, srcWidth=128, srcHeight=128, srcDepth=1, srcFormat=6408, srcType=5126, srcAddr=0xa306d50, srcPacking=0xbfffdee0) at main/texstore.c:4541 #5 0xb7ba5e72 in _mesa_store_teximage3d (ctx=0x9cb8158, target=3553, level=2, internalFormat=6408, width=128, height=128, depth=1, border=0, format=6408, type=5126, pixels=0xa306d50, packing=0xbfffdee0, texObj=0x9cad3e0, texImage=0x9ff9530) at main/texstore.c:4798 #6 0xb7aa4261 in intelTexImage (ctx=0x9cb8158, dims=<value optimized out>, target=3553, level=2, internalFormat=6408, width=128, height=128, depth=1, format=6408, type=5126, pixels=0xa306d50, unpack=0xbfffdee0, texObj=0x9cad3e0, texImage=0x9ff9530, imageSize=0) at intel_tex_image.c:225 #7 0xb7b9f655 in teximage (ctx=0xbffef3fc, dims=2, target=3553, level=2, internalFormat=6408, width=128, height=128, depth=1, border=0, format=6408, type=5126, pixels=0xa306d50) at main/teximage.c:2489 #8 0xb7ba007e in _mesa_TexImage2D (target=3553, level=2, internalFormat=6408, width=130, height=130, border=1, format=6408, type=5126, pixels=0xa306d50) at main/teximage.c:2543 #9 0x083c45a4 in Tex2DDrawLoop(char*, float*, float*, float*, unsigned char, unsigned char) () #10 0x083c5eec in TestTexture2D_VertShader() () #11 0x083c73c7 in ShaderCompilerExec(testParameters*) () #12 0x08d8d668 in callFunctionHandleExceptionsInner(long (*)(testParameters*), testParameters*, char*) () #13 0x08d8d7b7 in callFunctionHandleExceptions(long (*)(testParameters*), testParameters*) () #14 0x08d8c2d9 in DriverExec(long (*)(testParameters*), testParameters*) () #15 0x08d71d41 in Driver(std::vector<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::vector<driverRec*, std::allocator<driverRec*> > const&, std::vector<boost::shared_ptr<PrePostTestAction>, std::allocator<boost::shared_ptr<PrePostTestAction> > > const&, std::vector<boost::shared_ptr<PrePostTestcaseAction>, std::allocator<boost::shared_ptr<PrePostTestcaseAction> > > const&) () #16 0x08d720fe in (anonymous namespace)::MyMessagePump::idle() () #17 0x08d45dfa in MessagePump::process_messages() ()
Ken
The shad-compiler segfaults are a separate issue; could you please split those into a separate bug report? Thanks.
The shad-compiler tests work fine on SNB with Mesa master. Some of them fail due to unrelated PushAttrib/PopAttrib issues with stencil parameters, but OGLconform ignores that issue for nVidia and the Intel Windows driver, so it's unclear whether it's actually a driver bug or not. That said, none of those segfault on SNB. Since there are no crashes and, as far as I can tell, no regressions in the fragment shader texturing support, I'm removing this from the release blocker list. We can figure out why the tex-grad VS tests fail later.
Guang, can you update the test result, to confirm there's no crash?
System Environment: -------------------------- Arch: i386 Platform: SandyBridge Libdrm: (master)2.4.32-2-g617213357e94299a5e9a3cb1342de55de949d156 Mesa: (master)9cb777eb71dde895ca0ad3454a9b44252e9b402e Xserver: (master)xorg-server-1.12.0-47-g7f3997b01a8813c1d7055317eb06111aed8572c9 Xf86_video_intel: (master)2.18.0-151-g2e7b5f7eafbf452c781e50eba7dc8323260af59e Cairo: (master)fba21ef2a4c4eb343668267fda713aedbb6af2a4 Libva: (vaapi-ext)f8be4a5477e58c4a27170f0c87eeedac8de60aef Libva_intel_driver: (vaapi-ext)82fa52510a37ab645daaa3bb7091ff5096a20d0b Kernel_unstable: (drm-intel-next-queued)e7e58eb5c0d1d7d1a42fcb2b5a247d28ec08b47e Detailed description: ------------------------- The segemault cases run with a pass result. these cases were segemault before,but pass now: shad-compiler(advanced.TestTexture2D_VertShader) shad-compiler(advanced.TestTexture2DProj_vec3_VertShader) shad-compiler(advanced.TestTexture2DProj_vec4_VertShader) shad-compiler(advanced.TestTexture2DLod_VertShader) shad-compiler(advanced.TestTexture2DProjLod_vec3_VertShader) shad-compiler(advanced.TestTexture2DProjLod_vec4_VertShader) shad-compiler(advanced.TestTexture3DProj_VertShader) shad-compiler(advanced.TestTexture3DLod_VertShader) shad-compiler(advanced.TestTexture3DProjLod_VertShader) shad-compiler(advanced.TestTextureCube_VertShader) shad-compiler(advanced.TestTextureCubeLod_VertShader) shad-compiler(advanced.TestShadow2D_VertShader) shad-compiler(advanced.TestShadow2DProj_VertShader) shad-compiler(advanced.TestShadow2DLod_VertShader) shad-compiler(advanced.TestShadow2DProjLod_VertShader) And the fail cases reported at this bug still fail now.
While we want to fix the glsl-bif-tex bugs, I've spent weeks working on these and made no progress. Many of them produce random results. Lowering the priority; there are plenty of oglconform failures left to fix.
system environment: Mesa: (master)61b62c007a7941e9b45e83440e932160a597e0e1 Kernel:(drm-intel-next-queued) ab3951eb74e7c33a2f5b7b64d72e82f1eea61571 glsl-bif-tex-grad(basic.textureGrad.2D.float) becomes pass, I run it 20 cycles. Following cases still fail, I run them 20 cycles. they fail all 20 runs. glsl-bif-tex-grad(basic.textureProjGradOffset.2D.float.vec4) glsl-bif-tex-grad(advanced.textureProjGradOffset.1D.float.vec4) glsl-bif-tex-grad(advanced.textureProjGradOffset.3D.float) run: ./oglconform -z -suite all -v 2 -D 141 -test glsl-bif-tex-grad \ basic.textureProjGradOffset.2D.float.vec4 Visual Report for ID 141 (32 bits). ID |ACCELERA|DB |REND_T |SURF_T |C_BUF_T |BUF_S |RED_S | 141| 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
Created attachment 65223 [details] output
(In reply to comment #9) > Following cases still fail, I run them 20 cycles. they fail all 20 runs. > glsl-bif-tex-grad(basic.textureProjGradOffset.2D.float.vec4) > glsl-bif-tex-grad(advanced.textureProjGradOffset.1D.float.vec4) > glsl-bif-tex-grad(advanced.textureProjGradOffset.3D.float) > > run: ./oglconform -z -suite all -v 2 -D 141 -test glsl-bif-tex-grad \ > basic.textureProjGradOffset.2D.float.vec4 You're right, basic.textureProjGradOffset.2D.float.vec4 does seem to fail consistently. Running it with -u fs (fragment shader only), it seems to pass every time, while running it with -u vs (vertex shader only), it fails every time.
Ken, so shall we consider this as true regression, and put it back to high priority?
No...it's not really a regression. The existing fragment shader implementation continues to work fine (running the test with -u fs passes). The new vertex shader support doesn't (it fails with -u vs). textureProjGradOffset in the VS is an extremely obscure case. I'd actually be surprised to see anyone use it.
closing as won't fix.
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.