Bug 90539

Summary: [softpipe] piglit varying-packing-simple dmat3 array regression
Product: Mesa Reporter: Vinson Lee <vlee>
Component: Mesa coreAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact: mesa-dev
Severity: normal    
Priority: medium CC: maraeo, sroland
Version: 10.6Keywords: bisected, regression
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on: 91099    
Bug Blocks:    

Description Vinson Lee 2015-05-20 19:07:00 UTC
mesa: 2126c68e5cba79709e228f12eb3062a9be634a0e (master 10.7.0-devel)

$ ./bin/varying-packing-simple dmat3 array -auto
state_tracker/st_glsl_to_tgsi.cpp:4544:dst_register: Assertion `index < VARYING_SLOT_MAX' failed.
Trace/breakpoint trap (core dumped)

(gdb) bt
#0  0x00007fac1d5be7d6 in _debug_assert_fail (expr=<optimized out>, file=<optimized out>, line=<optimized out>, function=<optimized out>)
    at util/u_debug.c:309
#1  0x00007fac1d4784a0 in dst_register (t=t@entry=0x24e7af0, file=<optimized out>, index=<optimized out>)
    at state_tracker/st_glsl_to_tgsi.cpp:4544
#2  0x00007fac1d489ae3 in translate_dst (clamp_color=false, saturate=false, dst_reg=<optimized out>, t=0x24e7af0)
    at state_tracker/st_glsl_to_tgsi.cpp:4631
#3  compile_tgsi_instruction (clamp_dst_color_output=false, inst=0x24b8700, t=0x24e7af0) at state_tracker/st_glsl_to_tgsi.cpp:4779
#4  st_translate_program (ctx=<optimized out>, procType=procType@entry=1, ureg=ureg@entry=0x25011b0, program=<optimized out>, 
    proginfo=proginfo@entry=0x244c850, numInputs=<optimized out>, inputMapping=0x244cda8, inputSemanticName=0x0, inputSemanticIndex=0x0, 
    interpMode=0x0, interpLocation=0x0, numOutputs=33, outputMapping=0x244cf70, outputSemanticName=0x244d050 "", 
    outputSemanticIndex=0x244d088 "", passthrough_edgeflags=0 '\000', clamp_color=0 '\000') at state_tracker/st_glsl_to_tgsi.cpp:5366
#5  0x00007fac1d49d44d in st_translate_vertex_program (st=0x22ecb60, st=0x22ecb60, key=0x7fffde2f9a00, stvp=0x244c850)
    at state_tracker/st_program.c:346
#6  st_get_vp_variant (st=st@entry=0x22ecb60, stvp=stvp@entry=0x244c850, key=key@entry=0x7fffde2f9ab0) at state_tracker/st_program.c:436
#7  0x00007fac1d45ec7f in update_vp (st=0x22ecb60) at state_tracker/st_atom_shader.c:158
#8  0x00007fac1d45b725 in st_validate_state (st=st@entry=0x22ecb60) at state_tracker/st_atom.c:214
#9  0x00007fac1d4745ec in st_draw_vbo (ctx=0x7fac225fe010, prims=0x7fffde2f9c50, nr_prims=1, ib=0x0, index_bounds_valid=<optimized out>, 
    min_index=0, max_index=3, tfb_vertcount=0x0, indirect=0x0) at state_tracker/st_draw.c:199
#10 0x00007fac1d43d7f3 in vbo_draw_arrays (ctx=0x7fac225fe010, mode=5, start=0, count=4, numInstances=1, baseInstance=0)
    at vbo/vbo_exec_array.c:645
#11 0x00007fac22100633 in stub_glDrawArrays (mode=5, first=0, count=4)
    at piglit/tests/util/piglit-dispatch-gen.c:11317
#12 0x00007fac22167b54 in piglit_draw_rect_from_arrays (verts=0x7fffde2f9d80, tex=0x0, use_patches=false)
    at piglit/tests/util/piglit-util-gl.c:767
#13 0x00007fac22167ce5 in piglit_draw_rect_custom (x=-1, y=-1, w=2, h=2, use_patches=false)
    at piglit/tests/util/piglit-util-gl.c:809
#14 0x00007fac22167d4d in piglit_draw_rect (x=-1, y=-1, w=2, h=2) at piglit/tests/util/piglit-util-gl.c:818
#15 0x000000000040254f in piglit_display () at piglit/tests/spec/glsl-1.10/execution/varying-packing/simple.c:466
#16 0x00007fac22189f7c in display () at piglit/tests/util/piglit-framework-gl/piglit_glut_framework.c:142
#17 0x00007fac21887324 in fghRedrawWindow (window=0x21cfba0) at freeglut_main.c:231
#18 fghcbDisplayWindow (window=0x21cfba0, enumerator=0x7fffde2f9f00) at freeglut_main.c:248
#19 0x00007fac2188ab89 in fgEnumWindows (enumCallback=enumCallback@entry=0x7fac218872b0 <fghcbDisplayWindow>, 
    enumerator=enumerator@entry=0x7fffde2f9f00) at freeglut_structure.c:396
#20 0x00007fac218878dd in fghDisplayAll () at freeglut_main.c:271
#21 glutMainLoopEvent () at freeglut_main.c:1523
#22 0x00007fac218880dd in glutMainLoop () at freeglut_main.c:1571
#23 0x00007fac2218a340 in run_test (gl_fw=0x7fac22402b40 <glut_fw>, argc=3, argv=0x7fffde2fa2e8)
    at piglit/tests/util/piglit-framework-gl/piglit_glut_framework.c:292
#24 0x00007fac22170913 in piglit_gl_test_run (argc=3, argv=0x7fffde2fa2e8, config=0x7fffde2fa1a0)
    at piglit/tests/util/piglit-framework-gl.c:182
#25 0x00000000004018ad in main (argc=3, argv=0x7fffde2fa2e8)
    at piglit/tests/spec/glsl-1.10/execution/varying-packing/simple.c:108
(gdb) frame 1
#1  0x00007fac1d4784a0 in dst_register (t=t@entry=0x24e7af0, file=<optimized out>, index=<optimized out>)
    at state_tracker/st_glsl_to_tgsi.cpp:4544
4544	         assert(index < VARYING_SLOT_MAX);

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 1 Vinson Lee 2016-03-22 02:22:58 UTC
mesa: 1e8435ce0cce671024ebf9c5465ea8bdcb563b69 (master 11.3.0-devel)

varying-packing-simple dmat3 array is passes on softpipe now.

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.