Bug 56906 - src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c:135:analyse_tex: Assertion `0' failed.
Summary: src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c:135:analyse_tex: Assertion `...
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Other (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium critical
Assignee: mesa-dev
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-11-09 06:26 UTC by Vinson Lee
Modified: 2012-11-09 10:42 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Vinson Lee 2012-11-09 06:26:39 UTC
mesa: 2aa783318dd40d9ba82b541c1af144f3103b0888 (master)

Run glxinfo on llvmpipe.

$ glxinfo
name of display: :0.0
src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c:135:analyse_tex: Assertion `0' failed.
Trace/breakpoint trap (core dumped)

(gdb) bt
#0  0x00007f1a04f60ff2 in _debug_assert_fail (expr=0x7f1a05aa6e7e "0", 
    file=0x7f1a05aa6e10 "src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c", line=135, 
    function=0x7f1a05aa70f4 <__FUNCTION__.9315> "analyse_tex") at src/gallium/auxiliary/util/u_debug.c:278
#1  0x00007f1a04fee6ec in analyse_tex (ctx=0x7fff49d76da0, inst=0x7fff49d76d08, 
    modifier=LP_BLD_TEX_MODIFIER_NONE) at src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c:135
#2  0x00007f1a04fee944 in analyse_instruction (ctx=0x7fff49d76da0, inst=0x7fff49d76d08)
    at src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c:217
#3  0x00007f1a04fef0c3 in lp_build_tgsi_info (tokens=0x2390600, info=0x2391f00)
    at src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c:434
#4  0x00007f1a04c2f720 in llvmpipe_create_fs_state (pipe=0x2305d00, templ=0x7fff49d77430)
    at src/gallium/drivers/llvmpipe/lp_state_fs.c:1319
#5  0x00007f1a04f5fb42 in ureg_create_shader (ureg=0x23667a0, pipe=0x2305d00, so=0x0)
    at src/gallium/auxiliary/tgsi/tgsi_ureg.c:1664
#6  0x00007f1a04f804a3 in ureg_create_shader_with_so_and_destroy (p=0x23667a0, pipe=0x2305d00, so=0x0)
    at src/gallium/auxiliary/tgsi/tgsi_ureg.h:129
#7  0x00007f1a04f804e1 in ureg_create_shader_and_destroy (p=0x23667a0, pipe=0x2305d00)
    at src/gallium/auxiliary/tgsi/tgsi_ureg.h:138
#8  0x00007f1a04f80bc6 in util_make_fragment_tex_shader_writemask (pipe=0x2305d00, tex_target=16, 
    interp_mode=1, writemask=15) at src/gallium/auxiliary/util/u_simple_shaders.c:152
#9  0x00007f1a04f80bf1 in util_make_fragment_tex_shader (pipe=0x2305d00, tex_target=16, interp_mode=1)
    at src/gallium/auxiliary/util/u_simple_shaders.c:165
#10 0x00007f1a04f698fe in blitter_get_fs_texfetch_col (ctx=0x2365610, target=PIPE_TEXTURE_CUBE_ARRAY, 
    nr_samples=1) at src/gallium/auxiliary/util/u_blitter.c:753
#11 0x00007f1a04f69d34 in util_blitter_cache_all_shaders (blitter=0x2365610)
    at src/gallium/auxiliary/util/u_blitter.c:902
#12 0x00007f1a04c112c5 in llvmpipe_create_context (screen=0x2304190, priv=0x0)
    at src/gallium/drivers/llvmpipe/lp_context.c:181
#13 0x00007f1a04c9bf71 in st_api_create_context (stapi=0x7f1a06261900 <st_gl_api>, smapi=0x2305420, 
    attribs=0x7fff49d77860, error=0x7fff49d7784c, shared_stctxi=0x0)
    at src/mesa/state_tracker/st_manager.c:633
#14 0x00007f1a04c7b5a6 in XMesaCreateContext (v=0x23056d0, share_list=0x0, major=1, minor=0, 
    profileMask=2, contextFlags=0) at src/gallium/state_trackers/glx/xlib/xm_api.c:907
#15 0x00007f1a04c7e9d1 in create_context (dpy=0x22f75f0, xmvis=0x23056d0, shareCtx=0x0, direct=1, major=1, 
    minor=0, profileMask=2, contextFlags=0) at src/gallium/state_trackers/glx/xlib/glx_api.c:1049
#16 0x00007f1a04c7eabe in glXCreateContext (dpy=0x22f75f0, visinfo=0x2305c40, shareCtx=0x0, direct=1)
    at src/gallium/state_trackers/glx/xlib/glx_api.c:1080
#17 0x0000000000401c8b in ?? ()
#18 0x0000000000402e58 in ?? ()
#19 0x00007f1a0432076d in __libc_start_main (main=0x402d00, argc=1, ubp_av=0x7fff49d77db8, 
    init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff49d77da8)
    at libc-start.c:226
#20 0x0000000000401269 in ?? ()
#21 0x00007fff49d77da8 in ?? ()
#22 0x000000000000001c in ?? ()
#23 0x0000000000000001 in ?? ()
#24 0x00007fff49d78490 in ?? ()
#25 0x0000000000000000 in ?? ()
(gdb) frame 1
#1  0x00007f1a04fee6ec in analyse_tex (ctx=0x7fff49d76da0, inst=0x7fff49d76d08, 
    modifier=LP_BLD_TEX_MODIFIER_NONE) at src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c:135
135	         assert(0);
(gdb) l
130	         break;
131	      case TGSI_TEXTURE_SHADOW2D_ARRAY:
132	         readmask = TGSI_WRITEMASK_XYZW;
133	         break;
134	      default:
135	         assert(0);
136	         return;
137	      }
138	
139	      if (modifier == LP_BLD_TEX_MODIFIER_EXPLICIT_DERIV) {
(gdb) print inst->Texture.Texture
$1 = 16


src/gallium/include/pipe/p_shader_tokens.h
   510  #define TGSI_TEXTURE_SHADOW1D_ARRAY 11
   511  #define TGSI_TEXTURE_SHADOW2D_ARRAY 12
   512  #define TGSI_TEXTURE_SHADOWCUBE     13
   513  #define TGSI_TEXTURE_2D_MSAA        14
   514  #define TGSI_TEXTURE_2D_ARRAY_MSAA  15
   515  #define TGSI_TEXTURE_CUBE_ARRAY     16


c4427ceff7915d348a5df68ed3a81eca7c7320ad is the first bad commit
commit c4427ceff7915d348a5df68ed3a81eca7c7320ad
Author: Dave Airlie <airlied@gmail.com>
Date:   Sat Nov 3 20:44:06 2012 +1000

    gallium: add defines/shader opcode for texture cube map array
    
    This just adds the texture target and capability along
    with 3 new opcodes required to support this extension.
    
    As this extension requires some texture opcodes with samp + 5 args,
    we need to use another src register, this is only required
    for TEX, TXL and TXB opcodes to implement this spec.
    
    TEX2 is required for shadow cube map arrays
    TXL2 is required for cube map array sampler + explicit lod
    TXB2 is required for cube map array sampler + lod bias
    
    Reviewed-by: Brian Paul <brianp@vmware.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

:040000 040000 2b62466ceccb77b4f78c2fef4bdcdb0af59fe614 fe3905ceb396abdd19425bb69cafe9894ebf8d78 M	src
bisect run success
Comment 1 Dave Airlie 2012-11-09 10:42:17 UTC
should be fixed in master now, thanks,


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.