Bug 90542 - [softpipe] piglit glsl-1.50-gs-mismatch-prim-type lines_adjacency regression
Summary: [softpipe] piglit glsl-1.50-gs-mismatch-prim-type lines_adjacency regression
Status: RESOLVED FIXED
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:
 
Reported: 2015-05-20 20:49 UTC by Vinson Lee
Modified: 2015-10-17 17:02 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Vinson Lee 2015-05-20 20:49:36 UTC
mesa: 2126c68e5cba79709e228f12eb3062a9be634a0e (master 10.7.0-devel)

$ ./bin/glsl-1.50-gs-mismatch-prim-type lines_adjacency -auto
Mesa: User error: GL_INVALID_OPERATION in glDrawElements(mode=GL_POINTS vs geometry shader input GL_LINES_ADJACENCY)
Mesa: User error: GL_INVALID_OPERATION in glDrawElements(mode=GL_LINES vs geometry shader input GL_LINES_ADJACENCY)
Mesa: User error: GL_INVALID_OPERATION in glDrawElements(mode=GL_LINE_STRIP vs geometry shader input GL_LINES_ADJACENCY)
Mesa: User error: GL_INVALID_OPERATION in glDrawElements(mode=GL_LINE_LOOP vs geometry shader input GL_LINES_ADJACENCY)
tgsi/tgsi_exec.c:1265:fetch_src_file_channel: Assertion `pos < 6 * 32' failed.
Trace/breakpoint trap (core dumped)

(gdb) bt
#0  0x00007fbe95ea47d6 in _debug_assert_fail (expr=expr@entry=0x7fbe95fcd551 "pos < 6 * 32", 
    file=file@entry=0x7fbe95fcd50f "tgsi/tgsi_exec.c", line=line@entry=1265, 
    function=function@entry=0x7fbe95fcdeb0 <__func__.7350> "fetch_src_file_channel") at util/u_debug.c:309
#1  0x00007fbe95e87247 in fetch_src_file_channel (mach=mach@entry=0x7fbe93fb7010, file=<optimized out>, swizzle=<optimized out>, 
    index=index@entry=0x7ffcb8f7ef40, index2D=index2D@entry=0x7ffcb8f7ef50, chan=chan@entry=0x7ffcb8f7f010, chan_index=0)
    at tgsi/tgsi_exec.c:1265
#2  0x00007fbe95e878ed in fetch_source_d (mach=mach@entry=0x7fbe93fb7010, chan=chan@entry=0x7ffcb8f7f010, reg=reg@entry=0x7292e0, 
    chan_index=chan_index@entry=0, src_datatype=TGSI_EXEC_DATA_FLOAT) at tgsi/tgsi_exec.c:1474
#3  0x00007fbe95e87a92 in fetch_source (mach=mach@entry=0x7fbe93fb7010, chan=chan@entry=0x7ffcb8f7f010, reg=reg@entry=0x7292e0, 
    chan_index=chan_index@entry=0, src_datatype=src_datatype@entry=TGSI_EXEC_DATA_FLOAT) at tgsi/tgsi_exec.c:1490
#4  0x00007fbe95e886a8 in exec_vector_unary (mach=0x7fbe93fb7010, inst=0x7292b0, op=op@entry=0x7fbe95e85180 <micro_mov>, 
    src_datatype=src_datatype@entry=TGSI_EXEC_DATA_FLOAT, dst_datatype=TGSI_EXEC_DATA_UINT) at tgsi/tgsi_exec.c:2734
#5  0x00007fbe95e8cefe in exec_instruction (mach=mach@entry=0x7fbe93fb7010, inst=0x7292b0, pc=pc@entry=0x7ffcb8f7f274)
    at tgsi/tgsi_exec.c:4128
#6  0x00007fbe95e8eec7 in tgsi_exec_machine_run (mach=mach@entry=0x7fbe93fb7010) at tgsi/tgsi_exec.c:5113
#7  0x00007fbe95e55105 in tgsi_gs_run (shader=<optimized out>, input_primitives=<optimized out>) at draw/draw_gs.c:210
#8  0x00007fbe95e55180 in gs_flush (shader=0xbdee30) at draw/draw_gs.c:408
#9  0x00007fbe95e553b8 in gs_line_adj (shader=0xbdee30, i0=<optimized out>, i1=<optimized out>, i2=<optimized out>, i3=<optimized out>)
    at draw/draw_gs.c:470
#10 0x00007fbe95e56517 in gs_run_elts (input_verts=<optimized out>, output_prims=<optimized out>, output_verts=<optimized out>, 
    input_prims=<optimized out>, gs=<optimized out>) at draw/draw_decompose_tmp.h:312
#11 draw_geometry_shader_run (shader=0xbdee30, constants=0x7fbe9a7549f0 <_IO_stdfile_2_lock>, constants_size=0x0, input_verts=0x72614a, 
    input_prim=0x7ffcb8f7f510, input_info=0x1, output_verts=0x7ffcb8f7f3f0, output_prims=0x7ffcb8f7f430) at draw/draw_gs.c:631
#12 0x00007fbe95e66e97 in fetch_pipeline_generic (middle=0x6638c0, fetch_info=0x7fbe9a7549f0 <_IO_stdfile_2_lock>, 
    fetch_info@entry=0x7ffcb8f7f4f0, in_prim_info=0x7ffcb8f7f510) at draw/draw_pt_fetch_shade_pipeline.c:290
#13 0x00007fbe95e67273 in fetch_pipeline_run (middle=<optimized out>, fetch_elts=<optimized out>, fetch_count=<optimized out>, 
    draw_elts=<optimized out>, draw_count=4, prim_flags=<optimized out>) at draw/draw_pt_fetch_shade_pipeline.c:388
#14 0x00007fbe95e72644 in vsplit_flush_cache (flags=<optimized out>, vsplit=<optimized out>) at draw/draw_pt_vsplit.c:79
#15 vsplit_segment_cache_uint (iclose=<optimized out>, close=<optimized out>, ispoken=<optimized out>, spoken=<optimized out>, 
    icount=<optimized out>, istart=<optimized out>, flags=<optimized out>, vsplit=<optimized out>) at draw/draw_pt_vsplit_tmp.h:184
#16 vsplit_segment_simple_uint (icount=<optimized out>, istart=<optimized out>, flags=<optimized out>, vsplit=<optimized out>)
    at draw/draw_pt_vsplit_tmp.h:193
#17 vsplit_run_uint (frontend=0x725100, start=0, count=4) at draw/draw_split_tmp.h:60
#18 0x00007fbe95e64205 in draw_pt_arrays (draw=draw@entry=0x663c90, prim=10, start=0, count=count@entry=4) at draw/draw_pt.c:149
#19 0x00007fbe95e64833 in draw_vbo (draw=draw@entry=0x663c90, info=0x7ffcb8f7f680, info@entry=0x7ffcb8f7f780) at draw/draw_pt.c:564
#20 0x00007fbe95f07dfa in softpipe_draw_vbo (pipe=0x66d7b0, info=0x7ffcb8f7f780) at sp_draw_arrays.c:147
#21 0x00007fbe95d5a7c0 in st_draw_vbo (ctx=<optimized out>, prims=<optimized out>, nr_prims=<optimized out>, ib=0x7ffcb8f7f840, 
    index_bounds_valid=<optimized out>, min_index=4294967295, max_index=4294967295, tfb_vertcount=0x0, indirect=0x0)
    at state_tracker/st_draw.c:286
#22 0x00007fbe95d24034 in vbo_validated_drawrangeelements (ctx=ctx@entry=0x7fbe9aee4010, mode=mode@entry=10, 
    index_bounds_valid=index_bounds_valid@entry=0 '\000', start=start@entry=4294967295, end=end@entry=4294967295, count=count@entry=6, 
    type=5125, indices=0x0, basevertex=0, numInstances=1, baseInstance=0) at vbo/vbo_exec_array.c:992
#23 0x00007fbe95d24837 in vbo_exec_DrawElements (mode=10, count=6, type=5125, indices=0x0) at vbo/vbo_exec_array.c:1128
#24 0x000000000040169f in piglit_display ()
    at piglit/tests/spec/glsl-1.50/execution/geometry/gs-mismatch-prim-type.c:193
#25 0x00007fbe9aa6ff7c in display () at piglit/tests/util/piglit-framework-gl/piglit_glut_framework.c:142
#26 0x00007fbe9a16d324 in fghRedrawWindow (window=0x656ba0) at freeglut_main.c:231
#27 fghcbDisplayWindow (window=0x656ba0, enumerator=0x7ffcb8f7fa10) at freeglut_main.c:248
#28 0x00007fbe9a170b89 in fgEnumWindows (enumCallback=enumCallback@entry=0x7fbe9a16d2b0 <fghcbDisplayWindow>, 
    enumerator=enumerator@entry=0x7ffcb8f7fa10) at freeglut_structure.c:396
#29 0x00007fbe9a16d8dd in fghDisplayAll () at freeglut_main.c:271
#30 glutMainLoopEvent () at freeglut_main.c:1523
#31 0x00007fbe9a16e0dd in glutMainLoop () at freeglut_main.c:1571
#32 0x00007fbe9aa70340 in run_test (gl_fw=0x7fbe9ace8b40 <glut_fw>, argc=2, argv=0x7ffcb8f7fdf8)
    at piglit/tests/util/piglit-framework-gl/piglit_glut_framework.c:292
#33 0x00007fbe9aa56913 in piglit_gl_test_run (argc=2, argv=0x7ffcb8f7fdf8, config=0x7ffcb8f7fcb0)
    at piglit/tests/util/piglit-framework-gl.c:182
#34 0x00000000004012f6 in main (argc=2, argv=0x7ffcb8f7fdf8)
    at piglit/tests/spec/glsl-1.50/execution/geometry/gs-mismatch-prim-type.c:54
(gdb) frame 1
#1  0x00007fbe95e87247 in fetch_src_file_channel (mach=mach@entry=0x7fbe93fb7010, file=<optimized out>, swizzle=<optimized out>, 
    index=index@entry=0x7ffcb8f7ef40, index2D=index2D@entry=0x7ffcb8f7ef50, chan=chan@entry=0x7ffcb8f7f010, chan_index=0)
    at tgsi/tgsi_exec.c:1265
1265	         assert(pos < TGSI_MAX_PRIM_VERTICES * PIPE_MAX_ATTRIBS);
(gdb) print pos
$1 = <optimized out>

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 Marek Olšák 2015-10-17 17:02:40 UTC
Softpipe passes the test 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.