System Environment: -------------------------- Platform: SNB Libdrm: (master)libdrm-2.4.56-21-g8c2ae1695913990cbe6c6a8aa294f354eba33bd0 Mesa: (master)504f5f9d1a4fb5a0ddc8a5d0bf73fd6eba96b1d0 Xserver:(master)xorg-server-1.16.0-152-g3a51418b2db353519a1779cf3cebbcc9afba2520 Xf86_video_intel:(master)2.99.914-89-gaa10f480c566b8523cdd49b3e23f64b7b9625987 Libva: (master)c356638098e55453d2fac8bbb92eafc8cc32d6f4 Libva_intel_driver:(master)865f288d6821dfea5a9dc2a0525eba69ef786b23 Kernel: (drm-intel-nightly)4144c90b76dfe6eaa2205ac947090786b5091cff Bug detailed description: --------------------------- It crash on SNB+ platforms with mesa 10.3 branch and SNB with mesa master branch. It works well on IVB+ with mesa master branch. It's a new case. spec_EXT_shader_integer_mix_execution_vs-mix-if-bool also has this issue. output: Segmentation fault (core dumped) (gdb) bt #0 exec_list_push_tail (n=0x810957c, list=0xbfffe4f8) at ../../../../../src/glsl/list.h:439 #1 push_tail (n=0x810957c, this=0xbfffe4f8) at ../../../../../src/glsl/list.h:567 #2 emit (inst=0x810957c, this=0xbfffe4d8) at brw_fs_visitor.cpp:2759 #3 fs_visitor::resolve_ud_negate (this=this@entry=0xbfffe4d8, reg=reg@entry=0xbfffe520) at brw_fs_visitor.cpp:3230 #4 0xb79af119 in resolve_ud_negate (reg=0xbfffe520, this=0xbfffe4d8) at brw_fs_visitor.cpp:2262 #5 fs_visitor::emit_bool_to_cond_code (this=0x10001, ir=0x0) at brw_fs_visitor.cpp:2259 #6 0xb79afa01 in exec_list_get_tail (list=0x20) at ../../../../../src/glsl/list.h:407 #7 get_tail (this=0x20) at ../../../../../src/glsl/list.h:552 #8 fs_visitor::visit (this=0x70001, ir=0x0) at brw_fs_visitor.cpp:1109 #9 0xb79afe01 in fs_visitor::visit (this=0x0, ir=0x0) at brw_fs_visitor.cpp:2534 #10 0x00000000 in ?? () Reproduce steps: ------------------------- 1. xinit 2. bin/shader_runner tests/spec/ext_shader_integer_mix/execution/fs-mix-if-bool.shader_test -auto
I think Ken just hasn't committed the corresponding Mesa code.
should be fixed by: commit 6272e60ca394a8da178d3352831a48f4c429a3bc Author: Kenneth Graunke <kenneth@whitecape.org> Date: Thu Sep 4 00:18:43 2014 -0700 i965: Handle ir_triop_csel in emit_if_gen6(). ir_triop_csel can return a boolean expression, so we need to handle it here; we simply forgot when we added ir_triop_csel, and forgot again when adding it to emit_bool_to_cond_code. Fixes Piglit's EXT_shader_integer_mix/{vs,fs}-mix-if-bool on Sandybridge. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Cc: 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.