mesa: e31bce4041122cd00712b60b4dc1eae6486f6579 (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
7ffc1fb928268f8493e88d45e9a006208d05f0f6 is the first bad commit commit 7ffc1fb928268f8493e88d45e9a006208d05f0f6 Author: Marek Olšák <marek.olsak@amd.com> Date: Thu Mar 19 23:27:10 2015 +0100 gallium: bump shader input and output limits Reviewed-by: Roland Scheidegger <sroland@vmware.com> Signed-off-by: Marek Olšák <marek.olsak@amd.com> :040000 040000 c8ba9549231eff63c36137320a597d586a53298a a53d5640b434fc002eca189ffcb19aec79e1755a M src bisect run success
This is the same as bug 90539. And the change in http://cgit.freedesktop.org/~jrfonseca/mesa/commit/?h=max-varyings fixes the assertion.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/235.
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.