[llvmpipe] piglit glsl-max-varyings >max_varying_components regression
Submitted by Vinson Lee
Assigned to mes..@..op.org
Description
mesa: e31bce40 (master 10.7.0-devel)
$ ./bin/glsl-max-varyings --exceed-limits -auto Vertical axis: Increasing numbers of varyings. Horizontal axis: Which of the varyings contains the color. GL_MAX_VARYING_FLOATS = 128 glsl-max-varyings: src/mesa/state_tracker/st_glsl_to_tgsi.cpp:4655: ureg_dst dst_register(st_translate*, gl_register_file, unsigned int, unsigned int): Assertion `index < VARYING_SLOT_MAX' failed. Aborted (core dumped)
(gdb) bt
#0 0x00007fc07799b267 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
#1 0x00007fc07799ceca in __GI_abort () at abort.c:89
#2 0x00007fc07799403d in __assert_fail_base (fmt=0x7fc077af6028 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
assertion=assertion@entry=0x7fc076a3e67b "index < VARYING_SLOT_MAX", file=file@entry=0x7fc076a3d708 "src/mesa/state_tracker/st_glsl_to_tgsi.cpp",
line=line@entry=4655,
function=function@entry=0x7fc076a3ff00 <dst_register(st_translate*, gl_register_file, unsigned int, unsigned int)::__PRETTY_FUNCTION__> "ureg_dst dst_register(st_translate*, gl_register_file, unsigned int, unsigned int)") at assert.c:92
#3 0x00007fc0779940f2 in __GI___assert_fail (assertion=0x7fc076a3e67b "index < VARYING_SLOT_MAX",
file=0x7fc076a3d708 "src/mesa/state_tracker/st_glsl_to_tgsi.cpp", line=4655,
function=0x7fc076a3ff00 <dst_register(st_translate*, gl_register_file, unsigned int, unsigned int)::__PRETTY_FUNCTION__> "ureg_dst dst_register(st_translate*, gl_register_file, unsigned int, unsigned int)") at assert.c:101
#4 0x00007fc075bebc69 in dst_register (t=0xc31420, file=PROGRAM_OUTPUT, index=56, array_id=0) at src/mesa/state_tracker/st_glsl_to_tgsi.cpp:4655
#5 0x00007fc075bec3aa in translate_dst (t=0xc31420, dst_reg=0xcda7d8, saturate=false, clamp_color=false)
at src/mesa/state_tracker/st_glsl_to_tgsi.cpp:4756
#6 0x00007fc075becb15 in compile_tgsi_instruction (t=0xc31420, inst=0xcda7c0, clamp_dst_color_output=false)
at src/mesa/state_tracker/st_glsl_to_tgsi.cpp:4904
#7 0x00007fc075beef45 in st_translate_program (ctx=0x7fc0784fe010, procType=1, ureg=0xe79180, program=0xe26870, proginfo=0xf08070, numInputs=3,
inputMapping=0xf08448, inputSlotToAttr=0x0, inputSemanticName=0x0, inputSemanticIndex=0x0, interpMode=0x0, interpLocation=0x0, numOutputs=33,
outputMapping=0xf08610, outputSlotToAttr=0xf086f0, outputSemanticName=0xf087d0 "", outputSemanticIndex=0xf08808 "", passthrough_edgeflags=0 '\000',
clamp_color=0 '\000') at src/mesa/state_tracker/st_glsl_to_tgsi.cpp:5581
#8 0x00007fc075a68de5 in st_translate_vertex_program (st=0xa64210, stvp=0xf08070, key=0x7ffe56dacd60) at src/mesa/state_tracker/st_program.c:348
#9 0x00007fc075a69027 in st_get_vp_variant (st=0xa64210, stvp=0xf08070, key=0x7ffe56dacd60) at src/mesa/state_tracker/st_program.c:440
#10 0x00007fc075bbe1f2 in update_vp (st=0xa64210) at src/mesa/state_tracker/st_atom_shader.c:158
#11 0x00007fc075bb925b in st_validate_state (st=0xa64210) at src/mesa/state_tracker/st_atom.c:214
#12 0x00007fc075a63e73 in st_draw_vbo (ctx=0x7fc0784fe010, prims=0x7ffe56dacf70, nr_prims=1, ib=0x0, index_bounds_valid=1 '\001', min_index=0,
max_index=3, tfb_vertcount=0x0, indirect=0x0) at src/mesa/state_tracker/st_draw.c:199
#13 0x00007fc075ba6212 in vbo_draw_arrays (ctx=0x7fc0784fe010, mode=5, start=0, count=4, numInstances=1, baseInstance=0)
at src/mesa/vbo/vbo_exec_array.c:645
#14 0x00007fc075ba6ca0 in vbo_exec_DrawArrays (mode=5, start=0, count=4) at src/mesa/vbo/vbo_exec_array.c:797
#15 0x0000000000401ef2 in draw (num_varyings=33) at piglit/tests/shaders/glsl-max-varyings.c:233
#16 0x000000000040208c in piglit_display () at piglit/tests/shaders/glsl-max-varyings.c:273
#17 0x00007fc078067f8e in run_test (gl_fw=0x976980, argc=2, argv=0x7ffe56dad448)
at piglit/tests/util/piglit-framework-gl/piglit_winsys_framework.c:79
#18 0x00007fc07804c999 in piglit_gl_test_run (argc=2, argv=0x7ffe56dad448, config=0x7ffe56dad300)
at piglit/tests/util/piglit-framework-gl.c:191
#19 0x00000000004014fd in main (argc=2, argv=0x7ffe56dad448) at piglit/tests/shaders/glsl-max-varyings.c:48
(gdb) frame 4
#4 0x00007fc075bebc69 in dst_register (t=0xc31420, file=PROGRAM_OUTPUT, index=56, array_id=0) at src/mesa/state_tracker/st_glsl_to_tgsi.cpp:4655
4655 assert(index < VARYING_SLOT_MAX);
(gdb) print /d VARYING_SLOT_MAX
$1 = 56
Version: 10.6