glsl: ir_swizzle @ <ptr> specifies a channel not present in the value
I get aborts from this in a ton of tests on both zink and iris, e.g., spec@arb_gpu_shader_fp64@execution@inout@vs-out-fs-in-s1-float@1-dmat2x2
. Here's a stack trace in case that helps someone:
#0 0x00007ffff775b9e5 in raise () from /lib64/libc.so.6
#1 0x00007ffff7744895 in abort () from /lib64/libc.so.6
#2 0x00007ffff5fa5c2c in (anonymous namespace)::ir_validate::visit_leave (this=0x7fffffffc2f0, ir=0xc2dfa0)
at ../src/compiler/glsl/ir_validate.cpp:991
#3 0x00007ffff5f9c9e8 in ir_swizzle::accept (this=0xc2dfa0, v=0x7fffffffc2f0)
at ../src/compiler/glsl/ir_hv_accept.cpp:246
#4 0x00007ffff5f9c4e6 in ir_expression::accept (this=0xc2e020, v=0x7fffffffc2f0)
at ../src/compiler/glsl/ir_hv_accept.cpp:141
#5 0x00007ffff5f9c4e6 in ir_expression::accept (this=0xc2e0c0, v=0x7fffffffc2f0)
at ../src/compiler/glsl/ir_hv_accept.cpp:141
#6 0x00007ffff5f9cc9b in ir_assignment::accept (this=0xc2e160, v=0x7fffffffc2f0)
at ../src/compiler/glsl/ir_hv_accept.cpp:305
#7 0x00007ffff5f9c155 in visit_list_elements (v=0x7fffffffc2f0, l=0xc34ee0, statement_list=true)
at ../src/compiler/glsl/ir_hv_accept.cpp:55
#8 0x00007ffff5f9c389 in ir_function_signature::accept (this=0xc34e90, v=0x7fffffffc2f0)
at ../src/compiler/glsl/ir_hv_accept.cpp:115
#9 0x00007ffff5f9c155 in visit_list_elements (v=0x7fffffffc2f0, l=0xc34dd8, statement_list=false)
at ../src/compiler/glsl/ir_hv_accept.cpp:55
#10 0x00007ffff5f9c41d in ir_function::accept (this=0xc34db0, v=0x7fffffffc2f0)
at ../src/compiler/glsl/ir_hv_accept.cpp:127
#11 0x00007ffff5f9c155 in visit_list_elements (v=0x7fffffffc2f0, l=0xc39440, statement_list=true)
at ../src/compiler/glsl/ir_hv_accept.cpp:55
#12 0x00007ffff5f9bdc4 in ir_hierarchical_visitor::run (this=0x7fffffffc2f0, instructions=0xc39440)
at ../src/compiler/glsl/ir_hierarchical_visitor.cpp:376
#13 0x00007ffff5fa647e in validate_ir_tree (instructions=0xc39440) at ../src/compiler/glsl/ir_validate.cpp:1211
#14 0x00007ffff5fb1977 in link_shaders (ctx=0x6899f0, prog=0x4b6410) at ../src/compiler/glsl/linker.cpp:4972
#15 0x00007ffff5ae6d20 in _mesa_glsl_link_shader (ctx=0x6899f0, prog=0x4b6410)
at ../src/mesa/program/ir_to_mesa.cpp:3108
#16 0x00007ffff5cfe44e in link_program (no_error=false, shProg=0x4b6410, ctx=0x6899f0)
at ../src/mesa/main/shaderapi.c:1311
#17 link_program_error (ctx=0x6899f0, shProg=0x4b6410) at ../src/mesa/main/shaderapi.c:1419
#18 0x00007ffff5cffc6d in _mesa_LinkProgram (programObj=3) at ../src/mesa/main/shaderapi.c:1911
#19 0x00007ffff7e9c9e6 in stub_glLinkProgram (program=3) at tests/util/piglit-dispatch-gen.c:33956
#20 0x000000000040a906 in link_and_use_shaders () at tests/shaders/shader_runner.c:1652
#21 0x00000000004162ab in init_test (
file=0x7fffffffdd09 "/home/zmike/src/piglit/generated_tests/spec/arb_gpu_shader_fp64/execution/inout/vs-out-fs-in-S1-float@1-dmat2x2.shader_test") at tests/shaders/shader_runner.c:5447
#22 0x00000000004170ae in piglit_init (argc=2, argv=0x7fffffffd818) at tests/shaders/shader_runner.c:5825
#23 0x00007ffff7f06a81 in run_test (gl_fw=0x438430, argc=2, argv=0x7fffffffd818)
at tests/util/piglit-framework-gl/piglit_fbo_framework.c:50
#24 0x00007ffff7ef73ff in piglit_gl_test_run (argc=2, argv=0x7fffffffd818, config=0x7fffffffd6c0)
at tests/util/piglit-framework-gl.c:229
#25 0x0000000000407848 in main (argc=2, argv=0x7fffffffd818) at tests/shaders/shader_runner.c:72