https://bugs.freedesktop.org/show_bug.cgi?id=56966
Priority: medium Bug ID: 56966 Keywords: regression CC: mar...@gmail.com Assignee: dri-devel@lists.freedesktop.org Summary: [r300g, bisected] multiple piglit tests crash in r300_draw_arrays_immediate Severity: normal Classification: Unclassified OS: All Reporter: pavel.ondra...@email.cz Hardware: Other Status: NEW Version: git Component: Drivers/Gallium/r300 Product: Mesa Crashing tests are glsl-novertexdata, glsl-vs-point-size, vp-ignore-input and pos-array. First bad commit commit e73bf3b805de78299f1a652668ba4e6eab9bac94 Author: Marek Olšák <mar...@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 -- You are receiving this mail because: You are the assignee for the bug.
_______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel