Bug 56966 - [r300g, bisected] multiple piglit tests crash in r300_draw_arrays_immediate
Summary: [r300g, bisected] multiple piglit tests crash in r300_draw_arrays_immediate
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/r300 (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2012-11-10 20:33 UTC by Pavel Ondračka
Modified: 2012-11-13 14:55 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
better backtrace (12.04 KB, text/plain)
2012-11-10 20:37 UTC, Pavel Ondračka
Details

Description Pavel Ondračka 2012-11-10 20:33:38 UTC
Crashing tests are glsl-novertexdata, glsl-vs-point-size, vp-ignore-input and pos-array.

First bad commit
commit e73bf3b805de78299f1a652668ba4e6eab9bac94
Author: Marek Olšák <maraeo@gmail.com>
Date:   Thu Mar 29 17:51:50 2012 +0200

    gallium: add start_slot parameter to set_vertex_buffers
    
    This allows updating only a subrange of buffer bindings.
    
    set_vertex_buffers(pipe, start_slot, count, NULL) unbinds buffers in that
    range. Binding NULL resources unbinds buffers too (both buffer and user_buff
    must be NULL).
    
    The meta ops are adapted to only save, change, and restore the single slot
    they use. The cso_context can save and restore only one vertex buffer slot.
    The clients can query which one it is using cso_get_aux_vertex_buffer_slot.
    It's currently set to 0. (the Draw module breaks if it's set to non-zero)
    
    It should decrease the CPU overhead when using a lot of meta ops, but
    the drivers must be able to treat each vertex buffer slot as a separate
    state (only r600g does so at the moment).
    
    I can imagine this also being useful for optimizing some OpenGL use cases.

Backtrace from pos-array -auto :
#0  r300_draw_arrays_immediate (r300=r300@entry=0x8059c60, info=info@entry=0xbfffeac0) at r300_render.c:375
#1  0xb6bb0bbc in r300_draw_vbo (pipe=0x8059c60, dinfo=0xbfffed10) at r300_render.c:838
#2  0xb6e0d538 in u_vbuf_draw_vbo (mgr=0x84cd7f0, info=info@entry=0xbfffed10) at util/u_vbuf.c:1056
#3  0xb6db16ea in cso_draw_vbo (cso=0x84cd048, info=info@entry=0xbfffed10) at cso_cache/cso_context.c:1331
#4  0xb6c91482 in st_draw_vbo (ctx=0x845e6b0, prims=0xbfffed90, nr_prims=1, ib=0x0, index_bounds_valid=1 '\001', min_index=0, max_index=0, 
    tfb_vertcount=0x0) at ../../src/mesa/state_tracker/st_draw.c:265
#5  0xb6d663f2 in vbo_draw_arrays (ctx=ctx@entry=0x845e6b0, mode=mode@entry=0, start=start@entry=0, count=count@entry=1, 
    numInstances=numInstances@entry=1, baseInstance=baseInstance@entry=0) at ../../src/mesa/vbo/vbo_exec_array.c:619
#6  0xb6d665e1 in vbo_exec_DrawArrays (mode=0, start=0, count=1) at ../../src/mesa/vbo/vbo_exec_array.c:649
#7  0x08049771 in test_glsl_no_arrays () at /home/Paulie/piglit/tests/general/pos-array.c:321
#8  0x08049d68 in piglit_display () at /home/Paulie/piglit/tests/general/pos-array.c:518
#9  0xb7eed014 in display () at /home/Paulie/piglit/tests/util/piglit-framework-gl/piglit_glut_framework.c:60
#10 0xb7fbe754 in fghRedrawWindow (window=0x8057758) at freeglut_main.c:207
#11 fghcbDisplayWindow (window=0x8057758, enumerator=0xbfffef74) at freeglut_main.c:224
#12 0xb7fc2337 in fgEnumWindows (enumCallback=enumCallback@entry=0xb7fbe6c0 <fghcbDisplayWindow>, enumerator=enumerator@entry=0xbfffef74)
    at freeglut_structure.c:396
#13 0xb7fbec78 in fghDisplayAll () at freeglut_main.c:247
#14 glutMainLoopEvent () at freeglut_main.c:1485
#15 0xb7fbf4f8 in glutMainLoop () at freeglut_main.c:1533
#16 0xb7eed20d in run_test (gl_fw=0xb7fa7ac0, argc=1, argv=0xbffff234)
    at /home/Paulie/piglit/tests/util/piglit-framework-gl/piglit_glut_framework.c:127
#17 0xb7eeb31c in piglit_gl_test_run (argc=1, argv=0xbffff234, config=0xbffff16c)
    at /home/Paulie/piglit/tests/util/piglit-framework-gl.c:127
#18 0x0804903f in main (argc=1, argv=0xbffff234) at /home/Paulie/piglit/tests/general/pos-array.c:41

GPU:RV530
Mesa: 5581954c3aa0c2418440700b3763882e37728914
Kernel: 3.6.2-4.fc17.i686
Libdrm: 2.4.40
Comment 1 Pavel Ondračka 2012-11-10 20:37:05 UTC
Created attachment 69881 [details]
better backtrace
Comment 2 Marek Olšák 2012-11-13 14:55:47 UTC
Fixed by commit 7a8affb6a1c1cc4d6de10717b1c3c8d64a8e41f2. Closing.


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.