/home/diego/RetroArch/retroarch 14 @0 glXCreateWindow(dpy = 0x556bac43d9b0, config = 0x556baca58ac0, win = 56623106, attribList = {}) = 56623107 14: warning: unsupported glXCreateWindow call NIR (SSA form) for fragment shader: shader: MESA_SHADER_FRAGMENT name: BLORP-clear inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 clear_color (VARYING_SLOT_VAR0, 31, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_1 = intrinsic load_input (ssa_0) () (31, 0) /* base=31 */ /* component=0 */ /* clear_color */ intrinsic store_output (ssa_1, ssa_0) () (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_0 */ block block_0: } NIR (final form) for fragment shader: shader: MESA_SHADER_FRAGMENT name: BLORP-clear inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 clear_color (VARYING_SLOT_VAR0, 31, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_1 = intrinsic load_input (ssa_0) () (31, 0) /* base=31 */ /* component=0 */ /* clear_color */ intrinsic store_output (ssa_1, ssa_0) () (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_0 */ block block_0: } Native code for unnamed fragment shader BLORP-clear SIMD16 shader: 6 instructions. 0 loops. 22 cycles. 0:0 spills:fills. Promoted 0 constants. Compacted 96 to 96 bytes (0%) START B0 (22 cycles) mov(16) m3<1>F g4.3<0,1,0>F { align1 compr4 }; mov(16) m4<1>F g4.7<0,1,0>F { align1 compr4 }; mov(16) m5<1>F g5.3<0,1,0>F { align1 compr4 }; mov(16) m6<1>F g5.7<0,1,0>F { align1 compr4 }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 10 rlen 0 { align1 EOT }; END B0 3775: message: shader compiler issue 1: FS SIMD16 shader: 6 inst, 0 loops, 22 cycles, 0:0 spills:fills, Promoted 0 constants, compacted 96 to 96 bytes. NIR for FS program 6 loaded from disk shader cache: shader: MESA_SHADER_FRAGMENT name: GLSL1 inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var uniform INTERP_MODE_NONE sampler2D Texture (1, 0, 0) decl_var shader_in INTERP_MODE_NONE vec2 packed:tex_coord (VARYING_SLOT_VAR0.xy, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x3f800000 /* 1.000000 */) vec2 32 ssa_1 = intrinsic load_var () (packed:tex_coord) () vec4 32 ssa_2 = tex ssa_1 (coord), 0 (texture) 0 (sampler) vec4 32 ssa_3 = vec4 ssa_2.x, ssa_2.y, ssa_2.z, ssa_0 intrinsic store_var (ssa_3) (gl_FragColor) (15) /* wrmask=xyzw */ /* succs: block_0 */ block block_0: } Native code for unnamed fragment shader GLSL1 from disk cache: add(16) g10<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; mov(16) m6<1>F 1F { align1 compr4 }; add(16) g12<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; add(8) g6<1>F g10<8,8,1>UW -g1<0,1,0>F { align1 }; add(8) g7<1>F g12<8,8,1>UW -g1.1<0,1,0>F { align1 }; add(8) g8<1>F g10.8<8,8,1>UW -g1<0,1,0>F { align1 sechalf }; add(8) g9<1>F g12.8<8,8,1>UW -g1.1<0,1,0>F { align1 sechalf }; pln(16) g10<1>F g3.4<0,1,0>F g6<8,8,1>F { align1 compr compacted }; nenop ; send(16) 2 g12<1>F g10<8,8,1>F math inv mlen 1 rlen 1 { align1 compr }; pln(16) g10<1>F g4<0,1,0>F g6<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m2<1>F g10<8,8,1>F g12<8,8,1>F { align1 compr }; pln(16) g10<1>F g4.4<0,1,0>F g6<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m4<1>F g10<8,8,1>F g12<8,8,1>F { align1 compr }; send(16) 1 g4<1>UW g0<8,8,1>UW sampler (1, 0, 0, ) mlen 5 rlen 8 { align1 }; mov(16) m3<1>F g4<8,8,1>F { align1 compr4 }; mov(16) m4<1>F g6<8,8,1>F { align1 compr4 }; mov(16) m5<1>F g8<8,8,1>F { align1 compr4 }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 10 rlen 0 { align1 EOT }; NIR for FS program 24 loaded from disk shader cache: shader: MESA_SHADER_FRAGMENT name: GLSL-1 label: meta clear inputs: 0 outputs: 0 uniforms: 16 shared: 0 decl_var uniform INTERP_MODE_NONE vec4 color (0, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_1 = intrinsic load_uniform (ssa_0) () (0, 16) /* base=0 */ /* range=16 */ /* color */ intrinsic store_var (ssa_1) (gl_FragColor) (15) /* wrmask=xyzw */ /* succs: block_0 */ block block_0: } Native code for meta clear fragment shader GLSL-1 from disk cache: mov(16) m3<1>F g2<0,1,0>F { align1 compr4 }; mov(16) m4<1>F g2.1<0,1,0>F { align1 compr4 }; mov(16) m5<1>F g2.2<0,1,0>F { align1 compr4 }; mov(16) m6<1>F g2.3<0,1,0>F { align1 compr4 }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 10 rlen 0 { align1 EOT }; NIR for FS program 24 loaded from disk shader cache: shader: MESA_SHADER_FRAGMENT name: GLSL-1 label: meta clear inputs: 0 outputs: 0 uniforms: 16 shared: 0 decl_var uniform INTERP_MODE_NONE vec4 color (0, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_1 = intrinsic load_uniform (ssa_0) () (0, 16) /* base=0 */ /* range=16 */ /* color */ intrinsic store_var (ssa_1) (gl_FragColor) (15) /* wrmask=xyzw */ /* succs: block_0 */ block block_0: } Native code for meta clear fragment shader GLSL-1 from disk cache: mov(16) m3<1>F g2<0,1,0>F { align1 compr4 }; mov(16) m4<1>F g2.1<0,1,0>F { align1 compr4 }; mov(16) m5<1>F g2.2<0,1,0>F { align1 compr4 }; mov(16) m6<1>F g2.3<0,1,0>F { align1 compr4 }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 10 rlen 0 { align1 EOT }; NIR for FS program 26 loaded from disk shader cache: shader: MESA_SHADER_FRAGMENT name: GLSL33 inputs: 0 outputs: 0 uniforms: 16 shared: 0 decl_var uniform INTERP_MODE_NONE vec4 gl_FbWposYTransform (0, 0, 0) decl_var shader_in INTERP_MODE_NONE vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_in INTERP_MODE_NONE vec4 vtx_base (VARYING_SLOT_VAR0, 0, 0) decl_var shader_out INTERP_MODE_NONE float gl_FragDepth (FRAG_RESULT_DEPTH.x, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_1 = load_const (0x47c35000 /* 100000.000000 */) vec4 32 ssa_2 = intrinsic load_var () (vtx_base) () vec1 32 ssa_3 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_4 = intrinsic load_uniform (ssa_3) () (0, 16) /* base=0 */ /* range=16 */ /* gl_FbWposYTransform */ vec4 32 ssa_5 = intrinsic load_var () (gl_FragCoord) () vec4 32 ssa_6 = load_const (0x3f000000 /* 0.500000 */, 0x3f000000 /* 0.500000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */) vec4 32 ssa_7 = fadd ssa_5, ssa_6 vec1 32 ssa_8 = imov ssa_4.y vec1 32 ssa_9 = imov ssa_4.x vec1 32 ssa_10 = imov ssa_7.y vec1 32 ssa_11 = fmul ssa_10, ssa_9 vec1 32 ssa_12 = fadd ssa_11, ssa_8 vec1 32 ssa_13 = imov ssa_7.w vec1 32 ssa_14 = imov ssa_7.z vec1 32 ssa_15 = imov ssa_7.x vec4 32 ssa_16 = vec4 ssa_15, ssa_12, ssa_14, ssa_13 vec4 32 ssa_17 = intrinsic load_var () (gl_FragCoord) () vec1 32 ssa_18 = fmul ssa_16.w, ssa_1 vec1 32 ssa_19 = fadd ssa_0, ssa_18 vec1 32 ssa_20 = flog2 ssa_19 vec1 32 ssa_21 = load_const (0x3cf0f0f0 /* 0.029412 */) vec1 32 ssa_22 = fmul ssa_20, ssa_21 intrinsic store_var (ssa_22) (gl_FragDepth) (1) /* wrmask=x */ vec4 32 ssa_23 = vec4 ssa_2.x, ssa_2.y, ssa_2.z, ssa_0 intrinsic store_var (ssa_23) (gl_FragColor) (15) /* wrmask=xyzw */ /* succs: block_0 */ block block_0: } Native code for unnamed fragment shader GLSL33 from disk cache: add(16) g16<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; mov(16) m7<1>F 1F { align1 compr4 }; mov(16) m14<1>F g5<8,8,1>F { align1 compr }; add(16) g6<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; add(8) g12<1>F g16<8,8,1>UW -g1<0,1,0>F { align1 }; add(8) g13<1>F g6<8,8,1>UW -g1.1<0,1,0>F { align1 }; add(8) g14<1>F g16.8<8,8,1>UW -g1<0,1,0>F { align1 sechalf }; add(8) g15<1>F g6.8<8,8,1>UW -g1.1<0,1,0>F { align1 sechalf }; pln(16) g6<1>F g8.4<0,1,0>F g12<8,8,1>F { align1 compr compacted }; nenop ; send(16) 2 g16<1>F g6<8,8,1>F math inv mlen 1 rlen 1 { align1 compr }; pln(16) g18<1>F g9<0,1,0>F g12<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m4<1>F g18<8,8,1>F g16<8,8,1>F { align1 compr4 }; pln(16) g18<1>F g9.4<0,1,0>F g12<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m5<1>F g18<8,8,1>F g16<8,8,1>F { align1 compr4 }; pln(16) g8<1>F g10<0,1,0>F g12<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m6<1>F g8<8,8,1>F g16<8,8,1>F { align1 compr4 }; mul(16) g8<1>F g6<8,8,1>F 100000F { align1 compr }; add(16) g6<1>F g8<8,8,1>F 1F { align1 compr }; send(16) 2 g8<1>F g6<8,8,1>F math log mlen 1 rlen 1 { align1 compr }; mul(16) m12<1>F g8<8,8,1>F 0.0294118F { align1 compr }; mov(8) m3<1>F g4<8,8,1>F { align1 nomask }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 15 rlen 0 { align1 EOT }; NIR for FS program 22 loaded from disk shader cache: shader: MESA_SHADER_FRAGMENT name: GLSL30 inputs: 0 outputs: 0 uniforms: 20 shared: 0 decl_var uniform INTERP_MODE_NONE float sp_ShaderColor (1, 0, 0) decl_var uniform INTERP_MODE_NONE vec4 gl_FbWposYTransform (0, 4, 0) decl_var shader_in INTERP_MODE_NONE vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE float gl_FragDepth (FRAG_RESULT_DEPTH.x, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_1 = load_const (0x47c35000 /* 100000.000000 */) vec1 32 ssa_2 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_4 = intrinsic load_uniform (ssa_3) () (4, 16) /* base=4 */ /* range=16 */ /* gl_FbWposYTransform */ vec4 32 ssa_5 = intrinsic load_var () (gl_FragCoord) () vec4 32 ssa_6 = load_const (0x3f000000 /* 0.500000 */, 0x3f000000 /* 0.500000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */) vec4 32 ssa_7 = fadd ssa_5, ssa_6 vec1 32 ssa_8 = imov ssa_4.y vec1 32 ssa_9 = imov ssa_4.x vec1 32 ssa_10 = imov ssa_7.y vec1 32 ssa_11 = fmul ssa_10, ssa_9 vec1 32 ssa_12 = fadd ssa_11, ssa_8 vec1 32 ssa_13 = imov ssa_7.w vec1 32 ssa_14 = imov ssa_7.z vec1 32 ssa_15 = imov ssa_7.x vec4 32 ssa_16 = vec4 ssa_15, ssa_12, ssa_14, ssa_13 vec4 32 ssa_17 = intrinsic load_var () (gl_FragCoord) () vec1 32 ssa_18 = fmul ssa_16.w, ssa_1 vec1 32 ssa_19 = fadd ssa_0, ssa_18 vec1 32 ssa_20 = flog2 ssa_19 vec1 32 ssa_21 = load_const (0x3cf0f0f0 /* 0.029412 */) vec1 32 ssa_22 = fmul ssa_20, ssa_21 vec1 32 ssa_23 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_24 = intrinsic load_uniform (ssa_23) () (0, 4) /* base=0 */ /* range=4 */ /* sp_ShaderColor */ intrinsic store_var (ssa_22) (gl_FragDepth) (1) /* wrmask=x */ vec4 32 ssa_25 = vec4 ssa_2, ssa_2, ssa_2, ssa_24 intrinsic store_var (ssa_25) (gl_FragColor) (15) /* wrmask=xyzw */ /* succs: block_0 */ block block_0: } Native code for unnamed fragment shader GLSL30 from disk cache: mov(16) m3<1>F 0F { align1 compr4 }; mov(16) m4<1>F 0F { align1 compr4 }; mov(16) m5<1>F 0F { align1 compr4 }; mov(16) m6<1>F g4<0,1,0>F { align1 compr4 }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 10 rlen 0 { align1 EOT }; NIR for FS program 24 loaded from disk shader cache: shader: MESA_SHADER_FRAGMENT name: GLSL-1 label: meta clear inputs: 0 outputs: 0 uniforms: 16 shared: 0 decl_var uniform INTERP_MODE_NONE vec4 color (0, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_1 = intrinsic load_uniform (ssa_0) () (0, 16) /* base=0 */ /* range=16 */ /* color */ intrinsic store_var (ssa_1) (gl_FragColor) (15) /* wrmask=xyzw */ /* succs: block_0 */ block block_0: } Native code for meta clear fragment shader GLSL-1 from disk cache: mov(16) m3<1>F g2<0,1,0>F { align1 compr4 }; mov(16) m4<1>F g2.1<0,1,0>F { align1 compr4 }; mov(16) m5<1>F g2.2<0,1,0>F { align1 compr4 }; mov(16) m6<1>F g2.3<0,1,0>F { align1 compr4 }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 10 rlen 0 { align1 EOT }; NIR for FS program 28 loaded from disk shader cache: shader: MESA_SHADER_FRAGMENT name: GLSL36 inputs: 0 outputs: 0 uniforms: 20 shared: 0 decl_var uniform INTERP_MODE_NONE sampler2D tex (1, 0, 0) decl_var uniform INTERP_MODE_NONE float trilinear_alpha (2, 0, 0) decl_var uniform INTERP_MODE_NONE vec4 gl_FbWposYTransform (0, 4, 0) decl_var shader_in INTERP_MODE_NONE vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_in INTERP_MODE_NONE vec4 vtx_base (VARYING_SLOT_VAR0, 0, 0) decl_var shader_in INTERP_MODE_NONE vec2 packed:vtx_uv (VARYING_SLOT_VAR1.xy, 0, 0) decl_var shader_out INTERP_MODE_NONE float gl_FragDepth (FRAG_RESULT_DEPTH.x, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_1 = load_const (0x47c35000 /* 100000.000000 */) vec2 32 ssa_2 = intrinsic load_var () (packed:vtx_uv) () vec4 32 ssa_3 = intrinsic load_var () (vtx_base) () vec1 32 ssa_4 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_5 = intrinsic load_uniform (ssa_4) () (0, 4) /* base=0 */ /* range=4 */ /* tex */ vec1 32 ssa_6 = fmul ssa_3.x, ssa_5 vec1 32 ssa_7 = fmul ssa_3.y, ssa_5 vec1 32 ssa_8 = fmul ssa_3.z, ssa_5 vec1 32 ssa_9 = fmul ssa_3.w, ssa_5 vec4 32 ssa_10 = tex ssa_2 (coord), 0 (texture) 0 (sampler) vec1 32 ssa_11 = fmul ssa_6, ssa_10.x vec1 32 ssa_12 = fmul ssa_7, ssa_10.y vec1 32 ssa_13 = fmul ssa_8, ssa_10.z vec1 32 ssa_14 = fmul ssa_9, ssa_10.w vec1 32 ssa_15 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_16 = intrinsic load_uniform (ssa_15) () (4, 16) /* base=4 */ /* range=16 */ /* gl_FbWposYTransform */ vec4 32 ssa_17 = intrinsic load_var () (gl_FragCoord) () vec4 32 ssa_18 = load_const (0x3f000000 /* 0.500000 */, 0x3f000000 /* 0.500000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */) vec4 32 ssa_19 = fadd ssa_17, ssa_18 vec1 32 ssa_20 = imov ssa_16.y vec1 32 ssa_21 = imov ssa_16.x vec1 32 ssa_22 = imov ssa_19.y vec1 32 ssa_23 = fmul ssa_22, ssa_21 vec1 32 ssa_24 = fadd ssa_23, ssa_20 vec1 32 ssa_25 = imov ssa_19.w vec1 32 ssa_26 = imov ssa_19.z vec1 32 ssa_27 = imov ssa_19.x vec4 32 ssa_28 = vec4 ssa_27, ssa_24, ssa_26, ssa_25 vec4 32 ssa_29 = intrinsic load_var () (gl_FragCoord) () vec1 32 ssa_30 = fmul ssa_28.w, ssa_1 vec1 32 ssa_31 = fadd ssa_0, ssa_30 vec1 32 ssa_32 = flog2 ssa_31 vec1 32 ssa_33 = load_const (0x3cf0f0f0 /* 0.029412 */) vec1 32 ssa_34 = fmul ssa_32, ssa_33 intrinsic store_var (ssa_34) (gl_FragDepth) (1) /* wrmask=x */ vec4 32 ssa_35 = vec4 ssa_11, ssa_12, ssa_13, ssa_14 intrinsic store_var (ssa_35) (gl_FragColor) (15) /* wrmask=xyzw */ /* succs: block_0 */ block block_0: } Native code for unnamed fragment shader GLSL36 from disk cache: add(16) g14<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; mov(16) m14<1>F g5<8,8,1>F { align1 compr }; add(16) g16<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; add(8) g20<1>F g14<8,8,1>UW -g1<0,1,0>F { align1 }; add(8) g21<1>F g16<8,8,1>UW -g1.1<0,1,0>F { align1 }; add(8) g22<1>F g14.8<8,8,1>UW -g1<0,1,0>F { align1 sechalf }; add(8) g23<1>F g16.8<8,8,1>UW -g1.1<0,1,0>F { align1 sechalf }; pln(16) g24<1>F g9.4<0,1,0>F g20<8,8,1>F { align1 compr compacted }; nenop ; send(16) 2 g8<1>F g24<8,8,1>F math inv mlen 1 rlen 1 { align1 compr }; pln(16) g14<1>F g12<0,1,0>F g20<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m2<1>F g14<8,8,1>F g8<8,8,1>F { align1 compr }; pln(16) g14<1>F g12.4<0,1,0>F g20<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m4<1>F g14<8,8,1>F g8<8,8,1>F { align1 compr }; pln(16) g26<1>F g10<0,1,0>F g20<8,8,1>F { align1 compr compacted }; nenop ; send(16) 1 g12<1>UW g0<8,8,1>UW sampler (1, 0, 0, ) mlen 5 rlen 8 { align1 }; mul(16) g28<1>F g26<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g26<1>F g10.4<0,1,0>F g20<8,8,1>F { align1 compr compacted }; mul(16) g30<1>F g26<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g26<1>F g11<0,1,0>F g20<8,8,1>F { align1 compr compacted }; mul(16) g32<1>F g26<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g26<1>F g11.4<0,1,0>F g20<8,8,1>F { align1 compr compacted }; mul(16) g10<1>F g26<8,8,1>F g8<8,8,1>F { align1 compr compacted }; mul(16) g8<1>F g28<8,8,1>F g7<0,1,0>F { align1 compr compacted }; mul(16) g20<1>F g30<8,8,1>F g7<0,1,0>F { align1 compr compacted }; mul(16) g22<1>F g32<8,8,1>F g7<0,1,0>F { align1 compr compacted }; mul(16) g26<1>F g10<8,8,1>F g7<0,1,0>F { align1 compr compacted }; nenop ; mul(16) m4<1>F g8<8,8,1>F g12<8,8,1>F { align1 compr4 }; mul(16) m5<1>F g20<8,8,1>F g14<8,8,1>F { align1 compr4 }; mul(16) m6<1>F g22<8,8,1>F g16<8,8,1>F { align1 compr4 }; mul(16) m7<1>F g26<8,8,1>F g18<8,8,1>F { align1 compr4 }; mul(16) g6<1>F g24<8,8,1>F 100000F { align1 compr }; add(16) g8<1>F g6<8,8,1>F 1F { align1 compr }; send(16) 2 g6<1>F g8<8,8,1>F math log mlen 1 rlen 1 { align1 compr }; mul(16) m12<1>F g6<8,8,1>F 0.0294118F { align1 compr }; mov(8) m3<1>F g4<8,8,1>F { align1 nomask }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 15 rlen 0 { align1 EOT }; NIR for FS program 30 loaded from disk shader cache: shader: MESA_SHADER_FRAGMENT name: GLSL39 inputs: 0 outputs: 0 uniforms: 16 shared: 0 decl_var uniform INTERP_MODE_NONE vec4 gl_FbWposYTransform (0, 0, 0) decl_var shader_in INTERP_MODE_NONE vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_in INTERP_MODE_NONE vec4 vtx_base (VARYING_SLOT_VAR0, 0, 0) decl_var shader_out INTERP_MODE_NONE float gl_FragDepth (FRAG_RESULT_DEPTH.x, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_1 = load_const (0x47c35000 /* 100000.000000 */) vec4 32 ssa_2 = intrinsic load_var () (vtx_base) () vec1 32 ssa_3 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_4 = intrinsic load_uniform (ssa_3) () (0, 16) /* base=0 */ /* range=16 */ /* gl_FbWposYTransform */ vec4 32 ssa_5 = intrinsic load_var () (gl_FragCoord) () vec4 32 ssa_6 = load_const (0x3f000000 /* 0.500000 */, 0x3f000000 /* 0.500000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */) vec4 32 ssa_7 = fadd ssa_5, ssa_6 vec1 32 ssa_8 = imov ssa_4.y vec1 32 ssa_9 = imov ssa_4.x vec1 32 ssa_10 = imov ssa_7.y vec1 32 ssa_11 = fmul ssa_10, ssa_9 vec1 32 ssa_12 = fadd ssa_11, ssa_8 vec1 32 ssa_13 = imov ssa_7.w vec1 32 ssa_14 = imov ssa_7.z vec1 32 ssa_15 = imov ssa_7.x vec4 32 ssa_16 = vec4 ssa_15, ssa_12, ssa_14, ssa_13 vec4 32 ssa_17 = intrinsic load_var () (gl_FragCoord) () vec1 32 ssa_18 = fmul ssa_16.w, ssa_1 vec1 32 ssa_19 = fadd ssa_0, ssa_18 vec1 32 ssa_20 = flog2 ssa_19 vec1 32 ssa_21 = load_const (0x3cf0f0f0 /* 0.029412 */) vec1 32 ssa_22 = fmul ssa_20, ssa_21 intrinsic store_var (ssa_22) (gl_FragDepth) (1) /* wrmask=x */ vec4 32 ssa_23 = vec4 ssa_2.x, ssa_2.y, ssa_2.z, ssa_0 intrinsic store_var (ssa_23) (gl_FragColor) (15) /* wrmask=xyzw */ /* succs: block_0 */ block block_0: } Native code for unnamed fragment shader GLSL39 from disk cache: add(16) g16<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; mov(16) m7<1>F 1F { align1 compr4 }; mov(16) m14<1>F g5<8,8,1>F { align1 compr }; add(16) g6<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; add(8) g12<1>F g16<8,8,1>UW -g1<0,1,0>F { align1 }; add(8) g13<1>F g6<8,8,1>UW -g1.1<0,1,0>F { align1 }; add(8) g14<1>F g16.8<8,8,1>UW -g1<0,1,0>F { align1 sechalf }; add(8) g15<1>F g6.8<8,8,1>UW -g1.1<0,1,0>F { align1 sechalf }; pln(16) g6<1>F g8.4<0,1,0>F g12<8,8,1>F { align1 compr compacted }; nenop ; send(16) 2 g16<1>F g6<8,8,1>F math inv mlen 1 rlen 1 { align1 compr }; pln(16) g18<1>F g9<0,1,0>F g12<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m4<1>F g18<8,8,1>F g16<8,8,1>F { align1 compr4 }; pln(16) g18<1>F g9.4<0,1,0>F g12<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m5<1>F g18<8,8,1>F g16<8,8,1>F { align1 compr4 }; pln(16) g8<1>F g10<0,1,0>F g12<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m6<1>F g8<8,8,1>F g16<8,8,1>F { align1 compr4 }; mul(16) g8<1>F g6<8,8,1>F 100000F { align1 compr }; add(16) g6<1>F g8<8,8,1>F 1F { align1 compr }; send(16) 2 g8<1>F g6<8,8,1>F math log mlen 1 rlen 1 { align1 compr }; mul(16) m12<1>F g8<8,8,1>F 0.0294118F { align1 compr }; mov(8) m3<1>F g4<8,8,1>F { align1 nomask }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 15 rlen 0 { align1 EOT }; NIR for FS program 32 loaded from disk shader cache: shader: MESA_SHADER_FRAGMENT name: GLSL42 inputs: 0 outputs: 0 uniforms: 20 shared: 0 decl_var uniform INTERP_MODE_NONE sampler2D tex (1, 0, 0) decl_var uniform INTERP_MODE_NONE float trilinear_alpha (2, 0, 0) decl_var uniform INTERP_MODE_NONE vec4 gl_FbWposYTransform (0, 4, 0) decl_var shader_in INTERP_MODE_NONE vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_in INTERP_MODE_NONE vec4 vtx_base (VARYING_SLOT_VAR0, 0, 0) decl_var shader_in INTERP_MODE_NONE vec2 packed:vtx_uv (VARYING_SLOT_VAR1.xy, 0, 0) decl_var shader_out INTERP_MODE_NONE float gl_FragDepth (FRAG_RESULT_DEPTH.x, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_1 = load_const (0x47c35000 /* 100000.000000 */) vec2 32 ssa_2 = intrinsic load_var () (packed:vtx_uv) () vec4 32 ssa_3 = intrinsic load_var () (vtx_base) () vec1 32 ssa_4 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_5 = intrinsic load_uniform (ssa_4) () (0, 4) /* base=0 */ /* range=4 */ /* tex */ vec1 32 ssa_6 = fmul ssa_3.x, ssa_5 vec1 32 ssa_7 = fmul ssa_3.y, ssa_5 vec1 32 ssa_8 = fmul ssa_3.z, ssa_5 vec1 32 ssa_9 = fmul ssa_3.w, ssa_5 vec4 32 ssa_10 = tex ssa_2 (coord), 0 (texture) 0 (sampler) vec1 32 ssa_11 = fmul ssa_6, ssa_10.x vec1 32 ssa_12 = fmul ssa_7, ssa_10.y vec1 32 ssa_13 = fmul ssa_8, ssa_10.z vec1 32 ssa_14 = fmul ssa_9, ssa_10.w vec1 32 ssa_15 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_16 = intrinsic load_uniform (ssa_15) () (4, 16) /* base=4 */ /* range=16 */ /* gl_FbWposYTransform */ vec4 32 ssa_17 = intrinsic load_var () (gl_FragCoord) () vec4 32 ssa_18 = load_const (0x3f000000 /* 0.500000 */, 0x3f000000 /* 0.500000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */) vec4 32 ssa_19 = fadd ssa_17, ssa_18 vec1 32 ssa_20 = imov ssa_16.y vec1 32 ssa_21 = imov ssa_16.x vec1 32 ssa_22 = imov ssa_19.y vec1 32 ssa_23 = fmul ssa_22, ssa_21 vec1 32 ssa_24 = fadd ssa_23, ssa_20 vec1 32 ssa_25 = imov ssa_19.w vec1 32 ssa_26 = imov ssa_19.z vec1 32 ssa_27 = imov ssa_19.x vec4 32 ssa_28 = vec4 ssa_27, ssa_24, ssa_26, ssa_25 vec4 32 ssa_29 = intrinsic load_var () (gl_FragCoord) () vec1 32 ssa_30 = fmul ssa_28.w, ssa_1 vec1 32 ssa_31 = fadd ssa_0, ssa_30 vec1 32 ssa_32 = flog2 ssa_31 vec1 32 ssa_33 = load_const (0x3cf0f0f0 /* 0.029412 */) vec1 32 ssa_34 = fmul ssa_32, ssa_33 intrinsic store_var (ssa_34) (gl_FragDepth) (1) /* wrmask=x */ vec4 32 ssa_35 = vec4 ssa_11, ssa_12, ssa_13, ssa_14 intrinsic store_var (ssa_35) (gl_FragColor) (15) /* wrmask=xyzw */ /* succs: block_0 */ block block_0: } Native code for unnamed fragment shader GLSL42 from disk cache: add(16) g14<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; mov(16) m14<1>F g5<8,8,1>F { align1 compr }; add(16) g16<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; add(8) g20<1>F g14<8,8,1>UW -g1<0,1,0>F { align1 }; add(8) g21<1>F g16<8,8,1>UW -g1.1<0,1,0>F { align1 }; add(8) g22<1>F g14.8<8,8,1>UW -g1<0,1,0>F { align1 sechalf }; add(8) g23<1>F g16.8<8,8,1>UW -g1.1<0,1,0>F { align1 sechalf }; pln(16) g24<1>F g9.4<0,1,0>F g20<8,8,1>F { align1 compr compacted }; nenop ; send(16) 2 g8<1>F g24<8,8,1>F math inv mlen 1 rlen 1 { align1 compr }; pln(16) g14<1>F g12<0,1,0>F g20<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m2<1>F g14<8,8,1>F g8<8,8,1>F { align1 compr }; pln(16) g14<1>F g12.4<0,1,0>F g20<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m4<1>F g14<8,8,1>F g8<8,8,1>F { align1 compr }; pln(16) g26<1>F g10<0,1,0>F g20<8,8,1>F { align1 compr compacted }; nenop ; send(16) 1 g12<1>UW g0<8,8,1>UW sampler (1, 0, 0, ) mlen 5 rlen 8 { align1 }; mul(16) g28<1>F g26<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g26<1>F g10.4<0,1,0>F g20<8,8,1>F { align1 compr compacted }; mul(16) g30<1>F g26<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g26<1>F g11<0,1,0>F g20<8,8,1>F { align1 compr compacted }; mul(16) g32<1>F g26<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g26<1>F g11.4<0,1,0>F g20<8,8,1>F { align1 compr compacted }; mul(16) g10<1>F g26<8,8,1>F g8<8,8,1>F { align1 compr compacted }; mul(16) g8<1>F g28<8,8,1>F g7<0,1,0>F { align1 compr compacted }; mul(16) g20<1>F g30<8,8,1>F g7<0,1,0>F { align1 compr compacted }; mul(16) g22<1>F g32<8,8,1>F g7<0,1,0>F { align1 compr compacted }; mul(16) g26<1>F g10<8,8,1>F g7<0,1,0>F { align1 compr compacted }; nenop ; mul(16) m4<1>F g8<8,8,1>F g12<8,8,1>F { align1 compr4 }; mul(16) m5<1>F g20<8,8,1>F g14<8,8,1>F { align1 compr4 }; mul(16) m6<1>F g22<8,8,1>F g16<8,8,1>F { align1 compr4 }; mul(16) m7<1>F g26<8,8,1>F g18<8,8,1>F { align1 compr4 }; mul(16) g6<1>F g24<8,8,1>F 100000F { align1 compr }; add(16) g8<1>F g6<8,8,1>F 1F { align1 compr }; send(16) 2 g6<1>F g8<8,8,1>F math log mlen 1 rlen 1 { align1 compr }; mul(16) m12<1>F g6<8,8,1>F 0.0294118F { align1 compr }; mov(8) m3<1>F g4<8,8,1>F { align1 nomask }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 15 rlen 0 { align1 EOT }; NIR for FS program 34 loaded from disk shader cache: shader: MESA_SHADER_FRAGMENT name: GLSL45 inputs: 0 outputs: 0 uniforms: 16 shared: 0 decl_var uniform INTERP_MODE_NONE vec4 gl_FbWposYTransform (0, 0, 0) decl_var shader_in INTERP_MODE_NONE vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_in INTERP_MODE_NONE vec4 vtx_base (VARYING_SLOT_VAR0, 0, 0) decl_var shader_out INTERP_MODE_NONE float gl_FragDepth (FRAG_RESULT_DEPTH.x, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_1 = load_const (0x47c35000 /* 100000.000000 */) vec1 32 ssa_2 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_3 = intrinsic load_uniform (ssa_2) () (0, 16) /* base=0 */ /* range=16 */ /* gl_FbWposYTransform */ vec4 32 ssa_4 = intrinsic load_var () (gl_FragCoord) () vec4 32 ssa_5 = load_const (0x3f000000 /* 0.500000 */, 0x3f000000 /* 0.500000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */) vec4 32 ssa_6 = fadd ssa_4, ssa_5 vec1 32 ssa_7 = imov ssa_3.y vec1 32 ssa_8 = imov ssa_3.x vec1 32 ssa_9 = imov ssa_6.y vec1 32 ssa_10 = fmul ssa_9, ssa_8 vec1 32 ssa_11 = fadd ssa_10, ssa_7 vec1 32 ssa_12 = imov ssa_6.w vec1 32 ssa_13 = imov ssa_6.z vec1 32 ssa_14 = imov ssa_6.x vec4 32 ssa_15 = vec4 ssa_14, ssa_11, ssa_13, ssa_12 vec4 32 ssa_16 = intrinsic load_var () (gl_FragCoord) () vec1 32 ssa_17 = fmul ssa_15.w, ssa_1 vec1 32 ssa_18 = fadd ssa_0, ssa_17 vec1 32 ssa_19 = flog2 ssa_18 vec1 32 ssa_20 = load_const (0x3cf0f0f0 /* 0.029412 */) vec1 32 ssa_21 = fmul ssa_19, ssa_20 vec4 32 ssa_22 = intrinsic load_var () (vtx_base) () intrinsic store_var (ssa_21) (gl_FragDepth) (1) /* wrmask=x */ intrinsic store_var (ssa_22) (gl_FragColor) (15) /* wrmask=xyzw */ /* succs: block_0 */ block block_0: } Native code for unnamed fragment shader GLSL45 from disk cache: add(16) g16<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; mov(16) m14<1>F g5<8,8,1>F { align1 compr }; add(16) g6<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; add(8) g12<1>F g16<8,8,1>UW -g1<0,1,0>F { align1 }; add(8) g13<1>F g6<8,8,1>UW -g1.1<0,1,0>F { align1 }; add(8) g14<1>F g16.8<8,8,1>UW -g1<0,1,0>F { align1 sechalf }; add(8) g15<1>F g6.8<8,8,1>UW -g1.1<0,1,0>F { align1 sechalf }; pln(16) g6<1>F g8.4<0,1,0>F g12<8,8,1>F { align1 compr compacted }; nenop ; send(16) 2 g16<1>F g6<8,8,1>F math inv mlen 1 rlen 1 { align1 compr }; mul(16) g18<1>F g6<8,8,1>F 100000F { align1 compr }; add(16) g6<1>F g18<8,8,1>F 1F { align1 compr }; send(16) 2 g18<1>F g6<8,8,1>F math log mlen 1 rlen 1 { align1 compr }; mul(16) m12<1>F g18<8,8,1>F 0.0294118F { align1 compr }; mov(8) m3<1>F g4<8,8,1>F { align1 nomask }; pln(16) g4<1>F g9<0,1,0>F g12<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m4<1>F g4<8,8,1>F g16<8,8,1>F { align1 compr4 }; pln(16) g4<1>F g9.4<0,1,0>F g12<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m5<1>F g4<8,8,1>F g16<8,8,1>F { align1 compr4 }; pln(16) g4<1>F g10<0,1,0>F g12<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m6<1>F g4<8,8,1>F g16<8,8,1>F { align1 compr4 }; pln(16) g4<1>F g10.4<0,1,0>F g12<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m7<1>F g4<8,8,1>F g16<8,8,1>F { align1 compr4 }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 15 rlen 0 { align1 EOT }; NIR for FS program 36 loaded from disk shader cache: shader: MESA_SHADER_FRAGMENT name: GLSL48 inputs: 0 outputs: 0 uniforms: 16 shared: 0 decl_var uniform INTERP_MODE_NONE vec4 gl_FbWposYTransform (0, 0, 0) decl_var shader_in INTERP_MODE_NONE vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_in INTERP_MODE_NONE vec4 vtx_base (VARYING_SLOT_VAR0, 0, 0) decl_var shader_out INTERP_MODE_NONE float gl_FragDepth (FRAG_RESULT_DEPTH.x, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_1 = load_const (0x47c35000 /* 100000.000000 */) vec1 32 ssa_2 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_3 = intrinsic load_uniform (ssa_2) () (0, 16) /* base=0 */ /* range=16 */ /* gl_FbWposYTransform */ vec4 32 ssa_4 = intrinsic load_var () (gl_FragCoord) () vec4 32 ssa_5 = load_const (0x3f000000 /* 0.500000 */, 0x3f000000 /* 0.500000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */) vec4 32 ssa_6 = fadd ssa_4, ssa_5 vec1 32 ssa_7 = imov ssa_3.y vec1 32 ssa_8 = imov ssa_3.x vec1 32 ssa_9 = imov ssa_6.y vec1 32 ssa_10 = fmul ssa_9, ssa_8 vec1 32 ssa_11 = fadd ssa_10, ssa_7 vec1 32 ssa_12 = imov ssa_6.w vec1 32 ssa_13 = imov ssa_6.z vec1 32 ssa_14 = imov ssa_6.x vec4 32 ssa_15 = vec4 ssa_14, ssa_11, ssa_13, ssa_12 vec4 32 ssa_16 = intrinsic load_var () (gl_FragCoord) () vec1 32 ssa_17 = fmul ssa_15.w, ssa_1 vec1 32 ssa_18 = fadd ssa_0, ssa_17 vec1 32 ssa_19 = flog2 ssa_18 vec1 32 ssa_20 = load_const (0x3cf0f0f0 /* 0.029412 */) vec1 32 ssa_21 = fmul ssa_19, ssa_20 vec4 32 ssa_22 = intrinsic load_var () (vtx_base) () intrinsic store_var (ssa_21) (gl_FragDepth) (1) /* wrmask=x */ intrinsic store_var (ssa_22) (gl_FragColor) (15) /* wrmask=xyzw */ /* succs: block_0 */ block block_0: } Native code for unnamed fragment shader GLSL48 from disk cache: add(16) g16<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; mov(16) m14<1>F g5<8,8,1>F { align1 compr }; add(16) g6<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; add(8) g12<1>F g16<8,8,1>UW -g1<0,1,0>F { align1 }; add(8) g13<1>F g6<8,8,1>UW -g1.1<0,1,0>F { align1 }; add(8) g14<1>F g16.8<8,8,1>UW -g1<0,1,0>F { align1 sechalf }; add(8) g15<1>F g6.8<8,8,1>UW -g1.1<0,1,0>F { align1 sechalf }; pln(16) g6<1>F g8.4<0,1,0>F g12<8,8,1>F { align1 compr compacted }; nenop ; send(16) 2 g16<1>F g6<8,8,1>F math inv mlen 1 rlen 1 { align1 compr }; mul(16) g18<1>F g6<8,8,1>F 100000F { align1 compr }; add(16) g6<1>F g18<8,8,1>F 1F { align1 compr }; send(16) 2 g18<1>F g6<8,8,1>F math log mlen 1 rlen 1 { align1 compr }; mul(16) m12<1>F g18<8,8,1>F 0.0294118F { align1 compr }; mov(8) m3<1>F g4<8,8,1>F { align1 nomask }; pln(16) g4<1>F g9<0,1,0>F g12<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m4<1>F g4<8,8,1>F g16<8,8,1>F { align1 compr4 }; pln(16) g4<1>F g9.4<0,1,0>F g12<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m5<1>F g4<8,8,1>F g16<8,8,1>F { align1 compr4 }; pln(16) g4<1>F g10<0,1,0>F g12<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m6<1>F g4<8,8,1>F g16<8,8,1>F { align1 compr4 }; pln(16) g4<1>F g10.4<0,1,0>F g12<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m7<1>F g4<8,8,1>F g16<8,8,1>F { align1 compr4 }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 15 rlen 0 { align1 EOT }; NIR for FS program 22 loaded from disk shader cache: shader: MESA_SHADER_FRAGMENT name: GLSL30 inputs: 0 outputs: 0 uniforms: 20 shared: 0 decl_var uniform INTERP_MODE_NONE float sp_ShaderColor (1, 0, 0) decl_var uniform INTERP_MODE_NONE vec4 gl_FbWposYTransform (0, 4, 0) decl_var shader_in INTERP_MODE_NONE vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE float gl_FragDepth (FRAG_RESULT_DEPTH.x, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_1 = load_const (0x47c35000 /* 100000.000000 */) vec1 32 ssa_2 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_4 = intrinsic load_uniform (ssa_3) () (4, 16) /* base=4 */ /* range=16 */ /* gl_FbWposYTransform */ vec4 32 ssa_5 = intrinsic load_var () (gl_FragCoord) () vec4 32 ssa_6 = load_const (0x3f000000 /* 0.500000 */, 0x3f000000 /* 0.500000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */) vec4 32 ssa_7 = fadd ssa_5, ssa_6 vec1 32 ssa_8 = imov ssa_4.y vec1 32 ssa_9 = imov ssa_4.x vec1 32 ssa_10 = imov ssa_7.y vec1 32 ssa_11 = fmul ssa_10, ssa_9 vec1 32 ssa_12 = fadd ssa_11, ssa_8 vec1 32 ssa_13 = imov ssa_7.w vec1 32 ssa_14 = imov ssa_7.z vec1 32 ssa_15 = imov ssa_7.x vec4 32 ssa_16 = vec4 ssa_15, ssa_12, ssa_14, ssa_13 vec4 32 ssa_17 = intrinsic load_var () (gl_FragCoord) () vec1 32 ssa_18 = fmul ssa_16.w, ssa_1 vec1 32 ssa_19 = fadd ssa_0, ssa_18 vec1 32 ssa_20 = flog2 ssa_19 vec1 32 ssa_21 = load_const (0x3cf0f0f0 /* 0.029412 */) vec1 32 ssa_22 = fmul ssa_20, ssa_21 vec1 32 ssa_23 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_24 = intrinsic load_uniform (ssa_23) () (0, 4) /* base=0 */ /* range=4 */ /* sp_ShaderColor */ intrinsic store_var (ssa_22) (gl_FragDepth) (1) /* wrmask=x */ vec4 32 ssa_25 = vec4 ssa_2, ssa_2, ssa_2, ssa_24 intrinsic store_var (ssa_25) (gl_FragColor) (15) /* wrmask=xyzw */ /* succs: block_0 */ block block_0: } Native code for unnamed fragment shader GLSL30 from disk cache: add(16) g14<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; mov(16) m4<1>F 0F { align1 compr4 }; mov(16) m5<1>F 0F { align1 compr4 }; mov(16) m6<1>F 0F { align1 compr4 }; mov(16) m7<1>F g7<0,1,0>F { align1 compr4 }; mov(16) m14<1>F g5<8,8,1>F { align1 compr }; add(16) g6<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; add(8) g10<1>F g14<8,8,1>UW -g1<0,1,0>F { align1 }; add(8) g11<1>F g6<8,8,1>UW -g1.1<0,1,0>F { align1 }; add(8) g12<1>F g14.8<8,8,1>UW -g1<0,1,0>F { align1 sechalf }; add(8) g13<1>F g6.8<8,8,1>UW -g1.1<0,1,0>F { align1 sechalf }; pln(16) g6<1>F g9.4<0,1,0>F g10<8,8,1>F { align1 compr compacted }; nenop ; mul(16) g8<1>F g6<8,8,1>F 100000F { align1 compr }; add(16) g6<1>F g8<8,8,1>F 1F { align1 compr }; send(16) 2 g8<1>F g6<8,8,1>F math log mlen 1 rlen 1 { align1 compr }; mul(16) m12<1>F g8<8,8,1>F 0.0294118F { align1 compr }; mov(8) m3<1>F g4<8,8,1>F { align1 nomask }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 15 rlen 0 { align1 EOT }; NIR for FS program 38 loaded from disk shader cache: shader: MESA_SHADER_FRAGMENT name: GLSL51 inputs: 0 outputs: 0 uniforms: 20 shared: 0 decl_var uniform INTERP_MODE_NONE sampler2D tex (1, 0, 0) decl_var uniform INTERP_MODE_NONE float trilinear_alpha (2, 0, 0) decl_var uniform INTERP_MODE_NONE vec4 gl_FbWposYTransform (0, 4, 0) decl_var shader_in INTERP_MODE_NONE vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_in INTERP_MODE_NONE vec4 vtx_base (VARYING_SLOT_VAR0, 0, 0) decl_var shader_in INTERP_MODE_NONE vec2 packed:vtx_uv (VARYING_SLOT_VAR1.xy, 0, 0) decl_var shader_out INTERP_MODE_NONE float gl_FragDepth (FRAG_RESULT_DEPTH.x, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_1 = load_const (0x47c35000 /* 100000.000000 */) vec2 32 ssa_2 = intrinsic load_var () (packed:vtx_uv) () vec4 32 ssa_3 = intrinsic load_var () (vtx_base) () vec4 32 ssa_4 = tex ssa_2 (coord), 0 (texture) 0 (sampler) vec1 32 ssa_5 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_6 = intrinsic load_uniform (ssa_5) () (0, 4) /* base=0 */ /* range=4 */ /* tex */ vec1 32 ssa_7 = fmul ssa_3.x, ssa_6 vec1 32 ssa_8 = fmul ssa_3.y, ssa_6 vec1 32 ssa_9 = fmul ssa_3.z, ssa_6 vec1 32 ssa_10 = fmul ssa_7, ssa_4.x vec1 32 ssa_11 = fmul ssa_8, ssa_4.y vec1 32 ssa_12 = fmul ssa_9, ssa_4.z vec1 32 ssa_13 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_14 = intrinsic load_uniform (ssa_13) () (4, 16) /* base=4 */ /* range=16 */ /* gl_FbWposYTransform */ vec4 32 ssa_15 = intrinsic load_var () (gl_FragCoord) () vec4 32 ssa_16 = load_const (0x3f000000 /* 0.500000 */, 0x3f000000 /* 0.500000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */) vec4 32 ssa_17 = fadd ssa_15, ssa_16 vec1 32 ssa_18 = imov ssa_14.y vec1 32 ssa_19 = imov ssa_14.x vec1 32 ssa_20 = imov ssa_17.y vec1 32 ssa_21 = fmul ssa_20, ssa_19 vec1 32 ssa_22 = fadd ssa_21, ssa_18 vec1 32 ssa_23 = imov ssa_17.w vec1 32 ssa_24 = imov ssa_17.z vec1 32 ssa_25 = imov ssa_17.x vec4 32 ssa_26 = vec4 ssa_25, ssa_22, ssa_24, ssa_23 vec4 32 ssa_27 = intrinsic load_var () (gl_FragCoord) () vec1 32 ssa_28 = fmul ssa_26.w, ssa_1 vec1 32 ssa_29 = fadd ssa_0, ssa_28 vec1 32 ssa_30 = flog2 ssa_29 vec1 32 ssa_31 = load_const (0x3cf0f0f1 /* 0.029412 */) vec1 32 ssa_32 = fmul ssa_30, ssa_31 intrinsic store_var (ssa_32) (gl_FragDepth) (1) /* wrmask=x */ vec4 32 ssa_33 = vec4 ssa_10, ssa_11, ssa_12, ssa_6 intrinsic store_var (ssa_33) (gl_FragColor) (15) /* wrmask=xyzw */ /* succs: block_0 */ block block_0: } Native code for unnamed fragment shader GLSL51 from disk cache: add(16) g18<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; mov(16) m7<1>F g7<0,1,0>F { align1 compr4 }; mov(16) m14<1>F g5<8,8,1>F { align1 compr }; add(16) g20<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; add(8) g14<1>F g18<8,8,1>UW -g1<0,1,0>F { align1 }; add(8) g15<1>F g20<8,8,1>UW -g1.1<0,1,0>F { align1 }; add(8) g16<1>F g18.8<8,8,1>UW -g1<0,1,0>F { align1 sechalf }; add(8) g17<1>F g20.8<8,8,1>UW -g1.1<0,1,0>F { align1 sechalf }; pln(16) g18<1>F g9.4<0,1,0>F g14<8,8,1>F { align1 compr compacted }; nenop ; send(16) 2 g8<1>F g18<8,8,1>F math inv mlen 1 rlen 1 { align1 compr }; pln(16) g20<1>F g12<0,1,0>F g14<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m2<1>F g20<8,8,1>F g8<8,8,1>F { align1 compr }; pln(16) g20<1>F g12.4<0,1,0>F g14<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m4<1>F g20<8,8,1>F g8<8,8,1>F { align1 compr }; pln(16) g12<1>F g10<0,1,0>F g14<8,8,1>F { align1 compr compacted }; nenop ; send(16) 1 g20<1>UW g0<8,8,1>UW sampler (1, 0, 0, ) mlen 5 rlen 8 { align1 }; mul(16) g28<1>F g12<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g12<1>F g10.4<0,1,0>F g14<8,8,1>F { align1 compr compacted }; mul(16) g30<1>F g12<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g12<1>F g11<0,1,0>F g14<8,8,1>F { align1 compr compacted }; mul(16) g14<1>F g12<8,8,1>F g8<8,8,1>F { align1 compr compacted }; mul(16) g8<1>F g28<8,8,1>F g7<0,1,0>F { align1 compr compacted }; mul(16) g10<1>F g30<8,8,1>F g7<0,1,0>F { align1 compr compacted }; mul(16) g12<1>F g14<8,8,1>F g7<0,1,0>F { align1 compr compacted }; mul(16) m4<1>F g8<8,8,1>F g20<8,8,1>F { align1 compr4 }; mul(16) m5<1>F g10<8,8,1>F g22<8,8,1>F { align1 compr4 }; mul(16) m6<1>F g12<8,8,1>F g24<8,8,1>F { align1 compr4 }; mul(16) g6<1>F g18<8,8,1>F 100000F { align1 compr }; add(16) g8<1>F g6<8,8,1>F 1F { align1 compr }; send(16) 2 g6<1>F g8<8,8,1>F math log mlen 1 rlen 1 { align1 compr }; mul(16) m12<1>F g6<8,8,1>F 0.0294118F { align1 compr }; mov(8) m3<1>F g4<8,8,1>F { align1 nomask }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 15 rlen 0 { align1 EOT }; NIR (SSA form) for fragment shader: shader: MESA_SHADER_FRAGMENT name: BLORP-blit inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 coord_transform (VARYING_SLOT_VAR3, 34, 0) decl_var shader_in INTERP_MODE_FLAT uint src_z (VARYING_SLOT_VAR5.z, 36, 0) decl_var shader_in INTERP_MODE_FLAT vec2 src_inv_size (VARYING_SLOT_VAR5.xy, 36, 0) decl_var shader_in INTERP_MODE_SMOOTH vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec2 32 ssa_0 = intrinsic load_barycentric_pixel () () (1) /* interp_mode=1 */ vec1 32 ssa_1 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_2 = intrinsic load_interpolated_input (ssa_0, ssa_1) () (0, 0) /* base=0 */ /* component=0 */ vec1 32 ssa_3 = f2i32 ssa_2.x vec1 32 ssa_4 = f2i32 ssa_2.y vec1 32 ssa_5 = i2f32 ssa_3 vec1 32 ssa_6 = i2f32 ssa_4 vec4 32 ssa_7 = intrinsic load_input (ssa_1) () (34, 0) /* base=34 */ /* component=0 */ /* coord_transform */ vec1 32 ssa_8 = fmul ssa_5, ssa_7.x vec1 32 ssa_9 = fmul ssa_6, ssa_7.z vec1 32 ssa_10 = fadd ssa_8, ssa_7.y vec1 32 ssa_11 = fadd ssa_9, ssa_7.w vec2 32 ssa_12 = intrinsic load_input (ssa_1) () (36, 0) /* base=36 */ /* component=0 */ /* src_inv_size */ vec1 32 ssa_13 = fmul ssa_10, ssa_12.x vec1 32 ssa_14 = fmul ssa_11, ssa_12.y vec1 32 ssa_15 = intrinsic load_input (ssa_1) () (36, 2) /* base=36 */ /* component=2 */ /* src_z */ vec3 32 ssa_16 = vec3 ssa_13, ssa_14, ssa_15 vec4 32 ssa_17 = tex ssa_16 (coord), ssa_1 (lod), 0 (texture) 0 (sampler) intrinsic store_output (ssa_17, ssa_1) () (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_0 */ block block_0: } NIR (final form) for fragment shader: shader: MESA_SHADER_FRAGMENT name: BLORP-blit inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 coord_transform (VARYING_SLOT_VAR3, 34, 0) decl_var shader_in INTERP_MODE_FLAT uint src_z (VARYING_SLOT_VAR5.z, 36, 0) decl_var shader_in INTERP_MODE_FLAT vec2 src_inv_size (VARYING_SLOT_VAR5.xy, 36, 0) decl_var shader_in INTERP_MODE_SMOOTH vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec2 32 ssa_0 = intrinsic load_barycentric_pixel () () (1) /* interp_mode=1 */ vec1 32 ssa_1 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_2 = intrinsic load_interpolated_input (ssa_0, ssa_1) () (0, 0) /* base=0 */ /* component=0 */ vec1 32 ssa_3 = f2i32 ssa_2.x vec1 32 ssa_4 = f2i32 ssa_2.y vec1 32 ssa_5 = i2f32 ssa_3 vec1 32 ssa_6 = i2f32 ssa_4 vec4 32 ssa_7 = intrinsic load_input (ssa_1) () (34, 0) /* base=34 */ /* component=0 */ /* coord_transform */ vec1 32 ssa_8 = fmul ssa_5, ssa_7.x vec1 32 ssa_9 = fmul ssa_6, ssa_7.z vec1 32 ssa_10 = fadd ssa_8, ssa_7.y vec1 32 ssa_11 = fadd ssa_9, ssa_7.w vec2 32 ssa_12 = intrinsic load_input (ssa_1) () (36, 0) /* base=36 */ /* component=0 */ /* src_inv_size */ vec1 32 ssa_13 = fmul ssa_10, ssa_12.x vec1 32 ssa_14 = fmul ssa_11, ssa_12.y vec1 32 ssa_15 = intrinsic load_input (ssa_1) () (36, 2) /* base=36 */ /* component=2 */ /* src_z */ vec3 32 ssa_16 = vec3 ssa_13, ssa_14, ssa_15 vec4 32 ssa_17 = tex ssa_16 (coord), ssa_1 (lod), 0 (texture) 0 (sampler) intrinsic store_output (ssa_17, ssa_1) () (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_0 */ block block_0: } Native code for unnamed fragment shader BLORP-blit SIMD16 shader: 28 instructions. 0 loops. 124 cycles. 0:0 spills:fills. Promoted 0 constants. Compacted 448 to 416 bytes (7%) START B0 (124 cycles) add(16) g4<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; mov(16) g16<1>F g6.3<0,1,0>F { align1 compr compacted }; nenop ; mov(16) g18<1>F g6.7<0,1,0>F { align1 compr }; mov(16) g20<1>F g7.3<0,1,0>F { align1 compr compacted }; nenop ; mov(16) g10<1>F g7.7<0,1,0>F { align1 compr }; mov(16) g22<1>F g8.3<0,1,0>F { align1 compr compacted }; nenop ; mov(16) g12<1>F g8.7<0,1,0>F { align1 compr }; mov(16) m6<1>F g9.3<0,1,0>F { align1 compr }; add(16) g6<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; mov(16) g8<1>F g4<8,8,1>UW { align1 compr }; mov(16) g14<1>F g6<8,8,1>UW { align1 compr }; mov(16) g4<1>D g8<8,8,1>F { align1 compr }; mov(16) g6<1>D g14<8,8,1>F { align1 compr }; mov(16) g8<1>F g4<8,8,1>D { align1 compr }; mov(16) g4<1>F g6<8,8,1>D { align1 compr }; mul(16) g6<1>F g8<8,8,1>F g16<8,8,1>F { align1 compr compacted }; mul(16) g8<1>F g4<8,8,1>F g20<8,8,1>F { align1 compr compacted }; add(16) g4<1>F g6<8,8,1>F g18<8,8,1>F { align1 compr compacted }; add(16) g6<1>F g8<8,8,1>F g10<8,8,1>F { align1 compr compacted }; mul(16) m2<1>F g4<8,8,1>F g22<8,8,1>F { align1 compr }; mul(16) m4<1>F g6<8,8,1>F g12<8,8,1>F { align1 compr }; send(16) 1 g4<1>UW g0<8,8,1>UW sampler (1, 0, 0, ) mlen 7 rlen 8 { align1 }; mov(16) m3<1>F g4<8,8,1>F { align1 compr4 }; mov(16) m4<1>F g6<8,8,1>F { align1 compr4 }; mov(16) m5<1>F g8<8,8,1>F { align1 compr4 }; mov(16) m6<1>F g10<8,8,1>F { align1 compr4 }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 10 rlen 0 { align1 EOT }; END B0 485861: message: shader compiler issue 2: FS SIMD16 shader: 28 inst, 0 loops, 124 cycles, 0:0 spills:fills, Promoted 0 constants, compacted 448 to 416 bytes. NIR for FS program 40 loaded from disk shader cache: shader: MESA_SHADER_FRAGMENT name: GLSL54 inputs: 0 outputs: 0 uniforms: 20 shared: 0 decl_var uniform INTERP_MODE_NONE sampler2D tex (1, 0, 0) decl_var uniform INTERP_MODE_NONE float trilinear_alpha (2, 0, 0) decl_var uniform INTERP_MODE_NONE vec4 gl_FbWposYTransform (0, 4, 0) decl_var shader_in INTERP_MODE_NONE vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_in INTERP_MODE_NONE vec4 vtx_base (VARYING_SLOT_VAR0, 0, 0) decl_var shader_in INTERP_MODE_NONE vec2 packed:vtx_uv (VARYING_SLOT_VAR1.xy, 0, 0) decl_var shader_out INTERP_MODE_NONE float gl_FragDepth (FRAG_RESULT_DEPTH.x, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_1 = load_const (0x47c35000 /* 100000.000000 */) vec2 32 ssa_2 = intrinsic load_var () (packed:vtx_uv) () vec4 32 ssa_3 = intrinsic load_var () (vtx_base) () vec4 32 ssa_4 = tex ssa_2 (coord), 0 (texture) 0 (sampler) vec1 32 ssa_5 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_6 = intrinsic load_uniform (ssa_5) () (0, 4) /* base=0 */ /* range=4 */ /* tex */ vec1 32 ssa_7 = fmul ssa_3.x, ssa_6 vec1 32 ssa_8 = fmul ssa_3.y, ssa_6 vec1 32 ssa_9 = fmul ssa_3.z, ssa_6 vec1 32 ssa_10 = fmul ssa_7, ssa_4.x vec1 32 ssa_11 = fmul ssa_8, ssa_4.y vec1 32 ssa_12 = fmul ssa_9, ssa_4.z vec1 32 ssa_13 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_14 = intrinsic load_uniform (ssa_13) () (4, 16) /* base=4 */ /* range=16 */ /* gl_FbWposYTransform */ vec4 32 ssa_15 = intrinsic load_var () (gl_FragCoord) () vec4 32 ssa_16 = load_const (0x3f000000 /* 0.500000 */, 0x3f000000 /* 0.500000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */) vec4 32 ssa_17 = fadd ssa_15, ssa_16 vec1 32 ssa_18 = imov ssa_14.y vec1 32 ssa_19 = imov ssa_14.x vec1 32 ssa_20 = imov ssa_17.y vec1 32 ssa_21 = fmul ssa_20, ssa_19 vec1 32 ssa_22 = fadd ssa_21, ssa_18 vec1 32 ssa_23 = imov ssa_17.w vec1 32 ssa_24 = imov ssa_17.z vec1 32 ssa_25 = imov ssa_17.x vec4 32 ssa_26 = vec4 ssa_25, ssa_22, ssa_24, ssa_23 vec4 32 ssa_27 = intrinsic load_var () (gl_FragCoord) () vec1 32 ssa_28 = fmul ssa_26.w, ssa_1 vec1 32 ssa_29 = fadd ssa_0, ssa_28 vec1 32 ssa_30 = flog2 ssa_29 vec1 32 ssa_31 = load_const (0x3cf0f0f1 /* 0.029412 */) vec1 32 ssa_32 = fmul ssa_30, ssa_31 intrinsic store_var (ssa_32) (gl_FragDepth) (1) /* wrmask=x */ vec4 32 ssa_33 = vec4 ssa_10, ssa_11, ssa_12, ssa_6 intrinsic store_var (ssa_33) (gl_FragColor) (15) /* wrmask=xyzw */ /* succs: block_0 */ block block_0: } Native code for unnamed fragment shader GLSL54 from disk cache: add(16) g18<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; mov(16) m7<1>F g7<0,1,0>F { align1 compr4 }; mov(16) m14<1>F g5<8,8,1>F { align1 compr }; add(16) g20<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; add(8) g14<1>F g18<8,8,1>UW -g1<0,1,0>F { align1 }; add(8) g15<1>F g20<8,8,1>UW -g1.1<0,1,0>F { align1 }; add(8) g16<1>F g18.8<8,8,1>UW -g1<0,1,0>F { align1 sechalf }; add(8) g17<1>F g20.8<8,8,1>UW -g1.1<0,1,0>F { align1 sechalf }; pln(16) g18<1>F g9.4<0,1,0>F g14<8,8,1>F { align1 compr compacted }; nenop ; send(16) 2 g8<1>F g18<8,8,1>F math inv mlen 1 rlen 1 { align1 compr }; pln(16) g20<1>F g12<0,1,0>F g14<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m2<1>F g20<8,8,1>F g8<8,8,1>F { align1 compr }; pln(16) g20<1>F g12.4<0,1,0>F g14<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m4<1>F g20<8,8,1>F g8<8,8,1>F { align1 compr }; pln(16) g12<1>F g10<0,1,0>F g14<8,8,1>F { align1 compr compacted }; nenop ; send(16) 1 g20<1>UW g0<8,8,1>UW sampler (1, 0, 0, ) mlen 5 rlen 8 { align1 }; mul(16) g28<1>F g12<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g12<1>F g10.4<0,1,0>F g14<8,8,1>F { align1 compr compacted }; mul(16) g30<1>F g12<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g12<1>F g11<0,1,0>F g14<8,8,1>F { align1 compr compacted }; mul(16) g14<1>F g12<8,8,1>F g8<8,8,1>F { align1 compr compacted }; mul(16) g8<1>F g28<8,8,1>F g7<0,1,0>F { align1 compr compacted }; mul(16) g10<1>F g30<8,8,1>F g7<0,1,0>F { align1 compr compacted }; mul(16) g12<1>F g14<8,8,1>F g7<0,1,0>F { align1 compr compacted }; mul(16) m4<1>F g8<8,8,1>F g20<8,8,1>F { align1 compr4 }; mul(16) m5<1>F g10<8,8,1>F g22<8,8,1>F { align1 compr4 }; mul(16) m6<1>F g12<8,8,1>F g24<8,8,1>F { align1 compr4 }; mul(16) g6<1>F g18<8,8,1>F 100000F { align1 compr }; add(16) g8<1>F g6<8,8,1>F 1F { align1 compr }; send(16) 2 g6<1>F g8<8,8,1>F math log mlen 1 rlen 1 { align1 compr }; mul(16) m12<1>F g6<8,8,1>F 0.0294118F { align1 compr }; mov(8) m3<1>F g4<8,8,1>F { align1 nomask }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 15 rlen 0 { align1 EOT }; NIR for FS program 22 loaded from disk shader cache: shader: MESA_SHADER_FRAGMENT name: GLSL30 inputs: 0 outputs: 0 uniforms: 20 shared: 0 decl_var uniform INTERP_MODE_NONE float sp_ShaderColor (1, 0, 0) decl_var uniform INTERP_MODE_NONE vec4 gl_FbWposYTransform (0, 4, 0) decl_var shader_in INTERP_MODE_NONE vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE float gl_FragDepth (FRAG_RESULT_DEPTH.x, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_1 = load_const (0x47c35000 /* 100000.000000 */) vec1 32 ssa_2 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_3 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_4 = intrinsic load_uniform (ssa_3) () (4, 16) /* base=4 */ /* range=16 */ /* gl_FbWposYTransform */ vec4 32 ssa_5 = intrinsic load_var () (gl_FragCoord) () vec4 32 ssa_6 = load_const (0x3f000000 /* 0.500000 */, 0x3f000000 /* 0.500000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */) vec4 32 ssa_7 = fadd ssa_5, ssa_6 vec1 32 ssa_8 = imov ssa_4.y vec1 32 ssa_9 = imov ssa_4.x vec1 32 ssa_10 = imov ssa_7.y vec1 32 ssa_11 = fmul ssa_10, ssa_9 vec1 32 ssa_12 = fadd ssa_11, ssa_8 vec1 32 ssa_13 = imov ssa_7.w vec1 32 ssa_14 = imov ssa_7.z vec1 32 ssa_15 = imov ssa_7.x vec4 32 ssa_16 = vec4 ssa_15, ssa_12, ssa_14, ssa_13 vec4 32 ssa_17 = intrinsic load_var () (gl_FragCoord) () vec1 32 ssa_18 = fmul ssa_16.w, ssa_1 vec1 32 ssa_19 = fadd ssa_0, ssa_18 vec1 32 ssa_20 = flog2 ssa_19 vec1 32 ssa_21 = load_const (0x3cf0f0f0 /* 0.029412 */) vec1 32 ssa_22 = fmul ssa_20, ssa_21 vec1 32 ssa_23 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_24 = intrinsic load_uniform (ssa_23) () (0, 4) /* base=0 */ /* range=4 */ /* sp_ShaderColor */ intrinsic store_var (ssa_22) (gl_FragDepth) (1) /* wrmask=x */ vec4 32 ssa_25 = vec4 ssa_2, ssa_2, ssa_2, ssa_24 intrinsic store_var (ssa_25) (gl_FragColor) (15) /* wrmask=xyzw */ /* succs: block_0 */ block block_0: } Native code for unnamed fragment shader GLSL30 from disk cache: add(16) g14<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; mov(16) m4<1>F 0F { align1 compr4 }; mov(16) m5<1>F 0F { align1 compr4 }; mov(16) m6<1>F 0F { align1 compr4 }; mov(16) m7<1>F g7<0,1,0>F { align1 compr4 }; mov(16) m14<1>F g5<8,8,1>F { align1 compr }; add(16) g6<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; add(8) g10<1>F g14<8,8,1>UW -g1<0,1,0>F { align1 }; add(8) g11<1>F g6<8,8,1>UW -g1.1<0,1,0>F { align1 }; add(8) g12<1>F g14.8<8,8,1>UW -g1<0,1,0>F { align1 sechalf }; add(8) g13<1>F g6.8<8,8,1>UW -g1.1<0,1,0>F { align1 sechalf }; pln(16) g6<1>F g9.4<0,1,0>F g10<8,8,1>F { align1 compr compacted }; nenop ; mul(16) g8<1>F g6<8,8,1>F 100000F { align1 compr }; add(16) g6<1>F g8<8,8,1>F 1F { align1 compr }; send(16) 2 g8<1>F g6<8,8,1>F math log mlen 1 rlen 1 { align1 compr }; mul(16) m12<1>F g8<8,8,1>F 0.0294118F { align1 compr }; mov(8) m3<1>F g4<8,8,1>F { align1 nomask }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 15 rlen 0 { align1 EOT }; NIR for FS program 42 loaded from disk shader cache: shader: MESA_SHADER_FRAGMENT name: GLSL57 inputs: 0 outputs: 0 uniforms: 36 shared: 0 decl_var uniform INTERP_MODE_NONE vec3 sp_FOG_COL_RAM (1, 0, 0) decl_var uniform INTERP_MODE_NONE float sp_FOG_DENSITY (2, 12, 0) decl_var uniform INTERP_MODE_NONE sampler2D tex (3, 16, 0) decl_var uniform INTERP_MODE_NONE sampler2D fog_table (4, 16, 0) decl_var uniform INTERP_MODE_NONE float trilinear_alpha (5, 16, 0) decl_var uniform INTERP_MODE_NONE vec4 gl_FbWposYTransform (0, 20, 0) decl_var shader_in INTERP_MODE_NONE vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_in INTERP_MODE_NONE vec4 vtx_base (VARYING_SLOT_VAR0, 0, 0) decl_var shader_in INTERP_MODE_NONE vec2 packed:vtx_uv (VARYING_SLOT_VAR1.xy, 0, 0) decl_var shader_out INTERP_MODE_NONE float gl_FragDepth (FRAG_RESULT_DEPTH.x, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_1 = load_const (0x437ffff9 /* 255.999893 */) vec1 32 ssa_2 = load_const (0x41800000 /* 16.000000 */) vec1 32 ssa_3 = load_const (0xc1800000 /* -16.000000 */) vec1 32 ssa_4 = load_const (0x3f000000 /* 0.500000 */) vec1 32 ssa_5 = load_const (0x3f400000 /* 0.750000 */) vec1 32 ssa_6 = load_const (0x47c35000 /* 100000.000000 */) vec2 32 ssa_7 = intrinsic load_var () (packed:vtx_uv) () vec4 32 ssa_8 = intrinsic load_var () (vtx_base) () vec4 32 ssa_9 = tex ssa_7 (coord), 0 (texture) 0 (sampler) vec1 32 ssa_10 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_11 = intrinsic load_uniform (ssa_10) () (16, 4) /* base=16 */ /* range=4 */ /* tex */ vec1 32 ssa_12 = fmul ssa_8.x, ssa_11 vec1 32 ssa_13 = fmul ssa_8.y, ssa_11 vec1 32 ssa_14 = fmul ssa_8.z, ssa_11 vec1 32 ssa_15 = fmul ssa_12, ssa_9.x vec1 32 ssa_16 = fmul ssa_13, ssa_9.y vec1 32 ssa_17 = fmul ssa_14, ssa_9.z vec1 32 ssa_18 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_19 = intrinsic load_uniform (ssa_18) () (20, 16) /* base=20 */ /* range=16 */ /* gl_FbWposYTransform */ vec4 32 ssa_20 = intrinsic load_var () (gl_FragCoord) () vec4 32 ssa_21 = load_const (0x3f000000 /* 0.500000 */, 0x3f000000 /* 0.500000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */) vec4 32 ssa_22 = fadd ssa_20, ssa_21 vec1 32 ssa_23 = imov ssa_19.y vec1 32 ssa_24 = imov ssa_19.x vec1 32 ssa_25 = imov ssa_22.y vec1 32 ssa_26 = fmul ssa_25, ssa_24 vec1 32 ssa_27 = fadd ssa_26, ssa_23 vec1 32 ssa_28 = imov ssa_22.w vec1 32 ssa_29 = imov ssa_22.z vec1 32 ssa_30 = imov ssa_22.x vec4 32 ssa_31 = vec4 ssa_30, ssa_27, ssa_29, ssa_28 vec4 32 ssa_32 = intrinsic load_var () (gl_FragCoord) () vec1 32 ssa_33 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_34 = intrinsic load_uniform (ssa_33) () (12, 4) /* base=12 */ /* range=4 */ /* sp_FOG_DENSITY */ vec1 32 ssa_35 = fmul ssa_31.w, ssa_34 vec1 32 ssa_36 = fmax ssa_35, ssa_0 vec1 32 ssa_37 = fmin ssa_36, ssa_1 vec1 32 ssa_38 = flog2 ssa_37 vec1 32 ssa_39 = ffloor ssa_38 vec1 32 ssa_40 = fmul ssa_37, ssa_2 vec1 32 ssa_41 = fneg ssa_39 vec1 32 ssa_42 = fexp2 ssa_41 vec1 32 ssa_43 = fmul ssa_40, ssa_42 vec1 32 ssa_44 = fadd ssa_43, ssa_3 vec1 32 ssa_45 = ffloor ssa_44 vec1 32 ssa_46 = fmul ssa_39, ssa_2 vec1 32 ssa_47 = fadd ssa_45, ssa_4 vec1 32 ssa_48 = fadd ssa_47, ssa_46 vec1 32 ssa_49 = load_const (0x3c000000 /* 0.007812 */) vec1 32 ssa_50 = fmul ssa_48, ssa_49 vec1 32 ssa_51 = fneg ssa_45 vec1 32 ssa_52 = fadd ssa_44, ssa_51 vec1 32 ssa_53 = fmul ssa_52, ssa_4 vec1 32 ssa_54 = fneg ssa_53 vec1 32 ssa_55 = fadd ssa_5, ssa_54 vec1 32 ssa_56 = load_const (0x00000000 /* 0.000000 */) vec3 32 ssa_57 = intrinsic load_uniform (ssa_56) () (0, 12) /* base=0 */ /* range=12 */ /* sp_FOG_COL_RAM */ vec2 32 ssa_58 = vec2 ssa_50, ssa_55 vec4 32 ssa_59 = tex ssa_58 (coord), 1 (texture) 1 (sampler) vec1 32 ssa_60 = flrp ssa_15, ssa_57.x, ssa_59.w vec1 32 ssa_61 = flrp ssa_16, ssa_57.y, ssa_59.w vec1 32 ssa_62 = flrp ssa_17, ssa_57.z, ssa_59.w vec1 32 ssa_63 = fmul ssa_31.w, ssa_6 vec1 32 ssa_64 = fadd ssa_0, ssa_63 vec1 32 ssa_65 = flog2 ssa_64 vec1 32 ssa_66 = load_const (0x3cf0f0f1 /* 0.029412 */) vec1 32 ssa_67 = fmul ssa_65, ssa_66 intrinsic store_var (ssa_67) (gl_FragDepth) (1) /* wrmask=x */ vec4 32 ssa_68 = vec4 ssa_60, ssa_61, ssa_62, ssa_11 intrinsic store_var (ssa_68) (gl_FragColor) (15) /* wrmask=xyzw */ /* succs: block_0 */ block block_0: } Native code for unnamed fragment shader GLSL57 from disk cache: add(16) g18<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; mov(16) m7<1>F g7.4<0,1,0>F { align1 compr4 }; mov(16) m14<1>F g5<8,8,1>F { align1 compr }; add(16) g20<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; add(8) g14<1>F g18<8,8,1>UW -g1<0,1,0>F { align1 }; add(8) g15<1>F g20<8,8,1>UW -g1.1<0,1,0>F { align1 }; add(8) g16<1>F g18.8<8,8,1>UW -g1<0,1,0>F { align1 sechalf }; add(8) g17<1>F g20.8<8,8,1>UW -g1.1<0,1,0>F { align1 sechalf }; pln(16) g18<1>F g9.4<0,1,0>F g14<8,8,1>F { align1 compr compacted }; nenop ; send(16) 2 g8<1>F g18<8,8,1>F math inv mlen 1 rlen 1 { align1 compr }; pln(16) g20<1>F g12<0,1,0>F g14<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m2<1>F g20<8,8,1>F g8<8,8,1>F { align1 compr }; pln(16) g20<1>F g12.4<0,1,0>F g14<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m4<1>F g20<8,8,1>F g8<8,8,1>F { align1 compr }; pln(16) g12<1>F g10<0,1,0>F g14<8,8,1>F { align1 compr compacted }; nenop ; send(16) 1 g20<1>UW g0<8,8,1>UW sampler (1, 0, 0, ) mlen 5 rlen 8 { align1 }; mul(16) g28<1>F g12<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g12<1>F g10.4<0,1,0>F g14<8,8,1>F { align1 compr compacted }; mul(16) g30<1>F g12<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g12<1>F g11<0,1,0>F g14<8,8,1>F { align1 compr compacted }; mul(16) g14<1>F g12<8,8,1>F g8<8,8,1>F { align1 compr compacted }; mul(16) g8<1>F g28<8,8,1>F g7.4<0,1,0>F { align1 compr compacted }; mul(16) g10<1>F g30<8,8,1>F g7.4<0,1,0>F { align1 compr compacted }; mul(16) g12<1>F g14<8,8,1>F g7.4<0,1,0>F { align1 compr compacted }; mul(16) g14<1>F g8<8,8,1>F g20<8,8,1>F { align1 compr compacted }; mul(16) g8<1>F g10<8,8,1>F g22<8,8,1>F { align1 compr compacted }; mul(16) g10<1>F g12<8,8,1>F g24<8,8,1>F { align1 compr compacted }; mul(16) g12<1>F g18<8,8,1>F g7.3<0,1,0>F { align1 compr compacted }; cmp.ge.f0(16) null<1>F g12<8,8,1>F 1F { align1 compr }; (+f0) sel(16) g16<1>F g12<8,8,1>F 1F { align1 compr }; cmp.l.f0(16) null<1>F g16<8,8,1>F 256F { align1 compr }; (+f0) sel(16) g12<1>F g16<8,8,1>F 256F { align1 compr }; send(16) 2 g16<1>F g12<8,8,1>F math log mlen 1 rlen 1 { align1 compr }; rndd(16) g20<1>F g16<8,8,1>F { align1 compr compacted }; nenop ; send(16) 2 g16<1>F -g20<8,8,1>F math exp mlen 1 rlen 1 { align1 compr }; mul(16) g22<1>F g12<8,8,1>F 16F { align1 compr }; mul(16) g12<1>F g22<8,8,1>F g16<8,8,1>F { align1 compr compacted }; nenop ; add(16) g16<1>F g12<8,8,1>F -16F { align1 compr }; rndd(16) g12<1>F g16<8,8,1>F { align1 compr compacted }; nenop ; mul(16) g22<1>F g20<8,8,1>F 16F { align1 compr }; add(16) g20<1>F g12<8,8,1>F 0.5F { align1 compr }; add(16) g24<1>F g20<8,8,1>F g22<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m2<1>F g24<8,8,1>F 0.0078125F { align1 compr }; add(16) g20<1>F g16<8,8,1>F -g12<8,8,1>F { align1 compr compacted }; nenop ; mul(16) g12<1>F g20<8,8,1>F 0.5F { align1 compr }; add(16) m4<1>F -g12<8,8,1>F 0.75F { align1 compr }; send(16) 1 g20<1>UW g0<8,8,1>UW sampler (2, 1, 0, ) mlen 5 rlen 8 { align1 }; mul(16) g12<1>F g7<0,1,0>F g26<8,8,1>F { align1 compr compacted }; nenop ; add(16) g28<1>F -g26<8,8,1>F 1F { align1 compr }; mul(16) g16<1>F g14<8,8,1>F g28<8,8,1>F { align1 compr compacted }; nenop ; add(16) m4<1>F g16<8,8,1>F g12<8,8,1>F { align1 compr4 }; mul(16) g12<1>F g7.1<0,1,0>F g26<8,8,1>F { align1 compr compacted }; mul(16) g14<1>F g8<8,8,1>F g28<8,8,1>F { align1 compr compacted }; add(16) m5<1>F g14<8,8,1>F g12<8,8,1>F { align1 compr4 }; mul(16) g8<1>F g7.2<0,1,0>F g26<8,8,1>F { align1 compr compacted }; mul(16) g6<1>F g10<8,8,1>F g28<8,8,1>F { align1 compr compacted }; add(16) m6<1>F g6<8,8,1>F g8<8,8,1>F { align1 compr4 }; mul(16) g6<1>F g18<8,8,1>F 100000F { align1 compr }; add(16) g8<1>F g6<8,8,1>F 1F { align1 compr }; send(16) 2 g6<1>F g8<8,8,1>F math log mlen 1 rlen 1 { align1 compr }; mul(16) m12<1>F g6<8,8,1>F 0.0294118F { align1 compr }; mov(8) m3<1>F g4<8,8,1>F { align1 nomask }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 15 rlen 0 { align1 EOT }; NIR for FS program 44 loaded from disk shader cache: shader: MESA_SHADER_FRAGMENT name: GLSL60 inputs: 0 outputs: 0 uniforms: 36 shared: 0 decl_var uniform INTERP_MODE_NONE vec3 sp_FOG_COL_RAM (1, 0, 0) decl_var uniform INTERP_MODE_NONE float sp_FOG_DENSITY (2, 12, 0) decl_var uniform INTERP_MODE_NONE sampler2D tex (3, 16, 0) decl_var uniform INTERP_MODE_NONE sampler2D fog_table (4, 16, 0) decl_var uniform INTERP_MODE_NONE float trilinear_alpha (5, 16, 0) decl_var uniform INTERP_MODE_NONE vec4 gl_FbWposYTransform (0, 20, 0) decl_var shader_in INTERP_MODE_NONE vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_in INTERP_MODE_NONE vec4 vtx_base (VARYING_SLOT_VAR0, 0, 0) decl_var shader_in INTERP_MODE_NONE vec2 packed:vtx_uv (VARYING_SLOT_VAR1.xy, 0, 0) decl_var shader_out INTERP_MODE_NONE float gl_FragDepth (FRAG_RESULT_DEPTH.x, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_1 = load_const (0x437ffff9 /* 255.999893 */) vec1 32 ssa_2 = load_const (0x41800000 /* 16.000000 */) vec1 32 ssa_3 = load_const (0xc1800000 /* -16.000000 */) vec1 32 ssa_4 = load_const (0x3f000000 /* 0.500000 */) vec1 32 ssa_5 = load_const (0x3f400000 /* 0.750000 */) vec1 32 ssa_6 = load_const (0x47c35000 /* 100000.000000 */) vec2 32 ssa_7 = intrinsic load_var () (packed:vtx_uv) () vec4 32 ssa_8 = intrinsic load_var () (vtx_base) () vec1 32 ssa_9 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_10 = intrinsic load_uniform (ssa_9) () (16, 4) /* base=16 */ /* range=4 */ /* tex */ vec1 32 ssa_11 = fmul ssa_8.x, ssa_10 vec1 32 ssa_12 = fmul ssa_8.y, ssa_10 vec1 32 ssa_13 = fmul ssa_8.z, ssa_10 vec1 32 ssa_14 = fmul ssa_8.w, ssa_10 vec4 32 ssa_15 = tex ssa_7 (coord), 0 (texture) 0 (sampler) vec1 32 ssa_16 = fmul ssa_11, ssa_15.x vec1 32 ssa_17 = fmul ssa_12, ssa_15.y vec1 32 ssa_18 = fmul ssa_13, ssa_15.z vec1 32 ssa_19 = fmul ssa_14, ssa_15.w vec1 32 ssa_20 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_21 = intrinsic load_uniform (ssa_20) () (20, 16) /* base=20 */ /* range=16 */ /* gl_FbWposYTransform */ vec4 32 ssa_22 = intrinsic load_var () (gl_FragCoord) () vec4 32 ssa_23 = load_const (0x3f000000 /* 0.500000 */, 0x3f000000 /* 0.500000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */) vec4 32 ssa_24 = fadd ssa_22, ssa_23 vec1 32 ssa_25 = imov ssa_21.y vec1 32 ssa_26 = imov ssa_21.x vec1 32 ssa_27 = imov ssa_24.y vec1 32 ssa_28 = fmul ssa_27, ssa_26 vec1 32 ssa_29 = fadd ssa_28, ssa_25 vec1 32 ssa_30 = imov ssa_24.w vec1 32 ssa_31 = imov ssa_24.z vec1 32 ssa_32 = imov ssa_24.x vec4 32 ssa_33 = vec4 ssa_32, ssa_29, ssa_31, ssa_30 vec4 32 ssa_34 = intrinsic load_var () (gl_FragCoord) () vec1 32 ssa_35 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_36 = intrinsic load_uniform (ssa_35) () (12, 4) /* base=12 */ /* range=4 */ /* sp_FOG_DENSITY */ vec1 32 ssa_37 = fmul ssa_33.w, ssa_36 vec1 32 ssa_38 = fmax ssa_37, ssa_0 vec1 32 ssa_39 = fmin ssa_38, ssa_1 vec1 32 ssa_40 = flog2 ssa_39 vec1 32 ssa_41 = ffloor ssa_40 vec1 32 ssa_42 = fmul ssa_39, ssa_2 vec1 32 ssa_43 = fneg ssa_41 vec1 32 ssa_44 = fexp2 ssa_43 vec1 32 ssa_45 = fmul ssa_42, ssa_44 vec1 32 ssa_46 = fadd ssa_45, ssa_3 vec1 32 ssa_47 = ffloor ssa_46 vec1 32 ssa_48 = fmul ssa_41, ssa_2 vec1 32 ssa_49 = fadd ssa_47, ssa_4 vec1 32 ssa_50 = fadd ssa_49, ssa_48 vec1 32 ssa_51 = load_const (0x3c000000 /* 0.007812 */) vec1 32 ssa_52 = fmul ssa_50, ssa_51 vec1 32 ssa_53 = fneg ssa_47 vec1 32 ssa_54 = fadd ssa_46, ssa_53 vec1 32 ssa_55 = fmul ssa_54, ssa_4 vec1 32 ssa_56 = fneg ssa_55 vec1 32 ssa_57 = fadd ssa_5, ssa_56 vec1 32 ssa_58 = load_const (0x00000000 /* 0.000000 */) vec3 32 ssa_59 = intrinsic load_uniform (ssa_58) () (0, 12) /* base=0 */ /* range=12 */ /* sp_FOG_COL_RAM */ vec2 32 ssa_60 = vec2 ssa_52, ssa_57 vec4 32 ssa_61 = tex ssa_60 (coord), 1 (texture) 1 (sampler) vec1 32 ssa_62 = flrp ssa_16, ssa_59.x, ssa_61.w vec1 32 ssa_63 = flrp ssa_17, ssa_59.y, ssa_61.w vec1 32 ssa_64 = flrp ssa_18, ssa_59.z, ssa_61.w vec1 32 ssa_65 = fmul ssa_33.w, ssa_6 vec1 32 ssa_66 = fadd ssa_0, ssa_65 vec1 32 ssa_67 = flog2 ssa_66 vec1 32 ssa_68 = load_const (0x3cf0f0f1 /* 0.029412 */) vec1 32 ssa_69 = fmul ssa_67, ssa_68 intrinsic store_var (ssa_69) (gl_FragDepth) (1) /* wrmask=x */ vec4 32 ssa_70 = vec4 ssa_62, ssa_63, ssa_64, ssa_19 intrinsic store_var (ssa_70) (gl_FragColor) (15) /* wrmask=xyzw */ /* succs: block_0 */ block block_0: } Native code for unnamed fragment shader GLSL60 from disk cache: add(16) g14<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; mov(16) m14<1>F g5<8,8,1>F { align1 compr }; add(16) g16<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; add(8) g20<1>F g14<8,8,1>UW -g1<0,1,0>F { align1 }; add(8) g21<1>F g16<8,8,1>UW -g1.1<0,1,0>F { align1 }; add(8) g22<1>F g14.8<8,8,1>UW -g1<0,1,0>F { align1 sechalf }; add(8) g23<1>F g16.8<8,8,1>UW -g1.1<0,1,0>F { align1 sechalf }; pln(16) g24<1>F g9.4<0,1,0>F g20<8,8,1>F { align1 compr compacted }; nenop ; send(16) 2 g8<1>F g24<8,8,1>F math inv mlen 1 rlen 1 { align1 compr }; pln(16) g14<1>F g12<0,1,0>F g20<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m2<1>F g14<8,8,1>F g8<8,8,1>F { align1 compr }; pln(16) g14<1>F g12.4<0,1,0>F g20<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m4<1>F g14<8,8,1>F g8<8,8,1>F { align1 compr }; pln(16) g26<1>F g10<0,1,0>F g20<8,8,1>F { align1 compr compacted }; nenop ; send(16) 1 g12<1>UW g0<8,8,1>UW sampler (1, 0, 0, ) mlen 5 rlen 8 { align1 }; mul(16) g28<1>F g26<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g26<1>F g10.4<0,1,0>F g20<8,8,1>F { align1 compr compacted }; mul(16) g30<1>F g26<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g26<1>F g11<0,1,0>F g20<8,8,1>F { align1 compr compacted }; mul(16) g32<1>F g26<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g26<1>F g11.4<0,1,0>F g20<8,8,1>F { align1 compr compacted }; mul(16) g10<1>F g26<8,8,1>F g8<8,8,1>F { align1 compr compacted }; mul(16) g8<1>F g28<8,8,1>F g7.4<0,1,0>F { align1 compr compacted }; mul(16) g20<1>F g30<8,8,1>F g7.4<0,1,0>F { align1 compr compacted }; mul(16) g22<1>F g32<8,8,1>F g7.4<0,1,0>F { align1 compr compacted }; mul(16) g26<1>F g10<8,8,1>F g7.4<0,1,0>F { align1 compr compacted }; mul(16) g10<1>F g8<8,8,1>F g12<8,8,1>F { align1 compr compacted }; mul(16) g8<1>F g20<8,8,1>F g14<8,8,1>F { align1 compr compacted }; mul(16) g20<1>F g22<8,8,1>F g16<8,8,1>F { align1 compr compacted }; mul(16) m7<1>F g26<8,8,1>F g18<8,8,1>F { align1 compr4 }; mul(16) g12<1>F g24<8,8,1>F g7.3<0,1,0>F { align1 compr compacted }; nenop ; cmp.ge.f0(16) null<1>F g12<8,8,1>F 1F { align1 compr }; (+f0) sel(16) g14<1>F g12<8,8,1>F 1F { align1 compr }; cmp.l.f0(16) null<1>F g14<8,8,1>F 256F { align1 compr }; (+f0) sel(16) g12<1>F g14<8,8,1>F 256F { align1 compr }; send(16) 2 g14<1>F g12<8,8,1>F math log mlen 1 rlen 1 { align1 compr }; rndd(16) g16<1>F g14<8,8,1>F { align1 compr compacted }; nenop ; send(16) 2 g14<1>F -g16<8,8,1>F math exp mlen 1 rlen 1 { align1 compr }; mul(16) g18<1>F g12<8,8,1>F 16F { align1 compr }; mul(16) g12<1>F g18<8,8,1>F g14<8,8,1>F { align1 compr compacted }; nenop ; add(16) g14<1>F g12<8,8,1>F -16F { align1 compr }; rndd(16) g12<1>F g14<8,8,1>F { align1 compr compacted }; nenop ; mul(16) g18<1>F g16<8,8,1>F 16F { align1 compr }; add(16) g16<1>F g12<8,8,1>F 0.5F { align1 compr }; add(16) g22<1>F g16<8,8,1>F g18<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m2<1>F g22<8,8,1>F 0.0078125F { align1 compr }; add(16) g16<1>F g14<8,8,1>F -g12<8,8,1>F { align1 compr compacted }; nenop ; mul(16) g12<1>F g16<8,8,1>F 0.5F { align1 compr }; add(16) m4<1>F -g12<8,8,1>F 0.75F { align1 compr }; send(16) 1 g12<1>UW g0<8,8,1>UW sampler (2, 1, 0, ) mlen 5 rlen 8 { align1 }; mul(16) g22<1>F g7<0,1,0>F g18<8,8,1>F { align1 compr compacted }; nenop ; add(16) g28<1>F -g18<8,8,1>F 1F { align1 compr }; mul(16) g26<1>F g10<8,8,1>F g28<8,8,1>F { align1 compr compacted }; nenop ; add(16) m4<1>F g26<8,8,1>F g22<8,8,1>F { align1 compr4 }; mul(16) g10<1>F g7.1<0,1,0>F g18<8,8,1>F { align1 compr compacted }; mul(16) g22<1>F g8<8,8,1>F g28<8,8,1>F { align1 compr compacted }; add(16) m5<1>F g22<8,8,1>F g10<8,8,1>F { align1 compr4 }; mul(16) g8<1>F g7.2<0,1,0>F g18<8,8,1>F { align1 compr compacted }; mul(16) g6<1>F g20<8,8,1>F g28<8,8,1>F { align1 compr compacted }; add(16) m6<1>F g6<8,8,1>F g8<8,8,1>F { align1 compr4 }; mul(16) g6<1>F g24<8,8,1>F 100000F { align1 compr }; add(16) g8<1>F g6<8,8,1>F 1F { align1 compr }; send(16) 2 g6<1>F g8<8,8,1>F math log mlen 1 rlen 1 { align1 compr }; mul(16) m12<1>F g6<8,8,1>F 0.0294118F { align1 compr }; mov(8) m3<1>F g4<8,8,1>F { align1 nomask }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 15 rlen 0 { align1 EOT }; NIR for FS program 46 loaded from disk shader cache: shader: MESA_SHADER_FRAGMENT name: GLSL63 inputs: 0 outputs: 0 uniforms: 32 shared: 0 decl_var uniform INTERP_MODE_NONE vec3 sp_FOG_COL_RAM (1, 0, 0) decl_var uniform INTERP_MODE_NONE float sp_FOG_DENSITY (2, 12, 0) decl_var uniform INTERP_MODE_NONE sampler2D fog_table (3, 16, 0) decl_var uniform INTERP_MODE_NONE vec4 gl_FbWposYTransform (0, 16, 0) decl_var shader_in INTERP_MODE_NONE vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_in INTERP_MODE_NONE vec4 vtx_base (VARYING_SLOT_VAR0, 0, 0) decl_var shader_out INTERP_MODE_NONE float gl_FragDepth (FRAG_RESULT_DEPTH.x, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_1 = load_const (0x437ffff9 /* 255.999893 */) vec1 32 ssa_2 = load_const (0x41800000 /* 16.000000 */) vec1 32 ssa_3 = load_const (0xc1800000 /* -16.000000 */) vec1 32 ssa_4 = load_const (0x3f000000 /* 0.500000 */) vec1 32 ssa_5 = load_const (0x3f400000 /* 0.750000 */) vec1 32 ssa_6 = load_const (0x47c35000 /* 100000.000000 */) vec4 32 ssa_7 = intrinsic load_var () (vtx_base) () vec1 32 ssa_8 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_9 = intrinsic load_uniform (ssa_8) () (16, 16) /* base=16 */ /* range=16 */ /* fog_table */ vec4 32 ssa_10 = intrinsic load_var () (gl_FragCoord) () vec4 32 ssa_11 = load_const (0x3f000000 /* 0.500000 */, 0x3f000000 /* 0.500000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */) vec4 32 ssa_12 = fadd ssa_10, ssa_11 vec1 32 ssa_13 = imov ssa_9.y vec1 32 ssa_14 = imov ssa_9.x vec1 32 ssa_15 = imov ssa_12.y vec1 32 ssa_16 = fmul ssa_15, ssa_14 vec1 32 ssa_17 = fadd ssa_16, ssa_13 vec1 32 ssa_18 = imov ssa_12.w vec1 32 ssa_19 = imov ssa_12.z vec1 32 ssa_20 = imov ssa_12.x vec4 32 ssa_21 = vec4 ssa_20, ssa_17, ssa_19, ssa_18 vec4 32 ssa_22 = intrinsic load_var () (gl_FragCoord) () vec1 32 ssa_23 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_24 = intrinsic load_uniform (ssa_23) () (12, 4) /* base=12 */ /* range=4 */ /* sp_FOG_DENSITY */ vec1 32 ssa_25 = fmul ssa_21.w, ssa_24 vec1 32 ssa_26 = fmax ssa_25, ssa_0 vec1 32 ssa_27 = fmin ssa_26, ssa_1 vec1 32 ssa_28 = flog2 ssa_27 vec1 32 ssa_29 = ffloor ssa_28 vec1 32 ssa_30 = fmul ssa_27, ssa_2 vec1 32 ssa_31 = fneg ssa_29 vec1 32 ssa_32 = fexp2 ssa_31 vec1 32 ssa_33 = fmul ssa_30, ssa_32 vec1 32 ssa_34 = fadd ssa_33, ssa_3 vec1 32 ssa_35 = ffloor ssa_34 vec1 32 ssa_36 = fmul ssa_29, ssa_2 vec1 32 ssa_37 = fadd ssa_35, ssa_4 vec1 32 ssa_38 = fadd ssa_37, ssa_36 vec1 32 ssa_39 = load_const (0x3c000000 /* 0.007812 */) vec1 32 ssa_40 = fmul ssa_38, ssa_39 vec1 32 ssa_41 = fneg ssa_35 vec1 32 ssa_42 = fadd ssa_34, ssa_41 vec1 32 ssa_43 = fmul ssa_42, ssa_4 vec1 32 ssa_44 = fneg ssa_43 vec1 32 ssa_45 = fadd ssa_5, ssa_44 vec1 32 ssa_46 = load_const (0x00000000 /* 0.000000 */) vec3 32 ssa_47 = intrinsic load_uniform (ssa_46) () (0, 12) /* base=0 */ /* range=12 */ /* sp_FOG_COL_RAM */ vec2 32 ssa_48 = vec2 ssa_40, ssa_45 vec4 32 ssa_49 = tex ssa_48 (coord), 0 (texture) 0 (sampler) vec1 32 ssa_50 = flrp ssa_7.x, ssa_47.x, ssa_49.w vec1 32 ssa_51 = flrp ssa_7.y, ssa_47.y, ssa_49.w vec1 32 ssa_52 = flrp ssa_7.z, ssa_47.z, ssa_49.w vec1 32 ssa_53 = fmul ssa_21.w, ssa_6 vec1 32 ssa_54 = fadd ssa_0, ssa_53 vec1 32 ssa_55 = flog2 ssa_54 vec1 32 ssa_56 = load_const (0x3cf0f0f1 /* 0.029412 */) vec1 32 ssa_57 = fmul ssa_55, ssa_56 intrinsic store_var (ssa_57) (gl_FragDepth) (1) /* wrmask=x */ vec4 32 ssa_58 = vec4 ssa_50, ssa_51, ssa_52, ssa_7.w intrinsic store_var (ssa_58) (gl_FragColor) (15) /* wrmask=xyzw */ /* succs: block_0 */ block block_0: } Native code for unnamed fragment shader GLSL63 from disk cache: add(16) g16<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; mov(16) m14<1>F g5<8,8,1>F { align1 compr }; add(16) g18<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; add(8) g12<1>F g16<8,8,1>UW -g1<0,1,0>F { align1 }; add(8) g13<1>F g18<8,8,1>UW -g1.1<0,1,0>F { align1 }; add(8) g14<1>F g16.8<8,8,1>UW -g1<0,1,0>F { align1 sechalf }; add(8) g15<1>F g18.8<8,8,1>UW -g1.1<0,1,0>F { align1 sechalf }; pln(16) g16<1>F g9.4<0,1,0>F g12<8,8,1>F { align1 compr compacted }; nenop ; send(16) 2 g8<1>F g16<8,8,1>F math inv mlen 1 rlen 1 { align1 compr }; pln(16) g18<1>F g10<0,1,0>F g12<8,8,1>F { align1 compr compacted }; mul(16) g22<1>F g18<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g18<1>F g10.4<0,1,0>F g12<8,8,1>F { align1 compr compacted }; mul(16) g24<1>F g18<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g18<1>F g11<0,1,0>F g12<8,8,1>F { align1 compr compacted }; mul(16) g26<1>F g18<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g18<1>F g11.4<0,1,0>F g12<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m7<1>F g18<8,8,1>F g8<8,8,1>F { align1 compr4 }; mul(16) g8<1>F g16<8,8,1>F g7.3<0,1,0>F { align1 compr compacted }; nenop ; cmp.ge.f0(16) null<1>F g8<8,8,1>F 1F { align1 compr }; (+f0) sel(16) g10<1>F g8<8,8,1>F 1F { align1 compr }; cmp.l.f0(16) null<1>F g10<8,8,1>F 256F { align1 compr }; (+f0) sel(16) g8<1>F g10<8,8,1>F 256F { align1 compr }; send(16) 2 g10<1>F g8<8,8,1>F math log mlen 1 rlen 1 { align1 compr }; rndd(16) g12<1>F g10<8,8,1>F { align1 compr compacted }; nenop ; send(16) 2 g10<1>F -g12<8,8,1>F math exp mlen 1 rlen 1 { align1 compr }; mul(16) g14<1>F g8<8,8,1>F 16F { align1 compr }; mul(16) g8<1>F g14<8,8,1>F g10<8,8,1>F { align1 compr compacted }; nenop ; add(16) g10<1>F g8<8,8,1>F -16F { align1 compr }; rndd(16) g8<1>F g10<8,8,1>F { align1 compr compacted }; nenop ; mul(16) g14<1>F g12<8,8,1>F 16F { align1 compr }; add(16) g12<1>F g8<8,8,1>F 0.5F { align1 compr }; add(16) g18<1>F g12<8,8,1>F g14<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m2<1>F g18<8,8,1>F 0.0078125F { align1 compr }; add(16) g12<1>F g10<8,8,1>F -g8<8,8,1>F { align1 compr compacted }; nenop ; mul(16) g8<1>F g12<8,8,1>F 0.5F { align1 compr }; add(16) m4<1>F -g8<8,8,1>F 0.75F { align1 compr }; send(16) 1 g8<1>UW g0<8,8,1>UW sampler (1, 0, 0, ) mlen 5 rlen 8 { align1 }; mul(16) g18<1>F g7<0,1,0>F g14<8,8,1>F { align1 compr compacted }; nenop ; add(16) g28<1>F -g14<8,8,1>F 1F { align1 compr }; mul(16) g20<1>F g22<8,8,1>F g28<8,8,1>F { align1 compr compacted }; nenop ; add(16) m4<1>F g20<8,8,1>F g18<8,8,1>F { align1 compr4 }; mul(16) g18<1>F g7.1<0,1,0>F g14<8,8,1>F { align1 compr compacted }; mul(16) g20<1>F g24<8,8,1>F g28<8,8,1>F { align1 compr compacted }; add(16) m5<1>F g20<8,8,1>F g18<8,8,1>F { align1 compr4 }; mul(16) g18<1>F g7.2<0,1,0>F g14<8,8,1>F { align1 compr compacted }; mul(16) g6<1>F g26<8,8,1>F g28<8,8,1>F { align1 compr compacted }; add(16) m6<1>F g6<8,8,1>F g18<8,8,1>F { align1 compr4 }; mul(16) g6<1>F g16<8,8,1>F 100000F { align1 compr }; add(16) g8<1>F g6<8,8,1>F 1F { align1 compr }; send(16) 2 g6<1>F g8<8,8,1>F math log mlen 1 rlen 1 { align1 compr }; mul(16) m12<1>F g6<8,8,1>F 0.0294118F { align1 compr }; mov(8) m3<1>F g4<8,8,1>F { align1 nomask }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 15 rlen 0 { align1 EOT }; 694436: message: api performance issue 3: Copying to larger program cache: 16 kB -> 32 kB NIR for FS program 48 loaded from disk shader cache: shader: MESA_SHADER_FRAGMENT name: GLSL66 inputs: 0 outputs: 0 uniforms: 20 shared: 0 decl_var uniform INTERP_MODE_NONE sampler2D tex (1, 0, 0) decl_var uniform INTERP_MODE_NONE float trilinear_alpha (2, 0, 0) decl_var uniform INTERP_MODE_NONE vec4 gl_FbWposYTransform (0, 4, 0) decl_var shader_in INTERP_MODE_NONE vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_in INTERP_MODE_NONE vec4 vtx_base (VARYING_SLOT_VAR0, 0, 0) decl_var shader_in INTERP_MODE_NONE vec4 vtx_offs (VARYING_SLOT_VAR1, 0, 0) decl_var shader_in INTERP_MODE_NONE vec2 packed:vtx_uv (VARYING_SLOT_VAR2.xy, 0, 0) decl_var shader_out INTERP_MODE_NONE float gl_FragDepth (FRAG_RESULT_DEPTH.x, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec1 32 ssa_0 = load_const (0x3f800000 /* 1.000000 */) vec1 32 ssa_1 = load_const (0x47c35000 /* 100000.000000 */) vec2 32 ssa_2 = intrinsic load_var () (packed:vtx_uv) () vec4 32 ssa_3 = intrinsic load_var () (vtx_base) () vec1 32 ssa_4 = load_const (0x00000000 /* 0.000000 */) vec1 32 ssa_5 = intrinsic load_uniform (ssa_4) () (0, 4) /* base=0 */ /* range=4 */ /* tex */ vec1 32 ssa_6 = fmul ssa_3.x, ssa_5 vec1 32 ssa_7 = fmul ssa_3.y, ssa_5 vec1 32 ssa_8 = fmul ssa_3.z, ssa_5 vec1 32 ssa_9 = fmul ssa_3.w, ssa_5 vec4 32 ssa_10 = tex ssa_2 (coord), 0 (texture) 0 (sampler) vec1 32 ssa_11 = fmul ssa_6, ssa_10.x vec1 32 ssa_12 = fmul ssa_7, ssa_10.y vec1 32 ssa_13 = fmul ssa_8, ssa_10.z vec1 32 ssa_14 = fmul ssa_9, ssa_10.w vec4 32 ssa_15 = intrinsic load_var () (vtx_offs) () vec1 32 ssa_16 = fadd ssa_11, ssa_15.x vec1 32 ssa_17 = fadd ssa_12, ssa_15.y vec1 32 ssa_18 = fadd ssa_13, ssa_15.z vec1 32 ssa_19 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_20 = intrinsic load_uniform (ssa_19) () (4, 16) /* base=4 */ /* range=16 */ /* gl_FbWposYTransform */ vec4 32 ssa_21 = intrinsic load_var () (gl_FragCoord) () vec4 32 ssa_22 = load_const (0x3f000000 /* 0.500000 */, 0x3f000000 /* 0.500000 */, 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */) vec4 32 ssa_23 = fadd ssa_21, ssa_22 vec1 32 ssa_24 = imov ssa_20.y vec1 32 ssa_25 = imov ssa_20.x vec1 32 ssa_26 = imov ssa_23.y vec1 32 ssa_27 = fmul ssa_26, ssa_25 vec1 32 ssa_28 = fadd ssa_27, ssa_24 vec1 32 ssa_29 = imov ssa_23.w vec1 32 ssa_30 = imov ssa_23.z vec1 32 ssa_31 = imov ssa_23.x vec4 32 ssa_32 = vec4 ssa_31, ssa_28, ssa_30, ssa_29 vec4 32 ssa_33 = intrinsic load_var () (gl_FragCoord) () vec1 32 ssa_34 = fmul ssa_32.w, ssa_1 vec1 32 ssa_35 = fadd ssa_0, ssa_34 vec1 32 ssa_36 = flog2 ssa_35 vec1 32 ssa_37 = load_const (0x3cf0f0f1 /* 0.029412 */) vec1 32 ssa_38 = fmul ssa_36, ssa_37 intrinsic store_var (ssa_38) (gl_FragDepth) (1) /* wrmask=x */ vec4 32 ssa_39 = vec4 ssa_16, ssa_17, ssa_18, ssa_14 intrinsic store_var (ssa_39) (gl_FragColor) (15) /* wrmask=xyzw */ /* succs: block_0 */ block block_0: } Native code for unnamed fragment shader GLSL66 from disk cache: add(16) g16<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; mov(16) m14<1>F g5<8,8,1>F { align1 compr }; add(16) g18<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; add(8) g22<1>F g16<8,8,1>UW -g1<0,1,0>F { align1 }; add(8) g23<1>F g18<8,8,1>UW -g1.1<0,1,0>F { align1 }; add(8) g24<1>F g16.8<8,8,1>UW -g1<0,1,0>F { align1 sechalf }; add(8) g25<1>F g18.8<8,8,1>UW -g1.1<0,1,0>F { align1 sechalf }; pln(16) g26<1>F g9.4<0,1,0>F g22<8,8,1>F { align1 compr compacted }; nenop ; send(16) 2 g8<1>F g26<8,8,1>F math inv mlen 1 rlen 1 { align1 compr }; pln(16) g16<1>F g14<0,1,0>F g22<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m2<1>F g16<8,8,1>F g8<8,8,1>F { align1 compr }; pln(16) g16<1>F g14.4<0,1,0>F g22<8,8,1>F { align1 compr compacted }; nenop ; mul(16) m4<1>F g16<8,8,1>F g8<8,8,1>F { align1 compr }; pln(16) g28<1>F g10<0,1,0>F g22<8,8,1>F { align1 compr compacted }; nenop ; send(16) 1 g14<1>UW g0<8,8,1>UW sampler (1, 0, 0, ) mlen 5 rlen 8 { align1 }; mul(16) g30<1>F g28<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g28<1>F g10.4<0,1,0>F g22<8,8,1>F { align1 compr compacted }; mul(16) g32<1>F g28<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g28<1>F g11<0,1,0>F g22<8,8,1>F { align1 compr compacted }; mul(16) g34<1>F g28<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g28<1>F g11.4<0,1,0>F g22<8,8,1>F { align1 compr compacted }; mul(16) g10<1>F g28<8,8,1>F g8<8,8,1>F { align1 compr compacted }; mul(16) g28<1>F g30<8,8,1>F g7<0,1,0>F { align1 compr compacted }; mul(16) g30<1>F g32<8,8,1>F g7<0,1,0>F { align1 compr compacted }; mul(16) g32<1>F g34<8,8,1>F g7<0,1,0>F { align1 compr compacted }; mul(16) g34<1>F g10<8,8,1>F g7<0,1,0>F { align1 compr compacted }; mul(16) g6<1>F g28<8,8,1>F g14<8,8,1>F { align1 compr compacted }; mul(16) g10<1>F g30<8,8,1>F g16<8,8,1>F { align1 compr compacted }; mul(16) g28<1>F g32<8,8,1>F g18<8,8,1>F { align1 compr compacted }; mul(16) m7<1>F g34<8,8,1>F g20<8,8,1>F { align1 compr4 }; pln(16) g14<1>F g12<0,1,0>F g22<8,8,1>F { align1 compr compacted }; mul(16) g16<1>F g14<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g14<1>F g12.4<0,1,0>F g22<8,8,1>F { align1 compr compacted }; mul(16) g18<1>F g14<8,8,1>F g8<8,8,1>F { align1 compr compacted }; pln(16) g14<1>F g13<0,1,0>F g22<8,8,1>F { align1 compr compacted }; mul(16) g12<1>F g14<8,8,1>F g8<8,8,1>F { align1 compr compacted }; add(16) m4<1>F g6<8,8,1>F g16<8,8,1>F { align1 compr4 }; add(16) m5<1>F g10<8,8,1>F g18<8,8,1>F { align1 compr4 }; add(16) m6<1>F g28<8,8,1>F g12<8,8,1>F { align1 compr4 }; mul(16) g6<1>F g26<8,8,1>F 100000F { align1 compr }; add(16) g8<1>F g6<8,8,1>F 1F { align1 compr }; send(16) 2 g6<1>F g8<8,8,1>F math log mlen 1 rlen 1 { align1 compr }; mul(16) m12<1>F g6<8,8,1>F 0.0294118F { align1 compr }; mov(8) m3<1>F g4<8,8,1>F { align1 nomask }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 15 rlen 0 { align1 EOT }; NIR (SSA form) for fragment shader: shader: MESA_SHADER_FRAGMENT name: BLORP-blit inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 coord_transform (VARYING_SLOT_VAR3, 34, 0) decl_var shader_in INTERP_MODE_FLAT uint src_z (VARYING_SLOT_VAR5.z, 36, 0) decl_var shader_in INTERP_MODE_SMOOTH vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec2 32 ssa_0 = intrinsic load_barycentric_pixel () () (1) /* interp_mode=1 */ vec1 32 ssa_1 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_2 = intrinsic load_interpolated_input (ssa_0, ssa_1) () (0, 0) /* base=0 */ /* component=0 */ vec1 32 ssa_3 = f2i32 ssa_2.x vec1 32 ssa_4 = f2i32 ssa_2.y vec1 32 ssa_5 = i2f32 ssa_3 vec1 32 ssa_6 = i2f32 ssa_4 vec4 32 ssa_7 = intrinsic load_input (ssa_1) () (34, 0) /* base=34 */ /* component=0 */ /* coord_transform */ vec1 32 ssa_8 = fmul ssa_5, ssa_7.x vec1 32 ssa_9 = fmul ssa_6, ssa_7.z vec1 32 ssa_10 = fadd ssa_8, ssa_7.y vec1 32 ssa_11 = fadd ssa_9, ssa_7.w vec1 32 ssa_12 = f2i32 ssa_10 vec1 32 ssa_13 = f2i32 ssa_11 vec1 32 ssa_14 = intrinsic load_input (ssa_1) () (36, 2) /* base=36 */ /* component=2 */ /* src_z */ vec3 32 ssa_15 = vec3 ssa_12, ssa_13, ssa_14 vec4 32 ssa_16 = txf ssa_15 (coord), ssa_1 (lod), 0 (texture) 0 (sampler) intrinsic store_output (ssa_16, ssa_1) () (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_0 */ block block_0: } NIR (final form) for fragment shader: shader: MESA_SHADER_FRAGMENT name: BLORP-blit inputs: 0 outputs: 0 uniforms: 0 shared: 0 decl_var shader_in INTERP_MODE_FLAT vec4 coord_transform (VARYING_SLOT_VAR3, 34, 0) decl_var shader_in INTERP_MODE_FLAT uint src_z (VARYING_SLOT_VAR5.z, 36, 0) decl_var shader_in INTERP_MODE_SMOOTH vec4 gl_FragCoord (VARYING_SLOT_POS, 0, 0) decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 4, 0) decl_function main returning void impl main { block block_0: /* preds: */ vec2 32 ssa_0 = intrinsic load_barycentric_pixel () () (1) /* interp_mode=1 */ vec1 32 ssa_1 = load_const (0x00000000 /* 0.000000 */) vec4 32 ssa_2 = intrinsic load_interpolated_input (ssa_0, ssa_1) () (0, 0) /* base=0 */ /* component=0 */ vec1 32 ssa_3 = f2i32 ssa_2.x vec1 32 ssa_4 = f2i32 ssa_2.y vec1 32 ssa_5 = i2f32 ssa_3 vec1 32 ssa_6 = i2f32 ssa_4 vec4 32 ssa_7 = intrinsic load_input (ssa_1) () (34, 0) /* base=34 */ /* component=0 */ /* coord_transform */ vec1 32 ssa_8 = fmul ssa_5, ssa_7.x vec1 32 ssa_9 = fmul ssa_6, ssa_7.z vec1 32 ssa_10 = fadd ssa_8, ssa_7.y vec1 32 ssa_11 = fadd ssa_9, ssa_7.w vec1 32 ssa_12 = f2i32 ssa_10 vec1 32 ssa_13 = f2i32 ssa_11 vec1 32 ssa_14 = intrinsic load_input (ssa_1) () (36, 2) /* base=36 */ /* component=2 */ /* src_z */ vec3 32 ssa_15 = vec3 ssa_12, ssa_13, ssa_14 vec4 32 ssa_16 = txf ssa_15 (coord), ssa_1 (lod), 0 (texture) 0 (sampler) intrinsic store_output (ssa_16, ssa_1) () (4, 15, 0) /* base=4 */ /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ /* succs: block_0 */ block block_0: } Native code for unnamed fragment shader BLORP-blit SIMD16 shader: 27 instructions. 0 loops. 116 cycles. 0:0 spills:fills. Promoted 0 constants. Compacted 432 to 400 bytes (7%) START B0 (116 cycles) add(16) g4<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; mov(16) g14<1>F g6.3<0,1,0>F { align1 compr compacted }; nenop ; mov(16) g16<1>F g6.7<0,1,0>F { align1 compr }; mov(16) g18<1>F g7.3<0,1,0>F { align1 compr compacted }; nenop ; mov(16) g10<1>F g7.7<0,1,0>F { align1 compr }; mov(16) m6<1>F g9.3<0,1,0>F { align1 compr }; mov(16) m8<1>UD 0D { align1 compr }; add(16) g6<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; mov(16) g8<1>F g4<8,8,1>UW { align1 compr }; mov(16) g12<1>F g6<8,8,1>UW { align1 compr }; mov(16) g4<1>D g8<8,8,1>F { align1 compr }; mov(16) g6<1>D g12<8,8,1>F { align1 compr }; mov(16) g8<1>F g4<8,8,1>D { align1 compr }; mov(16) g4<1>F g6<8,8,1>D { align1 compr }; mul(16) g6<1>F g8<8,8,1>F g14<8,8,1>F { align1 compr compacted }; mul(16) g8<1>F g4<8,8,1>F g18<8,8,1>F { align1 compr compacted }; add(16) g4<1>F g6<8,8,1>F g16<8,8,1>F { align1 compr compacted }; add(16) g6<1>F g8<8,8,1>F g10<8,8,1>F { align1 compr compacted }; mov(16) m2<1>D g4<8,8,1>F { align1 compr }; mov(16) m4<1>D g6<8,8,1>F { align1 compr }; send(16) 1 g4<1>UW g0<8,8,1>UW sampler (1, 0, 3, ) mlen 9 rlen 8 { align1 }; mov(16) m3<1>F g4<8,8,1>F { align1 compr4 }; mov(16) m4<1>F g6<8,8,1>F { align1 compr4 }; mov(16) m5<1>F g8<8,8,1>F { align1 compr4 }; mov(16) m6<1>F g10<8,8,1>F { align1 compr4 }; mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; send(16) 1 null<1>UW g0<8,8,1>UW write RT write SIMD16 LastRT Surface = 0 mlen 10 rlen 0 { align1 EOT }; END B0 1250328: message: shader compiler issue 4: FS SIMD16 shader: 27 inst, 0 loops, 116 cycles, 0:0 spills:fills, Promoted 0 constants, compacted 432 to 400 bytes. 1971207 @0 glXDestroyWindow(dpy = 0x556bac43d9b0, window = 56623107) 1971207: warning: unsupported glXDestroyWindow call Rendered 6316 frames in 53.0138 secs, average of 119.139 fps