Bug 91099 - [llvmpipe] piglit glsl-max-varyings >max_varying_components regression
Summary: [llvmpipe] piglit glsl-max-varyings >max_varying_components regression
Status: NEW
Alias: None
Product: Mesa
Classification: Unclassified
Component: Mesa core (show other bugs)
Version: 10.6
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: mesa-dev
QA Contact: mesa-dev
URL:
Whiteboard:
Keywords: bisected, regression
Depends on:
Blocks: 90539
  Show dependency treegraph
 
Reported: 2015-06-24 20:56 UTC by Vinson Lee
Modified: 2015-09-28 00:50 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vinson Lee 2015-06-24 20:56:19 UTC
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
Comment 1 Vinson Lee 2015-06-24 22:32:40 UTC
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
Comment 2 Jose Fonseca 2015-06-25 06:38:53 UTC
This is the same as bug 90539.

And the change in 
http://cgit.freedesktop.org/~jrfonseca/mesa/commit/?h=max-varyings fixes the
assertion.


bug/show.html.tmpl processed on Jan 24, 2017 at 07:06:12.
(provided by the Example extension).