[Mesa-dev] [Bug 56552] New: src/gallium/auxiliary/draw/draw_vertex.h:130:draw_emit_vertex_attr: Assertion `n < 32' failed.

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Oct 29 16:28:10 PDT 2012


https://bugs.freedesktop.org/show_bug.cgi?id=56552

          Priority: medium
            Bug ID: 56552
                CC: maraeo at gmail.com
          Assignee: mesa-dev at lists.freedesktop.org
           Summary: src/gallium/auxiliary/draw/draw_vertex.h:130:draw_emit
                    _vertex_attr: Assertion `n < 32' failed.
          Severity: critical
    Classification: Unclassified
                OS: Linux (All)
          Reporter: vlee at freedesktop.org
          Hardware: x86-64 (AMD64)
            Status: NEW
           Version: git
         Component: Mesa core
           Product: Mesa

mesa: e4e3b071814d14e56ca3feca8df4974646bc332d (master)

Run piglit glsl-max-varyings on llvmpipe.


$ ./bin/glsl-max-varyings -auto
Vertical axis: Increasing numbers of varyings.
Horizontal axis: Which of the varyings contains the color.
GL_MAX_VARYING_FLOATS = 128
src/gallium/auxiliary/draw/draw_vertex.h:130:draw_emit_vertex_attr: Assertion
`n < 32' failed.
Trace/breakpoint trap (core dumped)

(gdb) bt
#0  0x00007f1ed47e17fd in _debug_assert_fail (expr=0x7f1ed4fbb069 "n < 32",
file=0x7f1ed4fbb040 "src/gallium/auxiliary/draw/draw_vertex.h", 
    line=130, function=0x7f1ed4fbb070 "draw_emit_vertex_attr") at
src/gallium/auxiliary/util/u_debug.c:278
#1  0x00007f1ed44cdb0c in draw_emit_vertex_attr (vinfo=0x22fb868, emit=EMIT_4F,
interp=INTERP_PERSPECTIVE, src_index=32)
    at src/gallium/auxiliary/draw/draw_vertex.h:130
#2  0x00007f1ed44cdcf7 in compute_vertex_info (llvmpipe=0x22fa700) at
src/gallium/drivers/llvmpipe/lp_state_derived.c:93
#3  0x00007f1ed44cde7c in llvmpipe_update_derived (llvmpipe=0x22fa700) at
src/gallium/drivers/llvmpipe/lp_state_derived.c:145
#4  0x00007f1ed44b5103 in llvmpipe_draw_vbo (pipe=0x22fa700,
info=0x7fff7f999730) at src/gallium/drivers/llvmpipe/lp_draw_arrays.c:64
#5  0x00007f1ed479d0d9 in cso_draw_vbo (cso=0x2416640, info=0x7fff7f999730) at
src/gallium/auxiliary/cso_cache/cso_context.c:1328
#6  0x00007f1ed461ce4f in st_draw_vbo (ctx=0x238af90, prims=0x7fff7f9997e0,
nr_prims=1, ib=0x0, index_bounds_valid=1 '\001', min_index=0, 
    max_index=3, tfb_vertcount=0x0) at src/mesa/state_tracker/st_draw.c:265
#7  0x00007f1ed46c23b2 in vbo_draw_arrays (ctx=0x238af90, mode=7, start=0,
count=4, numInstances=1, baseInstance=0)
    at src/mesa/vbo/vbo_exec_array.c:619
#8  0x00007f1ed46c248b in vbo_exec_DrawArrays (mode=7, start=0, count=4) at
src/mesa/vbo/vbo_exec_array.c:649
#9  0x00007f1ed6d09381 in piglit_draw_rect (x=2, y=374, w=10, h=10) at
piglit/tests/util/piglit-util-gl.c:872
#10 0x00000000004019fa in draw (num_varyings=32) at
piglit/tests/shaders/glsl-max-varyings.c:198
#11 0x0000000000401b1b in piglit_display () at
piglit/tests/shaders/glsl-max-varyings.c:235
#12 0x00007f1ed6cb74c8 in display () at
piglit/tests/util/piglit-framework-gl/piglit_glut_framework.c:60
#13 0x00007f1ed645d137 in fghRedrawWindow (window=0x22f8500) at
freeglut_main.c:210
#14 fghcbDisplayWindow (window=0x22f8500, enumerator=0x7fff7f999a80) at
freeglut_main.c:227
#15 0x00007f1ed6460889 in fgEnumWindows (enumCallback=0x7f1ed645d0d0
<fghcbDisplayWindow>, enumerator=0x7fff7f999a80) at freeglut_structure.c:394
#16 0x00007f1ed645d5fa in fghDisplayAll () at freeglut_main.c:249
#17 glutMainLoopEvent () at freeglut_main.c:1450
#18 0x00007f1ed645df05 in glutMainLoop () at freeglut_main.c:1498
#19 0x00007f1ed6cb76a0 in run_test (gl_fw=0x7f1ed6f707c0, argc=1,
argv=0x7fff7f999e48)
    at piglit/tests/util/piglit-framework-gl/piglit_glut_framework.c:127
#20 0x00007f1ed6cb57e6 in piglit_gl_test_run (argc=1, argv=0x7fff7f999e48,
config=0x7fff7f999d30)
    at piglit/tests/util/piglit-framework-gl.c:127
#21 0x0000000000401280 in main (argc=2, argv=0x7fff7f999e48) at
piglit/tests/shaders/glsl-max-varyings.c:48
(gdb) frame 1
#1  0x00007f1ed44cdb0c in draw_emit_vertex_attr (vinfo=0x22fb868, emit=EMIT_4F,
interp=INTERP_PERSPECTIVE, src_index=32)
    at src/gallium/auxiliary/draw/draw_vertex.h:130
130       assert(n < PIPE_MAX_SHADER_INPUTS);
(gdb) print n
$1 = 32


b3921e1f53833420e0a0fd581f741744e7957a05 is the first bad commit
commit b3921e1f53833420e0a0fd581f741744e7957a05
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Oct 26 17:37:07 2012 +0200

    mesa: bump MAX_VARYING to 32

    We're starting to get apps utilizing more than 16 varyings and
    most current hardware supports 32 anyway.

    Tested with r600g.
    swrast, softpipe and llvmpipe still advertise 16 varyings.

    This fixes a WebGL crash after launching this demo:
    https://developer.mozilla.org/en-US/demos/detail/falling-cubes

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54402

    NOTE: This is a candidate for the stable branches.

    Acked-by: Kenneth Graunke <kenneth at whitecape.org>

:040000 040000 603e2aa0c2c8a2eec907ba96d889aa00d291ae67
cf3f75dfb1d351f0063a76c2a30f00a0f72e3c61 M    src
bisect run success

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20121029/27333c60/attachment-0001.html>


More information about the mesa-dev mailing list