llvmpipe: assert in KHR-Single-GL45.enhanced_layouts.xfb_all_stages
This asserts in shader linking
glcts: ../src/compiler/glsl_types.h:198: glsl_base_type_get_bit_size: Assertion `!"unknown base type"' failed.
Thread 1 "glcts" received signal SIGABRT, Aborted.
0x00007ffff76a1afc in __pthread_kill_implementation () from /lib64/libc.so.6
Missing separate debuginfos, use: dnf debuginfo-install elfutils-libelf-0.187-4.fc35.x86_64 expat-2.4.7-1.fc35.x86_64 glibc-2.34-38.fc35.x86_64 libICE-1.0.10-7.fc35.x86_64 libSM-1.2.3-9.fc35.x86_64 libX11-1.8-1.fc35.x86_64 libX11-xcb-1.8-1.fc35.x86_64 libXau-1.0.9-7.fc35.x86_64 libXext-1.3.4-7.fc35.x86_64 libXfixes-6.0.0-2.fc35.x86_64 libXxf86vm-1.1.4-17.fc35.x86_64 libdrm-2.4.110-1.fc35.x86_64 libedit-3.1-40.20210910cvs.fc35.x86_64 libffi-3.1-29.fc35.x86_64 libgcc-11.3.1-2.fc35.x86_64 libpng-1.6.37-11.fc35.x86_64 libstdc++-11.3.1-2.fc35.x86_64 libunwind-1.5.0-1.fc35.x86_64 libuuid-2.37.4-1.fc35.x86_64 libxcb-1.13.1-8.fc35.x86_64 libxshmfence-1.3-9.fc35.x86_64 libzstd-1.5.2-2.fc35.x86_64 llvm-libs-13.0.0-4.fc35.x86_64 ncurses-libs-6.2-8.20210508.fc35.x86_64 sssd-client-2.7.1-2.fc35.x86_64 zlib-1.2.11-30.fc35.x86_64
(gdb) bt
#0 0x00007ffff76a1afc in __pthread_kill_implementation () from /lib64/libc.so.6
#1 0x00007ffff76552a6 in raise () from /lib64/libc.so.6
#2 0x00007ffff76287f3 in abort () from /lib64/libc.so.6
#3 0x00007ffff762871b in __assert_fail_base.cold () from /lib64/libc.so.6
#4 0x00007ffff764e1f6 in __assert_fail () from /lib64/libc.so.6
#5 0x00007ffff623aa7f in glsl_base_type_get_bit_size (base_type=GLSL_TYPE_ARRAY) at ../src/compiler/glsl_types.h:198
#6 0x00007ffff623aaa0 in glsl_get_bit_size (type=0x4695850) at ../src/compiler/nir_types.h:135
#7 0x00007ffff623e3d1 in lower_store_output_to_scalar_early (b=0x7fffffffc140, intr=0x4694a40, var=0x466f280, split_outputs=0x46981b0) at ../src/compiler/nir/nir_lower_io_to_scalar.c:403
#8 0x00007ffff623e900 in nir_lower_io_to_scalar_early_instr (b=0x7fffffffc140, instr=0x4694a40, data=0x7fffffffc1c0) at ../src/compiler/nir/nir_lower_io_to_scalar.c:509
#9 0x00007ffff623c210 in nir_shader_instructions_pass (shader=0x468b7a0, pass=0x7ffff623e621 <nir_lower_io_to_scalar_early_instr>, preserved=3, cb_data=0x7fffffffc1c0) at ../src/compiler/nir/nir_builder.h:88
#10 0x00007ffff623e965 in nir_lower_io_to_scalar_early (shader=0x468b7a0, mask=nir_var_shader_out) at ../src/compiler/nir/nir_lower_io_to_scalar.c:533
#11 0x00007ffff60d1115 in gl_nir_link_opts (producer=0x468b7a0, consumer=0x4681d90) at ../src/compiler/glsl/gl_nir_linker.c:124
#12 0x00007ffff60d359d in gl_nir_link_glsl (consts=0x3f91a78, exts=0x3f92f18, api=API_OPENGL_CORE, prog=0x3feaed0) at ../src/compiler/glsl/gl_nir_linker.c:957
#13 0x00007ffff5d52262 in st_link_nir (ctx=0x3f7ce20, shader_program=0x3feaed0) at ../src/mesa/state_tracker/st_glsl_to_nir.cpp:761
#14 0x00007ffff5d4b492 in link_shader (ctx=0x3f7ce20, prog=0x3feaed0) at ../src/mesa/state_tracker/st_glsl_to_ir.cpp:136
#15 0x00007ffff5d4b4d2 in st_link_shader (ctx=0x3f7ce20, prog=0x3feaed0) at ../src/mesa/state_tracker/st_glsl_to_ir.cpp:152
#16 0x00007ffff5d07745 in _mesa_glsl_link_shader (ctx=0x3f7ce20, prog=0x3feaed0) at ../src/mesa/program/link_program.cpp:91
#17 0x00007ffff5ca1973 in link_program (no_error=false, shProg=0x3feaed0, ctx=0x3f7ce20) at ../src/mesa/main/shaderapi.c:1330
#18 link_program_error (ctx=0x3f7ce20, shProg=0x3feaed0) at ../src/mesa/main/shaderapi.c:1441
#19 0x00007ffff5ca3240 in _mesa_LinkProgram (programObj=6) at ../src/mesa/main/shaderapi.c:1927
#20 0x00000000004a6d71 in gl4cts::EnhancedLayouts::Utils::Program::Link (gl=..., id=6) at /mnt/devel/VK-GL-CTS/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp:3009
@tarceri any ideas, any more info I can drop?
shader: MESA_SHADER_TESS_CTRL
source_sha1: {0xc9df629c, 0x23242fc9, 0xc63623cb, 0xaaac118a, 0x85bb0c89}
name: GLSL6
inputs: 0
outputs: 0
uniforms: 0
ubos: 1
shared: 0
ray queries: 0
decl_var ubo INTERP_MODE_NONE vec4 uni_tcs (~0, 0, 1)
decl_var patch shader_out INTERP_MODE_NONE vec2 gl_TessLevelInnerMESA (27.xy, 0, 0)
decl_var patch shader_out INTERP_MODE_NONE vec4 gl_TessLevelOuterMESA (26.xyzw, 0, 0)
decl_var system INTERP_MODE_NONE int gl_InvocationID
decl_var shader_in INTERP_MODE_NONE vec4[32] vs_tcs (32.xyzw, 0, 0)
decl_var shader_out INTERP_MODE_NONE vec4[1] tcs_tes (32.xyzw, 0, 0)
decl_function main (0 params)
impl main {
block block_0:
/* preds: */
vec1 32 ssa_0 = deref_var &gl_InvocationID (system int)
vec1 32 ssa_1 = intrinsic load_deref (ssa_0) (access=0)
vec1 32 ssa_2 = deref_var &tcs_tes (shader_out vec4[1])
vec1 32 ssa_3 = deref_array &(*ssa_2)[ssa_1] (shader_out vec4) /* &tcs_tes[ssa_1] */
vec1 32 ssa_4 = deref_var &uni_tcs (ubo vec4)
vec4 32 ssa_5 = intrinsic load_deref (ssa_4) (access=0)
vec1 32 ssa_6 = deref_var &vs_tcs (shader_in vec4[32])
vec1 32 ssa_7 = deref_array &(*ssa_6)[ssa_1] (shader_in vec4) /* &vs_tcs[ssa_1] */
vec4 32 ssa_8 = intrinsic load_deref (ssa_7) (access=0)
vec1 32 ssa_9 = fadd ssa_5.x, ssa_8.x
vec1 32 ssa_10 = fadd ssa_5.y, ssa_8.y
vec1 32 ssa_11 = fadd ssa_5.z, ssa_8.z
vec1 32 ssa_12 = fadd ssa_5.w, ssa_8.w
vec4 32 ssa_13 = vec4 ssa_9, ssa_10, ssa_11, ssa_12
intrinsic store_deref (ssa_3, ssa_13) (wrmask=xyzw /*15*/, access=0)
vec1 32 ssa_14 = deref_var &gl_TessLevelOuterMESA (shader_out vec4)
vec4 32 ssa_15 = load_const (0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000) = (1.000000, 1.000000, 1.000000, 1.000000)
intrinsic store_deref (ssa_14, ssa_15) (wrmask=x /*1*/, access=0)
intrinsic store_deref (ssa_14, ssa_15) (wrmask=y /*2*/, access=0)
intrinsic store_deref (ssa_14, ssa_15) (wrmask=z /*4*/, access=0)
intrinsic store_deref (ssa_14, ssa_15) (wrmask=w /*8*/, access=0)
vec1 32 ssa_16 = deref_var &gl_TessLevelInnerMESA (shader_out vec2)
vec2 32 ssa_17 = load_const (0x3f800000, 0x3f800000) = (1.000000, 1.000000)
intrinsic store_deref (ssa_16, ssa_17) (wrmask=x /*1*/, access=0)
intrinsic store_deref (ssa_16, ssa_17) (wrmask=y /*2*/, access=0)
/* succs: block_1 */
block block_1:
}
is the shader it's working on.