Bug 102461 - [llvmpipe] piglit glean fragprog1 XPD test 1 regression
Summary: [llvmpipe] piglit glean fragprog1 XPD test 1 regression
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Mesa core (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: mesa-dev
QA Contact: mesa-dev
URL:
Whiteboard:
Keywords: bisected, have-backtrace, regression
Depends on:
Blocks:
 
Reported: 2017-08-28 20:18 UTC by Vinson Lee
Modified: 2017-09-05 22:55 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Vinson Lee 2017-08-28 20:18:24 UTC
mesa: 63e79a8a777b36ecb30a1f6900e6b638cb32fc5f (master 17.3.0-devel)

$ ./bin/glean -t fragProg1 --quick
src/gallium/auxiliary/gallivm/lp_bld_tgsi.c:348:lp_build_emit_fetch_src: Assertion `0 && "invalid src register in emit_fetch()"' failed.
Trace/breakpoint trap (core dumped)


(gdb) bt
#0  0x00007fcc40d1aa86 in _debug_assert_fail (expr=0x7fcc40f135f0 "0 && \"invalid src register in emit_fetch()\"", file=0x7fcc40f13530 "src/gallium/auxiliary/gallivm/lp_bld_tgsi.c", line=348, 
    function=0x7fcc40f13740 <__func__.11528> "lp_build_emit_fetch_src") at src/gallium/auxiliary/util/u_debug.c:321
#1  0x00007fcc40de93a7 in lp_build_emit_fetch_src (bld_base=0x7ffd1f320130, reg=0x562b7acea950, stype=TGSI_TYPE_FLOAT, chan_index=0) at src/gallium/auxiliary/gallivm/lp_bld_tgsi.c:348
#2  0x00007fcc40de9592 in lp_build_emit_fetch (bld_base=0x7ffd1f320130, inst=0x562b7acea900, src_op=2, chan_index=0) at src/gallium/auxiliary/gallivm/lp_bld_tgsi.c:425
#3  0x00007fcc40de8c65 in lp_build_fetch_args (bld_base=0x7ffd1f320130, emit_data=0x7ffd1f31ff10) at src/gallium/auxiliary/gallivm/lp_bld_tgsi.c:180
#4  0x00007fcc40de9073 in lp_build_tgsi_inst_llvm (bld_base=0x7ffd1f320130, inst=0x562b7acea900) at src/gallium/auxiliary/gallivm/lp_bld_tgsi.c:287
#5  0x00007fcc40de99eb in lp_build_tgsi_llvm (bld_base=0x7ffd1f320130, tokens=0x562b7acb3de0) at src/gallium/auxiliary/gallivm/lp_bld_tgsi.c:530
#6  0x00007fcc40db7107 in lp_build_tgsi_soa (gallivm=0x562b7acd2e50, tokens=0x562b7acb3de0, type=..., mask=0x7ffd1f326200, consts_ptr=0x562b7ac6de78, const_sizes_ptr=0x562b7ac6c7c8, system_values=0x7ffd1f326220, 
    inputs=0x7ffd1f329480, outputs=0x7ffd1f3262b0, context_ptr=0x562b7acb2130, thread_data_ptr=0x562b7acc2cc0, sampler=0x562b7ac6bb20, info=0x562b7acf8328, gs_iface=0x0)
    at src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c:3905
#7  0x00007fcc406f6545 in generate_fs_loop (gallivm=0x562b7acd2e50, shader=0x562b7acf8200, key=0x562b7ac79300, builder=0x562b7ac81720, type=..., context_ptr=0x562b7acb2130, num_loop=0x562b7ac6bdb0, 
    interp=0x7ffd1f327550, sampler=0x562b7ac6bb20, mask_store=0x562b7acac3c8, out_color=0x7ffd1f326f10, depth_ptr=0x562b7ab14050, depth_stride=0x562b7ab13f40, facing=0x562b7acc28e0, thread_data_ptr=0x562b7acc2cc0)
    at src/gallium/drivers/llvmpipe/lp_state_fs.c:476
#8  0x00007fcc406fd61e in generate_fragment (lp=0x562b7a8c02b0, shader=0x562b7acf8200, variant=0x562b7ac79300, partial_mask=1) at src/gallium/drivers/llvmpipe/lp_state_fs.c:2584
#9  0x00007fcc406fe606 in generate_variant (lp=0x562b7a8c02b0, shader=0x562b7acf8200, key=0x7ffd1f32a000) at src/gallium/drivers/llvmpipe/lp_state_fs.c:2838
#10 0x00007fcc406ffce3 in llvmpipe_update_fs (lp=0x562b7a8c02b0) at src/gallium/drivers/llvmpipe/lp_state_fs.c:3405
#11 0x00007fcc406f4a41 in llvmpipe_update_derived (llvmpipe=0x562b7a8c02b0) at src/gallium/drivers/llvmpipe/lp_state_derived.c:210
#12 0x00007fcc406cf02c in llvmpipe_draw_vbo (pipe=0x562b7a8c02b0, info=0x7ffd1f32a320) at src/gallium/drivers/llvmpipe/lp_draw_arrays.c:70
#13 0x00007fcc40cac11d in cso_draw_vbo (cso=0x562b7aa81170, info=0x7ffd1f32a320) at src/gallium/auxiliary/cso_cache/cso_context.c:1684
#14 0x00007fcc4096332c in st_draw_vbo (ctx=0x7fcc418d5010, prims=0x562b7aa6c9b8, nr_prims=1, ib=0x0, index_bounds_valid=1 '\001', min_index=0, max_index=3, tfb_vertcount=0x0, stream=0, indirect=0x0)
    at src/mesa/state_tracker/st_draw.c:222
#15 0x00007fcc4091b651 in vbo_exec_vtx_flush (exec=0x562b7aa6c1b8, keepUnmapped=1 '\001') at src/mesa/vbo/vbo_exec_draw.c:435
#16 0x00007fcc4091776a in vbo_exec_FlushVertices_internal (exec=0x562b7aa6c1b8, unmap=1 '\001') at src/mesa/vbo/vbo_exec_api.c:637
#17 0x00007fcc40919645 in vbo_exec_FlushVertices (ctx=0x7fcc418d5010, flags=1) at src/mesa/vbo/vbo_exec_api.c:1294
#18 0x00007fcc40883878 in read_pixels (no_error=false, pixels=0x7ffd1f32a590, bufSize=2147483647, type=5126, format=6408, height=1, width=1, y=50, x=50) at src/mesa/main/readpix.c:997
#19 _mesa_ReadnPixelsARB (x=50, y=50, width=1, height=1, format=6408, type=5126, bufSize=2147483647, pixels=0x7ffd1f32a590) at src/mesa/main/readpix.c:1141
#20 0x00007fcc40883f5f in _mesa_ReadPixels (x=50, y=50, width=1, height=1, format=6408, type=5126, pixels=0x7ffd1f32a590) at src/mesa/main/readpix.c:1156
#21 0x0000562b79a59380 in GLEAN::FragmentProgramTest::testProgram (this=0x562b79cb6520 <GLEAN::fragmentProgramTest>, p=...) at piglit/tests/glean/tfragprog1.cpp:1055
#22 0x0000562b79a5957d in GLEAN::FragmentProgramTest::runOne (this=0x562b79cb6520 <GLEAN::fragmentProgramTest>, r=..., w=...) at piglit/tests/glean/tfragprog1.cpp:1101
#23 0x0000562b79a4ec70 in GLEAN::BaseTest<GLEAN::MultiTestResult>::run (this=0x562b79cb6520 <GLEAN::fragmentProgramTest>, environment=...) at piglit/tests/glean/tbase.h:331
#24 0x0000562b79a463fc in main (argc=4, argv=0x7ffd1f32aa18) at piglit/tests/glean/main.cpp:125
(gdb) frame 1
#1  0x00007fcc40de93a7 in lp_build_emit_fetch_src (bld_base=0x7ffd1f320130, reg=0x562b7acea950, stype=TGSI_TYPE_FLOAT, chan_index=0) at src/gallium/auxiliary/gallivm/lp_bld_tgsi.c:348
348	      assert(0 && "invalid src register in emit_fetch()");
(gdb) l
343	
344	   if (bld_base->emit_fetch_funcs[reg->Register.File]) {
345	      res = bld_base->emit_fetch_funcs[reg->Register.File](bld_base, reg, stype,
346	                                                           swizzle);
347	   } else {
348	      assert(0 && "invalid src register in emit_fetch()");
349	      return bld_base->base.undef;
350	   }
351	
352	   if (reg->Register.Absolute) {


985e6b5ef91ec8de7ae5e03fcfb978ea6e8993ea is the first bad commit
commit 985e6b5ef91ec8de7ae5e03fcfb978ea6e8993ea
Author: Marek Olšák <marek.olsak@amd.com>
Date:   Sat Aug 19 22:23:08 2017 +0200

    gallium: remove TGSI opcode XPD
    
    use MUL+MAD+MOV instead.
    
    Reviewed-by: Roland Scheidegger <sroland@vmware.com>

:040000 040000 a1b784bead9d12d0734cbc18e25695a91aa4f096 474c3de4ca9c6c525391f91e994581b33f670132 M	src
bisect run success
Comment 1 Vinson Lee 2017-09-05 22:55:23 UTC
commit 79674066b6f98be96cb63a0332ac421858544a20
Author: Marek Olšák <marek.olsak@amd.com>
Date:   Mon Aug 28 23:28:33 2017 +0200

    st/mesa: fix XPD lowering - don't read dst
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102461
    
    Reviewed-by: Brian Paul <brianp@vmware.com>


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.