Bug 77221

Summary: [BDW]Piglit spec_ARB_shader_atomic_counters_fragment-discard segfault
Product: Mesa Reporter: lu hua <huax.lu>
Component: Drivers/DRI/i965Assignee: Kenneth Graunke <kenneth>
Status: VERIFIED FIXED QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: major    
Priority: medium    
Version: unspecified   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description lu hua 2014-04-09 05:59:36 UTC
System Environment:
--------------------------
Platform: Broadwell
Libdrm:		(master)libdrm-2.4.52-10-g1cb5fc706cf5913d9dee33c939f65a23ecea17a5
Mesa:		(master)159cec9dec2320d821d388c0df8140c7705b6e0b
Xserver:	(master)xorg-server-1.15.99.901-204-g901fbfbbbd71c0d82080957f8ba09eebbc786f2b
Xf86_video_intel:(master)2.99.911-44-g3310ee89c1f1a663de5f5b12b8125809a213996f
Cairo:		(master)bb17403622e9ea474017e0039af8ee48b2b285db
Libva:		(staging)960352aaf1e11891a533ce2c98b16edde24d6851
Libva_intel_driver:(staging)150f67c67bd92cd201b75a92388fe3a63b00cd8a
Kernel:	(drm-intel-nightly) 7cd8b823493acc320c7db9112de9d4e21c6dbd11

Bug detailed description:
-----------------------------
It segfault on Broadwell with Mesa master branch, but work well on Haswell.
spec_ARB_shader_atomic_counters_function-argument and spec_ARB_shader_atomic_counters_unique-id also segfault.

output:
Segmentation fault (core dumped)
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x00007ffff41ed1e7 in brw_upload_abo_surfaces (brw=0x7ffff3e56038, prog=0x876cb8, stage_state=<optimized out>, prog_data=<optimized out>) at brw_wm_surface_state.c:916
#2  0x00007ffff41bb247 in brw_upload_state (brw=0x7ffff3e56038) at brw_state_upload.c:643
#3  0x00007ffff41707f7 in brw_try_draw_prims (indirect=<optimized out>, max_index=0, min_index=0, ib=<optimized out>, nr_prims=1, prims=<optimized out>, arrays=0x840f50,
    ctx=0x7ffff3e56038) at brw_draw.c:485
#4  brw_draw_prims (ctx=0x7ffff3e56038, prims=<optimized out>, nr_prims=1, ib=<optimized out>, index_bounds_valid=<optimized out>, min_index=0, max_index=3,
    unused_tfb_object=0x0, indirect=0x0) at brw_draw.c:580
#5  0x00007ffff3fc4382 in vbo_draw_arrays (ctx=0x7ffff3e56038, mode=5, start=0, count=<optimized out>, numInstances=1, baseInstance=<optimized out>) at vbo/vbo_exec_array.c:667
#6  0x00007ffff7d1a0e9 in stub_glDrawArrays (mode=5, first=0, count=4) at /GFX/Test/Piglit/piglit/tests/util/generated_dispatch.c:6274
#7  0x00007ffff7d064f9 in piglit_draw_rect_from_arrays (verts=0x7fffffffdff0, tex=0x0) at /GFX/Test/Piglit/piglit/tests/util/piglit-util-gl-common.c:698
#8  0x00007ffff7d06650 in piglit_draw_rect (x=-1, y=-1, w=2, h=2) at /GFX/Test/Piglit/piglit/tests/util/piglit-util-gl-common.c:741
#9  0x00000000004022a3 in atomic_counters_draw_rect (prog=1, buf_size=2, buf=0x7fffffffe070) at /GFX/Test/Piglit/piglit/tests/spec/arb_shader_atomic_counters/common.c:142
#10 0x0000000000401d1f in run_test () at /GFX/Test/Piglit/piglit/tests/spec/arb_shader_atomic_counters/fragment-discard.c:72
#11 0x0000000000401e70 in piglit_init (argc=1, argv=0x7fffffffe288) at /GFX/Test/Piglit/piglit/tests/spec/arb_shader_atomic_counters/fragment-discard.c:103
#12 0x00007ffff7d09467 in run_test (gl_fw=0x604010, argc=1, argv=0x7fffffffe288) at /GFX/Test/Piglit/piglit/tests/util/piglit-framework-gl/piglit_fbo_framework.c:50
#13 0x00007ffff7d07127 in piglit_gl_test_run (argc=1, argv=0x7fffffffe288, config=0x7fffffffe150) at /GFX/Test/Piglit/piglit/tests/util/piglit-framework-gl.c:191
#14 0x0000000000401c85 in main (argc=1, argv=0x7fffffffe288) at /GFX/Test/Piglit/piglit/tests/spec/arb_shader_atomic_counters/fragment-discard.c:43

Reproduce steps:
----------------------------
1. xinit
2. ./bin/arb_shader_atomic_counters-fragment-discard -fbo -auto
Comment 1 Kenneth Graunke 2014-04-18 18:57:44 UTC
Patches on mailing list:
http://lists.freedesktop.org/archives/mesa-dev/2014-April/058024.html
Comment 2 lu hua 2014-04-21 05:45:52 UTC
(In reply to comment #1)
> Patches on mailing list:
> http://lists.freedesktop.org/archives/mesa-dev/2014-April/058024.html

Test this patch, it still segfault.
Comment 3 Kenneth Graunke 2014-04-21 07:21:26 UTC
It's a series of 9 patches.
Comment 4 lu hua 2014-04-24 03:17:48 UTC
(In reply to comment #3)
> It's a series of 9 patches.

OK, I will test these 9 patches.
Following cases also segfault on Broadwell.
spec_ARB_shader_atomic_counters_array-indexing
spec_ARB_shader_atomic_counters_semantics
spec_ARB_shader_atomic_counters_unused-result
Comment 5 Kenneth Graunke 2014-05-01 07:26:11 UTC
This should be fixed with Mesa master (85ce2242cb9adf6bbf32f74e7578c66f426e8fc8 or later).  Feel free to reopen if it isn't.  Thanks!
Comment 6 lu hua 2014-05-06 05:21:15 UTC
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.