MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x7da51047, 0x90c3a640, 0x546c0144, 0x450f4c69, 0x0a2c8f75, 0x8e8c8f4a, 0x503c8ecb, 0x2ed9e532}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %129 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %123 = @load_ubo_vec4 (%4, %129 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %157 = f2u32 %123
MESA: info:             con 32    %158 = mov %157.x
MESA: info:             con 32    %159 = mov %157.y
MESA: info:                              @store_const_ir3 (%158) (base=16)
MESA: info:                              @store_const_ir3 (%159) (base=17)
MESA: info:             con 32      %8 = u2f32 %157.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %123.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %18 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %19 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %20 = @bindless_resource_ir3 (%19 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%18, %20)
MESA: info:             con 32     %22 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%22)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %25 = @load_local_invocation_id
MESA: info:     con 32x3   %26 = @load_workgroup_id
MESA: info:     con 32x3   %27 = @load_base_workgroup_id
MESA: info:     con 32x2  %160 = iadd %26.xy, %27.xy
MESA: info:     con 32     %30 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %33 = @load_const_ir3 (%30 (0x0)) (base=16)
MESA: info:     con 32     %35 = @load_const_ir3 (%30 (0x0)) (base=17)
MESA: info:     con 32     %36 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %161 = umul_low %160, %36 (0xa).xx
MESA: info:     con 32x2  %162 = imadsh_mix16 %36 (0xa).xx, %160, %161
MESA: info:     div 32x2  %163 = iadd %162, %25.xy
MESA: info:     con 32     %41 = load_const (0x00000006)
MESA: info:     div 32x2  %164 = ishl %163, %41 (0x6).xx
MESA: info:     div 32    %165 = mov %164.x
MESA: info:     div 32    %166 = mov %164.y
MESA: info:     div 32    %148 = umul_low %25.y, %36 (0xa)
MESA: info:     div 32    %150 = imadsh_mix16 %36 (0xa), %25.y, %148
MESA: info:     con 32     %47 = @load_const_ir3 (%30 (0x0)) (base=18)
MESA: info:     con 32    %145 = umul_low %160.y, %47
MESA: info:     con 32    %146 = imadsh_mix16 %160.y, %47, %145
MESA: info:     con 32    %147 = imadsh_mix16 %47, %160.y, %146
MESA: info:     con 32     %49 = iadd %147, %160.x
MESA: info:     con 32     %50 = load_const (0x00000064 = 100)
MESA: info:     con 32    %142 = umul_low %49, %50 (0x64)
MESA: info:     con 32    %144 = imadsh_mix16 %50 (0x64), %49, %142
MESA: info:     div 32    %141 = iadd3 %150, %25.x, %144
MESA: info:     con 32x4  %177 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:     con 32x4  %190 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %176 = phi b6: %177 (0x0, 0x0, 0x0, 0x0), b15: %178
MESA: info:         div 32x4  %189 = phi b6: %190 (0x0, 0x0, 0x0, 0x0), b15: %221
MESA: info:         div 32     %61 = phi b6: %30 (0x0), b15: %220
MESA: info:         div 32     %62 = phi b6: %166, b15: %113
MESA: info:         div 32x3  %198 = mov %176.yzw
MESA: info:         div 32    %170 = mov %176.x
MESA: info:         con 32     %63 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %193 = iadd %164.yx, %63 (0x40).xx
MESA: info:         div 32     %66 = umin %35, %193.x
MESA: info:         div 32     %67 = umin %33, %193.y
MESA: info:         div 1      %68 = uge %62, %66
MESA: info:                          // succs: b8 b9
MESA: info:         if %68 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %69 = phi b10: %165, b14: %111
MESA: info:             div 32     %70 = phi b10: %170, b14: %110
MESA: info:             div 32x3  %197 = phi b10: %198, b14: %213
MESA: info:             div 32x4  %206 = phi b10: %189, b14: %207
MESA: info:             div 32     %78 = phi b10: %61, b14: %133
MESA: info:             div 1      %79 = uge %69, %67
MESA: info:                              // succs: b12 b13
MESA: info:             if %79 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %80 = u2f32 %69
MESA: info:             con 32     %82 = @load_const_ir3 (%30 (0x0)) (base=19)
MESA: info:             div 32     %83 = fmul %80, %82
MESA: info:             con 32     %87 = @load_const_ir3 (%30 (0x0)) (base=37)
MESA: info:             con 32     %88 = i2f32 %87
MESA: info:             con 32     %89 = load_const (0x00000001)
MESA: info:             con 32     %90 = @bindless_resource_ir3 (%89 (0x1)) (desc_set=2)
MESA: info:             con 32     %91 = @bindless_resource_ir3 (%30 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %92 = (float32)txl %91 (texture_handle), %90 (sampler_handle), %83 (coord), %88 (lod), 0 (texture), 0 (sampler)
MESA: info:             div 32x3  %209 = fmin %197, %92.xyz
MESA: info:             div 32     %97 = fmin %206.x, %92.w
MESA: info:             div 32x3  %211 = fmax %206.yzw, %92.xyz
MESA: info:             div 32    %101 = fmax %78, %92.w
MESA: info:             div 32x3  %213 = icsel_eqz %70.xxx, %92.xyz, %209
MESA: info:             div 32    %137 = icsel_eqz %70, %92.w, %97
MESA: info:             div 32x3  %215 = icsel_eqz %70.xxx, %92.xyz, %211
MESA: info:             div 32    %133 = icsel_eqz %70, %92.w, %101
MESA: info:             div 32    %110 = iadd %70, %89 (0x1)
MESA: info:             div 32    %111 = iadd %69, %89 (0x1)
MESA: info:             div 32x4  %207 = vec4 %137, %215.x, %215.y, %215.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %223 = phi b12: %70
MESA: info:         div 32x3  %222 = phi b12: %197
MESA: info:         div 32x4  %221 = phi b12: %206
MESA: info:         div 32    %220 = phi b12: %78
MESA: info:         con 32    %112 = load_const (0x00000001)
MESA: info:         div 32    %113 = iadd %62, %112 (0x1)
MESA: info:         div 32x4  %178 = vec4 %223, %222.x, %222.y, %222.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %226 = phi b8: %176
MESA: info:     div 32x4  %225 = phi b8: %189
MESA: info:     div 32    %224 = phi b8: %61
MESA: info:     con 32x2  %216 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %217 = ishl %141.xx, %216 (0x5, 0x3)
MESA: info:     div 32    %218 = mov %217.x
MESA: info:     div 32    %219 = mov %217.y
MESA: info:     con 32    %116 = @bindless_resource_ir3 (%30 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %117 = vec4 %226.y, %226.z, %226.w, %225.x
MESA: info:                      @store_ssbo_ir3 (%117, %116, %218, %219) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %118 = load_const (0x00000010 = 16)
MESA: info:     div 32    %119 = iadd %217.x, %118 (0x10)
MESA: info:     div 32x4  %120 = vec4 %225.y, %225.z, %225.w, %224
MESA: info:     con 32    %127 = load_const (0x00000002)
MESA: info:     div 32    %128 = ushr %119, %127 (0x2)
MESA: info:                      @store_ssbo_ir3 (%120, %116, %119, %128) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 ead5ddac5b1a0118c8f47e6f210e78f7514d35d4:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l20
MESA: info: getone #l20
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.x, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.x, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l20:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.z, r48.y, 16
MESA: info: mull.u r50.w, r48.y, 10
MESA: info: mull.u r50.z, 10, r50.z
MESA: info: shl.b r50.z, r50.z, 16
MESA: info: add.u r50.z, r50.z, r50.w
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.x, r48.x, 16
MESA: info: mull.u r50.y, r48.x, 10
MESA: info: mull.u r50.x, 10, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: add.u r50.x, r50.x, r50.y
MESA: info: shr.b r49.w, c4.z, 16
MESA: info: mull.u r51.x, r48.y, c4.z
MESA: info: mull.u r49.w, r48.y, r49.w
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r49.w, r49.w, r51.x
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r49.w
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.y, r48.y, 16
MESA: info: mull.u r51.y, 100, r51.y
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.z, (last)r0.y
MESA: info: add.u r1.x, r50.x, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.y
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l64:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l105
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l72:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l103
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.s32f32 r4.w, c9.y
MESA: info: add.u r5.x, r1.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: (nop3) add.u r4.y, (last)r4.y, 1
MESA: info: nop
MESA: info: alias.tex.b32.1 r4.w, (0x3f000000)
MESA: info: alias.tex.b32.0 r40.x, r4.w
MESA: info: saml.base2 (f32)(xyzw)r5.y, r4.z, r40.x, s#1, t#0
MESA: info: (sy)min.f r1.z, (last)r1.z, r5.y
MESA: info: min.f r1.w, (last)r1.w, r5.z
MESA: info: min.f r2.x, (last)r2.x, r5.w
MESA: info: min.f r2.y, (last)r2.y, r6.x
MESA: info: max.f r2.z, (last)r2.z, r5.y
MESA: info: max.f r2.w, (last)r2.w, r5.z
MESA: info: max.f r3.x, (last)r3.x, r5.w
MESA: info: max.f r3.y, (last)r3.y, r6.x
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.y
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.z
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r5.w
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.x
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.y
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.z
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r5.w
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.x
MESA: info: mov.u32u32 r1.y, (last)r5.x
MESA: info: jump #l72
MESA: info: l103:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l64
MESA: info: l105:
MESA: info: (jp)shl.b r6.y, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.y, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 18/1: 117 instr, 27 nops, 90 non-nops, 12 mov, 2 cov, 256 dwords
MESA: info: ; CL prog 18/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 18/1: 32 cat0, 14 cat1, 54 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 4 cat7
MESA: info: ; CL prog 18/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 18/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 20 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x558f3dca, 0x7cfa6e20, 0xc83d89ca, 0x53740ff5, 0x77267234, 0xa52c36a6, 0x4a0daaac, 0x0853eb26}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %192 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %269 = f2u32 %192
MESA: info:             con 32    %270 = mov %269.x
MESA: info:             con 32    %271 = mov %269.y
MESA: info:                              @store_const_ir3 (%270) (base=16)
MESA: info:                              @store_const_ir3 (%271) (base=17)
MESA: info:             con 32     %10 = frcp %192.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32    %195 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %276 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %277 = iand %195.xxxx, %276 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %285 = ieq %277, %2 (0x0).xxxx
MESA: info:             con 32x4  %286 = b2i32 %285
MESA: info:             con 32    %287 = mov %286.w
MESA: info:             con 32    %284 = mov %286.z
MESA: info:             con 32    %280 = mov %286.x
MESA: info:             con 32    %281 = mov %286.y
MESA: info:                              @store_const_ir3 (%280) (base=19)
MESA: info:                              @store_const_ir3 (%281) (base=20)
MESA: info:                              @store_const_ir3 (%284) (base=21)
MESA: info:                              @store_const_ir3 (%287) (base=22)
MESA: info:             con 32x2  %198 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %268 = fsub %198.y, %198.x
MESA: info:             con 32     %29 = frcp %268
MESA: info:                              @store_const_ir3 (%29) (base=23)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %34 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %36 = @bindless_resource_ir3 (%11 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%34, %36)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %37 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %39 = load_const (0x00000002)
MESA: info:     con 32     %42 = @load_const_ir3 (%37 (0x0)) (base=16)
MESA: info:     con 32     %44 = @load_const_ir3 (%37 (0x0)) (base=17)
MESA: info:     con 32x3   %45 = @load_workgroup_id
MESA: info:     con 32x3   %46 = @load_base_workgroup_id
MESA: info:     con 32x2  %288 = iadd %45.xy, %46.xy
MESA: info:     con 32     %49 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %289 = umul_low %288, %49 (0xa).xx
MESA: info:     con 32x2  %290 = imadsh_mix16 %49 (0xa).xx, %288, %289
MESA: info:     div 32x3   %52 = @load_local_invocation_id
MESA: info:     div 32x2  %291 = iadd %290, %52.xy
MESA: info:     con 32     %55 = load_const (0x00000006)
MESA: info:     div 32x2  %292 = ishl %291, %55 (0x6).xx
MESA: info:     div 32    %293 = mov %292.x
MESA: info:     div 32    %294 = mov %292.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %58 = phi b6: %294, b30: %189
MESA: info:         con 32     %59 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %295 = iadd %292.yx, %59 (0x40).xx
MESA: info:         div 32     %62 = umin %44, %295.x
MESA: info:         div 32     %63 = umin %42, %295.y
MESA: info:         div 1      %64 = uge %58, %62
MESA: info:                          // succs: b8 b9
MESA: info:         if %64 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %65 = phi b10: %293, b29: %187
MESA: info:             div 1      %66 = uge %65, %63
MESA: info:                              // succs: b12 b13
MESA: info:             if %66 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %67 = u2f32 %65
MESA: info:             con 32     %69 = @load_const_ir3 (%37 (0x0)) (base=18)
MESA: info:             div 32     %70 = fmul %67, %69
MESA: info:             con 32     %74 = @load_const_ir3 (%37 (0x0)) (base=37)
MESA: info:             con 32     %75 = i2f32 %74
MESA: info:             con 32     %76 = load_const (0x00000001)
MESA: info:             con 32     %77 = @bindless_resource_ir3 (%76 (0x1)) (desc_set=2)
MESA: info:             con 32     %78 = @bindless_resource_ir3 (%37 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %79 = (float32)txl %78 (texture_handle), %77 (sampler_handle), %70 (coord), %75 (lod), 0 (texture), 0 (sampler)
MESA: info:             con 32     %86 = @load_const_ir3 (%37 (0x0)) (base=32)
MESA: info:             con 32     %89 = @load_const_ir3 (%37 (0x0)) (base=19)
MESA: info:             con 32     %93 = @load_const_ir3 (%37 (0x0)) (base=20)
MESA: info:             con 32     %97 = @load_const_ir3 (%37 (0x0)) (base=21)
MESA: info:             con 32    %101 = @load_const_ir3 (%37 (0x0)) (base=22)
MESA: info:             con 32    %106 = @load_const_ir3 (%37 (0x0)) (base=34)
MESA: info:             con 32    %107 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32    %108 = fadd %106, %107 (1.000000)
MESA: info:             div 32    %246 = icsel_eqz %89, %79.x, %108
MESA: info:             div 32    %245 = icsel_eqz %93, %79.y, %108
MESA: info:             div 32    %244 = icsel_eqz %97, %79.z, %108
MESA: info:             div 32    %243 = icsel_eqz %101, %79.w, %108
MESA: info:             con 1     %128 = ine %86, %37 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %128 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 con 32x2  %131 = @load_const_ir3 (%37 (0x0)) (base=33)
MESA: info:                 div 32    %267 = fsub %246, %131.x
MESA: info:                 div 32    %266 = fsub %245, %131.x
MESA: info:                 div 32    %265 = fsub %244, %131.x
MESA: info:                 div 32    %264 = fsub %243, %131.x
MESA: info:                 con 32    %138 = @load_const_ir3 (%37 (0x0)) (base=23)
MESA: info:                 div 32    %139 = fmul %267, %138
MESA: info:                 div 32    %140 = fmul %266, %138
MESA: info:                 div 32    %141 = fmul %265, %138
MESA: info:                 div 32    %142 = fmul %264, %138
MESA: info:                 div 1     %143 = flt! %139, %37 (0.000000)
MESA: info:                 div 1     %144 = flt! %140, %37 (0.000000)
MESA: info:                 div 1     %145 = flt! %141, %37 (0.000000)
MESA: info:                 div 1     %146 = flt! %142, %37 (0.000000)
MESA: info:                 con 32    %147 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %148 = fmul %139, %147 (256.000000)
MESA: info:                 con 32    %149 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %150 = bcsel %143, %149 (0x44000000), %148
MESA: info:                 div 32    %151 = fmul %140, %147 (256.000000)
MESA: info:                 div 32    %152 = bcsel %144, %149 (0x44000000), %151
MESA: info:                 div 32    %153 = fmul %141, %147 (256.000000)
MESA: info:                 div 32    %154 = bcsel %145, %149 (0x44000000), %153
MESA: info:                 div 32    %155 = fmul %142, %147 (256.000000)
MESA: info:                 div 32    %156 = bcsel %146, %149 (0x44000000), %155
MESA: info:                 div 32    %157 = ffloor %150
MESA: info:                 div 32    %158 = ffloor %152
MESA: info:                 div 32    %159 = ffloor %154
MESA: info:                 div 32    %160 = ffloor %156
MESA: info:                 div 32    %161 = f2u32 %157
MESA: info:                 div 32    %162 = f2u32 %158
MESA: info:                 div 32    %163 = f2u32 %159
MESA: info:                 div 32    %164 = f2u32 %160
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %165 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %166 = phi b15: %164, b16: %165 (0x101)
MESA: info:             div 32    %167 = phi b15: %163, b16: %165 (0x101)
MESA: info:             div 32    %168 = phi b15: %162, b16: %165 (0x101)
MESA: info:             div 32    %169 = phi b15: %161, b16: %165 (0x101)
MESA: info:             con 32    %170 = load_const (0x00000100 = 256)
MESA: info:             div 1     %171 = ult %169, %170 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %171 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %172 = ishl %169, %39 (0x2)
MESA: info:                 con 32    %173 = @bindless_resource_ir3 (%37 (0x0)) (desc_set=3)
MESA: info:                 div 32    %202 = @ssbo_atomic_ir3 (%173, %172, %76 (0x1), %169) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %175 = ult %168, %170 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %175 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %176 = ishl %168, %39 (0x2)
MESA: info:                 con 32    %177 = @bindless_resource_ir3 (%37 (0x0)) (desc_set=3)
MESA: info:                 div 32    %206 = @ssbo_atomic_ir3 (%177, %176, %76 (0x1), %168) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %179 = ult %167, %170 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %179 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %180 = ishl %167, %39 (0x2)
MESA: info:                 con 32    %181 = @bindless_resource_ir3 (%37 (0x0)) (desc_set=3)
MESA: info:                 div 32    %210 = @ssbo_atomic_ir3 (%181, %180, %76 (0x1), %167) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %183 = ult %166, %170 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %183 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %184 = ishl %166, %39 (0x2)
MESA: info:                 con 32    %185 = @bindless_resource_ir3 (%37 (0x0)) (desc_set=3)
MESA: info:                 div 32    %214 = @ssbo_atomic_ir3 (%185, %184, %76 (0x1), %166) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %187 = iadd %65, %76 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %188 = load_const (0x00000001)
MESA: info:         div 32    %189 = iadd %58, %188 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 8ee8b652d8e95d487849483db1d47d80de15bbd3:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l34
MESA: info: getone #l34
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.z, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: (sy)(ss)cov.f32u32 r50.x, r48.w
MESA: info: add.f r49.w, r49.w, (neg)r49.z
MESA: info: cov.f32u32 r49.x, r49.x
MESA: info: and.b r50.y, r49.y, 1
MESA: info: and.b r50.w, r49.y, 2
MESA: info: and.b r51.y, r49.y, 4
MESA: info: and.b r51.z, r49.y, 8
MESA: info: (rpt1)cmps.s.eq hr55.z, (r)r51.y, 0
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.w, r49.w
MESA: info: cmps.s.eq hr52.z, r50.y, 0
MESA: info: cmps.s.eq hr53.z, r50.w, 0
MESA: info: cov.u16s32 r50.z, hr52.z
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: stc.u32 c[17], r49.x, 1
MESA: info: stc.u32 c[16], r50.x, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cov.u16s32 r48.w, (r)hr55.z
MESA: info: stc.u32 c[23], r49.w, 1
MESA: info: stc.u32 c[19], r50.z, 1
MESA: info: stc.u32 c[20], r51.x, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[21], r48.w, 1
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l34:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.z, r48.y, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.y, r48.x, 16
MESA: info: mull.u r49.y, 10, r49.y
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.y, r49.y, 16
MESA: info: add.u r49.y, r49.y, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.z, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.y, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l52:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l154
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l60:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l152
MESA: info: add.f r49.w, c8.z, (1.0)
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.s32f32 r2.y, c9.y
MESA: info: mov.f32f32 r2.z, c4.w
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mov.f32f32 r2.w, c5.x
MESA: info: mov.f32f32 r3.x, c5.y
MESA: info: mov.f32f32 r3.y, c5.z
MESA: info: (nop1) cmps.s.ne p0.y, c8.x, 0
MESA: info: alias.tex.b32.1 r2.y, (0x3f000000)
MESA: info: alias.tex.b32.0 r40.x, r2.y
MESA: info: saml.base2 (f32)(xyzw)r3.z, r2.x, r40.x, s#1, t#0
MESA: info: (sy)(ss)sel.b32 r2.z, r49.w, r2.z, (last)r3.z
MESA: info: sel.b32 r2.w, r49.w, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, r49.w, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, r49.w, r3.y, (last)r4.y
MESA: info: br !p0.y, #l110
MESA: info: add.f r2.z, (last)r2.z, (neg)c8.y
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: mul.f r2.z, (last)r2.z, c5.w
MESA: info: mul.f r2.w, (last)r2.w, c5.w
MESA: info: mul.f r3.x, (last)r3.x, c5.w
MESA: info: mul.f r3.y, (last)r3.y, c5.w
MESA: info: cmps.f.lt r4.z, r2.z, (0.0)
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: mul.f r2.z, (last)r2.z, c12.y
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: sel.b32 r4.z, c12.x, r4.z, (last)r2.z
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: floor.f r4.z, (last)r4.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: cov.f32u32 r4.z, (last)r4.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: jump #l114
MESA: info: l110:
MESA: info: mov.u32u32 r5.y, 257
MESA: info: mov.u32u32 r4.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: l114:
MESA: info: (nop3) cmps.u.lt p0.x, r4.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.z, 0
MESA: info: mov.u32u32 r5.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.z, r4.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.x, 0
MESA: info: mov.u32u32 r6.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.x, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.z, 0
MESA: info: mov.u32u32 r6.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.z, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.x, 0
MESA: info: mov.u32u32 r7.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.x, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l60
MESA: info: l152:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l52
MESA: info: l154:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 19/1: 193 instr, 85 nops, 108 non-nops, 19 mov, 6 cov, 322 dwords
MESA: info: ; CL prog 19/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 19/1: 100 cat0, 25 cat1, 51 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 4 cat7
MESA: info: ; CL prog 19/1: 5 sstall, 3 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 19/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 36 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x0b1132ae, 0x5ab88b39, 0x4910f347, 0x88c6676a, 0xf79d74a7, 0xb5302cfd, 0xa04968a6, 0xee9b0120}
MESA: info: workgroup_size: 1, 1, 1
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %254 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %235 = @load_ubo_vec4 (%4, %254 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %365 = f2u32 %235
MESA: info:             con 32    %366 = mov %365.x
MESA: info:             con 32    %367 = mov %365.y
MESA: info:                              @store_const_ir3 (%366) (base=0)
MESA: info:                              @store_const_ir3 (%367) (base=1)
MESA: info:             con 32x2  %368 = u2f32 %365
MESA: info:             con 32     %10 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32x2  %369 = fmul %368, %10 (0.001563).xx
MESA: info:             con 32x2  %370 = fceil %369
MESA: info:             con 32x2  %371 = f2u32 %370
MESA: info:             con 32    %372 = mov %371.x
MESA: info:                              @store_const_ir3 (%372) (base=2)
MESA: info:             con 32     %17 = load_const (0x00000010 = 16)
MESA: info:             con 32     %18 = load_const (0x00000064 = 100)
MESA: info:             con 32    %351 = umul_low %371.x, %18 (0x64)
MESA: info:             con 32    %353 = imadsh_mix16 %18 (0x64), %371.x, %351
MESA: info:             con 32    %348 = umul_low %353, %371.y
MESA: info:             con 32    %349 = imadsh_mix16 %353, %371.y, %348
MESA: info:             con 32    %350 = imadsh_mix16 %371.y, %353, %349
MESA: info:                              @store_const_ir3 (%350) (base=3)
MESA: info:             con 32     %21 = load_const (0x0000ffff = 65535)
MESA: info:             con 32     %22 = u2f32! %371.x
MESA: info:             con 32     %23 = frcp! %22
MESA: info:             con 32     %24 = load_const (0x4f7ffffe = 4.294967e+09)
MESA: info:             con 32     %25 = fmul! %23, %24 (4.294967e+09)
MESA: info:             con 32     %26 = f2u32! %25
MESA: info:             con 32    %345 = umul_low! %371.x, %26
MESA: info:             con 32    %346 = imadsh_mix16! %371.x, %26, %345
MESA: info:             con 32    %347 = imadsh_mix16! %26, %371.x, %346
MESA: info:             con 32     %28 = ineg! %347
MESA: info:             con 32     %29 = iand! %26, %21 (0xffff)
MESA: info:             con 32     %30 = iand! %28, %21 (0xffff)
MESA: info:             con 32     %31 = ushr! %26, %17 (0x10)
MESA: info:             con 32     %32 = ushr! %28, %17 (0x10)
MESA: info:             con 32    %342 = umul_low! %29, %30
MESA: info:             con 32    %343 = imadsh_mix16! %29, %30, %342
MESA: info:             con 32    %344 = imadsh_mix16! %30, %29, %343
MESA: info:             con 32    %339 = umul_low! %29, %32
MESA: info:             con 32    %340 = imadsh_mix16! %29, %32, %339
MESA: info:             con 32    %341 = imadsh_mix16! %32, %29, %340
MESA: info:             con 32    %336 = umul_low! %31, %30
MESA: info:             con 32    %337 = imadsh_mix16! %31, %30, %336
MESA: info:             con 32    %338 = imadsh_mix16! %30, %31, %337
MESA: info:             con 32    %333 = umul_low! %31, %32
MESA: info:             con 32    %334 = imadsh_mix16! %31, %32, %333
MESA: info:             con 32    %335 = imadsh_mix16! %32, %31, %334
MESA: info:             con 32     %37 = ishl! %341, %17 (0x10)
MESA: info:             con 32     %38 = iadd! %344, %37
MESA: info:             con 1      %39 = ult! %38, %344
MESA: info:             con 32     %40 = b2i32! %39
MESA: info:             con 32     %41 = iadd! %335, %40
MESA: info:             con 32     %42 = ushr! %341, %17 (0x10)
MESA: info:             con 32     %44 = ishl! %338, %17 (0x10)
MESA: info:             con 32     %45 = iadd! %38, %44
MESA: info:             con 1      %46 = ult! %45, %38
MESA: info:             con 32     %47 = b2i32! %46
MESA: info:             con 32    %269 = iadd3! %41, %42, %47
MESA: info:             con 32     %49 = ushr! %338, %17 (0x10)
MESA: info:             con 32    %268 = iadd3! %269, %49, %26
MESA: info:             con 32     %52 = iand! %268, %21 (0xffff)
MESA: info:                              @store_const_ir3 (%52) (base=4)
MESA: info:             con 32     %53 = ushr! %268, %17 (0x10)
MESA: info:                              @store_const_ir3 (%53) (base=5)
MESA: info:             con 32     %54 = ineg! %371.x
MESA: info:                              @store_const_ir3 (%54) (base=6)
MESA: info:             con 32     %56 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%56)
MESA: info:             con 32     %63 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %64 = @bindless_resource_ir3 (%63 (0x1)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%64)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %67 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %69 = @load_const_ir3 (%67 (0x0)) (base=0)
MESA: info:     con 32     %71 = @load_const_ir3 (%67 (0x0)) (base=1)
MESA: info:     con 32     %73 = @load_const_ir3 (%67 (0x0)) (base=2)
MESA: info:     con 32     %74 = @bindless_resource_ir3 (%67 (0x0)) (desc_set=3)
MESA: info:     con 32    %236 = load_const (0x00000002)
MESA: info:     div 32x4  %238 = @load_ssbo_ir3 (%74, %67 (0x0), %67 (0x0)) (base=0, access=speculatable, align_mul=1073741824, align_offset=0)
MESA: info:     div 32x4  %396 = mov %238.wzyx
MESA: info:     con 32     %80 = load_const (0x00000001)
MESA: info:     con 32     %81 = load_const (0x00000010 = 16)
MESA: info:     div 32x4  %241 = @load_ssbo_ir3 (%74, %81 (0x10), %67 (0x0)) (base=4, access=speculatable, align_mul=1073741824, align_offset=16)
MESA: info:     div 32x4  %383 = mov %241.wzyx
MESA: info:     con 32     %88 = load_const (0x00000006)
MESA: info:                      // succs: b7
MESA: info:     con loop {
MESA: info:         con block b7:        // preds: b6 b13
MESA: info:         con 32     %89 = phi b6: %80 (0x1), b13: %229
MESA: info:         div 32x4  %382 = phi b6: %383, b13: %445
MESA: info:         div 32x4  %395 = phi b6: %396, b13: %453
MESA: info:         con 32    %100 = @load_const_ir3 (%67 (0x0)) (base=3)
MESA: info:         con 1     %101 = uge %89, %100
MESA: info:                          // succs: b8 b9
MESA: info:         if %101 {
MESA: info:             con block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b14
MESA: info:         } else {
MESA: info:             con block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         con block b10:       // preds: b9
MESA: info:         con 32     %98 = load_const (0x00000064 = 100)
MESA: info:         con 32    %102 = load_const (0x0000ffff = 65535)
MESA: info:         con 32    %103 = iand %89, %102 (0xffff)
MESA: info:         con 32    %105 = ushr %89, %81 (0x10)
MESA: info:         con 32x3  %407 = load_const (0x0000851f, 0x000051eb, 0x51eb851f) = (34079, 20971, 1374389535)
MESA: info:         con 32x3  %408 = umul_low %103.xxx, %407 (0x851f, 0x51eb, 0x51eb851f)
MESA: info:         con 32x2  %401 = load_const (0x0000851f, 0x000051eb) = (34079, 20971)
MESA: info:         con 32x2  %402 = imadsh_mix16 %401 (0x851f, 0x51eb), %103.xx, %408.xy
MESA: info:         con 32x2  %403 = load_const (0x0000851f, 0x000051eb) = (34079, 20971)
MESA: info:         con 32x2  %404 = umul_low %105.xx, %403 (0x851f, 0x51eb)
MESA: info:         con 32x2  %405 = load_const (0x0000851f, 0x000051eb) = (34079, 20971)
MESA: info:         con 32x2  %406 = imadsh_mix16 %405 (0x851f, 0x51eb), %105.xx, %404
MESA: info:         con 32    %111 = load_const (0x51eb851f = 1374389535)
MESA: info:         con 32    %319 = imadsh_mix16 %103, %111 (0x51eb851f), %408.z
MESA: info:         con 32    %320 = imadsh_mix16 %111 (0x51eb851f), %103, %319
MESA: info:         con 1     %113 = ult %320, %402.x
MESA: info:         con 32    %114 = b2i32 %113
MESA: info:         con 32    %116 = ushr %402.y, %81 (0x10)
MESA: info:         con 32    %267 = iadd3 %406.y, %114, %116
MESA: info:         con 32    %118 = load_const (0x851f0000 = -2061565952 = 2233401344)
MESA: info:         con 32    %361 = load_const (0x00000000)
MESA: info:         con 32    %316 = imadsh_mix16 %105, %118 (0x851f0000), %361 (0x0)
MESA: info:         con 32    %120 = iadd %320, %316
MESA: info:         con 1     %121 = ult %120, %320
MESA: info:         con 32    %122 = b2i32 %121
MESA: info:         con 32    %124 = ushr %406.x, %81 (0x10)
MESA: info:         con 32    %266 = iadd3 %267, %122, %124
MESA: info:         con 32x2  %409 = load_const (0x00000005, 0x00000015) = (5, 21)
MESA: info:         con 32x2  %410 = ushr! %266.xx, %409 (0x5, 0x15)
MESA: info:         con 32    %312 = umul_low %410.x, %98 (0x64)
MESA: info:         con 32    %314 = imadsh_mix16 %98 (0x64), %410.x, %312
MESA: info:         con 32    %364 = isub %89, %314
MESA: info:         con 32    %130 = iand! %410.x, %102 (0xffff)
MESA: info:         con 32    %132 = @load_const_ir3 (%67 (0x0)) (base=4)
MESA: info:         con 32    %136 = @load_const_ir3 (%67 (0x0)) (base=5)
MESA: info:         con 32    %309 = umul_low! %130, %132
MESA: info:         con 32    %310 = imadsh_mix16! %130, %132, %309
MESA: info:         con 32    %311 = imadsh_mix16! %132, %130, %310
MESA: info:         con 32    %306 = umul_low! %130, %136
MESA: info:         con 32    %307 = imadsh_mix16! %130, %136, %306
MESA: info:         con 32    %308 = imadsh_mix16! %136, %130, %307
MESA: info:         con 32    %303 = umul_low! %410.y, %132
MESA: info:         con 32    %304 = imadsh_mix16! %410.y, %132, %303
MESA: info:         con 32    %305 = imadsh_mix16! %132, %410.y, %304
MESA: info:         con 32    %300 = umul_low! %410.y, %136
MESA: info:         con 32    %301 = imadsh_mix16! %410.y, %136, %300
MESA: info:         con 32    %302 = imadsh_mix16! %136, %410.y, %301
MESA: info:         con 32    %141 = ishl! %308, %81 (0x10)
MESA: info:         con 32    %142 = iadd! %311, %141
MESA: info:         con 1     %143 = ult! %142, %311
MESA: info:         con 32    %144 = b2i32! %143
MESA: info:         con 32    %146 = ushr! %308, %81 (0x10)
MESA: info:         con 32    %264 = iadd3! %302, %144, %146
MESA: info:         con 32    %148 = ishl! %305, %81 (0x10)
MESA: info:         con 32    %149 = iadd! %142, %148
MESA: info:         con 1     %150 = ult! %149, %142
MESA: info:         con 32    %151 = b2i32! %150
MESA: info:         con 32    %153 = ushr! %305, %81 (0x10)
MESA: info:         con 32    %263 = iadd3! %264, %151, %153
MESA: info:         con 32    %297 = umul_low! %263, %73
MESA: info:         con 32    %298 = imadsh_mix16! %263, %73, %297
MESA: info:         con 32    %299 = imadsh_mix16! %73, %263, %298
MESA: info:         con 32    %363 = isub! %410.x, %299
MESA: info:         con 1     %158 = uge! %363, %73
MESA: info:         con 32    %160 = @load_const_ir3 (%67 (0x0)) (base=6)
MESA: info:         con 32    %161 = iadd! %363, %160
MESA: info:         con 32    %162 = bcsel! %158, %161, %363
MESA: info:         con 1     %163 = uge! %162, %73
MESA: info:         con 32    %164 = iadd! %162, %160
MESA: info:         con 32    %165 = bcsel! %163, %164, %162
MESA: info:         con 32    %166 = iadd! %263, %80 (0x1)
MESA: info:         con 32    %167 = bcsel! %158, %166, %263
MESA: info:         con 32    %168 = iadd! %167, %80 (0x1)
MESA: info:         con 32    %169 = bcsel! %163, %168, %167
MESA: info:         con 32    %170 = iand %364, %102 (0xffff)
MESA: info:         con 32    %172 = ushr %364, %81 (0x10)
MESA: info:         con 32x3  %419 = load_const (0x0000cccd, 0x0000cccc, 0xcccccccd) = (+52429, +52428, -858993459) = (52429, 52428, 3435973837)
MESA: info:         con 32x3  %420 = umul_low %170.xxx, %419 (0xcccd, 0xcccc, 0xcccccccd)
MESA: info:         con 32x2  %413 = load_const (0x0000cccd, 0x0000cccc) = (52429, 52428)
MESA: info:         con 32x2  %414 = imadsh_mix16 %413 (0xcccd, 0xcccc), %170.xx, %420.xy
MESA: info:         con 32x2  %415 = load_const (0x0000cccd, 0x0000cccc) = (52429, 52428)
MESA: info:         con 32x2  %416 = umul_low %172.xx, %415 (0xcccd, 0xcccc)
MESA: info:         con 32x2  %417 = load_const (0x0000cccd, 0x0000cccc) = (52429, 52428)
MESA: info:         con 32x2  %418 = imadsh_mix16 %417 (0xcccd, 0xcccc), %172.xx, %416
MESA: info:         con 32    %178 = load_const (0xcccccccd = -858993459 = 3435973837)
MESA: info:         con 32    %283 = imadsh_mix16 %170, %178 (0xcccccccd), %420.z
MESA: info:         con 32    %284 = imadsh_mix16 %178 (0xcccccccd), %170, %283
MESA: info:         con 1     %180 = ult %284, %414.x
MESA: info:         con 32    %181 = b2i32 %180
MESA: info:         con 32    %183 = ushr %414.y, %81 (0x10)
MESA: info:         con 32    %261 = iadd3 %418.y, %181, %183
MESA: info:         con 32    %185 = load_const (0xcccd0000 = -858980352 = 3435986944)
MESA: info:         con 32    %356 = load_const (0x00000000)
MESA: info:         con 32    %280 = imadsh_mix16 %172, %185 (0xcccd0000), %356 (0x0)
MESA: info:         con 32    %187 = iadd %284, %280
MESA: info:         con 1     %188 = ult %187, %284
MESA: info:         con 32    %189 = b2i32 %188
MESA: info:         con 32    %191 = ushr %418.x, %81 (0x10)
MESA: info:         con 32    %260 = iadd3 %261, %189, %191
MESA: info:         con 32    %193 = load_const (0x00000003)
MESA: info:         con 32    %194 = ushr %260, %193 (0x3)
MESA: info:         con 32    %195 = load_const (0x0000000a = 10)
MESA: info:         con 32    %276 = umul_low %194, %195 (0xa)
MESA: info:         con 32    %278 = imadsh_mix16 %195 (0xa), %194, %276
MESA: info:         con 32    %362 = isub %364, %278
MESA: info:         con 32    %199 = load_const (0x00000280 = 640)
MESA: info:         con 32    %273 = umul_low %165, %199 (0x280)
MESA: info:         con 32    %275 = imadsh_mix16 %199 (0x280), %165, %273
MESA: info:         con 32    %201 = ishl %362, %88 (0x6)
MESA: info:         con 32    %202 = iadd %275, %201
MESA: info:         con 1     %203 = ult %202, %69
MESA: info:         con 32    %270 = umul_low %169, %199 (0x280)
MESA: info:         con 32    %272 = imadsh_mix16 %199 (0x280), %169, %270
MESA: info:         con 32    %205 = ishl %194, %88 (0x6)
MESA: info:         con 32    %206 = iadd %272, %205
MESA: info:         con 1     %207 = ult %206, %71
MESA: info:         con 1     %208 = iand %203, %207
MESA: info:                          // succs: b11 b12
MESA: info:         if %208 {
MESA: info:             con block b11:       // preds: b10
MESA: info:             con 32x2  %421 = load_const (0x00000005, 0x00000003)
MESA: info:             con 32x2  %422 = ishl %89.xx, %421 (0x5, 0x3)
MESA: info:             con 32    %423 = mov %422.x
MESA: info:             con 32    %424 = mov %422.y
MESA: info:             div 32x4  %245 = @load_ssbo_ir3 (%74, %423, %424) (base=0, access=speculatable, align_mul=32, align_offset=0)
MESA: info:             div 32x4  %430 = fmin %395.wzyx, %245
MESA: info:             div 32x4  %454 = mov %430.wzyx
MESA: info:             con 32    %215 = iadd %422.x, %81 (0x10)
MESA: info:             con 32    %247 = ushr %215, %236 (0x2)
MESA: info:             div 32x4  %248 = @load_ssbo_ir3 (%74, %215, %247) (base=0, access=speculatable, align_mul=32, align_offset=16)
MESA: info:             div 32x4  %437 = fmax %382.wzyx, %248
MESA: info:             div 32x4  %446 = mov %437.wzyx
MESA: info:                              // succs: b13
MESA: info:         } else {
MESA: info:             con block b12:  // preds: b10, succs: b13
MESA: info:         }
MESA: info:         con block b13:       // preds: b11 b12
MESA: info:         div 32x4  %445 = phi b11: %446, b12: %382
MESA: info:         div 32x4  %453 = phi b11: %454, b12: %395
MESA: info:         con 32    %229 = iadd %89, %80 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b14:       // preds: b8
MESA: info:     div 32x4  %456 = phi b8: %382
MESA: info:     div 32x4  %455 = phi b8: %395
MESA: info:     con 32    %230 = @bindless_resource_ir3 (%80 (0x1)) (desc_set=3)
MESA: info:     div 32x4  %231 = vec4 %455.w, %455.z, %455.y, %455.x
MESA: info:                      @store_ssbo_ir3 (%231, %230, %67 (0x0), %67 (0x0)) (base=0, wrmask=xyzw, access=none, align_mul=1073741824, align_offset=0)
MESA: info:     div 32x4  %232 = vec4 %456.w, %456.z, %456.y, %456.x
MESA: info:                      @store_ssbo_ir3 (%232, %230, %81 (0x10), %67 (0x0)) (base=4, wrmask=xyzw, access=none, align_mul=1073741824, align_offset=16)
MESA: info:                      // succs: b15
MESA: info:     block b15:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 4520eb18e9ff23e251cac78a46dfa2c01abbf71f:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @const(c4.x)	0x3acccccd, 0x4f7ffffe, 0x0000ffff, 0x00000280
MESA: info: @const(c5.x)	0x000051eb, 0x51eb851f, 0x0000851f, 0x851f0000
MESA: info: @const(c6.x)	0x0000cccc, 0xcccccccd, 0x0000cccd, 0xcccd0000
MESA: info: shps #l110
MESA: info: getone #l110
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 2, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 1
MESA: info: (sy)(ss)cov.f32u32 r48.x, r48.x
MESA: info: cov.u32f32 r48.z, r48.x
MESA: info: mul.f r48.z, r48.z, c4.x
MESA: info: ceil.f r48.z, r48.z
MESA: info: cov.f32u32 r48.z, r48.z
MESA: info: cov.u32f32 r50.x, r48.z
MESA: info: shr.b r49.x, r48.z, 16
MESA: info: mull.u r49.y, r48.z, 100
MESA: info: shr.b r50.y, r48.z, 16
MESA: info: absneg.s r50.z, (neg)r48.z
MESA: info: cov.f32u32 r48.y, r48.y
MESA: info: mull.u r49.x, 100, r49.x
MESA: info: cov.u32f32 r48.w, r48.y
MESA: info: shl.b r49.x, r49.x, 16
MESA: info: mul.f r48.w, r48.w, c4.x
MESA: info: add.u r49.x, r49.x, r49.y
MESA: info: ceil.f r48.w, r48.w
MESA: info: cov.f32u32 r48.w, r48.w
MESA: info: shr.b r49.z, r48.w, 16
MESA: info: mull.u r49.w, r49.x, r48.w
MESA: info: mull.u r49.z, r49.x, r49.z
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: shr.b r49.x, r49.x, 16
MESA: info: add.u r49.z, r49.z, r49.w
MESA: info: mull.u r48.w, r48.w, r49.x
MESA: info: shl.b r48.w, r48.w, 16
MESA: info: add.u r48.w, r48.w, r49.z
MESA: info: (ss)rcp r50.x, r50.x
MESA: info: stc.u32 c[2], r48.z, 1
MESA: info: stc.u32 c[6], r50.z, 1
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[1], r48.y, 1
MESA: info: stc.u32 c[3], r48.w, 1
MESA: info: (ss)mul.f r50.x, r50.x, c4.y
MESA: info: cov.f32u32 r50.x, r50.x
MESA: info: mull.u r50.y, r50.x, r50.y
MESA: info: shr.b r50.w, r50.x, 16
MESA: info: and.b r51.x, r50.x, c4.z
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: mull.u r50.w, r48.z, r50.w
MESA: info: shr.b r52.x, r51.x, 16
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: mull.u r48.z, r48.z, r50.x
MESA: info: add.u r50.w, r50.w, r48.z
MESA: info: add.u r50.y, r50.y, r50.w
MESA: info: absneg.s r50.y, (neg)r50.y
MESA: info: and.b r51.y, r50.y, c4.z
MESA: info: shr.b r51.z, r51.y, 16
MESA: info: mull.u r51.w, r51.x, r51.y
MESA: info: mull.u r52.x, r51.y, r52.x
MESA: info: mull.u r51.z, r51.x, r51.z
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r51.w
MESA: info: add.u r52.x, r52.x, r51.z
MESA: info: shr.b r52.w, r50.x, 16
MESA: info: shr.b r53.x, r51.y, 16
MESA: info: shr.b r50.y, r50.y, 16
MESA: info: mull.u r53.y, r52.w, r51.y
MESA: info: shr.b r53.z, r52.w, 16
MESA: info: mull.u r53.x, r52.w, r53.x
MESA: info: shr.b r52.y, r50.y, 16
MESA: info: mull.u r52.z, r51.x, r50.y
MESA: info: shr.b r53.w, r50.y, 16
MESA: info: mull.u r54.x, r52.w, r50.y
MESA: info: mull.u r51.y, r51.y, r53.z
MESA: info: shl.b r53.x, r53.x, 16
MESA: info: mull.u r52.y, r51.x, r52.y
MESA: info: mull.u r53.w, r52.w, r53.w
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r53.x, r53.x, r53.y
MESA: info: shl.b r52.y, r52.y, 16
MESA: info: shr.b r51.x, r51.x, 16
MESA: info: shl.b r53.w, r53.w, 16
MESA: info: shr.b r52.w, r52.w, 16
MESA: info: add.u r51.y, r51.y, r53.x
MESA: info: add.u r52.y, r52.y, r52.z
MESA: info: mull.u r51.x, r50.y, r51.x
MESA: info: add.u r53.w, r53.w, r54.x
MESA: info: shl.b r51.x, r51.x, 16
MESA: info: mull.u r50.y, r50.y, r52.w
MESA: info: add.u r51.x, r51.x, r52.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: shl.b r54.y, r51.x, 16
MESA: info: add.u r50.y, r50.y, r53.w
MESA: info: add.u r54.y, r52.x, r54.y
MESA: info: shr.b r51.x, r51.x, 16
MESA: info: cmps.u.lt hr53.x, r54.y, r52.x
MESA: info: cov.u16s32 r50.w, hr53.x
MESA: info: add.u r50.y, r50.y, r50.w
MESA: info: add.u r50.y, r50.y, r51.x
MESA: info: shl.b r51.x, r51.y, 16
MESA: info: add.u r51.x, r54.y, r51.x
MESA: info: shr.b r51.y, r51.y, 16
MESA: info: (ss)cmps.u.lt hr54.x, r51.x, r54.y
MESA: info: cov.u16s32 r51.z, hr54.x
MESA: info: add.u r50.y, r50.y, r51.z
MESA: info: add.u r50.y, r50.y, r51.y
MESA: info: add.u r50.y, r50.y, r50.x
MESA: info: and.b r51.w, r50.y, c4.z
MESA: info: shr.b r50.y, r50.y, 16
MESA: info: (ss)nop
MESA: info: stc.u32 c[4], r51.w, 1
MESA: info: stc.u32 c[5], r50.y, 1
MESA: info: (sy)(ss)shpe
MESA: info: l110:
MESA: info: (jp)mov.u32u32 r52.x, 1
MESA: info: mov.u32u32 r0.x, 0
MESA: info: (rpt4)nop
MESA: info: ldib.b.untyped.1d.u32.4.imm.base3 r0.y, r0.x, 0
MESA: info: ldib.b.untyped.1d.u32.4.imm.base3 r1.y, r0.x+4, 0
MESA: info: l115:
MESA: info: cmps.u.ge hr48.z, r52.x, c0.w
MESA: info: (ss)(nop3) cmps.s.ne p0.x, hr48.z, h(0)
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l329
MESA: info: and.b r48.z, r52.x, c4.z
MESA: info: shr.b r49.w, r52.x, 16
MESA: info: shr.b r51.x, c5.y, 16
MESA: info: shr.b r51.w, c5.w, 16
MESA: info: shr.b r48.w, r48.z, 16
MESA: info: shr.b r49.x, r48.z, 16
MESA: info: mull.u r49.y, r48.z, c5.z
MESA: info: mull.u r49.z, r48.z, c5.x
MESA: info: mull.u r51.y, r48.z, c5.y
MESA: info: shr.b r50.x, r49.w, 16
MESA: info: shr.b r50.y, r49.w, 16
MESA: info: mull.u r50.z, r49.w, c5.z
MESA: info: mull.u r50.w, r49.w, c5.x
MESA: info: mull.u r51.x, r48.z, r51.x
MESA: info: mull.u r48.w, c5.z, r48.w
MESA: info: mull.u r49.x, c5.x, r49.x
MESA: info: mull.u r50.y, c5.x, r50.y
MESA: info: mull.u r49.w, r49.w, r51.w
MESA: info: shl.b r51.x, r51.x, 16
MESA: info: shr.b r48.z, r48.z, 16
MESA: info: shl.b r48.w, r48.w, 16
MESA: info: shl.b r49.x, r49.x, 16
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r51.x, r51.x, r51.y
MESA: info: mull.u r48.z, c5.y, r48.z
MESA: info: add.u r48.w, r48.w, r49.y
MESA: info: add.u r49.x, r49.x, r49.z
MESA: info: add.u r50.y, r50.y, r50.w
MESA: info: add.u r49.w, r49.w, 0
MESA: info: shl.b r48.z, r48.z, 16
MESA: info: shr.b r49.x, r49.x, 16
MESA: info: add.u r48.z, r48.z, r51.x
MESA: info: add.u r49.w, r48.z, r49.w
MESA: info: shr.b r53.z, c1.x, 16
MESA: info: shr.b r54.y, c1.y, 16
MESA: info: shr.b r54.w, c1.x, 16
MESA: info: shr.b r55.z, c1.y, 16
MESA: info: mull.u r50.x, c5.z, r50.x
MESA: info: shr.b r49.y, c0.z, 16
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: add.u r50.x, r50.x, r50.z
MESA: info: shr.b r50.x, r50.x, 16
MESA: info: (ss)cmps.u.lt hr49.z, r48.z, r48.w
MESA: info: cmps.u.lt hr51.z, r49.w, r48.z
MESA: info: cov.u16s32 r51.z, hr49.z
MESA: info: add.u r50.y, r50.y, r51.z
MESA: info: add.u r50.y, r50.y, r49.x
MESA: info: cov.u16s32 r52.y, hr51.z
MESA: info: add.u r50.y, r50.y, r52.y
MESA: info: add.u r50.y, r50.y, r50.x
MESA: info: shr.b r52.z, r50.y, 5
MESA: info: shr.b r52.w, r52.z, 16
MESA: info: mull.u r53.x, r52.z, 100
MESA: info: and.b r53.y, r52.z, c4.z
MESA: info: shr.b r50.y, r50.y, 21
MESA: info: mull.u r52.w, 100, r52.w
MESA: info: mull.u r53.z, r53.y, r53.z
MESA: info: mull.u r53.w, r53.y, c1.x
MESA: info: shr.b r54.x, r53.y, 16
MESA: info: mull.u r54.y, r53.y, r54.y
MESA: info: mull.u r54.z, r53.y, c1.y
MESA: info: mull.u r54.w, r50.y, r54.w
MESA: info: mull.u r55.x, r50.y, c1.x
MESA: info: shr.b r55.y, r50.y, 16
MESA: info: mull.u r55.z, r50.y, r55.z
MESA: info: mull.u r55.w, r50.y, c1.y
MESA: info: shl.b r52.w, r52.w, 16
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: mull.u r54.x, c1.x, r54.x
MESA: info: shl.b r54.y, r54.y, 16
MESA: info: shr.b r53.y, r53.y, 16
MESA: info: shl.b r54.w, r54.w, 16
MESA: info: mull.u r55.y, c1.x, r55.y
MESA: info: shl.b r55.z, r55.z, 16
MESA: info: shr.b r50.y, r50.y, 16
MESA: info: add.u r52.w, r52.w, r53.x
MESA: info: add.u r53.z, r53.z, r53.w
MESA: info: shl.b r54.x, r54.x, 16
MESA: info: add.u r54.y, r54.y, r54.z
MESA: info: mull.u r53.y, c1.y, r53.y
MESA: info: add.u r54.w, r54.w, r55.x
MESA: info: shl.b r55.y, r55.y, 16
MESA: info: add.u r55.z, r55.z, r55.w
MESA: info: mull.u r50.y, c1.y, r50.y
MESA: info: sub.u r52.w, r52.x, r52.w
MESA: info: add.u r54.x, r54.x, r53.z
MESA: info: shl.b r53.y, r53.y, 16
MESA: info: add.u r55.y, r55.y, r54.w
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: and.b r51.w, r52.w, c4.z
MESA: info: add.u r53.y, r53.y, r54.y
MESA: info: shr.b r54.w, c6.y, 16
MESA: info: add.u r50.y, r50.y, r55.z
MESA: info: shr.b r52.y, r51.w, 16
MESA: info: mull.u r53.x, r51.w, c6.z
MESA: info: mull.u r55.x, r51.w, c6.y
MESA: info: shl.b r48.x, r53.y, 16
MESA: info: mull.u r54.w, r51.w, r54.w
MESA: info: mull.u r52.y, c6.z, r52.y
MESA: info: add.u r48.x, r54.x, r48.x
MESA: info: shr.b r53.y, r53.y, 16
MESA: info: shl.b r54.w, r54.w, 16
MESA: info: shl.b r52.y, r52.y, 16
MESA: info: cmps.u.lt hr48.z, r48.x, r54.x
MESA: info: add.u r54.w, r54.w, r55.x
MESA: info: add.u r52.y, r52.y, r53.x
MESA: info: cov.u16s32 r48.z, hr48.z
MESA: info: add.u r50.y, r50.y, r48.z
MESA: info: add.u r50.y, r50.y, r53.y
MESA: info: mull.u r53.y, r51.w, c6.x
MESA: info: shr.b r53.z, r52.w, 16
MESA: info: shr.b r53.w, r53.z, 16
MESA: info: shr.b r54.x, r53.z, 16
MESA: info: mull.u r54.y, r53.z, c6.z
MESA: info: mull.u r54.z, r53.z, c6.x
MESA: info: mull.u r54.x, c6.x, r54.x
MESA: info: shl.b r54.x, r54.x, 16
MESA: info: add.u r54.x, r54.x, r54.z
MESA: info: mull.u r53.w, c6.z, r53.w
MESA: info: shl.b r53.w, r53.w, 16
MESA: info: add.u r53.w, r53.w, r54.y
MESA: info: shr.b r53.w, r53.w, 16
MESA: info: (ss)shl.b r48.w, r55.y, 16
MESA: info: add.u r48.w, r48.x, r48.w
MESA: info: shr.b r55.y, r55.y, 16
MESA: info: (ss)cmps.u.lt hr49.z, r48.w, r48.x
MESA: info: cov.u16s32 r49.x, hr49.z
MESA: info: add.u r50.y, r50.y, r49.x
MESA: info: add.u r50.y, r50.y, r55.y
MESA: info: mull.u r49.y, r50.y, r49.y
MESA: info: mull.u r49.z, r50.y, c0.z
MESA: info: shr.b r49.w, r50.y, 16
MESA: info: add.u r51.y, r50.y, 1
MESA: info: shl.b r49.y, r49.y, 16
MESA: info: mull.u r49.w, c0.z, r49.w
MESA: info: add.u r49.y, r49.y, r49.z
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r49.y
MESA: info: sub.u r52.z, r52.z, r49.w
MESA: info: cmps.u.ge r50.x, r52.z, c0.z
MESA: info: add.u r50.z, r52.z, c1.z
MESA: info: sel.b32 r51.y, r51.y, r50.x, r50.y
MESA: info: sel.b32 r50.z, r50.z, r50.x, r52.z
MESA: info: add.u r51.z, r51.y, 1
MESA: info: cmps.u.ge r50.w, r50.z, c0.z
MESA: info: shr.b r52.z, r51.w, 16
MESA: info: sel.b32 r51.z, r51.z, r50.w, r51.y
MESA: info: shr.b r51.w, r51.w, 16
MESA: info: mull.u r51.w, c6.y, r51.w
MESA: info: shl.b r51.w, r51.w, 16
MESA: info: add.u r51.w, r51.w, r54.w
MESA: info: mull.u r52.z, c6.x, r52.z
MESA: info: shl.b r52.z, r52.z, 16
MESA: info: add.u r52.z, r52.z, r53.y
MESA: info: shr.b r52.z, r52.z, 16
MESA: info: add.u r51.x, r50.z, c1.z
MESA: info: shr.b r50.y, r51.z, 16
MESA: info: sel.b32 r51.x, r51.x, r50.w, r50.z
MESA: info: mull.u r50.y, c4.w, r50.y
MESA: info: mull.u r51.z, r51.z, c4.w
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r51.z
MESA: info: (ss)cmps.u.lt hr54.z, r51.w, r52.y
MESA: info: cov.u16s32 r52.y, hr54.z
MESA: info: add.u r54.x, r54.x, r52.y
MESA: info: add.u r54.x, r54.x, r52.z
MESA: info: shr.b r52.z, c6.w, 16
MESA: info: mull.u r53.z, r53.z, r52.z
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: add.u r53.z, r53.z, 0
MESA: info: add.u r53.z, r51.w, r53.z
MESA: info: cmps.u.lt hr55.z, r53.z, r51.w
MESA: info: cov.u16s32 r53.x, hr55.z
MESA: info: add.u r54.x, r54.x, r53.x
MESA: info: add.u r54.x, r54.x, r53.w
MESA: info: shr.b r54.x, r54.x, 3
MESA: info: shr.b r53.w, r51.x, 16
MESA: info: shr.b r53.y, r54.x, 16
MESA: info: mull.u r53.z, r54.x, 10
MESA: info: mull.u r53.w, c4.w, r53.w
MESA: info: mull.u r51.x, r51.x, c4.w
MESA: info: mull.u r53.y, 10, r53.y
MESA: info: shl.b r54.x, r54.x, 6
MESA: info: shl.b r53.w, r53.w, 16
MESA: info: shl.b r53.y, r53.y, 16
MESA: info: add.u r50.y, r50.y, r54.x
MESA: info: add.u r53.w, r53.w, r51.x
MESA: info: add.u r53.y, r53.y, r53.z
MESA: info: sub.u r52.w, r52.w, r53.y
MESA: info: shl.b r52.w, r52.w, 6
MESA: info: add.u r53.w, r53.w, r52.w
MESA: info: cmps.u.lt hr52.x, r53.w, c0.x
MESA: info: (ss)cmps.u.lt hr52.z, r50.y, c0.y
MESA: info: cmps.s.ne p0.x, hr52.x, h(0)
MESA: info: (ss)(nop3) cmps.s.ne p0.y, hr52.z, h(0)
MESA: info: (rpt1)nop
MESA: info: brao !p0.x, !p0.y, #l327
MESA: info: shl.b r50.z, r52.x, 5
MESA: info: add.u r50.z, r50.z, 16
MESA: info: shl.b r2.y, r52.x, 3
MESA: info: (ss)(nop3) shr.b r3.z, r50.z, 2
MESA: info: nop
MESA: info: ldib.b.untyped.1d.u32.4.imm.base3 r2.z, r2.y, 0
MESA: info: nop
MESA: info: ldib.b.untyped.1d.u32.4.imm.base3 r3.w, r3.z, 0
MESA: info: (sy)(rpt3)min.f r0.y, (last)(r)r0.y, (last)(r)r2.z
MESA: info: (rpt3)max.f r1.y, (last)(r)r1.y, (last)(r)r3.w
MESA: info: l327:
MESA: info: add.u r52.x, r52.x, 1
MESA: info: jump #l115
MESA: info: l329:
MESA: info: mov.u32u32 r4.w, 0
MESA: info: (rpt4)nop
MESA: info: (sy)stib.b.untyped.1d.u32.4.imm.base3 r0.y, r4.w, 1
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.y, r4.w+4, 1
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs:
MESA: info: ; CL prog 20/1: 251 instr, 25 nops, 226 non-nops, 3 mov, 6 cov, 680 dwords
MESA: info: ; CL prog 20/1: 0 last-baryf, 0 last-helper, 0 half, 5 full, 8 constlen
MESA: info: ; CL prog 20/1: 29 cat0, 9 cat1, 201 cat2, 4 cat3, 0 cat4, 0 cat5, 6 cat6, 2 cat7
MESA: info: ; CL prog 20/1: 46 sstall, 9 (ss), 162 systall, 3 (sy), 1 loops
MESA: info: ; CL prog 20/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 110 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xd19a5430, 0x250cc06e, 0x22473a19, 0x56f83e4b, 0x684e1780, 0x83056dc2, 0x266f38d8, 0x7f20c0b8}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %131 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %125 = @load_ubo_vec4 (%4, %131 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %161 = f2u32 %125
MESA: info:             con 32    %162 = mov %161.x
MESA: info:             con 32    %163 = mov %161.y
MESA: info:                              @store_const_ir3 (%162) (base=16)
MESA: info:                              @store_const_ir3 (%163) (base=17)
MESA: info:             con 32      %8 = u2f32 %161.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %125.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %18 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%18)
MESA: info:             con 32     %20 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%20)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %23 = @load_local_invocation_id
MESA: info:     con 32x3   %24 = @load_workgroup_id
MESA: info:     con 32x3   %25 = @load_base_workgroup_id
MESA: info:     con 32x2  %164 = iadd %24.xy, %25.xy
MESA: info:     con 32     %28 = load_const (0x00000000)
MESA: info:     con 32x2   %33 = @load_const_ir3 (%28 (0x0)) (base=40)
MESA: info:     con 32     %35 = @load_const_ir3 (%28 (0x0)) (base=16)
MESA: info:     con 32     %37 = @load_const_ir3 (%28 (0x0)) (base=17)
MESA: info:     con 32     %38 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %165 = umul_low %164, %38 (0xa).xx
MESA: info:     con 32x2  %166 = imadsh_mix16 %38 (0xa).xx, %164, %165
MESA: info:     div 32x2  %167 = iadd %166, %23.xy
MESA: info:     con 32     %43 = load_const (0x00000006)
MESA: info:     div 32x2  %168 = ishl %167, %43 (0x6).xx
MESA: info:     div 32    %169 = mov %168.x
MESA: info:     div 32    %170 = mov %168.y
MESA: info:     div 32    %152 = umul_low %23.y, %38 (0xa)
MESA: info:     div 32    %154 = imadsh_mix16 %38 (0xa), %23.y, %152
MESA: info:     con 32     %49 = @load_const_ir3 (%28 (0x0)) (base=18)
MESA: info:     con 32    %149 = umul_low %164.y, %49
MESA: info:     con 32    %150 = imadsh_mix16 %164.y, %49, %149
MESA: info:     con 32    %151 = imadsh_mix16 %49, %164.y, %150
MESA: info:     con 32     %51 = iadd %151, %164.x
MESA: info:     con 32     %52 = load_const (0x00000064 = 100)
MESA: info:     con 32    %146 = umul_low %51, %52 (0x64)
MESA: info:     con 32    %148 = imadsh_mix16 %52 (0x64), %51, %146
MESA: info:     div 32    %145 = iadd3 %154, %23.x, %148
MESA: info:     con 32x4  %181 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %194 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %180 = phi b6: %181 (0x0, 0x0, 0x0, 0x0), b15: %182
MESA: info:         div 32x4  %193 = phi b6: %194 (0x0, 0x0, 0x0, 0x0), b15: %225
MESA: info:         div 32     %63 = phi b6: %28 (0x0), b15: %224
MESA: info:         div 32     %64 = phi b6: %170, b15: %115
MESA: info:         div 32x3  %202 = mov %180.yzw
MESA: info:         div 32    %174 = mov %180.x
MESA: info:         con 32     %65 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %197 = iadd %168.yx, %65 (0x40).xx
MESA: info:         div 32     %68 = umin %37, %197.x
MESA: info:         div 32     %69 = umin %35, %197.y
MESA: info:         div 1      %70 = uge %64, %68
MESA: info:                          // succs: b8 b9
MESA: info:         if %70 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %71 = phi b10: %169, b14: %113
MESA: info:             div 32     %72 = phi b10: %174, b14: %112
MESA: info:             div 32x3  %201 = phi b10: %202, b14: %217
MESA: info:             div 32x4  %210 = phi b10: %193, b14: %211
MESA: info:             div 32     %80 = phi b10: %63, b14: %137
MESA: info:             div 1      %81 = uge %71, %69
MESA: info:                              // succs: b12 b13
MESA: info:             if %81 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %82 = u2f32 %71
MESA: info:             con 32     %84 = @load_const_ir3 (%28 (0x0)) (base=19)
MESA: info:             div 32     %85 = fmul %82, %84
MESA: info:             con 32     %89 = @load_const_ir3 (%28 (0x0)) (base=37)
MESA: info:             div 32     %90 = fmul %85, %33.x
MESA: info:             div 32     %91 = f2i32 %90
MESA: info:             con 32     %92 = @bindless_resource_ir3 (%28 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %93 = (uint32)txf %92 (texture_handle), %91 (coord), %89 (lod), 0 (texture)
MESA: info:             div 32x3  %213 = umin %201, %93.xyz
MESA: info:             div 32     %98 = umin %210.x, %93.w
MESA: info:             div 32x3  %215 = umax %210.yzw, %93.xyz
MESA: info:             div 32    %102 = umax %80, %93.w
MESA: info:             div 32x3  %217 = icsel_eqz %72.xxx, %93.xyz, %213
MESA: info:             div 32    %141 = icsel_eqz %72, %93.w, %98
MESA: info:             div 32x3  %219 = icsel_eqz %72.xxx, %93.xyz, %215
MESA: info:             div 32    %137 = icsel_eqz %72, %93.w, %102
MESA: info:             con 32    %111 = load_const (0x00000001)
MESA: info:             div 32    %112 = iadd %72, %111 (0x1)
MESA: info:             div 32    %113 = iadd %71, %111 (0x1)
MESA: info:             div 32x4  %211 = vec4 %141, %219.x, %219.y, %219.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %227 = phi b12: %72
MESA: info:         div 32x3  %226 = phi b12: %201
MESA: info:         div 32x4  %225 = phi b12: %210
MESA: info:         div 32    %224 = phi b12: %80
MESA: info:         con 32    %114 = load_const (0x00000001)
MESA: info:         div 32    %115 = iadd %64, %114 (0x1)
MESA: info:         div 32x4  %182 = vec4 %227, %226.x, %226.y, %226.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %230 = phi b8: %180
MESA: info:     div 32x4  %229 = phi b8: %193
MESA: info:     div 32    %228 = phi b8: %63
MESA: info:     con 32     %31 = load_const (0x00000002)
MESA: info:     con 32x2  %220 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %221 = ishl %145.xx, %220 (0x5, 0x3)
MESA: info:     div 32    %222 = mov %221.x
MESA: info:     div 32    %223 = mov %221.y
MESA: info:     con 32    %118 = @bindless_resource_ir3 (%28 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %119 = vec4 %230.y, %230.z, %230.w, %229.x
MESA: info:                      @store_ssbo_ir3 (%119, %118, %222, %223) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %120 = load_const (0x00000010 = 16)
MESA: info:     div 32    %121 = iadd %221.x, %120 (0x10)
MESA: info:     div 32x4  %122 = vec4 %229.y, %229.z, %229.w, %228
MESA: info:     div 32    %130 = ushr %121, %31 (0x2)
MESA: info:                      @store_ssbo_ir3 (%122, %118, %121, %130) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 a13e77ff5d0e0d80182e63054db61cb159e3394f:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l20
MESA: info: getone #l20
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.x, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.x, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l20:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.z, r48.y, 16
MESA: info: mull.u r50.w, r48.y, 10
MESA: info: mull.u r50.z, 10, r50.z
MESA: info: shl.b r50.z, r50.z, 16
MESA: info: add.u r50.z, r50.z, r50.w
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.x, r48.x, 16
MESA: info: mull.u r50.y, r48.x, 10
MESA: info: mull.u r50.x, 10, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: add.u r50.x, r50.x, r50.y
MESA: info: shr.b r49.w, c4.z, 16
MESA: info: mull.u r51.x, r48.y, c4.z
MESA: info: mull.u r49.w, r48.y, r49.w
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r49.w, r49.w, r51.x
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r49.w
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.y, r48.y, 16
MESA: info: mull.u r51.y, 100, r51.y
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.z, (last)r0.y
MESA: info: add.u r1.x, r50.x, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.y
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l64:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l106
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l72:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l104
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: add.u r4.w, r1.y, 1
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: (nop2) mul.f r4.z, (last)r4.z, c4.w
MESA: info: (nop2) mul.f r4.z, (last)r4.z, c10.x
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r4.w, (0x0)
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.base2 (u32)(xyzw)r5.x, r4.z, r40.x, s#0, t#0
MESA: info: (sy)min.u r1.z, (last)r1.z, r5.x
MESA: info: min.u r1.w, (last)r1.w, r5.y
MESA: info: min.u r2.x, (last)r2.x, r5.z
MESA: info: min.u r2.y, (last)r2.y, r5.w
MESA: info: max.u r2.z, (last)r2.z, r5.x
MESA: info: max.u r2.w, (last)r2.w, r5.y
MESA: info: max.u r3.x, (last)r3.x, r5.z
MESA: info: max.u r3.y, (last)r3.y, r5.w
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.x
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.y
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r5.z
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r5.w
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.x
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.y
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r5.z
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r5.w
MESA: info: mov.u32u32 r1.y, (last)r4.w
MESA: info: jump #l72
MESA: info: l104:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l64
MESA: info: l106:
MESA: info: (jp)shl.b r6.x, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.x, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 21/1: 123 instr, 32 nops, 91 non-nops, 12 mov, 2 cov, 256 dwords
MESA: info: ; CL prog 21/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 21/1: 37 cat0, 14 cat1, 55 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 4 cat7
MESA: info: ; CL prog 21/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 21/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 20 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x6d25ff6f, 0x11a6db87, 0x4839d1fd, 0x6a96a013, 0x01c07962, 0x1e42c707, 0x731e02d6, 0x9383c643}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %201 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %285 = f2u32 %201
MESA: info:             con 32    %286 = mov %285.x
MESA: info:             con 32    %287 = mov %285.y
MESA: info:                              @store_const_ir3 (%286) (base=16)
MESA: info:                              @store_const_ir3 (%287) (base=17)
MESA: info:             con 32     %10 = frcp %201.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32    %204 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %292 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %293 = iand %204.xxxx, %292 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %301 = ieq %293, %2 (0x0).xxxx
MESA: info:             con 32x4  %302 = b2i32 %301
MESA: info:             con 32    %303 = mov %302.w
MESA: info:             con 32    %300 = mov %302.z
MESA: info:             con 32    %296 = mov %302.x
MESA: info:             con 32    %297 = mov %302.y
MESA: info:                              @store_const_ir3 (%296) (base=19)
MESA: info:                              @store_const_ir3 (%297) (base=20)
MESA: info:                              @store_const_ir3 (%300) (base=21)
MESA: info:                              @store_const_ir3 (%303) (base=22)
MESA: info:             con 32    %207 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %27 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %28 = fadd %207, %27 (1.000000)
MESA: info:             con 32     %29 = f2u32 %28
MESA: info:                              @store_const_ir3 (%29) (base=23)
MESA: info:                              @store_const_ir3 (%29) (base=24)
MESA: info:                              @store_const_ir3 (%29) (base=25)
MESA: info:                              @store_const_ir3 (%29) (base=26)
MESA: info:             con 32x2  %219 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %284 = fsub %219.y, %219.x
MESA: info:             con 32     %45 = frcp %284
MESA: info:                              @store_const_ir3 (%45) (base=27)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %50 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%50)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %51 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %52 = load_const (0x00000002)
MESA: info:     con 32x2   %57 = @load_const_ir3 (%51 (0x0)) (base=40)
MESA: info:     con 32     %59 = @load_const_ir3 (%51 (0x0)) (base=16)
MESA: info:     con 32     %61 = @load_const_ir3 (%51 (0x0)) (base=17)
MESA: info:     con 32x3   %62 = @load_workgroup_id
MESA: info:     con 32x3   %63 = @load_base_workgroup_id
MESA: info:     con 32x2  %304 = iadd %62.xy, %63.xy
MESA: info:     con 32     %66 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %305 = umul_low %304, %66 (0xa).xx
MESA: info:     con 32x2  %306 = imadsh_mix16 %66 (0xa).xx, %304, %305
MESA: info:     div 32x3   %69 = @load_local_invocation_id
MESA: info:     div 32x2  %307 = iadd %306, %69.xy
MESA: info:     con 32     %72 = load_const (0x00000006)
MESA: info:     div 32x2  %308 = ishl %307, %72 (0x6).xx
MESA: info:     div 32    %309 = mov %308.x
MESA: info:     div 32    %310 = mov %308.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %75 = phi b6: %310, b30: %198
MESA: info:         con 32     %76 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %311 = iadd %308.yx, %76 (0x40).xx
MESA: info:         div 32     %79 = umin %61, %311.x
MESA: info:         div 32     %80 = umin %59, %311.y
MESA: info:         div 1      %81 = uge %75, %79
MESA: info:                          // succs: b8 b9
MESA: info:         if %81 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %82 = phi b10: %309, b29: %196
MESA: info:             div 1      %83 = uge %82, %80
MESA: info:                              // succs: b12 b13
MESA: info:             if %83 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %84 = u2f32 %82
MESA: info:             con 32     %86 = @load_const_ir3 (%51 (0x0)) (base=18)
MESA: info:             div 32     %87 = fmul %84, %86
MESA: info:             con 32     %91 = @load_const_ir3 (%51 (0x0)) (base=37)
MESA: info:             div 32     %92 = fmul %87, %57.x
MESA: info:             div 32     %93 = f2i32 %92
MESA: info:             con 32     %94 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %95 = (uint32)txf %94 (texture_handle), %93 (coord), %91 (lod), 0 (texture)
MESA: info:             con 32     %98 = @load_const_ir3 (%51 (0x0)) (base=32)
MESA: info:             con 32    %102 = @load_const_ir3 (%51 (0x0)) (base=19)
MESA: info:             con 32    %106 = @load_const_ir3 (%51 (0x0)) (base=20)
MESA: info:             con 32    %110 = @load_const_ir3 (%51 (0x0)) (base=21)
MESA: info:             con 32    %114 = @load_const_ir3 (%51 (0x0)) (base=22)
MESA: info:             con 32    %121 = @load_const_ir3 (%51 (0x0)) (base=23)
MESA: info:             div 32    %262 = icsel_eqz %102, %95.x, %121
MESA: info:             con 32    %125 = @load_const_ir3 (%51 (0x0)) (base=24)
MESA: info:             div 32    %261 = icsel_eqz %106, %95.y, %125
MESA: info:             con 32    %128 = @load_const_ir3 (%51 (0x0)) (base=25)
MESA: info:             div 32    %260 = icsel_eqz %110, %95.z, %128
MESA: info:             con 32    %131 = @load_const_ir3 (%51 (0x0)) (base=26)
MESA: info:             div 32    %259 = icsel_eqz %114, %95.w, %131
MESA: info:             con 1     %133 = ine %98, %51 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %133 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %134 = u2f32 %262
MESA: info:                 div 32    %135 = u2f32 %261
MESA: info:                 div 32    %136 = u2f32 %260
MESA: info:                 div 32    %137 = u2f32 %259
MESA: info:                 con 32x2  %140 = @load_const_ir3 (%51 (0x0)) (base=33)
MESA: info:                 div 32    %283 = fsub %134, %140.x
MESA: info:                 div 32    %282 = fsub %135, %140.x
MESA: info:                 div 32    %281 = fsub %136, %140.x
MESA: info:                 div 32    %280 = fsub %137, %140.x
MESA: info:                 con 32    %147 = @load_const_ir3 (%51 (0x0)) (base=27)
MESA: info:                 div 32    %148 = fmul %283, %147
MESA: info:                 div 32    %149 = fmul %282, %147
MESA: info:                 div 32    %150 = fmul %281, %147
MESA: info:                 div 32    %151 = fmul %280, %147
MESA: info:                 div 1     %152 = flt! %148, %51 (0.000000)
MESA: info:                 div 1     %153 = flt! %149, %51 (0.000000)
MESA: info:                 div 1     %154 = flt! %150, %51 (0.000000)
MESA: info:                 div 1     %155 = flt! %151, %51 (0.000000)
MESA: info:                 con 32    %156 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %157 = fmul %148, %156 (256.000000)
MESA: info:                 con 32    %158 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %159 = bcsel %152, %158 (0x44000000), %157
MESA: info:                 div 32    %160 = fmul %149, %156 (256.000000)
MESA: info:                 div 32    %161 = bcsel %153, %158 (0x44000000), %160
MESA: info:                 div 32    %162 = fmul %150, %156 (256.000000)
MESA: info:                 div 32    %163 = bcsel %154, %158 (0x44000000), %162
MESA: info:                 div 32    %164 = fmul %151, %156 (256.000000)
MESA: info:                 div 32    %165 = bcsel %155, %158 (0x44000000), %164
MESA: info:                 div 32    %166 = ffloor %159
MESA: info:                 div 32    %167 = ffloor %161
MESA: info:                 div 32    %168 = ffloor %163
MESA: info:                 div 32    %169 = ffloor %165
MESA: info:                 div 32    %170 = f2u32 %166
MESA: info:                 div 32    %171 = f2u32 %167
MESA: info:                 div 32    %172 = f2u32 %168
MESA: info:                 div 32    %173 = f2u32 %169
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %174 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %175 = phi b15: %173, b16: %174 (0x101)
MESA: info:             div 32    %176 = phi b15: %172, b16: %174 (0x101)
MESA: info:             div 32    %177 = phi b15: %171, b16: %174 (0x101)
MESA: info:             div 32    %178 = phi b15: %170, b16: %174 (0x101)
MESA: info:             con 32     %99 = load_const (0x00000001)
MESA: info:             con 32    %179 = load_const (0x00000100 = 256)
MESA: info:             div 1     %180 = ult %178, %179 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %180 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %181 = ishl %178, %52 (0x2)
MESA: info:                 con 32    %182 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %223 = @ssbo_atomic_ir3 (%182, %181, %99 (0x1), %178) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %184 = ult %177, %179 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %184 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %185 = ishl %177, %52 (0x2)
MESA: info:                 con 32    %186 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %227 = @ssbo_atomic_ir3 (%186, %185, %99 (0x1), %177) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %188 = ult %176, %179 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %188 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %189 = ishl %176, %52 (0x2)
MESA: info:                 con 32    %190 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %231 = @ssbo_atomic_ir3 (%190, %189, %99 (0x1), %176) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %192 = ult %175, %179 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %192 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %193 = ishl %175, %52 (0x2)
MESA: info:                 con 32    %194 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %235 = @ssbo_atomic_ir3 (%194, %193, %99 (0x1), %175) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %196 = iadd %82, %99 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %197 = load_const (0x00000001)
MESA: info:         div 32    %198 = iadd %75, %197 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 1664daa4166620eb718bb586cc6ee201fe56b481:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l42
MESA: info: getone #l42
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: cov.f32u32 r49.x, r49.x
MESA: info: and.b r50.z, r49.y, 1
MESA: info: and.b r51.x, r49.y, 2
MESA: info: and.b r51.z, r49.y, 4
MESA: info: and.b r51.w, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.x, r50.z, 0
MESA: info: cmps.s.eq hr54.x, r51.x, 0
MESA: info: cov.u16s32 r50.w, hr53.x
MESA: info: cov.u16s32 r51.y, hr54.x
MESA: info: stc.u32 c[17], r49.x, 1
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[23], r49.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.z, 0
MESA: info: cov.u16s32 r49.x, hr49.z
MESA: info: cov.u16s32 r49.y, hr49.w
MESA: info: stc.u32 c[27], r50.x, 1
MESA: info: stc.u32 c[19], r50.w, 1
MESA: info: stc.u32 c[20], r51.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[21], r49.x, 1
MESA: info: stc.u32 c[22], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l42:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l60:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l167
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l68:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l165
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: mov.f32f32 r2.y, c4.w
MESA: info: mov.f32f32 r2.z, c5.x
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mov.f32f32 r2.w, c5.y
MESA: info: mov.f32f32 r3.x, c5.z
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: (nop1) cmps.s.ne p0.y, c8.x, 0
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r2.y, (0x0)
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.base2 (u32)(xyzw)r3.y, r2.x, r40.x, s#0, t#0
MESA: info: (sy)sel.b32 r2.y, c5.w, r2.y, (last)r3.y
MESA: info: sel.b32 r2.z, c6.x, r2.z, (last)r3.z
MESA: info: sel.b32 r2.w, c6.y, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, c6.z, r3.x, (last)r4.x
MESA: info: br !p0.y, #l123
MESA: info: cov.u32f32 r2.y, (last)r2.y
MESA: info: cov.u32f32 r2.z, (last)r2.z
MESA: info: cov.u32f32 r2.w, (last)r2.w
MESA: info: cov.u32f32 r3.x, (last)r3.x
MESA: info: add.f r2.y, (last)r2.y, (neg)c8.y
MESA: info: add.f r2.z, (last)r2.z, (neg)c8.y
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: mul.f r2.y, (last)r2.y, c6.w
MESA: info: mul.f r2.z, (last)r2.z, c6.w
MESA: info: mul.f r2.w, (last)r2.w, c6.w
MESA: info: mul.f r3.x, (last)r3.x, c6.w
MESA: info: cmps.f.lt r4.y, r2.y, (0.0)
MESA: info: cmps.f.lt r4.z, r2.z, (0.0)
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: mul.f r2.y, (last)r2.y, c12.y
MESA: info: mul.f r2.z, (last)r2.z, c12.y
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: sel.b32 r4.y, c12.x, r4.y, (last)r2.y
MESA: info: sel.b32 r4.z, c12.x, r4.z, (last)r2.z
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: floor.f r4.y, (last)r4.y
MESA: info: floor.f r4.z, (last)r4.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: cov.f32u32 r4.y, (last)r4.y
MESA: info: cov.f32u32 r4.z, (last)r4.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: jump #l127
MESA: info: l123:
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r4.y, 257
MESA: info: mov.u32u32 r4.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: l127:
MESA: info: (nop3) cmps.u.lt p0.x, r4.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.y, 0
MESA: info: mov.u32u32 r5.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.y, r4.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r4.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r6.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.w, r4.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.y, 0
MESA: info: mov.u32u32 r6.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.y, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.w, 0
MESA: info: mov.u32u32 r7.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.w, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l68
MESA: info: l165:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l60
MESA: info: l167:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 22/1: 202 instr, 90 nops, 112 non-nops, 19 mov, 10 cov, 352 dwords
MESA: info: ; CL prog 22/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 22/1: 105 cat0, 29 cat1, 51 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 4 cat7
MESA: info: ; CL prog 22/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 22/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 43 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xa4c5683e, 0xd3889326, 0xcc8bbe56, 0x5688f2a9, 0x92cb824f, 0xb1b471eb, 0xed23c93e, 0xb12b10d5}
MESA: info: workgroup_size: 1, 1, 1
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %254 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %235 = @load_ubo_vec4 (%4, %254 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %365 = f2u32 %235
MESA: info:             con 32    %366 = mov %365.x
MESA: info:             con 32    %367 = mov %365.y
MESA: info:                              @store_const_ir3 (%366) (base=0)
MESA: info:                              @store_const_ir3 (%367) (base=1)
MESA: info:             con 32x2  %368 = u2f32 %365
MESA: info:             con 32     %10 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32x2  %369 = fmul %368, %10 (0.001563).xx
MESA: info:             con 32x2  %370 = fceil %369
MESA: info:             con 32x2  %371 = f2u32 %370
MESA: info:             con 32    %372 = mov %371.x
MESA: info:                              @store_const_ir3 (%372) (base=2)
MESA: info:             con 32     %17 = load_const (0x00000010 = 16)
MESA: info:             con 32     %18 = load_const (0x00000064 = 100)
MESA: info:             con 32    %351 = umul_low %371.x, %18 (0x64)
MESA: info:             con 32    %353 = imadsh_mix16 %18 (0x64), %371.x, %351
MESA: info:             con 32    %348 = umul_low %353, %371.y
MESA: info:             con 32    %349 = imadsh_mix16 %353, %371.y, %348
MESA: info:             con 32    %350 = imadsh_mix16 %371.y, %353, %349
MESA: info:                              @store_const_ir3 (%350) (base=3)
MESA: info:             con 32     %21 = load_const (0x0000ffff = 65535)
MESA: info:             con 32     %22 = u2f32! %371.x
MESA: info:             con 32     %23 = frcp! %22
MESA: info:             con 32     %24 = load_const (0x4f7ffffe = 4.294967e+09)
MESA: info:             con 32     %25 = fmul! %23, %24 (4.294967e+09)
MESA: info:             con 32     %26 = f2u32! %25
MESA: info:             con 32    %345 = umul_low! %371.x, %26
MESA: info:             con 32    %346 = imadsh_mix16! %371.x, %26, %345
MESA: info:             con 32    %347 = imadsh_mix16! %26, %371.x, %346
MESA: info:             con 32     %28 = ineg! %347
MESA: info:             con 32     %29 = iand! %26, %21 (0xffff)
MESA: info:             con 32     %30 = iand! %28, %21 (0xffff)
MESA: info:             con 32     %31 = ushr! %26, %17 (0x10)
MESA: info:             con 32     %32 = ushr! %28, %17 (0x10)
MESA: info:             con 32    %342 = umul_low! %29, %30
MESA: info:             con 32    %343 = imadsh_mix16! %29, %30, %342
MESA: info:             con 32    %344 = imadsh_mix16! %30, %29, %343
MESA: info:             con 32    %339 = umul_low! %29, %32
MESA: info:             con 32    %340 = imadsh_mix16! %29, %32, %339
MESA: info:             con 32    %341 = imadsh_mix16! %32, %29, %340
MESA: info:             con 32    %336 = umul_low! %31, %30
MESA: info:             con 32    %337 = imadsh_mix16! %31, %30, %336
MESA: info:             con 32    %338 = imadsh_mix16! %30, %31, %337
MESA: info:             con 32    %333 = umul_low! %31, %32
MESA: info:             con 32    %334 = imadsh_mix16! %31, %32, %333
MESA: info:             con 32    %335 = imadsh_mix16! %32, %31, %334
MESA: info:             con 32     %37 = ishl! %341, %17 (0x10)
MESA: info:             con 32     %38 = iadd! %344, %37
MESA: info:             con 1      %39 = ult! %38, %344
MESA: info:             con 32     %40 = b2i32! %39
MESA: info:             con 32     %41 = iadd! %335, %40
MESA: info:             con 32     %42 = ushr! %341, %17 (0x10)
MESA: info:             con 32     %44 = ishl! %338, %17 (0x10)
MESA: info:             con 32     %45 = iadd! %38, %44
MESA: info:             con 1      %46 = ult! %45, %38
MESA: info:             con 32     %47 = b2i32! %46
MESA: info:             con 32    %269 = iadd3! %41, %42, %47
MESA: info:             con 32     %49 = ushr! %338, %17 (0x10)
MESA: info:             con 32    %268 = iadd3! %269, %49, %26
MESA: info:             con 32     %52 = iand! %268, %21 (0xffff)
MESA: info:                              @store_const_ir3 (%52) (base=4)
MESA: info:             con 32     %53 = ushr! %268, %17 (0x10)
MESA: info:                              @store_const_ir3 (%53) (base=5)
MESA: info:             con 32     %54 = ineg! %371.x
MESA: info:                              @store_const_ir3 (%54) (base=6)
MESA: info:             con 32     %56 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%56)
MESA: info:             con 32     %63 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %64 = @bindless_resource_ir3 (%63 (0x1)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%64)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %67 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %69 = @load_const_ir3 (%67 (0x0)) (base=0)
MESA: info:     con 32     %71 = @load_const_ir3 (%67 (0x0)) (base=1)
MESA: info:     con 32     %73 = @load_const_ir3 (%67 (0x0)) (base=2)
MESA: info:     con 32     %74 = @bindless_resource_ir3 (%67 (0x0)) (desc_set=3)
MESA: info:     con 32    %236 = load_const (0x00000002)
MESA: info:     div 32x4  %238 = @load_ssbo_ir3 (%74, %67 (0x0), %67 (0x0)) (base=0, access=speculatable, align_mul=1073741824, align_offset=0)
MESA: info:     div 32x4  %396 = mov %238.wzyx
MESA: info:     con 32     %80 = load_const (0x00000001)
MESA: info:     con 32     %81 = load_const (0x00000010 = 16)
MESA: info:     div 32x4  %241 = @load_ssbo_ir3 (%74, %81 (0x10), %67 (0x0)) (base=4, access=speculatable, align_mul=1073741824, align_offset=16)
MESA: info:     div 32x4  %383 = mov %241.wzyx
MESA: info:     con 32     %88 = load_const (0x00000006)
MESA: info:                      // succs: b7
MESA: info:     con loop {
MESA: info:         con block b7:        // preds: b6 b13
MESA: info:         con 32     %89 = phi b6: %80 (0x1), b13: %229
MESA: info:         div 32x4  %382 = phi b6: %383, b13: %445
MESA: info:         div 32x4  %395 = phi b6: %396, b13: %453
MESA: info:         con 32    %100 = @load_const_ir3 (%67 (0x0)) (base=3)
MESA: info:         con 1     %101 = uge %89, %100
MESA: info:                          // succs: b8 b9
MESA: info:         if %101 {
MESA: info:             con block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b14
MESA: info:         } else {
MESA: info:             con block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         con block b10:       // preds: b9
MESA: info:         con 32     %98 = load_const (0x00000064 = 100)
MESA: info:         con 32    %102 = load_const (0x0000ffff = 65535)
MESA: info:         con 32    %103 = iand %89, %102 (0xffff)
MESA: info:         con 32    %105 = ushr %89, %81 (0x10)
MESA: info:         con 32x3  %407 = load_const (0x0000851f, 0x000051eb, 0x51eb851f) = (34079, 20971, 1374389535)
MESA: info:         con 32x3  %408 = umul_low %103.xxx, %407 (0x851f, 0x51eb, 0x51eb851f)
MESA: info:         con 32x2  %401 = load_const (0x0000851f, 0x000051eb) = (34079, 20971)
MESA: info:         con 32x2  %402 = imadsh_mix16 %401 (0x851f, 0x51eb), %103.xx, %408.xy
MESA: info:         con 32x2  %403 = load_const (0x0000851f, 0x000051eb) = (34079, 20971)
MESA: info:         con 32x2  %404 = umul_low %105.xx, %403 (0x851f, 0x51eb)
MESA: info:         con 32x2  %405 = load_const (0x0000851f, 0x000051eb) = (34079, 20971)
MESA: info:         con 32x2  %406 = imadsh_mix16 %405 (0x851f, 0x51eb), %105.xx, %404
MESA: info:         con 32    %111 = load_const (0x51eb851f = 1374389535)
MESA: info:         con 32    %319 = imadsh_mix16 %103, %111 (0x51eb851f), %408.z
MESA: info:         con 32    %320 = imadsh_mix16 %111 (0x51eb851f), %103, %319
MESA: info:         con 1     %113 = ult %320, %402.x
MESA: info:         con 32    %114 = b2i32 %113
MESA: info:         con 32    %116 = ushr %402.y, %81 (0x10)
MESA: info:         con 32    %267 = iadd3 %406.y, %114, %116
MESA: info:         con 32    %118 = load_const (0x851f0000 = -2061565952 = 2233401344)
MESA: info:         con 32    %361 = load_const (0x00000000)
MESA: info:         con 32    %316 = imadsh_mix16 %105, %118 (0x851f0000), %361 (0x0)
MESA: info:         con 32    %120 = iadd %320, %316
MESA: info:         con 1     %121 = ult %120, %320
MESA: info:         con 32    %122 = b2i32 %121
MESA: info:         con 32    %124 = ushr %406.x, %81 (0x10)
MESA: info:         con 32    %266 = iadd3 %267, %122, %124
MESA: info:         con 32x2  %409 = load_const (0x00000005, 0x00000015) = (5, 21)
MESA: info:         con 32x2  %410 = ushr! %266.xx, %409 (0x5, 0x15)
MESA: info:         con 32    %312 = umul_low %410.x, %98 (0x64)
MESA: info:         con 32    %314 = imadsh_mix16 %98 (0x64), %410.x, %312
MESA: info:         con 32    %364 = isub %89, %314
MESA: info:         con 32    %130 = iand! %410.x, %102 (0xffff)
MESA: info:         con 32    %132 = @load_const_ir3 (%67 (0x0)) (base=4)
MESA: info:         con 32    %136 = @load_const_ir3 (%67 (0x0)) (base=5)
MESA: info:         con 32    %309 = umul_low! %130, %132
MESA: info:         con 32    %310 = imadsh_mix16! %130, %132, %309
MESA: info:         con 32    %311 = imadsh_mix16! %132, %130, %310
MESA: info:         con 32    %306 = umul_low! %130, %136
MESA: info:         con 32    %307 = imadsh_mix16! %130, %136, %306
MESA: info:         con 32    %308 = imadsh_mix16! %136, %130, %307
MESA: info:         con 32    %303 = umul_low! %410.y, %132
MESA: info:         con 32    %304 = imadsh_mix16! %410.y, %132, %303
MESA: info:         con 32    %305 = imadsh_mix16! %132, %410.y, %304
MESA: info:         con 32    %300 = umul_low! %410.y, %136
MESA: info:         con 32    %301 = imadsh_mix16! %410.y, %136, %300
MESA: info:         con 32    %302 = imadsh_mix16! %136, %410.y, %301
MESA: info:         con 32    %141 = ishl! %308, %81 (0x10)
MESA: info:         con 32    %142 = iadd! %311, %141
MESA: info:         con 1     %143 = ult! %142, %311
MESA: info:         con 32    %144 = b2i32! %143
MESA: info:         con 32    %146 = ushr! %308, %81 (0x10)
MESA: info:         con 32    %264 = iadd3! %302, %144, %146
MESA: info:         con 32    %148 = ishl! %305, %81 (0x10)
MESA: info:         con 32    %149 = iadd! %142, %148
MESA: info:         con 1     %150 = ult! %149, %142
MESA: info:         con 32    %151 = b2i32! %150
MESA: info:         con 32    %153 = ushr! %305, %81 (0x10)
MESA: info:         con 32    %263 = iadd3! %264, %151, %153
MESA: info:         con 32    %297 = umul_low! %263, %73
MESA: info:         con 32    %298 = imadsh_mix16! %263, %73, %297
MESA: info:         con 32    %299 = imadsh_mix16! %73, %263, %298
MESA: info:         con 32    %363 = isub! %410.x, %299
MESA: info:         con 1     %158 = uge! %363, %73
MESA: info:         con 32    %160 = @load_const_ir3 (%67 (0x0)) (base=6)
MESA: info:         con 32    %161 = iadd! %363, %160
MESA: info:         con 32    %162 = bcsel! %158, %161, %363
MESA: info:         con 1     %163 = uge! %162, %73
MESA: info:         con 32    %164 = iadd! %162, %160
MESA: info:         con 32    %165 = bcsel! %163, %164, %162
MESA: info:         con 32    %166 = iadd! %263, %80 (0x1)
MESA: info:         con 32    %167 = bcsel! %158, %166, %263
MESA: info:         con 32    %168 = iadd! %167, %80 (0x1)
MESA: info:         con 32    %169 = bcsel! %163, %168, %167
MESA: info:         con 32    %170 = iand %364, %102 (0xffff)
MESA: info:         con 32    %172 = ushr %364, %81 (0x10)
MESA: info:         con 32x3  %419 = load_const (0x0000cccd, 0x0000cccc, 0xcccccccd) = (+52429, +52428, -858993459) = (52429, 52428, 3435973837)
MESA: info:         con 32x3  %420 = umul_low %170.xxx, %419 (0xcccd, 0xcccc, 0xcccccccd)
MESA: info:         con 32x2  %413 = load_const (0x0000cccd, 0x0000cccc) = (52429, 52428)
MESA: info:         con 32x2  %414 = imadsh_mix16 %413 (0xcccd, 0xcccc), %170.xx, %420.xy
MESA: info:         con 32x2  %415 = load_const (0x0000cccd, 0x0000cccc) = (52429, 52428)
MESA: info:         con 32x2  %416 = umul_low %172.xx, %415 (0xcccd, 0xcccc)
MESA: info:         con 32x2  %417 = load_const (0x0000cccd, 0x0000cccc) = (52429, 52428)
MESA: info:         con 32x2  %418 = imadsh_mix16 %417 (0xcccd, 0xcccc), %172.xx, %416
MESA: info:         con 32    %178 = load_const (0xcccccccd = -858993459 = 3435973837)
MESA: info:         con 32    %283 = imadsh_mix16 %170, %178 (0xcccccccd), %420.z
MESA: info:         con 32    %284 = imadsh_mix16 %178 (0xcccccccd), %170, %283
MESA: info:         con 1     %180 = ult %284, %414.x
MESA: info:         con 32    %181 = b2i32 %180
MESA: info:         con 32    %183 = ushr %414.y, %81 (0x10)
MESA: info:         con 32    %261 = iadd3 %418.y, %181, %183
MESA: info:         con 32    %185 = load_const (0xcccd0000 = -858980352 = 3435986944)
MESA: info:         con 32    %356 = load_const (0x00000000)
MESA: info:         con 32    %280 = imadsh_mix16 %172, %185 (0xcccd0000), %356 (0x0)
MESA: info:         con 32    %187 = iadd %284, %280
MESA: info:         con 1     %188 = ult %187, %284
MESA: info:         con 32    %189 = b2i32 %188
MESA: info:         con 32    %191 = ushr %418.x, %81 (0x10)
MESA: info:         con 32    %260 = iadd3 %261, %189, %191
MESA: info:         con 32    %193 = load_const (0x00000003)
MESA: info:         con 32    %194 = ushr %260, %193 (0x3)
MESA: info:         con 32    %195 = load_const (0x0000000a = 10)
MESA: info:         con 32    %276 = umul_low %194, %195 (0xa)
MESA: info:         con 32    %278 = imadsh_mix16 %195 (0xa), %194, %276
MESA: info:         con 32    %362 = isub %364, %278
MESA: info:         con 32    %199 = load_const (0x00000280 = 640)
MESA: info:         con 32    %273 = umul_low %165, %199 (0x280)
MESA: info:         con 32    %275 = imadsh_mix16 %199 (0x280), %165, %273
MESA: info:         con 32    %201 = ishl %362, %88 (0x6)
MESA: info:         con 32    %202 = iadd %275, %201
MESA: info:         con 1     %203 = ult %202, %69
MESA: info:         con 32    %270 = umul_low %169, %199 (0x280)
MESA: info:         con 32    %272 = imadsh_mix16 %199 (0x280), %169, %270
MESA: info:         con 32    %205 = ishl %194, %88 (0x6)
MESA: info:         con 32    %206 = iadd %272, %205
MESA: info:         con 1     %207 = ult %206, %71
MESA: info:         con 1     %208 = iand %203, %207
MESA: info:                          // succs: b11 b12
MESA: info:         if %208 {
MESA: info:             con block b11:       // preds: b10
MESA: info:             con 32x2  %421 = load_const (0x00000005, 0x00000003)
MESA: info:             con 32x2  %422 = ishl %89.xx, %421 (0x5, 0x3)
MESA: info:             con 32    %423 = mov %422.x
MESA: info:             con 32    %424 = mov %422.y
MESA: info:             div 32x4  %245 = @load_ssbo_ir3 (%74, %423, %424) (base=0, access=speculatable, align_mul=32, align_offset=0)
MESA: info:             div 32x4  %430 = umin %395.wzyx, %245
MESA: info:             div 32x4  %454 = mov %430.wzyx
MESA: info:             con 32    %215 = iadd %422.x, %81 (0x10)
MESA: info:             con 32    %247 = ushr %215, %236 (0x2)
MESA: info:             div 32x4  %248 = @load_ssbo_ir3 (%74, %215, %247) (base=0, access=speculatable, align_mul=32, align_offset=16)
MESA: info:             div 32x4  %437 = umax %382.wzyx, %248
MESA: info:             div 32x4  %446 = mov %437.wzyx
MESA: info:                              // succs: b13
MESA: info:         } else {
MESA: info:             con block b12:  // preds: b10, succs: b13
MESA: info:         }
MESA: info:         con block b13:       // preds: b11 b12
MESA: info:         div 32x4  %445 = phi b11: %446, b12: %382
MESA: info:         div 32x4  %453 = phi b11: %454, b12: %395
MESA: info:         con 32    %229 = iadd %89, %80 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b14:       // preds: b8
MESA: info:     div 32x4  %456 = phi b8: %382
MESA: info:     div 32x4  %455 = phi b8: %395
MESA: info:     con 32    %230 = @bindless_resource_ir3 (%80 (0x1)) (desc_set=3)
MESA: info:     div 32x4  %231 = vec4 %455.w, %455.z, %455.y, %455.x
MESA: info:                      @store_ssbo_ir3 (%231, %230, %67 (0x0), %67 (0x0)) (base=0, wrmask=xyzw, access=none, align_mul=1073741824, align_offset=0)
MESA: info:     div 32x4  %232 = vec4 %456.w, %456.z, %456.y, %456.x
MESA: info:                      @store_ssbo_ir3 (%232, %230, %81 (0x10), %67 (0x0)) (base=4, wrmask=xyzw, access=none, align_mul=1073741824, align_offset=16)
MESA: info:                      // succs: b15
MESA: info:     block b15:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 540a8e447d64050af741ec38973d224c9f4be8f9:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @const(c4.x)	0x3acccccd, 0x4f7ffffe, 0x0000ffff, 0x00000280
MESA: info: @const(c5.x)	0x000051eb, 0x51eb851f, 0x0000851f, 0x851f0000
MESA: info: @const(c6.x)	0x0000cccc, 0xcccccccd, 0x0000cccd, 0xcccd0000
MESA: info: shps #l110
MESA: info: getone #l110
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 2, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 1
MESA: info: (sy)(ss)cov.f32u32 r48.x, r48.x
MESA: info: cov.u32f32 r48.z, r48.x
MESA: info: mul.f r48.z, r48.z, c4.x
MESA: info: ceil.f r48.z, r48.z
MESA: info: cov.f32u32 r48.z, r48.z
MESA: info: cov.u32f32 r50.x, r48.z
MESA: info: shr.b r49.x, r48.z, 16
MESA: info: mull.u r49.y, r48.z, 100
MESA: info: shr.b r50.y, r48.z, 16
MESA: info: absneg.s r50.z, (neg)r48.z
MESA: info: cov.f32u32 r48.y, r48.y
MESA: info: mull.u r49.x, 100, r49.x
MESA: info: cov.u32f32 r48.w, r48.y
MESA: info: shl.b r49.x, r49.x, 16
MESA: info: mul.f r48.w, r48.w, c4.x
MESA: info: add.u r49.x, r49.x, r49.y
MESA: info: ceil.f r48.w, r48.w
MESA: info: cov.f32u32 r48.w, r48.w
MESA: info: shr.b r49.z, r48.w, 16
MESA: info: mull.u r49.w, r49.x, r48.w
MESA: info: mull.u r49.z, r49.x, r49.z
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: shr.b r49.x, r49.x, 16
MESA: info: add.u r49.z, r49.z, r49.w
MESA: info: mull.u r48.w, r48.w, r49.x
MESA: info: shl.b r48.w, r48.w, 16
MESA: info: add.u r48.w, r48.w, r49.z
MESA: info: (ss)rcp r50.x, r50.x
MESA: info: stc.u32 c[2], r48.z, 1
MESA: info: stc.u32 c[6], r50.z, 1
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[1], r48.y, 1
MESA: info: stc.u32 c[3], r48.w, 1
MESA: info: (ss)mul.f r50.x, r50.x, c4.y
MESA: info: cov.f32u32 r50.x, r50.x
MESA: info: mull.u r50.y, r50.x, r50.y
MESA: info: shr.b r50.w, r50.x, 16
MESA: info: and.b r51.x, r50.x, c4.z
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: mull.u r50.w, r48.z, r50.w
MESA: info: shr.b r52.x, r51.x, 16
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: mull.u r48.z, r48.z, r50.x
MESA: info: add.u r50.w, r50.w, r48.z
MESA: info: add.u r50.y, r50.y, r50.w
MESA: info: absneg.s r50.y, (neg)r50.y
MESA: info: and.b r51.y, r50.y, c4.z
MESA: info: shr.b r51.z, r51.y, 16
MESA: info: mull.u r51.w, r51.x, r51.y
MESA: info: mull.u r52.x, r51.y, r52.x
MESA: info: mull.u r51.z, r51.x, r51.z
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r51.w
MESA: info: add.u r52.x, r52.x, r51.z
MESA: info: shr.b r52.w, r50.x, 16
MESA: info: shr.b r53.x, r51.y, 16
MESA: info: shr.b r50.y, r50.y, 16
MESA: info: mull.u r53.y, r52.w, r51.y
MESA: info: shr.b r53.z, r52.w, 16
MESA: info: mull.u r53.x, r52.w, r53.x
MESA: info: shr.b r52.y, r50.y, 16
MESA: info: mull.u r52.z, r51.x, r50.y
MESA: info: shr.b r53.w, r50.y, 16
MESA: info: mull.u r54.x, r52.w, r50.y
MESA: info: mull.u r51.y, r51.y, r53.z
MESA: info: shl.b r53.x, r53.x, 16
MESA: info: mull.u r52.y, r51.x, r52.y
MESA: info: mull.u r53.w, r52.w, r53.w
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r53.x, r53.x, r53.y
MESA: info: shl.b r52.y, r52.y, 16
MESA: info: shr.b r51.x, r51.x, 16
MESA: info: shl.b r53.w, r53.w, 16
MESA: info: shr.b r52.w, r52.w, 16
MESA: info: add.u r51.y, r51.y, r53.x
MESA: info: add.u r52.y, r52.y, r52.z
MESA: info: mull.u r51.x, r50.y, r51.x
MESA: info: add.u r53.w, r53.w, r54.x
MESA: info: shl.b r51.x, r51.x, 16
MESA: info: mull.u r50.y, r50.y, r52.w
MESA: info: add.u r51.x, r51.x, r52.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: shl.b r54.y, r51.x, 16
MESA: info: add.u r50.y, r50.y, r53.w
MESA: info: add.u r54.y, r52.x, r54.y
MESA: info: shr.b r51.x, r51.x, 16
MESA: info: cmps.u.lt hr53.x, r54.y, r52.x
MESA: info: cov.u16s32 r50.w, hr53.x
MESA: info: add.u r50.y, r50.y, r50.w
MESA: info: add.u r50.y, r50.y, r51.x
MESA: info: shl.b r51.x, r51.y, 16
MESA: info: add.u r51.x, r54.y, r51.x
MESA: info: shr.b r51.y, r51.y, 16
MESA: info: (ss)cmps.u.lt hr54.x, r51.x, r54.y
MESA: info: cov.u16s32 r51.z, hr54.x
MESA: info: add.u r50.y, r50.y, r51.z
MESA: info: add.u r50.y, r50.y, r51.y
MESA: info: add.u r50.y, r50.y, r50.x
MESA: info: and.b r51.w, r50.y, c4.z
MESA: info: shr.b r50.y, r50.y, 16
MESA: info: (ss)nop
MESA: info: stc.u32 c[4], r51.w, 1
MESA: info: stc.u32 c[5], r50.y, 1
MESA: info: (sy)(ss)shpe
MESA: info: l110:
MESA: info: (jp)mov.u32u32 r52.x, 1
MESA: info: mov.u32u32 r0.x, 0
MESA: info: (rpt4)nop
MESA: info: ldib.b.untyped.1d.u32.4.imm.base3 r0.y, r0.x, 0
MESA: info: ldib.b.untyped.1d.u32.4.imm.base3 r1.y, r0.x+4, 0
MESA: info: l115:
MESA: info: cmps.u.ge hr48.z, r52.x, c0.w
MESA: info: (ss)(nop3) cmps.s.ne p0.x, hr48.z, h(0)
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l329
MESA: info: and.b r48.z, r52.x, c4.z
MESA: info: shr.b r49.w, r52.x, 16
MESA: info: shr.b r51.x, c5.y, 16
MESA: info: shr.b r51.w, c5.w, 16
MESA: info: shr.b r48.w, r48.z, 16
MESA: info: shr.b r49.x, r48.z, 16
MESA: info: mull.u r49.y, r48.z, c5.z
MESA: info: mull.u r49.z, r48.z, c5.x
MESA: info: mull.u r51.y, r48.z, c5.y
MESA: info: shr.b r50.x, r49.w, 16
MESA: info: shr.b r50.y, r49.w, 16
MESA: info: mull.u r50.z, r49.w, c5.z
MESA: info: mull.u r50.w, r49.w, c5.x
MESA: info: mull.u r51.x, r48.z, r51.x
MESA: info: mull.u r48.w, c5.z, r48.w
MESA: info: mull.u r49.x, c5.x, r49.x
MESA: info: mull.u r50.y, c5.x, r50.y
MESA: info: mull.u r49.w, r49.w, r51.w
MESA: info: shl.b r51.x, r51.x, 16
MESA: info: shr.b r48.z, r48.z, 16
MESA: info: shl.b r48.w, r48.w, 16
MESA: info: shl.b r49.x, r49.x, 16
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r51.x, r51.x, r51.y
MESA: info: mull.u r48.z, c5.y, r48.z
MESA: info: add.u r48.w, r48.w, r49.y
MESA: info: add.u r49.x, r49.x, r49.z
MESA: info: add.u r50.y, r50.y, r50.w
MESA: info: add.u r49.w, r49.w, 0
MESA: info: shl.b r48.z, r48.z, 16
MESA: info: shr.b r49.x, r49.x, 16
MESA: info: add.u r48.z, r48.z, r51.x
MESA: info: add.u r49.w, r48.z, r49.w
MESA: info: shr.b r53.z, c1.x, 16
MESA: info: shr.b r54.y, c1.y, 16
MESA: info: shr.b r54.w, c1.x, 16
MESA: info: shr.b r55.z, c1.y, 16
MESA: info: mull.u r50.x, c5.z, r50.x
MESA: info: shr.b r49.y, c0.z, 16
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: add.u r50.x, r50.x, r50.z
MESA: info: shr.b r50.x, r50.x, 16
MESA: info: (ss)cmps.u.lt hr49.z, r48.z, r48.w
MESA: info: cmps.u.lt hr51.z, r49.w, r48.z
MESA: info: cov.u16s32 r51.z, hr49.z
MESA: info: add.u r50.y, r50.y, r51.z
MESA: info: add.u r50.y, r50.y, r49.x
MESA: info: cov.u16s32 r52.y, hr51.z
MESA: info: add.u r50.y, r50.y, r52.y
MESA: info: add.u r50.y, r50.y, r50.x
MESA: info: shr.b r52.z, r50.y, 5
MESA: info: shr.b r52.w, r52.z, 16
MESA: info: mull.u r53.x, r52.z, 100
MESA: info: and.b r53.y, r52.z, c4.z
MESA: info: shr.b r50.y, r50.y, 21
MESA: info: mull.u r52.w, 100, r52.w
MESA: info: mull.u r53.z, r53.y, r53.z
MESA: info: mull.u r53.w, r53.y, c1.x
MESA: info: shr.b r54.x, r53.y, 16
MESA: info: mull.u r54.y, r53.y, r54.y
MESA: info: mull.u r54.z, r53.y, c1.y
MESA: info: mull.u r54.w, r50.y, r54.w
MESA: info: mull.u r55.x, r50.y, c1.x
MESA: info: shr.b r55.y, r50.y, 16
MESA: info: mull.u r55.z, r50.y, r55.z
MESA: info: mull.u r55.w, r50.y, c1.y
MESA: info: shl.b r52.w, r52.w, 16
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: mull.u r54.x, c1.x, r54.x
MESA: info: shl.b r54.y, r54.y, 16
MESA: info: shr.b r53.y, r53.y, 16
MESA: info: shl.b r54.w, r54.w, 16
MESA: info: mull.u r55.y, c1.x, r55.y
MESA: info: shl.b r55.z, r55.z, 16
MESA: info: shr.b r50.y, r50.y, 16
MESA: info: add.u r52.w, r52.w, r53.x
MESA: info: add.u r53.z, r53.z, r53.w
MESA: info: shl.b r54.x, r54.x, 16
MESA: info: add.u r54.y, r54.y, r54.z
MESA: info: mull.u r53.y, c1.y, r53.y
MESA: info: add.u r54.w, r54.w, r55.x
MESA: info: shl.b r55.y, r55.y, 16
MESA: info: add.u r55.z, r55.z, r55.w
MESA: info: mull.u r50.y, c1.y, r50.y
MESA: info: sub.u r52.w, r52.x, r52.w
MESA: info: add.u r54.x, r54.x, r53.z
MESA: info: shl.b r53.y, r53.y, 16
MESA: info: add.u r55.y, r55.y, r54.w
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: and.b r51.w, r52.w, c4.z
MESA: info: add.u r53.y, r53.y, r54.y
MESA: info: shr.b r54.w, c6.y, 16
MESA: info: add.u r50.y, r50.y, r55.z
MESA: info: shr.b r52.y, r51.w, 16
MESA: info: mull.u r53.x, r51.w, c6.z
MESA: info: mull.u r55.x, r51.w, c6.y
MESA: info: shl.b r48.x, r53.y, 16
MESA: info: mull.u r54.w, r51.w, r54.w
MESA: info: mull.u r52.y, c6.z, r52.y
MESA: info: add.u r48.x, r54.x, r48.x
MESA: info: shr.b r53.y, r53.y, 16
MESA: info: shl.b r54.w, r54.w, 16
MESA: info: shl.b r52.y, r52.y, 16
MESA: info: cmps.u.lt hr48.z, r48.x, r54.x
MESA: info: add.u r54.w, r54.w, r55.x
MESA: info: add.u r52.y, r52.y, r53.x
MESA: info: cov.u16s32 r48.z, hr48.z
MESA: info: add.u r50.y, r50.y, r48.z
MESA: info: add.u r50.y, r50.y, r53.y
MESA: info: mull.u r53.y, r51.w, c6.x
MESA: info: shr.b r53.z, r52.w, 16
MESA: info: shr.b r53.w, r53.z, 16
MESA: info: shr.b r54.x, r53.z, 16
MESA: info: mull.u r54.y, r53.z, c6.z
MESA: info: mull.u r54.z, r53.z, c6.x
MESA: info: mull.u r54.x, c6.x, r54.x
MESA: info: shl.b r54.x, r54.x, 16
MESA: info: add.u r54.x, r54.x, r54.z
MESA: info: mull.u r53.w, c6.z, r53.w
MESA: info: shl.b r53.w, r53.w, 16
MESA: info: add.u r53.w, r53.w, r54.y
MESA: info: shr.b r53.w, r53.w, 16
MESA: info: (ss)shl.b r48.w, r55.y, 16
MESA: info: add.u r48.w, r48.x, r48.w
MESA: info: shr.b r55.y, r55.y, 16
MESA: info: (ss)cmps.u.lt hr49.z, r48.w, r48.x
MESA: info: cov.u16s32 r49.x, hr49.z
MESA: info: add.u r50.y, r50.y, r49.x
MESA: info: add.u r50.y, r50.y, r55.y
MESA: info: mull.u r49.y, r50.y, r49.y
MESA: info: mull.u r49.z, r50.y, c0.z
MESA: info: shr.b r49.w, r50.y, 16
MESA: info: add.u r51.y, r50.y, 1
MESA: info: shl.b r49.y, r49.y, 16
MESA: info: mull.u r49.w, c0.z, r49.w
MESA: info: add.u r49.y, r49.y, r49.z
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r49.y
MESA: info: sub.u r52.z, r52.z, r49.w
MESA: info: cmps.u.ge r50.x, r52.z, c0.z
MESA: info: add.u r50.z, r52.z, c1.z
MESA: info: sel.b32 r51.y, r51.y, r50.x, r50.y
MESA: info: sel.b32 r50.z, r50.z, r50.x, r52.z
MESA: info: add.u r51.z, r51.y, 1
MESA: info: cmps.u.ge r50.w, r50.z, c0.z
MESA: info: shr.b r52.z, r51.w, 16
MESA: info: sel.b32 r51.z, r51.z, r50.w, r51.y
MESA: info: shr.b r51.w, r51.w, 16
MESA: info: mull.u r51.w, c6.y, r51.w
MESA: info: shl.b r51.w, r51.w, 16
MESA: info: add.u r51.w, r51.w, r54.w
MESA: info: mull.u r52.z, c6.x, r52.z
MESA: info: shl.b r52.z, r52.z, 16
MESA: info: add.u r52.z, r52.z, r53.y
MESA: info: shr.b r52.z, r52.z, 16
MESA: info: add.u r51.x, r50.z, c1.z
MESA: info: shr.b r50.y, r51.z, 16
MESA: info: sel.b32 r51.x, r51.x, r50.w, r50.z
MESA: info: mull.u r50.y, c4.w, r50.y
MESA: info: mull.u r51.z, r51.z, c4.w
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r51.z
MESA: info: (ss)cmps.u.lt hr54.z, r51.w, r52.y
MESA: info: cov.u16s32 r52.y, hr54.z
MESA: info: add.u r54.x, r54.x, r52.y
MESA: info: add.u r54.x, r54.x, r52.z
MESA: info: shr.b r52.z, c6.w, 16
MESA: info: mull.u r53.z, r53.z, r52.z
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: add.u r53.z, r53.z, 0
MESA: info: add.u r53.z, r51.w, r53.z
MESA: info: cmps.u.lt hr55.z, r53.z, r51.w
MESA: info: cov.u16s32 r53.x, hr55.z
MESA: info: add.u r54.x, r54.x, r53.x
MESA: info: add.u r54.x, r54.x, r53.w
MESA: info: shr.b r54.x, r54.x, 3
MESA: info: shr.b r53.w, r51.x, 16
MESA: info: shr.b r53.y, r54.x, 16
MESA: info: mull.u r53.z, r54.x, 10
MESA: info: mull.u r53.w, c4.w, r53.w
MESA: info: mull.u r51.x, r51.x, c4.w
MESA: info: mull.u r53.y, 10, r53.y
MESA: info: shl.b r54.x, r54.x, 6
MESA: info: shl.b r53.w, r53.w, 16
MESA: info: shl.b r53.y, r53.y, 16
MESA: info: add.u r50.y, r50.y, r54.x
MESA: info: add.u r53.w, r53.w, r51.x
MESA: info: add.u r53.y, r53.y, r53.z
MESA: info: sub.u r52.w, r52.w, r53.y
MESA: info: shl.b r52.w, r52.w, 6
MESA: info: add.u r53.w, r53.w, r52.w
MESA: info: cmps.u.lt hr52.x, r53.w, c0.x
MESA: info: (ss)cmps.u.lt hr52.z, r50.y, c0.y
MESA: info: cmps.s.ne p0.x, hr52.x, h(0)
MESA: info: (ss)(nop3) cmps.s.ne p0.y, hr52.z, h(0)
MESA: info: (rpt1)nop
MESA: info: brao !p0.x, !p0.y, #l327
MESA: info: shl.b r50.z, r52.x, 5
MESA: info: add.u r50.z, r50.z, 16
MESA: info: shl.b r2.y, r52.x, 3
MESA: info: (ss)(nop3) shr.b r3.z, r50.z, 2
MESA: info: nop
MESA: info: ldib.b.untyped.1d.u32.4.imm.base3 r2.z, r2.y, 0
MESA: info: nop
MESA: info: ldib.b.untyped.1d.u32.4.imm.base3 r3.w, r3.z, 0
MESA: info: (sy)(rpt3)min.u r0.y, (last)(r)r0.y, (last)(r)r2.z
MESA: info: (rpt3)max.u r1.y, (last)(r)r1.y, (last)(r)r3.w
MESA: info: l327:
MESA: info: add.u r52.x, r52.x, 1
MESA: info: jump #l115
MESA: info: l329:
MESA: info: mov.u32u32 r4.w, 0
MESA: info: (rpt4)nop
MESA: info: (sy)stib.b.untyped.1d.u32.4.imm.base3 r0.y, r4.w, 1
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.y, r4.w+4, 1
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs:
MESA: info: ; CL prog 23/1: 251 instr, 25 nops, 226 non-nops, 3 mov, 6 cov, 680 dwords
MESA: info: ; CL prog 23/1: 0 last-baryf, 0 last-helper, 0 half, 5 full, 8 constlen
MESA: info: ; CL prog 23/1: 29 cat0, 9 cat1, 201 cat2, 4 cat3, 0 cat4, 0 cat5, 6 cat6, 2 cat7
MESA: info: ; CL prog 23/1: 46 sstall, 9 (ss), 162 systall, 3 (sy), 1 loops
MESA: info: ; CL prog 23/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 110 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xaf7a19af, 0x4e757c14, 0x6aa954b4, 0x3617839e, 0x4ee01482, 0x65c1a7b6, 0x68a5c602, 0x0120a10c}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %131 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %125 = @load_ubo_vec4 (%4, %131 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %161 = f2u32 %125
MESA: info:             con 32    %162 = mov %161.x
MESA: info:             con 32    %163 = mov %161.y
MESA: info:                              @store_const_ir3 (%162) (base=16)
MESA: info:                              @store_const_ir3 (%163) (base=17)
MESA: info:             con 32      %8 = u2f32 %161.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %125.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %18 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%18)
MESA: info:             con 32     %20 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%20)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %23 = @load_local_invocation_id
MESA: info:     con 32x3   %24 = @load_workgroup_id
MESA: info:     con 32x3   %25 = @load_base_workgroup_id
MESA: info:     con 32x2  %164 = iadd %24.xy, %25.xy
MESA: info:     con 32     %28 = load_const (0x00000000)
MESA: info:     con 32x2   %33 = @load_const_ir3 (%28 (0x0)) (base=40)
MESA: info:     con 32     %35 = @load_const_ir3 (%28 (0x0)) (base=16)
MESA: info:     con 32     %37 = @load_const_ir3 (%28 (0x0)) (base=17)
MESA: info:     con 32     %38 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %165 = umul_low %164, %38 (0xa).xx
MESA: info:     con 32x2  %166 = imadsh_mix16 %38 (0xa).xx, %164, %165
MESA: info:     div 32x2  %167 = iadd %166, %23.xy
MESA: info:     con 32     %43 = load_const (0x00000006)
MESA: info:     div 32x2  %168 = ishl %167, %43 (0x6).xx
MESA: info:     div 32    %169 = mov %168.x
MESA: info:     div 32    %170 = mov %168.y
MESA: info:     div 32    %152 = umul_low %23.y, %38 (0xa)
MESA: info:     div 32    %154 = imadsh_mix16 %38 (0xa), %23.y, %152
MESA: info:     con 32     %49 = @load_const_ir3 (%28 (0x0)) (base=18)
MESA: info:     con 32    %149 = umul_low %164.y, %49
MESA: info:     con 32    %150 = imadsh_mix16 %164.y, %49, %149
MESA: info:     con 32    %151 = imadsh_mix16 %49, %164.y, %150
MESA: info:     con 32     %51 = iadd %151, %164.x
MESA: info:     con 32     %52 = load_const (0x00000064 = 100)
MESA: info:     con 32    %146 = umul_low %51, %52 (0x64)
MESA: info:     con 32    %148 = imadsh_mix16 %52 (0x64), %51, %146
MESA: info:     div 32    %145 = iadd3 %154, %23.x, %148
MESA: info:     con 32x4  %181 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %194 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %180 = phi b6: %181 (0x0, 0x0, 0x0, 0x0), b15: %182
MESA: info:         div 32x4  %193 = phi b6: %194 (0x0, 0x0, 0x0, 0x0), b15: %225
MESA: info:         div 32     %63 = phi b6: %28 (0x0), b15: %224
MESA: info:         div 32     %64 = phi b6: %170, b15: %115
MESA: info:         div 32x3  %202 = mov %180.yzw
MESA: info:         div 32    %174 = mov %180.x
MESA: info:         con 32     %65 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %197 = iadd %168.yx, %65 (0x40).xx
MESA: info:         div 32     %68 = umin %37, %197.x
MESA: info:         div 32     %69 = umin %35, %197.y
MESA: info:         div 1      %70 = uge %64, %68
MESA: info:                          // succs: b8 b9
MESA: info:         if %70 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %71 = phi b10: %169, b14: %113
MESA: info:             div 32     %72 = phi b10: %174, b14: %112
MESA: info:             div 32x3  %201 = phi b10: %202, b14: %217
MESA: info:             div 32x4  %210 = phi b10: %193, b14: %211
MESA: info:             div 32     %80 = phi b10: %63, b14: %137
MESA: info:             div 1      %81 = uge %71, %69
MESA: info:                              // succs: b12 b13
MESA: info:             if %81 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %82 = u2f32 %71
MESA: info:             con 32     %84 = @load_const_ir3 (%28 (0x0)) (base=19)
MESA: info:             div 32     %85 = fmul %82, %84
MESA: info:             con 32     %89 = @load_const_ir3 (%28 (0x0)) (base=37)
MESA: info:             div 32     %90 = fmul %85, %33.x
MESA: info:             div 32     %91 = f2i32 %90
MESA: info:             con 32     %92 = @bindless_resource_ir3 (%28 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %93 = (int32)txf %92 (texture_handle), %91 (coord), %89 (lod), 0 (texture)
MESA: info:             div 32x3  %213 = imin %201, %93.xyz
MESA: info:             div 32     %98 = imin %210.x, %93.w
MESA: info:             div 32x3  %215 = imax %210.yzw, %93.xyz
MESA: info:             div 32    %102 = imax %80, %93.w
MESA: info:             div 32x3  %217 = icsel_eqz %72.xxx, %93.xyz, %213
MESA: info:             div 32    %141 = icsel_eqz %72, %93.w, %98
MESA: info:             div 32x3  %219 = icsel_eqz %72.xxx, %93.xyz, %215
MESA: info:             div 32    %137 = icsel_eqz %72, %93.w, %102
MESA: info:             con 32    %111 = load_const (0x00000001)
MESA: info:             div 32    %112 = iadd %72, %111 (0x1)
MESA: info:             div 32    %113 = iadd %71, %111 (0x1)
MESA: info:             div 32x4  %211 = vec4 %141, %219.x, %219.y, %219.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %227 = phi b12: %72
MESA: info:         div 32x3  %226 = phi b12: %201
MESA: info:         div 32x4  %225 = phi b12: %210
MESA: info:         div 32    %224 = phi b12: %80
MESA: info:         con 32    %114 = load_const (0x00000001)
MESA: info:         div 32    %115 = iadd %64, %114 (0x1)
MESA: info:         div 32x4  %182 = vec4 %227, %226.x, %226.y, %226.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %230 = phi b8: %180
MESA: info:     div 32x4  %229 = phi b8: %193
MESA: info:     div 32    %228 = phi b8: %63
MESA: info:     con 32     %31 = load_const (0x00000002)
MESA: info:     con 32x2  %220 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %221 = ishl %145.xx, %220 (0x5, 0x3)
MESA: info:     div 32    %222 = mov %221.x
MESA: info:     div 32    %223 = mov %221.y
MESA: info:     con 32    %118 = @bindless_resource_ir3 (%28 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %119 = vec4 %230.y, %230.z, %230.w, %229.x
MESA: info:                      @store_ssbo_ir3 (%119, %118, %222, %223) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %120 = load_const (0x00000010 = 16)
MESA: info:     div 32    %121 = iadd %221.x, %120 (0x10)
MESA: info:     div 32x4  %122 = vec4 %229.y, %229.z, %229.w, %228
MESA: info:     div 32    %130 = ushr %121, %31 (0x2)
MESA: info:                      @store_ssbo_ir3 (%122, %118, %121, %130) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 1c390313ca249f2cbc4d49d2193b1d303e42774c:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l20
MESA: info: getone #l20
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.x, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.x, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l20:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.z, r48.y, 16
MESA: info: mull.u r50.w, r48.y, 10
MESA: info: mull.u r50.z, 10, r50.z
MESA: info: shl.b r50.z, r50.z, 16
MESA: info: add.u r50.z, r50.z, r50.w
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.x, r48.x, 16
MESA: info: mull.u r50.y, r48.x, 10
MESA: info: mull.u r50.x, 10, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: add.u r50.x, r50.x, r50.y
MESA: info: shr.b r49.w, c4.z, 16
MESA: info: mull.u r51.x, r48.y, c4.z
MESA: info: mull.u r49.w, r48.y, r49.w
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r49.w, r49.w, r51.x
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r49.w
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.y, r48.y, 16
MESA: info: mull.u r51.y, 100, r51.y
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.z, (last)r0.y
MESA: info: add.u r1.x, r50.x, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.y
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l64:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l106
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l72:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l104
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: add.u r4.w, r1.y, 1
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: (nop2) mul.f r4.z, (last)r4.z, c4.w
MESA: info: (nop2) mul.f r4.z, (last)r4.z, c10.x
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r4.w, (0x0)
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.base2 (s32)(xyzw)r5.x, r4.z, r40.x, s#0, t#0
MESA: info: (sy)min.s r1.z, (last)r1.z, r5.x
MESA: info: min.s r1.w, (last)r1.w, r5.y
MESA: info: min.s r2.x, (last)r2.x, r5.z
MESA: info: min.s r2.y, (last)r2.y, r5.w
MESA: info: max.s r2.z, (last)r2.z, r5.x
MESA: info: max.s r2.w, (last)r2.w, r5.y
MESA: info: max.s r3.x, (last)r3.x, r5.z
MESA: info: max.s r3.y, (last)r3.y, r5.w
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.x
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.y
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r5.z
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r5.w
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.x
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.y
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r5.z
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r5.w
MESA: info: mov.u32u32 r1.y, (last)r4.w
MESA: info: jump #l72
MESA: info: l104:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l64
MESA: info: l106:
MESA: info: (jp)shl.b r6.x, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.x, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 24/1: 123 instr, 32 nops, 91 non-nops, 12 mov, 2 cov, 256 dwords
MESA: info: ; CL prog 24/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 24/1: 37 cat0, 14 cat1, 55 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 4 cat7
MESA: info: ; CL prog 24/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 24/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 20 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x024cfe2e, 0x552580af, 0xb2f45393, 0x48c87d9f, 0x2851fd0c, 0xb7e4f5e7, 0xb88147e0, 0xae67b720}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %201 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %285 = f2u32 %201
MESA: info:             con 32    %286 = mov %285.x
MESA: info:             con 32    %287 = mov %285.y
MESA: info:                              @store_const_ir3 (%286) (base=16)
MESA: info:                              @store_const_ir3 (%287) (base=17)
MESA: info:             con 32     %10 = frcp %201.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32    %204 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %292 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %293 = iand %204.xxxx, %292 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %301 = ieq %293, %2 (0x0).xxxx
MESA: info:             con 32x4  %302 = b2i32 %301
MESA: info:             con 32    %303 = mov %302.w
MESA: info:             con 32    %300 = mov %302.z
MESA: info:             con 32    %296 = mov %302.x
MESA: info:             con 32    %297 = mov %302.y
MESA: info:                              @store_const_ir3 (%296) (base=19)
MESA: info:                              @store_const_ir3 (%297) (base=20)
MESA: info:                              @store_const_ir3 (%300) (base=21)
MESA: info:                              @store_const_ir3 (%303) (base=22)
MESA: info:             con 32    %207 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %27 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %28 = fadd %207, %27 (1.000000)
MESA: info:             con 32     %29 = f2i32 %28
MESA: info:                              @store_const_ir3 (%29) (base=23)
MESA: info:                              @store_const_ir3 (%29) (base=24)
MESA: info:                              @store_const_ir3 (%29) (base=25)
MESA: info:                              @store_const_ir3 (%29) (base=26)
MESA: info:             con 32x2  %219 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %284 = fsub %219.y, %219.x
MESA: info:             con 32     %45 = frcp %284
MESA: info:                              @store_const_ir3 (%45) (base=27)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %50 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%50)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %51 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %52 = load_const (0x00000002)
MESA: info:     con 32x2   %57 = @load_const_ir3 (%51 (0x0)) (base=40)
MESA: info:     con 32     %59 = @load_const_ir3 (%51 (0x0)) (base=16)
MESA: info:     con 32     %61 = @load_const_ir3 (%51 (0x0)) (base=17)
MESA: info:     con 32x3   %62 = @load_workgroup_id
MESA: info:     con 32x3   %63 = @load_base_workgroup_id
MESA: info:     con 32x2  %304 = iadd %62.xy, %63.xy
MESA: info:     con 32     %66 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %305 = umul_low %304, %66 (0xa).xx
MESA: info:     con 32x2  %306 = imadsh_mix16 %66 (0xa).xx, %304, %305
MESA: info:     div 32x3   %69 = @load_local_invocation_id
MESA: info:     div 32x2  %307 = iadd %306, %69.xy
MESA: info:     con 32     %72 = load_const (0x00000006)
MESA: info:     div 32x2  %308 = ishl %307, %72 (0x6).xx
MESA: info:     div 32    %309 = mov %308.x
MESA: info:     div 32    %310 = mov %308.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %75 = phi b6: %310, b30: %198
MESA: info:         con 32     %76 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %311 = iadd %308.yx, %76 (0x40).xx
MESA: info:         div 32     %79 = umin %61, %311.x
MESA: info:         div 32     %80 = umin %59, %311.y
MESA: info:         div 1      %81 = uge %75, %79
MESA: info:                          // succs: b8 b9
MESA: info:         if %81 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %82 = phi b10: %309, b29: %196
MESA: info:             div 1      %83 = uge %82, %80
MESA: info:                              // succs: b12 b13
MESA: info:             if %83 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %84 = u2f32 %82
MESA: info:             con 32     %86 = @load_const_ir3 (%51 (0x0)) (base=18)
MESA: info:             div 32     %87 = fmul %84, %86
MESA: info:             con 32     %91 = @load_const_ir3 (%51 (0x0)) (base=37)
MESA: info:             div 32     %92 = fmul %87, %57.x
MESA: info:             div 32     %93 = f2i32 %92
MESA: info:             con 32     %94 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %95 = (int32)txf %94 (texture_handle), %93 (coord), %91 (lod), 0 (texture)
MESA: info:             con 32     %98 = @load_const_ir3 (%51 (0x0)) (base=32)
MESA: info:             con 32    %102 = @load_const_ir3 (%51 (0x0)) (base=19)
MESA: info:             con 32    %106 = @load_const_ir3 (%51 (0x0)) (base=20)
MESA: info:             con 32    %110 = @load_const_ir3 (%51 (0x0)) (base=21)
MESA: info:             con 32    %114 = @load_const_ir3 (%51 (0x0)) (base=22)
MESA: info:             con 32    %121 = @load_const_ir3 (%51 (0x0)) (base=23)
MESA: info:             div 32    %262 = icsel_eqz %102, %95.x, %121
MESA: info:             con 32    %125 = @load_const_ir3 (%51 (0x0)) (base=24)
MESA: info:             div 32    %261 = icsel_eqz %106, %95.y, %125
MESA: info:             con 32    %128 = @load_const_ir3 (%51 (0x0)) (base=25)
MESA: info:             div 32    %260 = icsel_eqz %110, %95.z, %128
MESA: info:             con 32    %131 = @load_const_ir3 (%51 (0x0)) (base=26)
MESA: info:             div 32    %259 = icsel_eqz %114, %95.w, %131
MESA: info:             con 1     %133 = ine %98, %51 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %133 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %134 = i2f32 %262
MESA: info:                 div 32    %135 = i2f32 %261
MESA: info:                 div 32    %136 = i2f32 %260
MESA: info:                 div 32    %137 = i2f32 %259
MESA: info:                 con 32x2  %140 = @load_const_ir3 (%51 (0x0)) (base=33)
MESA: info:                 div 32    %283 = fsub %134, %140.x
MESA: info:                 div 32    %282 = fsub %135, %140.x
MESA: info:                 div 32    %281 = fsub %136, %140.x
MESA: info:                 div 32    %280 = fsub %137, %140.x
MESA: info:                 con 32    %147 = @load_const_ir3 (%51 (0x0)) (base=27)
MESA: info:                 div 32    %148 = fmul %283, %147
MESA: info:                 div 32    %149 = fmul %282, %147
MESA: info:                 div 32    %150 = fmul %281, %147
MESA: info:                 div 32    %151 = fmul %280, %147
MESA: info:                 div 1     %152 = flt! %148, %51 (0.000000)
MESA: info:                 div 1     %153 = flt! %149, %51 (0.000000)
MESA: info:                 div 1     %154 = flt! %150, %51 (0.000000)
MESA: info:                 div 1     %155 = flt! %151, %51 (0.000000)
MESA: info:                 con 32    %156 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %157 = fmul %148, %156 (256.000000)
MESA: info:                 con 32    %158 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %159 = bcsel %152, %158 (0x44000000), %157
MESA: info:                 div 32    %160 = fmul %149, %156 (256.000000)
MESA: info:                 div 32    %161 = bcsel %153, %158 (0x44000000), %160
MESA: info:                 div 32    %162 = fmul %150, %156 (256.000000)
MESA: info:                 div 32    %163 = bcsel %154, %158 (0x44000000), %162
MESA: info:                 div 32    %164 = fmul %151, %156 (256.000000)
MESA: info:                 div 32    %165 = bcsel %155, %158 (0x44000000), %164
MESA: info:                 div 32    %166 = ffloor %159
MESA: info:                 div 32    %167 = ffloor %161
MESA: info:                 div 32    %168 = ffloor %163
MESA: info:                 div 32    %169 = ffloor %165
MESA: info:                 div 32    %170 = f2u32 %166
MESA: info:                 div 32    %171 = f2u32 %167
MESA: info:                 div 32    %172 = f2u32 %168
MESA: info:                 div 32    %173 = f2u32 %169
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %174 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %175 = phi b15: %173, b16: %174 (0x101)
MESA: info:             div 32    %176 = phi b15: %172, b16: %174 (0x101)
MESA: info:             div 32    %177 = phi b15: %171, b16: %174 (0x101)
MESA: info:             div 32    %178 = phi b15: %170, b16: %174 (0x101)
MESA: info:             con 32     %99 = load_const (0x00000001)
MESA: info:             con 32    %179 = load_const (0x00000100 = 256)
MESA: info:             div 1     %180 = ult %178, %179 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %180 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %181 = ishl %178, %52 (0x2)
MESA: info:                 con 32    %182 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %223 = @ssbo_atomic_ir3 (%182, %181, %99 (0x1), %178) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %184 = ult %177, %179 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %184 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %185 = ishl %177, %52 (0x2)
MESA: info:                 con 32    %186 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %227 = @ssbo_atomic_ir3 (%186, %185, %99 (0x1), %177) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %188 = ult %176, %179 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %188 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %189 = ishl %176, %52 (0x2)
MESA: info:                 con 32    %190 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %231 = @ssbo_atomic_ir3 (%190, %189, %99 (0x1), %176) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %192 = ult %175, %179 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %192 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %193 = ishl %175, %52 (0x2)
MESA: info:                 con 32    %194 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %235 = @ssbo_atomic_ir3 (%194, %193, %99 (0x1), %175) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %196 = iadd %82, %99 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %197 = load_const (0x00000001)
MESA: info:         div 32    %198 = iadd %75, %197 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 5f356bf81e8a4db2c5282d27ccade631be26e4f5:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l42
MESA: info: getone #l42
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: cov.f32u32 r49.x, r49.x
MESA: info: and.b r50.z, r49.y, 1
MESA: info: and.b r51.x, r49.y, 2
MESA: info: and.b r51.z, r49.y, 4
MESA: info: and.b r51.w, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32s32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.x, r50.z, 0
MESA: info: cmps.s.eq hr54.x, r51.x, 0
MESA: info: cov.u16s32 r50.w, hr53.x
MESA: info: cov.u16s32 r51.y, hr54.x
MESA: info: stc.u32 c[17], r49.x, 1
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[23], r49.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.z, 0
MESA: info: cov.u16s32 r49.x, hr49.z
MESA: info: cov.u16s32 r49.y, hr49.w
MESA: info: stc.u32 c[27], r50.x, 1
MESA: info: stc.u32 c[19], r50.w, 1
MESA: info: stc.u32 c[20], r51.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[21], r49.x, 1
MESA: info: stc.u32 c[22], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l42:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l60:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l167
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l68:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l165
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: mov.f32f32 r2.y, c4.w
MESA: info: mov.f32f32 r2.z, c5.x
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mov.f32f32 r2.w, c5.y
MESA: info: mov.f32f32 r3.x, c5.z
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: (nop1) cmps.s.ne p0.y, c8.x, 0
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r2.y, (0x0)
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.base2 (s32)(xyzw)r3.y, r2.x, r40.x, s#0, t#0
MESA: info: (sy)sel.b32 r2.y, c5.w, r2.y, (last)r3.y
MESA: info: sel.b32 r2.z, c6.x, r2.z, (last)r3.z
MESA: info: sel.b32 r2.w, c6.y, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, c6.z, r3.x, (last)r4.x
MESA: info: br !p0.y, #l123
MESA: info: cov.s32f32 r2.y, (last)r2.y
MESA: info: cov.s32f32 r2.z, (last)r2.z
MESA: info: cov.s32f32 r2.w, (last)r2.w
MESA: info: cov.s32f32 r3.x, (last)r3.x
MESA: info: add.f r2.y, (last)r2.y, (neg)c8.y
MESA: info: add.f r2.z, (last)r2.z, (neg)c8.y
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: mul.f r2.y, (last)r2.y, c6.w
MESA: info: mul.f r2.z, (last)r2.z, c6.w
MESA: info: mul.f r2.w, (last)r2.w, c6.w
MESA: info: mul.f r3.x, (last)r3.x, c6.w
MESA: info: cmps.f.lt r4.y, r2.y, (0.0)
MESA: info: cmps.f.lt r4.z, r2.z, (0.0)
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: mul.f r2.y, (last)r2.y, c12.y
MESA: info: mul.f r2.z, (last)r2.z, c12.y
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: sel.b32 r4.y, c12.x, r4.y, (last)r2.y
MESA: info: sel.b32 r4.z, c12.x, r4.z, (last)r2.z
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: floor.f r4.y, (last)r4.y
MESA: info: floor.f r4.z, (last)r4.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: cov.f32u32 r4.y, (last)r4.y
MESA: info: cov.f32u32 r4.z, (last)r4.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: jump #l127
MESA: info: l123:
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r4.y, 257
MESA: info: mov.u32u32 r4.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: l127:
MESA: info: (nop3) cmps.u.lt p0.x, r4.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.y, 0
MESA: info: mov.u32u32 r5.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.y, r4.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r4.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r6.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.w, r4.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.y, 0
MESA: info: mov.u32u32 r6.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.y, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.w, 0
MESA: info: mov.u32u32 r7.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.w, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l68
MESA: info: l165:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l60
MESA: info: l167:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 25/1: 202 instr, 90 nops, 112 non-nops, 19 mov, 10 cov, 352 dwords
MESA: info: ; CL prog 25/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 25/1: 105 cat0, 29 cat1, 51 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 4 cat7
MESA: info: ; CL prog 25/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 25/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 43 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x1f24f406, 0xd8118b39, 0xe9224e3d, 0xf5aaaec4, 0xb2d02924, 0x152be953, 0x5e5a9fe5, 0xfe24fea6}
MESA: info: workgroup_size: 1, 1, 1
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %254 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %235 = @load_ubo_vec4 (%4, %254 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %365 = f2u32 %235
MESA: info:             con 32    %366 = mov %365.x
MESA: info:             con 32    %367 = mov %365.y
MESA: info:                              @store_const_ir3 (%366) (base=0)
MESA: info:                              @store_const_ir3 (%367) (base=1)
MESA: info:             con 32x2  %368 = u2f32 %365
MESA: info:             con 32     %10 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32x2  %369 = fmul %368, %10 (0.001563).xx
MESA: info:             con 32x2  %370 = fceil %369
MESA: info:             con 32x2  %371 = f2u32 %370
MESA: info:             con 32    %372 = mov %371.x
MESA: info:                              @store_const_ir3 (%372) (base=2)
MESA: info:             con 32     %17 = load_const (0x00000010 = 16)
MESA: info:             con 32     %18 = load_const (0x00000064 = 100)
MESA: info:             con 32    %351 = umul_low %371.x, %18 (0x64)
MESA: info:             con 32    %353 = imadsh_mix16 %18 (0x64), %371.x, %351
MESA: info:             con 32    %348 = umul_low %353, %371.y
MESA: info:             con 32    %349 = imadsh_mix16 %353, %371.y, %348
MESA: info:             con 32    %350 = imadsh_mix16 %371.y, %353, %349
MESA: info:                              @store_const_ir3 (%350) (base=3)
MESA: info:             con 32     %21 = load_const (0x0000ffff = 65535)
MESA: info:             con 32     %22 = u2f32! %371.x
MESA: info:             con 32     %23 = frcp! %22
MESA: info:             con 32     %24 = load_const (0x4f7ffffe = 4.294967e+09)
MESA: info:             con 32     %25 = fmul! %23, %24 (4.294967e+09)
MESA: info:             con 32     %26 = f2u32! %25
MESA: info:             con 32    %345 = umul_low! %371.x, %26
MESA: info:             con 32    %346 = imadsh_mix16! %371.x, %26, %345
MESA: info:             con 32    %347 = imadsh_mix16! %26, %371.x, %346
MESA: info:             con 32     %28 = ineg! %347
MESA: info:             con 32     %29 = iand! %26, %21 (0xffff)
MESA: info:             con 32     %30 = iand! %28, %21 (0xffff)
MESA: info:             con 32     %31 = ushr! %26, %17 (0x10)
MESA: info:             con 32     %32 = ushr! %28, %17 (0x10)
MESA: info:             con 32    %342 = umul_low! %29, %30
MESA: info:             con 32    %343 = imadsh_mix16! %29, %30, %342
MESA: info:             con 32    %344 = imadsh_mix16! %30, %29, %343
MESA: info:             con 32    %339 = umul_low! %29, %32
MESA: info:             con 32    %340 = imadsh_mix16! %29, %32, %339
MESA: info:             con 32    %341 = imadsh_mix16! %32, %29, %340
MESA: info:             con 32    %336 = umul_low! %31, %30
MESA: info:             con 32    %337 = imadsh_mix16! %31, %30, %336
MESA: info:             con 32    %338 = imadsh_mix16! %30, %31, %337
MESA: info:             con 32    %333 = umul_low! %31, %32
MESA: info:             con 32    %334 = imadsh_mix16! %31, %32, %333
MESA: info:             con 32    %335 = imadsh_mix16! %32, %31, %334
MESA: info:             con 32     %37 = ishl! %341, %17 (0x10)
MESA: info:             con 32     %38 = iadd! %344, %37
MESA: info:             con 1      %39 = ult! %38, %344
MESA: info:             con 32     %40 = b2i32! %39
MESA: info:             con 32     %41 = iadd! %335, %40
MESA: info:             con 32     %42 = ushr! %341, %17 (0x10)
MESA: info:             con 32     %44 = ishl! %338, %17 (0x10)
MESA: info:             con 32     %45 = iadd! %38, %44
MESA: info:             con 1      %46 = ult! %45, %38
MESA: info:             con 32     %47 = b2i32! %46
MESA: info:             con 32    %269 = iadd3! %41, %42, %47
MESA: info:             con 32     %49 = ushr! %338, %17 (0x10)
MESA: info:             con 32    %268 = iadd3! %269, %49, %26
MESA: info:             con 32     %52 = iand! %268, %21 (0xffff)
MESA: info:                              @store_const_ir3 (%52) (base=4)
MESA: info:             con 32     %53 = ushr! %268, %17 (0x10)
MESA: info:                              @store_const_ir3 (%53) (base=5)
MESA: info:             con 32     %54 = ineg! %371.x
MESA: info:                              @store_const_ir3 (%54) (base=6)
MESA: info:             con 32     %56 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%56)
MESA: info:             con 32     %63 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %64 = @bindless_resource_ir3 (%63 (0x1)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%64)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %67 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %69 = @load_const_ir3 (%67 (0x0)) (base=0)
MESA: info:     con 32     %71 = @load_const_ir3 (%67 (0x0)) (base=1)
MESA: info:     con 32     %73 = @load_const_ir3 (%67 (0x0)) (base=2)
MESA: info:     con 32     %74 = @bindless_resource_ir3 (%67 (0x0)) (desc_set=3)
MESA: info:     con 32    %236 = load_const (0x00000002)
MESA: info:     div 32x4  %238 = @load_ssbo_ir3 (%74, %67 (0x0), %67 (0x0)) (base=0, access=speculatable, align_mul=1073741824, align_offset=0)
MESA: info:     div 32x4  %396 = mov %238.wzyx
MESA: info:     con 32     %80 = load_const (0x00000001)
MESA: info:     con 32     %81 = load_const (0x00000010 = 16)
MESA: info:     div 32x4  %241 = @load_ssbo_ir3 (%74, %81 (0x10), %67 (0x0)) (base=4, access=speculatable, align_mul=1073741824, align_offset=16)
MESA: info:     div 32x4  %383 = mov %241.wzyx
MESA: info:     con 32     %88 = load_const (0x00000006)
MESA: info:                      // succs: b7
MESA: info:     con loop {
MESA: info:         con block b7:        // preds: b6 b13
MESA: info:         con 32     %89 = phi b6: %80 (0x1), b13: %229
MESA: info:         div 32x4  %382 = phi b6: %383, b13: %445
MESA: info:         div 32x4  %395 = phi b6: %396, b13: %453
MESA: info:         con 32    %100 = @load_const_ir3 (%67 (0x0)) (base=3)
MESA: info:         con 1     %101 = uge %89, %100
MESA: info:                          // succs: b8 b9
MESA: info:         if %101 {
MESA: info:             con block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b14
MESA: info:         } else {
MESA: info:             con block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         con block b10:       // preds: b9
MESA: info:         con 32     %98 = load_const (0x00000064 = 100)
MESA: info:         con 32    %102 = load_const (0x0000ffff = 65535)
MESA: info:         con 32    %103 = iand %89, %102 (0xffff)
MESA: info:         con 32    %105 = ushr %89, %81 (0x10)
MESA: info:         con 32x3  %407 = load_const (0x0000851f, 0x000051eb, 0x51eb851f) = (34079, 20971, 1374389535)
MESA: info:         con 32x3  %408 = umul_low %103.xxx, %407 (0x851f, 0x51eb, 0x51eb851f)
MESA: info:         con 32x2  %401 = load_const (0x0000851f, 0x000051eb) = (34079, 20971)
MESA: info:         con 32x2  %402 = imadsh_mix16 %401 (0x851f, 0x51eb), %103.xx, %408.xy
MESA: info:         con 32x2  %403 = load_const (0x0000851f, 0x000051eb) = (34079, 20971)
MESA: info:         con 32x2  %404 = umul_low %105.xx, %403 (0x851f, 0x51eb)
MESA: info:         con 32x2  %405 = load_const (0x0000851f, 0x000051eb) = (34079, 20971)
MESA: info:         con 32x2  %406 = imadsh_mix16 %405 (0x851f, 0x51eb), %105.xx, %404
MESA: info:         con 32    %111 = load_const (0x51eb851f = 1374389535)
MESA: info:         con 32    %319 = imadsh_mix16 %103, %111 (0x51eb851f), %408.z
MESA: info:         con 32    %320 = imadsh_mix16 %111 (0x51eb851f), %103, %319
MESA: info:         con 1     %113 = ult %320, %402.x
MESA: info:         con 32    %114 = b2i32 %113
MESA: info:         con 32    %116 = ushr %402.y, %81 (0x10)
MESA: info:         con 32    %267 = iadd3 %406.y, %114, %116
MESA: info:         con 32    %118 = load_const (0x851f0000 = -2061565952 = 2233401344)
MESA: info:         con 32    %361 = load_const (0x00000000)
MESA: info:         con 32    %316 = imadsh_mix16 %105, %118 (0x851f0000), %361 (0x0)
MESA: info:         con 32    %120 = iadd %320, %316
MESA: info:         con 1     %121 = ult %120, %320
MESA: info:         con 32    %122 = b2i32 %121
MESA: info:         con 32    %124 = ushr %406.x, %81 (0x10)
MESA: info:         con 32    %266 = iadd3 %267, %122, %124
MESA: info:         con 32x2  %409 = load_const (0x00000005, 0x00000015) = (5, 21)
MESA: info:         con 32x2  %410 = ushr! %266.xx, %409 (0x5, 0x15)
MESA: info:         con 32    %312 = umul_low %410.x, %98 (0x64)
MESA: info:         con 32    %314 = imadsh_mix16 %98 (0x64), %410.x, %312
MESA: info:         con 32    %364 = isub %89, %314
MESA: info:         con 32    %130 = iand! %410.x, %102 (0xffff)
MESA: info:         con 32    %132 = @load_const_ir3 (%67 (0x0)) (base=4)
MESA: info:         con 32    %136 = @load_const_ir3 (%67 (0x0)) (base=5)
MESA: info:         con 32    %309 = umul_low! %130, %132
MESA: info:         con 32    %310 = imadsh_mix16! %130, %132, %309
MESA: info:         con 32    %311 = imadsh_mix16! %132, %130, %310
MESA: info:         con 32    %306 = umul_low! %130, %136
MESA: info:         con 32    %307 = imadsh_mix16! %130, %136, %306
MESA: info:         con 32    %308 = imadsh_mix16! %136, %130, %307
MESA: info:         con 32    %303 = umul_low! %410.y, %132
MESA: info:         con 32    %304 = imadsh_mix16! %410.y, %132, %303
MESA: info:         con 32    %305 = imadsh_mix16! %132, %410.y, %304
MESA: info:         con 32    %300 = umul_low! %410.y, %136
MESA: info:         con 32    %301 = imadsh_mix16! %410.y, %136, %300
MESA: info:         con 32    %302 = imadsh_mix16! %136, %410.y, %301
MESA: info:         con 32    %141 = ishl! %308, %81 (0x10)
MESA: info:         con 32    %142 = iadd! %311, %141
MESA: info:         con 1     %143 = ult! %142, %311
MESA: info:         con 32    %144 = b2i32! %143
MESA: info:         con 32    %146 = ushr! %308, %81 (0x10)
MESA: info:         con 32    %264 = iadd3! %302, %144, %146
MESA: info:         con 32    %148 = ishl! %305, %81 (0x10)
MESA: info:         con 32    %149 = iadd! %142, %148
MESA: info:         con 1     %150 = ult! %149, %142
MESA: info:         con 32    %151 = b2i32! %150
MESA: info:         con 32    %153 = ushr! %305, %81 (0x10)
MESA: info:         con 32    %263 = iadd3! %264, %151, %153
MESA: info:         con 32    %297 = umul_low! %263, %73
MESA: info:         con 32    %298 = imadsh_mix16! %263, %73, %297
MESA: info:         con 32    %299 = imadsh_mix16! %73, %263, %298
MESA: info:         con 32    %363 = isub! %410.x, %299
MESA: info:         con 1     %158 = uge! %363, %73
MESA: info:         con 32    %160 = @load_const_ir3 (%67 (0x0)) (base=6)
MESA: info:         con 32    %161 = iadd! %363, %160
MESA: info:         con 32    %162 = bcsel! %158, %161, %363
MESA: info:         con 1     %163 = uge! %162, %73
MESA: info:         con 32    %164 = iadd! %162, %160
MESA: info:         con 32    %165 = bcsel! %163, %164, %162
MESA: info:         con 32    %166 = iadd! %263, %80 (0x1)
MESA: info:         con 32    %167 = bcsel! %158, %166, %263
MESA: info:         con 32    %168 = iadd! %167, %80 (0x1)
MESA: info:         con 32    %169 = bcsel! %163, %168, %167
MESA: info:         con 32    %170 = iand %364, %102 (0xffff)
MESA: info:         con 32    %172 = ushr %364, %81 (0x10)
MESA: info:         con 32x3  %419 = load_const (0x0000cccd, 0x0000cccc, 0xcccccccd) = (+52429, +52428, -858993459) = (52429, 52428, 3435973837)
MESA: info:         con 32x3  %420 = umul_low %170.xxx, %419 (0xcccd, 0xcccc, 0xcccccccd)
MESA: info:         con 32x2  %413 = load_const (0x0000cccd, 0x0000cccc) = (52429, 52428)
MESA: info:         con 32x2  %414 = imadsh_mix16 %413 (0xcccd, 0xcccc), %170.xx, %420.xy
MESA: info:         con 32x2  %415 = load_const (0x0000cccd, 0x0000cccc) = (52429, 52428)
MESA: info:         con 32x2  %416 = umul_low %172.xx, %415 (0xcccd, 0xcccc)
MESA: info:         con 32x2  %417 = load_const (0x0000cccd, 0x0000cccc) = (52429, 52428)
MESA: info:         con 32x2  %418 = imadsh_mix16 %417 (0xcccd, 0xcccc), %172.xx, %416
MESA: info:         con 32    %178 = load_const (0xcccccccd = -858993459 = 3435973837)
MESA: info:         con 32    %283 = imadsh_mix16 %170, %178 (0xcccccccd), %420.z
MESA: info:         con 32    %284 = imadsh_mix16 %178 (0xcccccccd), %170, %283
MESA: info:         con 1     %180 = ult %284, %414.x
MESA: info:         con 32    %181 = b2i32 %180
MESA: info:         con 32    %183 = ushr %414.y, %81 (0x10)
MESA: info:         con 32    %261 = iadd3 %418.y, %181, %183
MESA: info:         con 32    %185 = load_const (0xcccd0000 = -858980352 = 3435986944)
MESA: info:         con 32    %356 = load_const (0x00000000)
MESA: info:         con 32    %280 = imadsh_mix16 %172, %185 (0xcccd0000), %356 (0x0)
MESA: info:         con 32    %187 = iadd %284, %280
MESA: info:         con 1     %188 = ult %187, %284
MESA: info:         con 32    %189 = b2i32 %188
MESA: info:         con 32    %191 = ushr %418.x, %81 (0x10)
MESA: info:         con 32    %260 = iadd3 %261, %189, %191
MESA: info:         con 32    %193 = load_const (0x00000003)
MESA: info:         con 32    %194 = ushr %260, %193 (0x3)
MESA: info:         con 32    %195 = load_const (0x0000000a = 10)
MESA: info:         con 32    %276 = umul_low %194, %195 (0xa)
MESA: info:         con 32    %278 = imadsh_mix16 %195 (0xa), %194, %276
MESA: info:         con 32    %362 = isub %364, %278
MESA: info:         con 32    %199 = load_const (0x00000280 = 640)
MESA: info:         con 32    %273 = umul_low %165, %199 (0x280)
MESA: info:         con 32    %275 = imadsh_mix16 %199 (0x280), %165, %273
MESA: info:         con 32    %201 = ishl %362, %88 (0x6)
MESA: info:         con 32    %202 = iadd %275, %201
MESA: info:         con 1     %203 = ult %202, %69
MESA: info:         con 32    %270 = umul_low %169, %199 (0x280)
MESA: info:         con 32    %272 = imadsh_mix16 %199 (0x280), %169, %270
MESA: info:         con 32    %205 = ishl %194, %88 (0x6)
MESA: info:         con 32    %206 = iadd %272, %205
MESA: info:         con 1     %207 = ult %206, %71
MESA: info:         con 1     %208 = iand %203, %207
MESA: info:                          // succs: b11 b12
MESA: info:         if %208 {
MESA: info:             con block b11:       // preds: b10
MESA: info:             con 32x2  %421 = load_const (0x00000005, 0x00000003)
MESA: info:             con 32x2  %422 = ishl %89.xx, %421 (0x5, 0x3)
MESA: info:             con 32    %423 = mov %422.x
MESA: info:             con 32    %424 = mov %422.y
MESA: info:             div 32x4  %245 = @load_ssbo_ir3 (%74, %423, %424) (base=0, access=speculatable, align_mul=32, align_offset=0)
MESA: info:             div 32x4  %430 = imin %395.wzyx, %245
MESA: info:             div 32x4  %454 = mov %430.wzyx
MESA: info:             con 32    %215 = iadd %422.x, %81 (0x10)
MESA: info:             con 32    %247 = ushr %215, %236 (0x2)
MESA: info:             div 32x4  %248 = @load_ssbo_ir3 (%74, %215, %247) (base=0, access=speculatable, align_mul=32, align_offset=16)
MESA: info:             div 32x4  %437 = imax %382.wzyx, %248
MESA: info:             div 32x4  %446 = mov %437.wzyx
MESA: info:                              // succs: b13
MESA: info:         } else {
MESA: info:             con block b12:  // preds: b10, succs: b13
MESA: info:         }
MESA: info:         con block b13:       // preds: b11 b12
MESA: info:         div 32x4  %445 = phi b11: %446, b12: %382
MESA: info:         div 32x4  %453 = phi b11: %454, b12: %395
MESA: info:         con 32    %229 = iadd %89, %80 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b14:       // preds: b8
MESA: info:     div 32x4  %456 = phi b8: %382
MESA: info:     div 32x4  %455 = phi b8: %395
MESA: info:     con 32    %230 = @bindless_resource_ir3 (%80 (0x1)) (desc_set=3)
MESA: info:     div 32x4  %231 = vec4 %455.w, %455.z, %455.y, %455.x
MESA: info:                      @store_ssbo_ir3 (%231, %230, %67 (0x0), %67 (0x0)) (base=0, wrmask=xyzw, access=none, align_mul=1073741824, align_offset=0)
MESA: info:     div 32x4  %232 = vec4 %456.w, %456.z, %456.y, %456.x
MESA: info:                      @store_ssbo_ir3 (%232, %230, %81 (0x10), %67 (0x0)) (base=4, wrmask=xyzw, access=none, align_mul=1073741824, align_offset=16)
MESA: info:                      // succs: b15
MESA: info:     block b15:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 814ec39a7b685a9de9acd99817109180d6d6f5f2:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @const(c4.x)	0x3acccccd, 0x4f7ffffe, 0x0000ffff, 0x00000280
MESA: info: @const(c5.x)	0x000051eb, 0x51eb851f, 0x0000851f, 0x851f0000
MESA: info: @const(c6.x)	0x0000cccc, 0xcccccccd, 0x0000cccd, 0xcccd0000
MESA: info: shps #l110
MESA: info: getone #l110
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 2, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 1
MESA: info: (sy)(ss)cov.f32u32 r48.x, r48.x
MESA: info: cov.u32f32 r48.z, r48.x
MESA: info: mul.f r48.z, r48.z, c4.x
MESA: info: ceil.f r48.z, r48.z
MESA: info: cov.f32u32 r48.z, r48.z
MESA: info: cov.u32f32 r50.x, r48.z
MESA: info: shr.b r49.x, r48.z, 16
MESA: info: mull.u r49.y, r48.z, 100
MESA: info: shr.b r50.y, r48.z, 16
MESA: info: absneg.s r50.z, (neg)r48.z
MESA: info: cov.f32u32 r48.y, r48.y
MESA: info: mull.u r49.x, 100, r49.x
MESA: info: cov.u32f32 r48.w, r48.y
MESA: info: shl.b r49.x, r49.x, 16
MESA: info: mul.f r48.w, r48.w, c4.x
MESA: info: add.u r49.x, r49.x, r49.y
MESA: info: ceil.f r48.w, r48.w
MESA: info: cov.f32u32 r48.w, r48.w
MESA: info: shr.b r49.z, r48.w, 16
MESA: info: mull.u r49.w, r49.x, r48.w
MESA: info: mull.u r49.z, r49.x, r49.z
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: shr.b r49.x, r49.x, 16
MESA: info: add.u r49.z, r49.z, r49.w
MESA: info: mull.u r48.w, r48.w, r49.x
MESA: info: shl.b r48.w, r48.w, 16
MESA: info: add.u r48.w, r48.w, r49.z
MESA: info: (ss)rcp r50.x, r50.x
MESA: info: stc.u32 c[2], r48.z, 1
MESA: info: stc.u32 c[6], r50.z, 1
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[1], r48.y, 1
MESA: info: stc.u32 c[3], r48.w, 1
MESA: info: (ss)mul.f r50.x, r50.x, c4.y
MESA: info: cov.f32u32 r50.x, r50.x
MESA: info: mull.u r50.y, r50.x, r50.y
MESA: info: shr.b r50.w, r50.x, 16
MESA: info: and.b r51.x, r50.x, c4.z
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: mull.u r50.w, r48.z, r50.w
MESA: info: shr.b r52.x, r51.x, 16
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: mull.u r48.z, r48.z, r50.x
MESA: info: add.u r50.w, r50.w, r48.z
MESA: info: add.u r50.y, r50.y, r50.w
MESA: info: absneg.s r50.y, (neg)r50.y
MESA: info: and.b r51.y, r50.y, c4.z
MESA: info: shr.b r51.z, r51.y, 16
MESA: info: mull.u r51.w, r51.x, r51.y
MESA: info: mull.u r52.x, r51.y, r52.x
MESA: info: mull.u r51.z, r51.x, r51.z
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r51.w
MESA: info: add.u r52.x, r52.x, r51.z
MESA: info: shr.b r52.w, r50.x, 16
MESA: info: shr.b r53.x, r51.y, 16
MESA: info: shr.b r50.y, r50.y, 16
MESA: info: mull.u r53.y, r52.w, r51.y
MESA: info: shr.b r53.z, r52.w, 16
MESA: info: mull.u r53.x, r52.w, r53.x
MESA: info: shr.b r52.y, r50.y, 16
MESA: info: mull.u r52.z, r51.x, r50.y
MESA: info: shr.b r53.w, r50.y, 16
MESA: info: mull.u r54.x, r52.w, r50.y
MESA: info: mull.u r51.y, r51.y, r53.z
MESA: info: shl.b r53.x, r53.x, 16
MESA: info: mull.u r52.y, r51.x, r52.y
MESA: info: mull.u r53.w, r52.w, r53.w
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r53.x, r53.x, r53.y
MESA: info: shl.b r52.y, r52.y, 16
MESA: info: shr.b r51.x, r51.x, 16
MESA: info: shl.b r53.w, r53.w, 16
MESA: info: shr.b r52.w, r52.w, 16
MESA: info: add.u r51.y, r51.y, r53.x
MESA: info: add.u r52.y, r52.y, r52.z
MESA: info: mull.u r51.x, r50.y, r51.x
MESA: info: add.u r53.w, r53.w, r54.x
MESA: info: shl.b r51.x, r51.x, 16
MESA: info: mull.u r50.y, r50.y, r52.w
MESA: info: add.u r51.x, r51.x, r52.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: shl.b r54.y, r51.x, 16
MESA: info: add.u r50.y, r50.y, r53.w
MESA: info: add.u r54.y, r52.x, r54.y
MESA: info: shr.b r51.x, r51.x, 16
MESA: info: cmps.u.lt hr53.x, r54.y, r52.x
MESA: info: cov.u16s32 r50.w, hr53.x
MESA: info: add.u r50.y, r50.y, r50.w
MESA: info: add.u r50.y, r50.y, r51.x
MESA: info: shl.b r51.x, r51.y, 16
MESA: info: add.u r51.x, r54.y, r51.x
MESA: info: shr.b r51.y, r51.y, 16
MESA: info: (ss)cmps.u.lt hr54.x, r51.x, r54.y
MESA: info: cov.u16s32 r51.z, hr54.x
MESA: info: add.u r50.y, r50.y, r51.z
MESA: info: add.u r50.y, r50.y, r51.y
MESA: info: add.u r50.y, r50.y, r50.x
MESA: info: and.b r51.w, r50.y, c4.z
MESA: info: shr.b r50.y, r50.y, 16
MESA: info: (ss)nop
MESA: info: stc.u32 c[4], r51.w, 1
MESA: info: stc.u32 c[5], r50.y, 1
MESA: info: (sy)(ss)shpe
MESA: info: l110:
MESA: info: (jp)mov.u32u32 r52.x, 1
MESA: info: mov.u32u32 r0.x, 0
MESA: info: (rpt4)nop
MESA: info: ldib.b.untyped.1d.u32.4.imm.base3 r0.y, r0.x, 0
MESA: info: ldib.b.untyped.1d.u32.4.imm.base3 r1.y, r0.x+4, 0
MESA: info: l115:
MESA: info: cmps.u.ge hr48.z, r52.x, c0.w
MESA: info: (ss)(nop3) cmps.s.ne p0.x, hr48.z, h(0)
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l329
MESA: info: and.b r48.z, r52.x, c4.z
MESA: info: shr.b r49.w, r52.x, 16
MESA: info: shr.b r51.x, c5.y, 16
MESA: info: shr.b r51.w, c5.w, 16
MESA: info: shr.b r48.w, r48.z, 16
MESA: info: shr.b r49.x, r48.z, 16
MESA: info: mull.u r49.y, r48.z, c5.z
MESA: info: mull.u r49.z, r48.z, c5.x
MESA: info: mull.u r51.y, r48.z, c5.y
MESA: info: shr.b r50.x, r49.w, 16
MESA: info: shr.b r50.y, r49.w, 16
MESA: info: mull.u r50.z, r49.w, c5.z
MESA: info: mull.u r50.w, r49.w, c5.x
MESA: info: mull.u r51.x, r48.z, r51.x
MESA: info: mull.u r48.w, c5.z, r48.w
MESA: info: mull.u r49.x, c5.x, r49.x
MESA: info: mull.u r50.y, c5.x, r50.y
MESA: info: mull.u r49.w, r49.w, r51.w
MESA: info: shl.b r51.x, r51.x, 16
MESA: info: shr.b r48.z, r48.z, 16
MESA: info: shl.b r48.w, r48.w, 16
MESA: info: shl.b r49.x, r49.x, 16
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r51.x, r51.x, r51.y
MESA: info: mull.u r48.z, c5.y, r48.z
MESA: info: add.u r48.w, r48.w, r49.y
MESA: info: add.u r49.x, r49.x, r49.z
MESA: info: add.u r50.y, r50.y, r50.w
MESA: info: add.u r49.w, r49.w, 0
MESA: info: shl.b r48.z, r48.z, 16
MESA: info: shr.b r49.x, r49.x, 16
MESA: info: add.u r48.z, r48.z, r51.x
MESA: info: add.u r49.w, r48.z, r49.w
MESA: info: shr.b r53.z, c1.x, 16
MESA: info: shr.b r54.y, c1.y, 16
MESA: info: shr.b r54.w, c1.x, 16
MESA: info: shr.b r55.z, c1.y, 16
MESA: info: mull.u r50.x, c5.z, r50.x
MESA: info: shr.b r49.y, c0.z, 16
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: add.u r50.x, r50.x, r50.z
MESA: info: shr.b r50.x, r50.x, 16
MESA: info: (ss)cmps.u.lt hr49.z, r48.z, r48.w
MESA: info: cmps.u.lt hr51.z, r49.w, r48.z
MESA: info: cov.u16s32 r51.z, hr49.z
MESA: info: add.u r50.y, r50.y, r51.z
MESA: info: add.u r50.y, r50.y, r49.x
MESA: info: cov.u16s32 r52.y, hr51.z
MESA: info: add.u r50.y, r50.y, r52.y
MESA: info: add.u r50.y, r50.y, r50.x
MESA: info: shr.b r52.z, r50.y, 5
MESA: info: shr.b r52.w, r52.z, 16
MESA: info: mull.u r53.x, r52.z, 100
MESA: info: and.b r53.y, r52.z, c4.z
MESA: info: shr.b r50.y, r50.y, 21
MESA: info: mull.u r52.w, 100, r52.w
MESA: info: mull.u r53.z, r53.y, r53.z
MESA: info: mull.u r53.w, r53.y, c1.x
MESA: info: shr.b r54.x, r53.y, 16
MESA: info: mull.u r54.y, r53.y, r54.y
MESA: info: mull.u r54.z, r53.y, c1.y
MESA: info: mull.u r54.w, r50.y, r54.w
MESA: info: mull.u r55.x, r50.y, c1.x
MESA: info: shr.b r55.y, r50.y, 16
MESA: info: mull.u r55.z, r50.y, r55.z
MESA: info: mull.u r55.w, r50.y, c1.y
MESA: info: shl.b r52.w, r52.w, 16
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: mull.u r54.x, c1.x, r54.x
MESA: info: shl.b r54.y, r54.y, 16
MESA: info: shr.b r53.y, r53.y, 16
MESA: info: shl.b r54.w, r54.w, 16
MESA: info: mull.u r55.y, c1.x, r55.y
MESA: info: shl.b r55.z, r55.z, 16
MESA: info: shr.b r50.y, r50.y, 16
MESA: info: add.u r52.w, r52.w, r53.x
MESA: info: add.u r53.z, r53.z, r53.w
MESA: info: shl.b r54.x, r54.x, 16
MESA: info: add.u r54.y, r54.y, r54.z
MESA: info: mull.u r53.y, c1.y, r53.y
MESA: info: add.u r54.w, r54.w, r55.x
MESA: info: shl.b r55.y, r55.y, 16
MESA: info: add.u r55.z, r55.z, r55.w
MESA: info: mull.u r50.y, c1.y, r50.y
MESA: info: sub.u r52.w, r52.x, r52.w
MESA: info: add.u r54.x, r54.x, r53.z
MESA: info: shl.b r53.y, r53.y, 16
MESA: info: add.u r55.y, r55.y, r54.w
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: and.b r51.w, r52.w, c4.z
MESA: info: add.u r53.y, r53.y, r54.y
MESA: info: shr.b r54.w, c6.y, 16
MESA: info: add.u r50.y, r50.y, r55.z
MESA: info: shr.b r52.y, r51.w, 16
MESA: info: mull.u r53.x, r51.w, c6.z
MESA: info: mull.u r55.x, r51.w, c6.y
MESA: info: shl.b r48.x, r53.y, 16
MESA: info: mull.u r54.w, r51.w, r54.w
MESA: info: mull.u r52.y, c6.z, r52.y
MESA: info: add.u r48.x, r54.x, r48.x
MESA: info: shr.b r53.y, r53.y, 16
MESA: info: shl.b r54.w, r54.w, 16
MESA: info: shl.b r52.y, r52.y, 16
MESA: info: cmps.u.lt hr48.z, r48.x, r54.x
MESA: info: add.u r54.w, r54.w, r55.x
MESA: info: add.u r52.y, r52.y, r53.x
MESA: info: cov.u16s32 r48.z, hr48.z
MESA: info: add.u r50.y, r50.y, r48.z
MESA: info: add.u r50.y, r50.y, r53.y
MESA: info: mull.u r53.y, r51.w, c6.x
MESA: info: shr.b r53.z, r52.w, 16
MESA: info: shr.b r53.w, r53.z, 16
MESA: info: shr.b r54.x, r53.z, 16
MESA: info: mull.u r54.y, r53.z, c6.z
MESA: info: mull.u r54.z, r53.z, c6.x
MESA: info: mull.u r54.x, c6.x, r54.x
MESA: info: shl.b r54.x, r54.x, 16
MESA: info: add.u r54.x, r54.x, r54.z
MESA: info: mull.u r53.w, c6.z, r53.w
MESA: info: shl.b r53.w, r53.w, 16
MESA: info: add.u r53.w, r53.w, r54.y
MESA: info: shr.b r53.w, r53.w, 16
MESA: info: (ss)shl.b r48.w, r55.y, 16
MESA: info: add.u r48.w, r48.x, r48.w
MESA: info: shr.b r55.y, r55.y, 16
MESA: info: (ss)cmps.u.lt hr49.z, r48.w, r48.x
MESA: info: cov.u16s32 r49.x, hr49.z
MESA: info: add.u r50.y, r50.y, r49.x
MESA: info: add.u r50.y, r50.y, r55.y
MESA: info: mull.u r49.y, r50.y, r49.y
MESA: info: mull.u r49.z, r50.y, c0.z
MESA: info: shr.b r49.w, r50.y, 16
MESA: info: add.u r51.y, r50.y, 1
MESA: info: shl.b r49.y, r49.y, 16
MESA: info: mull.u r49.w, c0.z, r49.w
MESA: info: add.u r49.y, r49.y, r49.z
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r49.y
MESA: info: sub.u r52.z, r52.z, r49.w
MESA: info: cmps.u.ge r50.x, r52.z, c0.z
MESA: info: add.u r50.z, r52.z, c1.z
MESA: info: sel.b32 r51.y, r51.y, r50.x, r50.y
MESA: info: sel.b32 r50.z, r50.z, r50.x, r52.z
MESA: info: add.u r51.z, r51.y, 1
MESA: info: cmps.u.ge r50.w, r50.z, c0.z
MESA: info: shr.b r52.z, r51.w, 16
MESA: info: sel.b32 r51.z, r51.z, r50.w, r51.y
MESA: info: shr.b r51.w, r51.w, 16
MESA: info: mull.u r51.w, c6.y, r51.w
MESA: info: shl.b r51.w, r51.w, 16
MESA: info: add.u r51.w, r51.w, r54.w
MESA: info: mull.u r52.z, c6.x, r52.z
MESA: info: shl.b r52.z, r52.z, 16
MESA: info: add.u r52.z, r52.z, r53.y
MESA: info: shr.b r52.z, r52.z, 16
MESA: info: add.u r51.x, r50.z, c1.z
MESA: info: shr.b r50.y, r51.z, 16
MESA: info: sel.b32 r51.x, r51.x, r50.w, r50.z
MESA: info: mull.u r50.y, c4.w, r50.y
MESA: info: mull.u r51.z, r51.z, c4.w
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r51.z
MESA: info: (ss)cmps.u.lt hr54.z, r51.w, r52.y
MESA: info: cov.u16s32 r52.y, hr54.z
MESA: info: add.u r54.x, r54.x, r52.y
MESA: info: add.u r54.x, r54.x, r52.z
MESA: info: shr.b r52.z, c6.w, 16
MESA: info: mull.u r53.z, r53.z, r52.z
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: add.u r53.z, r53.z, 0
MESA: info: add.u r53.z, r51.w, r53.z
MESA: info: cmps.u.lt hr55.z, r53.z, r51.w
MESA: info: cov.u16s32 r53.x, hr55.z
MESA: info: add.u r54.x, r54.x, r53.x
MESA: info: add.u r54.x, r54.x, r53.w
MESA: info: shr.b r54.x, r54.x, 3
MESA: info: shr.b r53.w, r51.x, 16
MESA: info: shr.b r53.y, r54.x, 16
MESA: info: mull.u r53.z, r54.x, 10
MESA: info: mull.u r53.w, c4.w, r53.w
MESA: info: mull.u r51.x, r51.x, c4.w
MESA: info: mull.u r53.y, 10, r53.y
MESA: info: shl.b r54.x, r54.x, 6
MESA: info: shl.b r53.w, r53.w, 16
MESA: info: shl.b r53.y, r53.y, 16
MESA: info: add.u r50.y, r50.y, r54.x
MESA: info: add.u r53.w, r53.w, r51.x
MESA: info: add.u r53.y, r53.y, r53.z
MESA: info: sub.u r52.w, r52.w, r53.y
MESA: info: shl.b r52.w, r52.w, 6
MESA: info: add.u r53.w, r53.w, r52.w
MESA: info: cmps.u.lt hr52.x, r53.w, c0.x
MESA: info: (ss)cmps.u.lt hr52.z, r50.y, c0.y
MESA: info: cmps.s.ne p0.x, hr52.x, h(0)
MESA: info: (ss)(nop3) cmps.s.ne p0.y, hr52.z, h(0)
MESA: info: (rpt1)nop
MESA: info: brao !p0.x, !p0.y, #l327
MESA: info: shl.b r50.z, r52.x, 5
MESA: info: add.u r50.z, r50.z, 16
MESA: info: shl.b r2.y, r52.x, 3
MESA: info: (ss)(nop3) shr.b r3.z, r50.z, 2
MESA: info: nop
MESA: info: ldib.b.untyped.1d.u32.4.imm.base3 r2.z, r2.y, 0
MESA: info: nop
MESA: info: ldib.b.untyped.1d.u32.4.imm.base3 r3.w, r3.z, 0
MESA: info: (sy)(rpt3)min.s r0.y, (last)(r)r0.y, (last)(r)r2.z
MESA: info: (rpt3)max.s r1.y, (last)(r)r1.y, (last)(r)r3.w
MESA: info: l327:
MESA: info: add.u r52.x, r52.x, 1
MESA: info: jump #l115
MESA: info: l329:
MESA: info: mov.u32u32 r4.w, 0
MESA: info: (rpt4)nop
MESA: info: (sy)stib.b.untyped.1d.u32.4.imm.base3 r0.y, r4.w, 1
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.y, r4.w+4, 1
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs:
MESA: info: ; CL prog 26/1: 251 instr, 25 nops, 226 non-nops, 3 mov, 6 cov, 680 dwords
MESA: info: ; CL prog 26/1: 0 last-baryf, 0 last-helper, 0 half, 5 full, 8 constlen
MESA: info: ; CL prog 26/1: 29 cat0, 9 cat1, 201 cat2, 4 cat3, 0 cat4, 0 cat5, 6 cat6, 2 cat7
MESA: info: ; CL prog 26/1: 46 sstall, 9 (ss), 162 systall, 3 (sy), 1 loops
MESA: info: ; CL prog 26/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 110 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x0455e564, 0x0627aab7, 0xdad9e38d, 0xfe6b4c22, 0x6f705b6f, 0x5889f75c, 0x6f03e777, 0x84e4c724}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %135 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %129 = @load_ubo_vec4 (%4, %135 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %163 = f2u32 %129
MESA: info:             con 32    %164 = mov %163.x
MESA: info:             con 32    %165 = mov %163.y
MESA: info:                              @store_const_ir3 (%164) (base=16)
MESA: info:                              @store_const_ir3 (%165) (base=17)
MESA: info:             con 32      %8 = u2f32 %163.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %129.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %129.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %20 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%20 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%19, %21)
MESA: info:             con 32     %23 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%23)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %26 = @load_local_invocation_id
MESA: info:     con 32x3   %27 = @load_workgroup_id
MESA: info:     con 32x3   %28 = @load_base_workgroup_id
MESA: info:     con 32x2  %166 = iadd %27.xy, %28.xy
MESA: info:     con 32     %31 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %34 = @load_const_ir3 (%31 (0x0)) (base=16)
MESA: info:     con 32     %36 = @load_const_ir3 (%31 (0x0)) (base=17)
MESA: info:     con 32     %37 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %167 = umul_low %166, %37 (0xa).xx
MESA: info:     con 32x2  %168 = imadsh_mix16 %37 (0xa).xx, %166, %167
MESA: info:     div 32x2  %169 = iadd %168, %26.xy
MESA: info:     con 32     %42 = load_const (0x00000006)
MESA: info:     div 32x2  %170 = ishl %169, %42 (0x6).xx
MESA: info:     div 32    %171 = mov %170.x
MESA: info:     div 32    %172 = mov %170.y
MESA: info:     div 32    %154 = umul_low %26.y, %37 (0xa)
MESA: info:     div 32    %156 = imadsh_mix16 %37 (0xa), %26.y, %154
MESA: info:     con 32     %48 = @load_const_ir3 (%31 (0x0)) (base=18)
MESA: info:     con 32    %151 = umul_low %166.y, %48
MESA: info:     con 32    %152 = imadsh_mix16 %166.y, %48, %151
MESA: info:     con 32    %153 = imadsh_mix16 %48, %166.y, %152
MESA: info:     con 32     %50 = iadd %153, %166.x
MESA: info:     con 32     %51 = load_const (0x00000064 = 100)
MESA: info:     con 32    %148 = umul_low %50, %51 (0x64)
MESA: info:     con 32    %150 = imadsh_mix16 %51 (0x64), %50, %148
MESA: info:     div 32    %147 = iadd3 %156, %26.x, %150
MESA: info:     con 32x4  %183 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:     con 32x4  %196 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %182 = phi b6: %183 (0x0, 0x0, 0x0, 0x0), b15: %184
MESA: info:         div 32x4  %195 = phi b6: %196 (0x0, 0x0, 0x0, 0x0), b15: %227
MESA: info:         div 32     %62 = phi b6: %31 (0x0), b15: %226
MESA: info:         div 32     %63 = phi b6: %172, b15: %119
MESA: info:         div 32x3  %204 = mov %182.yzw
MESA: info:         div 32    %176 = mov %182.x
MESA: info:         con 32     %64 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %199 = iadd %170.yx, %64 (0x40).xx
MESA: info:         div 32     %67 = umin %36, %199.x
MESA: info:         div 32     %68 = umin %34, %199.y
MESA: info:         div 1      %69 = uge %63, %67
MESA: info:                          // succs: b8 b9
MESA: info:         if %69 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %70 = phi b10: %171, b14: %117
MESA: info:             div 32     %71 = phi b10: %176, b14: %116
MESA: info:             div 32x3  %203 = phi b10: %204, b14: %219
MESA: info:             div 32x4  %212 = phi b10: %195, b14: %213
MESA: info:             div 32     %79 = phi b10: %62, b14: %139
MESA: info:             div 1      %80 = uge %70, %68
MESA: info:                              // succs: b12 b13
MESA: info:             if %80 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %81 = u2f32 %70
MESA: info:             div 32     %82 = u2f32 %63
MESA: info:             con 32     %84 = @load_const_ir3 (%31 (0x0)) (base=19)
MESA: info:             div 32     %85 = fmul %81, %84
MESA: info:             con 32     %87 = @load_const_ir3 (%31 (0x0)) (base=20)
MESA: info:             div 32     %88 = fmul %82, %87
MESA: info:             div 32x2   %89 = vec2 %85, %88
MESA: info:             con 32     %93 = @load_const_ir3 (%31 (0x0)) (base=37)
MESA: info:             con 32     %94 = i2f32 %93
MESA: info:             con 32     %95 = load_const (0x00000001)
MESA: info:             con 32     %96 = @bindless_resource_ir3 (%95 (0x1)) (desc_set=2)
MESA: info:             con 32     %97 = @bindless_resource_ir3 (%31 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %98 = (float32)txl %97 (texture_handle), %96 (sampler_handle), %89 (coord), %94 (lod), 0 (texture), 0 (sampler)
MESA: info:             div 32x3  %215 = fmin %203, %98.xyz
MESA: info:             div 32    %103 = fmin %212.x, %98.w
MESA: info:             div 32x3  %217 = fmax %212.yzw, %98.xyz
MESA: info:             div 32    %107 = fmax %79, %98.w
MESA: info:             div 32x3  %219 = icsel_eqz %71.xxx, %98.xyz, %215
MESA: info:             div 32    %143 = icsel_eqz %71, %98.w, %103
MESA: info:             div 32x3  %221 = icsel_eqz %71.xxx, %98.xyz, %217
MESA: info:             div 32    %139 = icsel_eqz %71, %98.w, %107
MESA: info:             div 32    %116 = iadd %71, %95 (0x1)
MESA: info:             div 32    %117 = iadd %70, %95 (0x1)
MESA: info:             div 32x4  %213 = vec4 %143, %221.x, %221.y, %221.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %229 = phi b12: %71
MESA: info:         div 32x3  %228 = phi b12: %203
MESA: info:         div 32x4  %227 = phi b12: %212
MESA: info:         div 32    %226 = phi b12: %79
MESA: info:         con 32    %118 = load_const (0x00000001)
MESA: info:         div 32    %119 = iadd %63, %118 (0x1)
MESA: info:         div 32x4  %184 = vec4 %229, %228.x, %228.y, %228.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %232 = phi b8: %182
MESA: info:     div 32x4  %231 = phi b8: %195
MESA: info:     div 32    %230 = phi b8: %62
MESA: info:     con 32x2  %222 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %223 = ishl %147.xx, %222 (0x5, 0x3)
MESA: info:     div 32    %224 = mov %223.x
MESA: info:     div 32    %225 = mov %223.y
MESA: info:     con 32    %122 = @bindless_resource_ir3 (%31 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %123 = vec4 %232.y, %232.z, %232.w, %231.x
MESA: info:                      @store_ssbo_ir3 (%123, %122, %224, %225) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %124 = load_const (0x00000010 = 16)
MESA: info:     div 32    %125 = iadd %223.x, %124 (0x10)
MESA: info:     div 32x4  %126 = vec4 %231.y, %231.z, %231.w, %230
MESA: info:     con 32    %133 = load_const (0x00000002)
MESA: info:     div 32    %134 = ushr %125, %133 (0x2)
MESA: info:                      @store_ssbo_ir3 (%126, %122, %125, %134) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 366feaf16c660b4da404391fc2b7e6c2f64d6d6f:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l106
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l104
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: cov.s32f32 r5.x, c9.y
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: mul.f r4.w, (last)r4.w, c5.x
MESA: info: add.u r5.y, r1.y, 1
MESA: info: (nop3) add.u r4.y, (last)r4.y, 1
MESA: info: saml.base2 (f32)(xyzw)r5.z, r4.z, r5.x, s#1, t#0
MESA: info: (sy)min.f r1.z, (last)r1.z, r5.z
MESA: info: min.f r1.w, (last)r1.w, r5.w
MESA: info: min.f r2.x, (last)r2.x, r6.x
MESA: info: min.f r2.y, (last)r2.y, r6.y
MESA: info: max.f r2.z, (last)r2.z, r5.z
MESA: info: max.f r2.w, (last)r2.w, r5.w
MESA: info: max.f r3.x, (last)r3.x, r6.x
MESA: info: max.f r3.y, (last)r3.y, r6.y
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.z
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.w
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r6.x
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.y
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.z
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.w
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r6.x
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.y
MESA: info: mov.u32u32 r1.y, (last)r5.y
MESA: info: jump #l74
MESA: info: l104:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l106:
MESA: info: (jp)shl.b r6.z, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.z, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 27/1: 116 instr, 26 nops, 90 non-nops, 12 mov, 3 cov, 256 dwords
MESA: info: ; CL prog 27/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 27/1: 31 cat0, 15 cat1, 55 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 2 cat7
MESA: info: ; CL prog 27/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 27/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x1d21bdd1, 0x306da7a1, 0x5c0eec7c, 0xdc876b07, 0xe912f876, 0xd3b0d544, 0x83146cee, 0xf67d8f64}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %198 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %275 = f2u32 %198
MESA: info:             con 32    %276 = mov %275.x
MESA: info:             con 32    %277 = mov %275.y
MESA: info:                              @store_const_ir3 (%276) (base=16)
MESA: info:                              @store_const_ir3 (%277) (base=17)
MESA: info:             con 32     %10 = frcp %198.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %198.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32     %12 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32    %201 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %282 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %283 = iand %201.xxxx, %282 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %291 = ieq %283, %2 (0x0).xxxx
MESA: info:             con 32x4  %292 = b2i32 %291
MESA: info:             con 32    %293 = mov %292.w
MESA: info:             con 32    %290 = mov %292.z
MESA: info:             con 32    %286 = mov %292.x
MESA: info:             con 32    %287 = mov %292.y
MESA: info:                              @store_const_ir3 (%286) (base=20)
MESA: info:                              @store_const_ir3 (%287) (base=21)
MESA: info:                              @store_const_ir3 (%290) (base=22)
MESA: info:                              @store_const_ir3 (%293) (base=23)
MESA: info:             con 32x2  %204 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %274 = fsub %204.y, %204.x
MESA: info:             con 32     %30 = frcp %274
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %35 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %37 = @bindless_resource_ir3 (%12 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%35, %37)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %38 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %40 = load_const (0x00000002)
MESA: info:     con 32     %43 = @load_const_ir3 (%38 (0x0)) (base=16)
MESA: info:     con 32     %45 = @load_const_ir3 (%38 (0x0)) (base=17)
MESA: info:     con 32x3   %46 = @load_workgroup_id
MESA: info:     con 32x3   %47 = @load_base_workgroup_id
MESA: info:     con 32x2  %294 = iadd %46.xy, %47.xy
MESA: info:     con 32     %50 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %295 = umul_low %294, %50 (0xa).xx
MESA: info:     con 32x2  %296 = imadsh_mix16 %50 (0xa).xx, %294, %295
MESA: info:     div 32x3   %53 = @load_local_invocation_id
MESA: info:     div 32x2  %297 = iadd %296, %53.xy
MESA: info:     con 32     %56 = load_const (0x00000006)
MESA: info:     div 32x2  %298 = ishl %297, %56 (0x6).xx
MESA: info:     div 32    %299 = mov %298.x
MESA: info:     div 32    %300 = mov %298.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %59 = phi b6: %300, b30: %195
MESA: info:         con 32     %60 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %301 = iadd %298.yx, %60 (0x40).xx
MESA: info:         div 32     %63 = umin %45, %301.x
MESA: info:         div 32     %64 = umin %43, %301.y
MESA: info:         div 1      %65 = uge %59, %63
MESA: info:                          // succs: b8 b9
MESA: info:         if %65 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %66 = phi b10: %299, b29: %193
MESA: info:             div 1      %67 = uge %66, %64
MESA: info:                              // succs: b12 b13
MESA: info:             if %67 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %68 = u2f32 %66
MESA: info:             div 32     %69 = u2f32 %59
MESA: info:             con 32     %71 = @load_const_ir3 (%38 (0x0)) (base=18)
MESA: info:             div 32     %72 = fmul %68, %71
MESA: info:             con 32     %74 = @load_const_ir3 (%38 (0x0)) (base=19)
MESA: info:             div 32     %75 = fmul %69, %74
MESA: info:             div 32x2   %76 = vec2 %72, %75
MESA: info:             con 32     %80 = @load_const_ir3 (%38 (0x0)) (base=37)
MESA: info:             con 32     %81 = i2f32 %80
MESA: info:             con 32     %82 = load_const (0x00000001)
MESA: info:             con 32     %83 = @bindless_resource_ir3 (%82 (0x1)) (desc_set=2)
MESA: info:             con 32     %84 = @bindless_resource_ir3 (%38 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %85 = (float32)txl %84 (texture_handle), %83 (sampler_handle), %76 (coord), %81 (lod), 0 (texture), 0 (sampler)
MESA: info:             con 32     %92 = @load_const_ir3 (%38 (0x0)) (base=32)
MESA: info:             con 32     %95 = @load_const_ir3 (%38 (0x0)) (base=20)
MESA: info:             con 32     %99 = @load_const_ir3 (%38 (0x0)) (base=21)
MESA: info:             con 32    %103 = @load_const_ir3 (%38 (0x0)) (base=22)
MESA: info:             con 32    %107 = @load_const_ir3 (%38 (0x0)) (base=23)
MESA: info:             con 32    %112 = @load_const_ir3 (%38 (0x0)) (base=34)
MESA: info:             con 32    %113 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32    %114 = fadd %112, %113 (1.000000)
MESA: info:             div 32    %252 = icsel_eqz %95, %85.x, %114
MESA: info:             div 32    %251 = icsel_eqz %99, %85.y, %114
MESA: info:             div 32    %250 = icsel_eqz %103, %85.z, %114
MESA: info:             div 32    %249 = icsel_eqz %107, %85.w, %114
MESA: info:             con 1     %134 = ine %92, %38 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %134 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 con 32x2  %137 = @load_const_ir3 (%38 (0x0)) (base=33)
MESA: info:                 div 32    %273 = fsub %252, %137.x
MESA: info:                 div 32    %272 = fsub %251, %137.x
MESA: info:                 div 32    %271 = fsub %250, %137.x
MESA: info:                 div 32    %270 = fsub %249, %137.x
MESA: info:                 con 32    %144 = @load_const_ir3 (%38 (0x0)) (base=24)
MESA: info:                 div 32    %145 = fmul %273, %144
MESA: info:                 div 32    %146 = fmul %272, %144
MESA: info:                 div 32    %147 = fmul %271, %144
MESA: info:                 div 32    %148 = fmul %270, %144
MESA: info:                 div 1     %149 = flt! %145, %38 (0.000000)
MESA: info:                 div 1     %150 = flt! %146, %38 (0.000000)
MESA: info:                 div 1     %151 = flt! %147, %38 (0.000000)
MESA: info:                 div 1     %152 = flt! %148, %38 (0.000000)
MESA: info:                 con 32    %153 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %154 = fmul %145, %153 (256.000000)
MESA: info:                 con 32    %155 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %156 = bcsel %149, %155 (0x44000000), %154
MESA: info:                 div 32    %157 = fmul %146, %153 (256.000000)
MESA: info:                 div 32    %158 = bcsel %150, %155 (0x44000000), %157
MESA: info:                 div 32    %159 = fmul %147, %153 (256.000000)
MESA: info:                 div 32    %160 = bcsel %151, %155 (0x44000000), %159
MESA: info:                 div 32    %161 = fmul %148, %153 (256.000000)
MESA: info:                 div 32    %162 = bcsel %152, %155 (0x44000000), %161
MESA: info:                 div 32    %163 = ffloor %156
MESA: info:                 div 32    %164 = ffloor %158
MESA: info:                 div 32    %165 = ffloor %160
MESA: info:                 div 32    %166 = ffloor %162
MESA: info:                 div 32    %167 = f2u32 %163
MESA: info:                 div 32    %168 = f2u32 %164
MESA: info:                 div 32    %169 = f2u32 %165
MESA: info:                 div 32    %170 = f2u32 %166
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %171 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %172 = phi b15: %170, b16: %171 (0x101)
MESA: info:             div 32    %173 = phi b15: %169, b16: %171 (0x101)
MESA: info:             div 32    %174 = phi b15: %168, b16: %171 (0x101)
MESA: info:             div 32    %175 = phi b15: %167, b16: %171 (0x101)
MESA: info:             con 32    %176 = load_const (0x00000100 = 256)
MESA: info:             div 1     %177 = ult %175, %176 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %177 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %178 = ishl %175, %40 (0x2)
MESA: info:                 con 32    %179 = @bindless_resource_ir3 (%38 (0x0)) (desc_set=3)
MESA: info:                 div 32    %208 = @ssbo_atomic_ir3 (%179, %178, %82 (0x1), %175) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %181 = ult %174, %176 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %181 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %182 = ishl %174, %40 (0x2)
MESA: info:                 con 32    %183 = @bindless_resource_ir3 (%38 (0x0)) (desc_set=3)
MESA: info:                 div 32    %212 = @ssbo_atomic_ir3 (%183, %182, %82 (0x1), %174) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %185 = ult %173, %176 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %185 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %186 = ishl %173, %40 (0x2)
MESA: info:                 con 32    %187 = @bindless_resource_ir3 (%38 (0x0)) (desc_set=3)
MESA: info:                 div 32    %216 = @ssbo_atomic_ir3 (%187, %186, %82 (0x1), %173) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %189 = ult %172, %176 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %189 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %190 = ishl %172, %40 (0x2)
MESA: info:                 con 32    %191 = @bindless_resource_ir3 (%38 (0x0)) (desc_set=3)
MESA: info:                 div 32    %220 = @ssbo_atomic_ir3 (%191, %190, %82 (0x1), %172) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %193 = iadd %66, %82 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %194 = load_const (0x00000001)
MESA: info:         div 32    %195 = iadd %59, %194 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 71803fc61ff398a47ac0b66f0fb5c6d5ebcd5091:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l36
MESA: info: getone #l36
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.z, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: (sy)(ss)cov.f32u32 r50.x, r48.w
MESA: info: cov.f32u32 r50.y, r49.x
MESA: info: add.f r49.w, r49.w, (neg)r49.z
MESA: info: and.b r50.z, r49.y, 1
MESA: info: and.b r51.x, r49.y, 2
MESA: info: and.b r51.z, r49.y, 4
MESA: info: and.b r51.w, r49.y, 8
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r49.w, r49.w
MESA: info: cmps.s.eq hr53.x, r50.z, 0
MESA: info: cmps.s.eq hr54.x, r51.x, 0
MESA: info: cov.u16s32 r50.w, hr53.x
MESA: info: cov.u16s32 r51.y, hr54.x
MESA: info: stc.u32 c[16], r50.x, 1
MESA: info: stc.u32 c[17], r50.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.z, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[24], r49.w, 1
MESA: info: stc.u32 c[20], r50.w, 1
MESA: info: stc.u32 c[21], r51.y, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l36:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l54:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l156
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l62:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l154
MESA: info: add.f r50.x, c8.z, (1.0)
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: cov.s32f32 r2.z, c9.y
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mul.f r2.y, (last)r2.y, c4.w
MESA: info: mov.f32f32 r2.w, c5.x
MESA: info: mov.f32f32 r3.x, c5.y
MESA: info: mov.f32f32 r3.y, c5.z
MESA: info: mov.f32f32 r3.z, c5.w
MESA: info: cmps.s.ne p0.y, c8.x, 0
MESA: info: saml.base2 (f32)(xyzw)r3.w, r2.x, r2.z, s#1, t#0
MESA: info: (sy)(ss)sel.b32 r2.w, r50.x, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, r50.x, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, r50.x, r3.y, (last)r4.y
MESA: info: (nop1) sel.b32 r3.z, r50.x, r3.z, (last)r4.z
MESA: info: br !p0.y, #l112
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: add.f r3.z, (last)r3.z, (neg)c8.y
MESA: info: mul.f r2.w, (last)r2.w, c6.x
MESA: info: mul.f r3.x, (last)r3.x, c6.x
MESA: info: mul.f r3.y, (last)r3.y, c6.x
MESA: info: mul.f r3.z, (last)r3.z, c6.x
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: cmps.f.lt r5.z, r3.z, (0.0)
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: mul.f r3.z, (last)r3.z, c12.y
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: sel.b32 r5.z, c12.x, r5.z, (last)r3.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: floor.f r5.z, (last)r5.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: cov.f32u32 r5.z, (last)r5.z
MESA: info: jump #l116
MESA: info: l112:
MESA: info: mov.u32u32 r5.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r5.y, 257
MESA: info: l116:
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r6.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.w, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.y, 0
MESA: info: mov.u32u32 r6.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.y, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.w, 0
MESA: info: mov.u32u32 r7.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.w, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.y, 0
MESA: info: mov.u32u32 r7.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.y, r5.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l62
MESA: info: l154:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l54
MESA: info: l156:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 28/1: 193 instr, 85 nops, 108 non-nops, 19 mov, 7 cov, 326 dwords
MESA: info: ; CL prog 28/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 28/1: 100 cat0, 26 cat1, 52 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 2 cat7
MESA: info: ; CL prog 28/1: 5 sstall, 3 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 28/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 38 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x58373cf1, 0x2752973f, 0x6e5e10f6, 0xfdfda056, 0xb8447b99, 0x78da40df, 0x758e1437, 0xec9ebb3b}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %139 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %133 = @load_ubo_vec4 (%4, %139 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %169 = f2u32 %133
MESA: info:             con 32    %170 = mov %169.x
MESA: info:             con 32    %171 = mov %169.y
MESA: info:                              @store_const_ir3 (%170) (base=16)
MESA: info:                              @store_const_ir3 (%171) (base=17)
MESA: info:             con 32      %8 = u2f32 %169.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %133.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %133.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%19)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%21)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %24 = @load_local_invocation_id
MESA: info:     con 32x3   %25 = @load_workgroup_id
MESA: info:     con 32x3   %26 = @load_base_workgroup_id
MESA: info:     con 32x2  %172 = iadd %25.xy, %26.xy
MESA: info:     con 32     %29 = load_const (0x00000000)
MESA: info:     con 32x2   %34 = @load_const_ir3 (%29 (0x0)) (base=40)
MESA: info:     con 32     %36 = @load_const_ir3 (%29 (0x0)) (base=16)
MESA: info:     con 32     %38 = @load_const_ir3 (%29 (0x0)) (base=17)
MESA: info:     con 32     %39 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %173 = umul_low %172, %39 (0xa).xx
MESA: info:     con 32x2  %174 = imadsh_mix16 %39 (0xa).xx, %172, %173
MESA: info:     div 32x2  %175 = iadd %174, %24.xy
MESA: info:     con 32     %44 = load_const (0x00000006)
MESA: info:     div 32x2  %176 = ishl %175, %44 (0x6).xx
MESA: info:     div 32    %177 = mov %176.x
MESA: info:     div 32    %178 = mov %176.y
MESA: info:     div 32    %160 = umul_low %24.y, %39 (0xa)
MESA: info:     div 32    %162 = imadsh_mix16 %39 (0xa), %24.y, %160
MESA: info:     con 32     %50 = @load_const_ir3 (%29 (0x0)) (base=18)
MESA: info:     con 32    %157 = umul_low %172.y, %50
MESA: info:     con 32    %158 = imadsh_mix16 %172.y, %50, %157
MESA: info:     con 32    %159 = imadsh_mix16 %50, %172.y, %158
MESA: info:     con 32     %52 = iadd %159, %172.x
MESA: info:     con 32     %53 = load_const (0x00000064 = 100)
MESA: info:     con 32    %154 = umul_low %52, %53 (0x64)
MESA: info:     con 32    %156 = imadsh_mix16 %53 (0x64), %52, %154
MESA: info:     div 32    %153 = iadd3 %162, %24.x, %156
MESA: info:     con 32x4  %189 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %202 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %188 = phi b6: %189 (0x0, 0x0, 0x0, 0x0), b15: %190
MESA: info:         div 32x4  %201 = phi b6: %202 (0x0, 0x0, 0x0, 0x0), b15: %233
MESA: info:         div 32     %64 = phi b6: %29 (0x0), b15: %232
MESA: info:         div 32     %65 = phi b6: %178, b15: %123
MESA: info:         div 32x3  %210 = mov %188.yzw
MESA: info:         div 32    %182 = mov %188.x
MESA: info:         con 32     %66 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %205 = iadd %176.yx, %66 (0x40).xx
MESA: info:         div 32     %69 = umin %38, %205.x
MESA: info:         div 32     %70 = umin %36, %205.y
MESA: info:         div 1      %71 = uge %65, %69
MESA: info:                          // succs: b8 b9
MESA: info:         if %71 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %72 = phi b10: %177, b14: %121
MESA: info:             div 32     %73 = phi b10: %182, b14: %120
MESA: info:             div 32x3  %209 = phi b10: %210, b14: %225
MESA: info:             div 32x4  %218 = phi b10: %201, b14: %219
MESA: info:             div 32     %81 = phi b10: %64, b14: %145
MESA: info:             div 1      %82 = uge %72, %70
MESA: info:                              // succs: b12 b13
MESA: info:             if %82 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %83 = u2f32 %72
MESA: info:             div 32     %84 = u2f32 %65
MESA: info:             con 32     %86 = @load_const_ir3 (%29 (0x0)) (base=19)
MESA: info:             div 32     %87 = fmul %83, %86
MESA: info:             con 32     %89 = @load_const_ir3 (%29 (0x0)) (base=20)
MESA: info:             div 32     %90 = fmul %84, %89
MESA: info:             con 32     %94 = @load_const_ir3 (%29 (0x0)) (base=37)
MESA: info:             div 32     %95 = fmul %87, %34.x
MESA: info:             div 32     %96 = fmul %90, %34.y
MESA: info:             div 32     %97 = f2i32 %95
MESA: info:             div 32     %98 = f2i32 %96
MESA: info:             div 32x2   %99 = vec2 %97, %98
MESA: info:             con 32    %100 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %101 = (uint32)txf %100 (texture_handle), %99 (coord), %94 (lod), 0 (texture)
MESA: info:             div 32x3  %221 = umin %209, %101.xyz
MESA: info:             div 32    %106 = umin %218.x, %101.w
MESA: info:             div 32x3  %223 = umax %218.yzw, %101.xyz
MESA: info:             div 32    %110 = umax %81, %101.w
MESA: info:             div 32x3  %225 = icsel_eqz %73.xxx, %101.xyz, %221
MESA: info:             div 32    %149 = icsel_eqz %73, %101.w, %106
MESA: info:             div 32x3  %227 = icsel_eqz %73.xxx, %101.xyz, %223
MESA: info:             div 32    %145 = icsel_eqz %73, %101.w, %110
MESA: info:             con 32    %119 = load_const (0x00000001)
MESA: info:             div 32    %120 = iadd %73, %119 (0x1)
MESA: info:             div 32    %121 = iadd %72, %119 (0x1)
MESA: info:             div 32x4  %219 = vec4 %149, %227.x, %227.y, %227.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %235 = phi b12: %73
MESA: info:         div 32x3  %234 = phi b12: %209
MESA: info:         div 32x4  %233 = phi b12: %218
MESA: info:         div 32    %232 = phi b12: %81
MESA: info:         con 32    %122 = load_const (0x00000001)
MESA: info:         div 32    %123 = iadd %65, %122 (0x1)
MESA: info:         div 32x4  %190 = vec4 %235, %234.x, %234.y, %234.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %238 = phi b8: %188
MESA: info:     div 32x4  %237 = phi b8: %201
MESA: info:     div 32    %236 = phi b8: %64
MESA: info:     con 32     %32 = load_const (0x00000002)
MESA: info:     con 32x2  %228 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %229 = ishl %153.xx, %228 (0x5, 0x3)
MESA: info:     div 32    %230 = mov %229.x
MESA: info:     div 32    %231 = mov %229.y
MESA: info:     con 32    %126 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %127 = vec4 %238.y, %238.z, %238.w, %237.x
MESA: info:                      @store_ssbo_ir3 (%127, %126, %230, %231) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %128 = load_const (0x00000010 = 16)
MESA: info:     div 32    %129 = iadd %229.x, %128 (0x10)
MESA: info:     div 32x4  %130 = vec4 %237.y, %237.z, %237.w, %236
MESA: info:     div 32    %138 = ushr %129, %32 (0x2)
MESA: info:                      @store_ssbo_ir3 (%130, %126, %129, %138) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 d61c6b03bb37c945f28d3a126c9eba42e20ba7b7:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l111
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l109
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: add.u r5.x, r1.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: mul.f r4.w, (last)r4.w, c5.x
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: (nop1) mul.f r4.w, (last)r4.w, c10.y
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.base2 (u32)(xyzw)r5.y, r4.z, r40.x, s#0, t#0
MESA: info: (sy)min.u r1.z, (last)r1.z, r5.y
MESA: info: min.u r1.w, (last)r1.w, r5.z
MESA: info: min.u r2.x, (last)r2.x, r5.w
MESA: info: min.u r2.y, (last)r2.y, r6.x
MESA: info: max.u r2.z, (last)r2.z, r5.y
MESA: info: max.u r2.w, (last)r2.w, r5.z
MESA: info: max.u r3.x, (last)r3.x, r5.w
MESA: info: max.u r3.y, (last)r3.y, r6.x
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.y
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.z
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r5.w
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.x
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.y
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.z
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r5.w
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.x
MESA: info: mov.u32u32 r1.y, (last)r5.x
MESA: info: jump #l74
MESA: info: l109:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l111:
MESA: info: (jp)shl.b r6.y, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.y, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 29/1: 123 instr, 29 nops, 94 non-nops, 12 mov, 4 cov, 256 dwords
MESA: info: ; CL prog 29/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 29/1: 34 cat0, 16 cat1, 57 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 3 cat7
MESA: info: ; CL prog 29/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 29/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xbbd6b4a3, 0xab5edca2, 0x02db2934, 0xa932f522, 0xa13973f0, 0xcb824457, 0x3aeccaf3, 0xd26ba5b5}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %209 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %293 = f2u32 %209
MESA: info:             con 32    %294 = mov %293.x
MESA: info:             con 32    %295 = mov %293.y
MESA: info:                              @store_const_ir3 (%294) (base=16)
MESA: info:                              @store_const_ir3 (%295) (base=17)
MESA: info:             con 32     %10 = frcp %209.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %209.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %212 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %300 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %301 = iand %212.xxxx, %300 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %309 = ieq %301, %2 (0x0).xxxx
MESA: info:             con 32x4  %310 = b2i32 %309
MESA: info:             con 32    %311 = mov %310.w
MESA: info:             con 32    %308 = mov %310.z
MESA: info:             con 32    %304 = mov %310.x
MESA: info:             con 32    %305 = mov %310.y
MESA: info:                              @store_const_ir3 (%304) (base=20)
MESA: info:                              @store_const_ir3 (%305) (base=21)
MESA: info:                              @store_const_ir3 (%308) (base=22)
MESA: info:                              @store_const_ir3 (%311) (base=23)
MESA: info:             con 32    %215 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %28 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %29 = fadd %215, %28 (1.000000)
MESA: info:             con 32     %30 = f2u32 %29
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @store_const_ir3 (%30) (base=25)
MESA: info:                              @store_const_ir3 (%30) (base=26)
MESA: info:                              @store_const_ir3 (%30) (base=27)
MESA: info:             con 32x2  %227 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %292 = fsub %227.y, %227.x
MESA: info:             con 32     %46 = frcp %292
MESA: info:                              @store_const_ir3 (%46) (base=28)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %51 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%51)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %52 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %53 = load_const (0x00000002)
MESA: info:     con 32x2   %58 = @load_const_ir3 (%52 (0x0)) (base=40)
MESA: info:     con 32     %60 = @load_const_ir3 (%52 (0x0)) (base=16)
MESA: info:     con 32     %62 = @load_const_ir3 (%52 (0x0)) (base=17)
MESA: info:     con 32x3   %63 = @load_workgroup_id
MESA: info:     con 32x3   %64 = @load_base_workgroup_id
MESA: info:     con 32x2  %312 = iadd %63.xy, %64.xy
MESA: info:     con 32     %67 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %313 = umul_low %312, %67 (0xa).xx
MESA: info:     con 32x2  %314 = imadsh_mix16 %67 (0xa).xx, %312, %313
MESA: info:     div 32x3   %70 = @load_local_invocation_id
MESA: info:     div 32x2  %315 = iadd %314, %70.xy
MESA: info:     con 32     %73 = load_const (0x00000006)
MESA: info:     div 32x2  %316 = ishl %315, %73 (0x6).xx
MESA: info:     div 32    %317 = mov %316.x
MESA: info:     div 32    %318 = mov %316.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %76 = phi b6: %318, b30: %206
MESA: info:         con 32     %77 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %319 = iadd %316.yx, %77 (0x40).xx
MESA: info:         div 32     %80 = umin %62, %319.x
MESA: info:         div 32     %81 = umin %60, %319.y
MESA: info:         div 1      %82 = uge %76, %80
MESA: info:                          // succs: b8 b9
MESA: info:         if %82 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %83 = phi b10: %317, b29: %204
MESA: info:             div 1      %84 = uge %83, %81
MESA: info:                              // succs: b12 b13
MESA: info:             if %84 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %85 = u2f32 %83
MESA: info:             div 32     %86 = u2f32 %76
MESA: info:             con 32     %88 = @load_const_ir3 (%52 (0x0)) (base=18)
MESA: info:             div 32     %89 = fmul %85, %88
MESA: info:             con 32     %91 = @load_const_ir3 (%52 (0x0)) (base=19)
MESA: info:             div 32     %92 = fmul %86, %91
MESA: info:             con 32     %96 = @load_const_ir3 (%52 (0x0)) (base=37)
MESA: info:             div 32     %97 = fmul %89, %58.x
MESA: info:             div 32     %98 = fmul %92, %58.y
MESA: info:             div 32     %99 = f2i32 %97
MESA: info:             div 32    %100 = f2i32 %98
MESA: info:             div 32x2  %101 = vec2 %99, %100
MESA: info:             con 32    %102 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %103 = (uint32)txf %102 (texture_handle), %101 (coord), %96 (lod), 0 (texture)
MESA: info:             con 32    %106 = @load_const_ir3 (%52 (0x0)) (base=32)
MESA: info:             con 32    %110 = @load_const_ir3 (%52 (0x0)) (base=20)
MESA: info:             con 32    %114 = @load_const_ir3 (%52 (0x0)) (base=21)
MESA: info:             con 32    %118 = @load_const_ir3 (%52 (0x0)) (base=22)
MESA: info:             con 32    %122 = @load_const_ir3 (%52 (0x0)) (base=23)
MESA: info:             con 32    %129 = @load_const_ir3 (%52 (0x0)) (base=24)
MESA: info:             div 32    %270 = icsel_eqz %110, %103.x, %129
MESA: info:             con 32    %133 = @load_const_ir3 (%52 (0x0)) (base=25)
MESA: info:             div 32    %269 = icsel_eqz %114, %103.y, %133
MESA: info:             con 32    %136 = @load_const_ir3 (%52 (0x0)) (base=26)
MESA: info:             div 32    %268 = icsel_eqz %118, %103.z, %136
MESA: info:             con 32    %139 = @load_const_ir3 (%52 (0x0)) (base=27)
MESA: info:             div 32    %267 = icsel_eqz %122, %103.w, %139
MESA: info:             con 1     %141 = ine %106, %52 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %141 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %142 = u2f32 %270
MESA: info:                 div 32    %143 = u2f32 %269
MESA: info:                 div 32    %144 = u2f32 %268
MESA: info:                 div 32    %145 = u2f32 %267
MESA: info:                 con 32x2  %148 = @load_const_ir3 (%52 (0x0)) (base=33)
MESA: info:                 div 32    %291 = fsub %142, %148.x
MESA: info:                 div 32    %290 = fsub %143, %148.x
MESA: info:                 div 32    %289 = fsub %144, %148.x
MESA: info:                 div 32    %288 = fsub %145, %148.x
MESA: info:                 con 32    %155 = @load_const_ir3 (%52 (0x0)) (base=28)
MESA: info:                 div 32    %156 = fmul %291, %155
MESA: info:                 div 32    %157 = fmul %290, %155
MESA: info:                 div 32    %158 = fmul %289, %155
MESA: info:                 div 32    %159 = fmul %288, %155
MESA: info:                 div 1     %160 = flt! %156, %52 (0.000000)
MESA: info:                 div 1     %161 = flt! %157, %52 (0.000000)
MESA: info:                 div 1     %162 = flt! %158, %52 (0.000000)
MESA: info:                 div 1     %163 = flt! %159, %52 (0.000000)
MESA: info:                 con 32    %164 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %165 = fmul %156, %164 (256.000000)
MESA: info:                 con 32    %166 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %167 = bcsel %160, %166 (0x44000000), %165
MESA: info:                 div 32    %168 = fmul %157, %164 (256.000000)
MESA: info:                 div 32    %169 = bcsel %161, %166 (0x44000000), %168
MESA: info:                 div 32    %170 = fmul %158, %164 (256.000000)
MESA: info:                 div 32    %171 = bcsel %162, %166 (0x44000000), %170
MESA: info:                 div 32    %172 = fmul %159, %164 (256.000000)
MESA: info:                 div 32    %173 = bcsel %163, %166 (0x44000000), %172
MESA: info:                 div 32    %174 = ffloor %167
MESA: info:                 div 32    %175 = ffloor %169
MESA: info:                 div 32    %176 = ffloor %171
MESA: info:                 div 32    %177 = ffloor %173
MESA: info:                 div 32    %178 = f2u32 %174
MESA: info:                 div 32    %179 = f2u32 %175
MESA: info:                 div 32    %180 = f2u32 %176
MESA: info:                 div 32    %181 = f2u32 %177
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %182 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %183 = phi b15: %181, b16: %182 (0x101)
MESA: info:             div 32    %184 = phi b15: %180, b16: %182 (0x101)
MESA: info:             div 32    %185 = phi b15: %179, b16: %182 (0x101)
MESA: info:             div 32    %186 = phi b15: %178, b16: %182 (0x101)
MESA: info:             con 32    %107 = load_const (0x00000001)
MESA: info:             con 32    %187 = load_const (0x00000100 = 256)
MESA: info:             div 1     %188 = ult %186, %187 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %188 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %189 = ishl %186, %53 (0x2)
MESA: info:                 con 32    %190 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %231 = @ssbo_atomic_ir3 (%190, %189, %107 (0x1), %186) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %192 = ult %185, %187 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %192 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %193 = ishl %185, %53 (0x2)
MESA: info:                 con 32    %194 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %235 = @ssbo_atomic_ir3 (%194, %193, %107 (0x1), %185) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %196 = ult %184, %187 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %196 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %197 = ishl %184, %53 (0x2)
MESA: info:                 con 32    %198 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %239 = @ssbo_atomic_ir3 (%198, %197, %107 (0x1), %184) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %200 = ult %183, %187 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %200 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %201 = ishl %183, %53 (0x2)
MESA: info:                 con 32    %202 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %243 = @ssbo_atomic_ir3 (%202, %201, %107 (0x1), %183) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %204 = iadd %83, %107 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %205 = load_const (0x00000001)
MESA: info:         div 32    %206 = iadd %76, %205 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 a7b2ff73551343a9e4a342b22b6352c6a454effe:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l43
MESA: info: getone #l43
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: cov.f32u32 r50.z, r49.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: and.b r50.w, r49.y, 1
MESA: info: and.b r51.y, r49.y, 2
MESA: info: and.b r51.w, r49.y, 4
MESA: info: and.b r52.x, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.z, r50.w, 0
MESA: info: cmps.s.eq hr54.z, r51.y, 0
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: cov.u16s32 r51.z, hr54.z
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[17], r50.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: stc.u32 c[27], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.w, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[28], r50.x, 1
MESA: info: stc.u32 c[20], r51.x, 1
MESA: info: stc.u32 c[21], r51.z, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l43:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l61:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l170
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l69:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l168
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: mov.f32f32 r2.z, c5.x
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mul.f r2.y, (last)r2.y, c4.w
MESA: info: mov.f32f32 r2.w, c5.y
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: mov.f32f32 r3.x, c5.z
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: mov.f32f32 r3.y, c5.w
MESA: info: (nop3) cmps.s.ne p0.y, c8.x, 0
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.base2 (u32)(xyzw)r3.z, r2.x, r40.x, s#0, t#0
MESA: info: (sy)sel.b32 r2.z, c6.x, r2.z, (last)r3.z
MESA: info: sel.b32 r2.w, c6.y, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, c6.z, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, c6.w, r3.y, (last)r4.y
MESA: info: br !p0.y, #l126
MESA: info: cov.u32f32 r2.z, (last)r2.z
MESA: info: cov.u32f32 r2.w, (last)r2.w
MESA: info: cov.u32f32 r3.x, (last)r3.x
MESA: info: cov.u32f32 r3.y, (last)r3.y
MESA: info: add.f r2.z, (last)r2.z, (neg)c8.y
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: mul.f r2.z, (last)r2.z, c7.x
MESA: info: mul.f r2.w, (last)r2.w, c7.x
MESA: info: mul.f r3.x, (last)r3.x, c7.x
MESA: info: mul.f r3.y, (last)r3.y, c7.x
MESA: info: cmps.f.lt r4.z, r2.z, (0.0)
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: mul.f r2.z, (last)r2.z, c12.y
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: sel.b32 r4.z, c12.x, r4.z, (last)r2.z
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: floor.f r4.z, (last)r4.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: cov.f32u32 r4.z, (last)r4.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: jump #l130
MESA: info: l126:
MESA: info: mov.u32u32 r5.y, 257
MESA: info: mov.u32u32 r4.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: l130:
MESA: info: (nop3) cmps.u.lt p0.x, r4.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.z, 0
MESA: info: mov.u32u32 r5.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.z, r4.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.x, 0
MESA: info: mov.u32u32 r6.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.x, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.z, 0
MESA: info: mov.u32u32 r6.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.z, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.x, 0
MESA: info: mov.u32u32 r7.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.x, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l69
MESA: info: l168:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l61
MESA: info: l170:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 30/1: 202 instr, 87 nops, 115 non-nops, 19 mov, 12 cov, 354 dwords
MESA: info: ; CL prog 30/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 30/1: 102 cat0, 31 cat1, 53 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 3 cat7
MESA: info: ; CL prog 30/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 30/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 45 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x022525be, 0x25f80b0c, 0x2c472da4, 0x413e4736, 0x5666b41c, 0x6d02e11c, 0x912935bd, 0xae9dca12}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %139 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %133 = @load_ubo_vec4 (%4, %139 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %169 = f2u32 %133
MESA: info:             con 32    %170 = mov %169.x
MESA: info:             con 32    %171 = mov %169.y
MESA: info:                              @store_const_ir3 (%170) (base=16)
MESA: info:                              @store_const_ir3 (%171) (base=17)
MESA: info:             con 32      %8 = u2f32 %169.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %133.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %133.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%19)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%21)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %24 = @load_local_invocation_id
MESA: info:     con 32x3   %25 = @load_workgroup_id
MESA: info:     con 32x3   %26 = @load_base_workgroup_id
MESA: info:     con 32x2  %172 = iadd %25.xy, %26.xy
MESA: info:     con 32     %29 = load_const (0x00000000)
MESA: info:     con 32x2   %34 = @load_const_ir3 (%29 (0x0)) (base=40)
MESA: info:     con 32     %36 = @load_const_ir3 (%29 (0x0)) (base=16)
MESA: info:     con 32     %38 = @load_const_ir3 (%29 (0x0)) (base=17)
MESA: info:     con 32     %39 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %173 = umul_low %172, %39 (0xa).xx
MESA: info:     con 32x2  %174 = imadsh_mix16 %39 (0xa).xx, %172, %173
MESA: info:     div 32x2  %175 = iadd %174, %24.xy
MESA: info:     con 32     %44 = load_const (0x00000006)
MESA: info:     div 32x2  %176 = ishl %175, %44 (0x6).xx
MESA: info:     div 32    %177 = mov %176.x
MESA: info:     div 32    %178 = mov %176.y
MESA: info:     div 32    %160 = umul_low %24.y, %39 (0xa)
MESA: info:     div 32    %162 = imadsh_mix16 %39 (0xa), %24.y, %160
MESA: info:     con 32     %50 = @load_const_ir3 (%29 (0x0)) (base=18)
MESA: info:     con 32    %157 = umul_low %172.y, %50
MESA: info:     con 32    %158 = imadsh_mix16 %172.y, %50, %157
MESA: info:     con 32    %159 = imadsh_mix16 %50, %172.y, %158
MESA: info:     con 32     %52 = iadd %159, %172.x
MESA: info:     con 32     %53 = load_const (0x00000064 = 100)
MESA: info:     con 32    %154 = umul_low %52, %53 (0x64)
MESA: info:     con 32    %156 = imadsh_mix16 %53 (0x64), %52, %154
MESA: info:     div 32    %153 = iadd3 %162, %24.x, %156
MESA: info:     con 32x4  %189 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %202 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %188 = phi b6: %189 (0x0, 0x0, 0x0, 0x0), b15: %190
MESA: info:         div 32x4  %201 = phi b6: %202 (0x0, 0x0, 0x0, 0x0), b15: %233
MESA: info:         div 32     %64 = phi b6: %29 (0x0), b15: %232
MESA: info:         div 32     %65 = phi b6: %178, b15: %123
MESA: info:         div 32x3  %210 = mov %188.yzw
MESA: info:         div 32    %182 = mov %188.x
MESA: info:         con 32     %66 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %205 = iadd %176.yx, %66 (0x40).xx
MESA: info:         div 32     %69 = umin %38, %205.x
MESA: info:         div 32     %70 = umin %36, %205.y
MESA: info:         div 1      %71 = uge %65, %69
MESA: info:                          // succs: b8 b9
MESA: info:         if %71 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %72 = phi b10: %177, b14: %121
MESA: info:             div 32     %73 = phi b10: %182, b14: %120
MESA: info:             div 32x3  %209 = phi b10: %210, b14: %225
MESA: info:             div 32x4  %218 = phi b10: %201, b14: %219
MESA: info:             div 32     %81 = phi b10: %64, b14: %145
MESA: info:             div 1      %82 = uge %72, %70
MESA: info:                              // succs: b12 b13
MESA: info:             if %82 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %83 = u2f32 %72
MESA: info:             div 32     %84 = u2f32 %65
MESA: info:             con 32     %86 = @load_const_ir3 (%29 (0x0)) (base=19)
MESA: info:             div 32     %87 = fmul %83, %86
MESA: info:             con 32     %89 = @load_const_ir3 (%29 (0x0)) (base=20)
MESA: info:             div 32     %90 = fmul %84, %89
MESA: info:             con 32     %94 = @load_const_ir3 (%29 (0x0)) (base=37)
MESA: info:             div 32     %95 = fmul %87, %34.x
MESA: info:             div 32     %96 = fmul %90, %34.y
MESA: info:             div 32     %97 = f2i32 %95
MESA: info:             div 32     %98 = f2i32 %96
MESA: info:             div 32x2   %99 = vec2 %97, %98
MESA: info:             con 32    %100 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %101 = (int32)txf %100 (texture_handle), %99 (coord), %94 (lod), 0 (texture)
MESA: info:             div 32x3  %221 = imin %209, %101.xyz
MESA: info:             div 32    %106 = imin %218.x, %101.w
MESA: info:             div 32x3  %223 = imax %218.yzw, %101.xyz
MESA: info:             div 32    %110 = imax %81, %101.w
MESA: info:             div 32x3  %225 = icsel_eqz %73.xxx, %101.xyz, %221
MESA: info:             div 32    %149 = icsel_eqz %73, %101.w, %106
MESA: info:             div 32x3  %227 = icsel_eqz %73.xxx, %101.xyz, %223
MESA: info:             div 32    %145 = icsel_eqz %73, %101.w, %110
MESA: info:             con 32    %119 = load_const (0x00000001)
MESA: info:             div 32    %120 = iadd %73, %119 (0x1)
MESA: info:             div 32    %121 = iadd %72, %119 (0x1)
MESA: info:             div 32x4  %219 = vec4 %149, %227.x, %227.y, %227.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %235 = phi b12: %73
MESA: info:         div 32x3  %234 = phi b12: %209
MESA: info:         div 32x4  %233 = phi b12: %218
MESA: info:         div 32    %232 = phi b12: %81
MESA: info:         con 32    %122 = load_const (0x00000001)
MESA: info:         div 32    %123 = iadd %65, %122 (0x1)
MESA: info:         div 32x4  %190 = vec4 %235, %234.x, %234.y, %234.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %238 = phi b8: %188
MESA: info:     div 32x4  %237 = phi b8: %201
MESA: info:     div 32    %236 = phi b8: %64
MESA: info:     con 32     %32 = load_const (0x00000002)
MESA: info:     con 32x2  %228 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %229 = ishl %153.xx, %228 (0x5, 0x3)
MESA: info:     div 32    %230 = mov %229.x
MESA: info:     div 32    %231 = mov %229.y
MESA: info:     con 32    %126 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %127 = vec4 %238.y, %238.z, %238.w, %237.x
MESA: info:                      @store_ssbo_ir3 (%127, %126, %230, %231) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %128 = load_const (0x00000010 = 16)
MESA: info:     div 32    %129 = iadd %229.x, %128 (0x10)
MESA: info:     div 32x4  %130 = vec4 %237.y, %237.z, %237.w, %236
MESA: info:     div 32    %138 = ushr %129, %32 (0x2)
MESA: info:                      @store_ssbo_ir3 (%130, %126, %129, %138) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 ff77c81789eaae43031840f23f3b1b103569e36f:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l111
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l109
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: add.u r5.x, r1.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: mul.f r4.w, (last)r4.w, c5.x
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: (nop1) mul.f r4.w, (last)r4.w, c10.y
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.base2 (s32)(xyzw)r5.y, r4.z, r40.x, s#0, t#0
MESA: info: (sy)min.s r1.z, (last)r1.z, r5.y
MESA: info: min.s r1.w, (last)r1.w, r5.z
MESA: info: min.s r2.x, (last)r2.x, r5.w
MESA: info: min.s r2.y, (last)r2.y, r6.x
MESA: info: max.s r2.z, (last)r2.z, r5.y
MESA: info: max.s r2.w, (last)r2.w, r5.z
MESA: info: max.s r3.x, (last)r3.x, r5.w
MESA: info: max.s r3.y, (last)r3.y, r6.x
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.y
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.z
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r5.w
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.x
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.y
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.z
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r5.w
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.x
MESA: info: mov.u32u32 r1.y, (last)r5.x
MESA: info: jump #l74
MESA: info: l109:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l111:
MESA: info: (jp)shl.b r6.y, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.y, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 31/1: 123 instr, 29 nops, 94 non-nops, 12 mov, 4 cov, 256 dwords
MESA: info: ; CL prog 31/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 31/1: 34 cat0, 16 cat1, 57 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 3 cat7
MESA: info: ; CL prog 31/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 31/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x7b10705e, 0xe0594794, 0xf2ef93ff, 0xeb485096, 0x822290b8, 0x44ebcfd8, 0xa3bdfdcb, 0x85b2e2aa}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %209 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %293 = f2u32 %209
MESA: info:             con 32    %294 = mov %293.x
MESA: info:             con 32    %295 = mov %293.y
MESA: info:                              @store_const_ir3 (%294) (base=16)
MESA: info:                              @store_const_ir3 (%295) (base=17)
MESA: info:             con 32     %10 = frcp %209.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %209.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %212 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %300 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %301 = iand %212.xxxx, %300 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %309 = ieq %301, %2 (0x0).xxxx
MESA: info:             con 32x4  %310 = b2i32 %309
MESA: info:             con 32    %311 = mov %310.w
MESA: info:             con 32    %308 = mov %310.z
MESA: info:             con 32    %304 = mov %310.x
MESA: info:             con 32    %305 = mov %310.y
MESA: info:                              @store_const_ir3 (%304) (base=20)
MESA: info:                              @store_const_ir3 (%305) (base=21)
MESA: info:                              @store_const_ir3 (%308) (base=22)
MESA: info:                              @store_const_ir3 (%311) (base=23)
MESA: info:             con 32    %215 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %28 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %29 = fadd %215, %28 (1.000000)
MESA: info:             con 32     %30 = f2i32 %29
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @store_const_ir3 (%30) (base=25)
MESA: info:                              @store_const_ir3 (%30) (base=26)
MESA: info:                              @store_const_ir3 (%30) (base=27)
MESA: info:             con 32x2  %227 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %292 = fsub %227.y, %227.x
MESA: info:             con 32     %46 = frcp %292
MESA: info:                              @store_const_ir3 (%46) (base=28)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %51 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%51)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %52 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %53 = load_const (0x00000002)
MESA: info:     con 32x2   %58 = @load_const_ir3 (%52 (0x0)) (base=40)
MESA: info:     con 32     %60 = @load_const_ir3 (%52 (0x0)) (base=16)
MESA: info:     con 32     %62 = @load_const_ir3 (%52 (0x0)) (base=17)
MESA: info:     con 32x3   %63 = @load_workgroup_id
MESA: info:     con 32x3   %64 = @load_base_workgroup_id
MESA: info:     con 32x2  %312 = iadd %63.xy, %64.xy
MESA: info:     con 32     %67 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %313 = umul_low %312, %67 (0xa).xx
MESA: info:     con 32x2  %314 = imadsh_mix16 %67 (0xa).xx, %312, %313
MESA: info:     div 32x3   %70 = @load_local_invocation_id
MESA: info:     div 32x2  %315 = iadd %314, %70.xy
MESA: info:     con 32     %73 = load_const (0x00000006)
MESA: info:     div 32x2  %316 = ishl %315, %73 (0x6).xx
MESA: info:     div 32    %317 = mov %316.x
MESA: info:     div 32    %318 = mov %316.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %76 = phi b6: %318, b30: %206
MESA: info:         con 32     %77 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %319 = iadd %316.yx, %77 (0x40).xx
MESA: info:         div 32     %80 = umin %62, %319.x
MESA: info:         div 32     %81 = umin %60, %319.y
MESA: info:         div 1      %82 = uge %76, %80
MESA: info:                          // succs: b8 b9
MESA: info:         if %82 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %83 = phi b10: %317, b29: %204
MESA: info:             div 1      %84 = uge %83, %81
MESA: info:                              // succs: b12 b13
MESA: info:             if %84 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %85 = u2f32 %83
MESA: info:             div 32     %86 = u2f32 %76
MESA: info:             con 32     %88 = @load_const_ir3 (%52 (0x0)) (base=18)
MESA: info:             div 32     %89 = fmul %85, %88
MESA: info:             con 32     %91 = @load_const_ir3 (%52 (0x0)) (base=19)
MESA: info:             div 32     %92 = fmul %86, %91
MESA: info:             con 32     %96 = @load_const_ir3 (%52 (0x0)) (base=37)
MESA: info:             div 32     %97 = fmul %89, %58.x
MESA: info:             div 32     %98 = fmul %92, %58.y
MESA: info:             div 32     %99 = f2i32 %97
MESA: info:             div 32    %100 = f2i32 %98
MESA: info:             div 32x2  %101 = vec2 %99, %100
MESA: info:             con 32    %102 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %103 = (int32)txf %102 (texture_handle), %101 (coord), %96 (lod), 0 (texture)
MESA: info:             con 32    %106 = @load_const_ir3 (%52 (0x0)) (base=32)
MESA: info:             con 32    %110 = @load_const_ir3 (%52 (0x0)) (base=20)
MESA: info:             con 32    %114 = @load_const_ir3 (%52 (0x0)) (base=21)
MESA: info:             con 32    %118 = @load_const_ir3 (%52 (0x0)) (base=22)
MESA: info:             con 32    %122 = @load_const_ir3 (%52 (0x0)) (base=23)
MESA: info:             con 32    %129 = @load_const_ir3 (%52 (0x0)) (base=24)
MESA: info:             div 32    %270 = icsel_eqz %110, %103.x, %129
MESA: info:             con 32    %133 = @load_const_ir3 (%52 (0x0)) (base=25)
MESA: info:             div 32    %269 = icsel_eqz %114, %103.y, %133
MESA: info:             con 32    %136 = @load_const_ir3 (%52 (0x0)) (base=26)
MESA: info:             div 32    %268 = icsel_eqz %118, %103.z, %136
MESA: info:             con 32    %139 = @load_const_ir3 (%52 (0x0)) (base=27)
MESA: info:             div 32    %267 = icsel_eqz %122, %103.w, %139
MESA: info:             con 1     %141 = ine %106, %52 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %141 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %142 = i2f32 %270
MESA: info:                 div 32    %143 = i2f32 %269
MESA: info:                 div 32    %144 = i2f32 %268
MESA: info:                 div 32    %145 = i2f32 %267
MESA: info:                 con 32x2  %148 = @load_const_ir3 (%52 (0x0)) (base=33)
MESA: info:                 div 32    %291 = fsub %142, %148.x
MESA: info:                 div 32    %290 = fsub %143, %148.x
MESA: info:                 div 32    %289 = fsub %144, %148.x
MESA: info:                 div 32    %288 = fsub %145, %148.x
MESA: info:                 con 32    %155 = @load_const_ir3 (%52 (0x0)) (base=28)
MESA: info:                 div 32    %156 = fmul %291, %155
MESA: info:                 div 32    %157 = fmul %290, %155
MESA: info:                 div 32    %158 = fmul %289, %155
MESA: info:                 div 32    %159 = fmul %288, %155
MESA: info:                 div 1     %160 = flt! %156, %52 (0.000000)
MESA: info:                 div 1     %161 = flt! %157, %52 (0.000000)
MESA: info:                 div 1     %162 = flt! %158, %52 (0.000000)
MESA: info:                 div 1     %163 = flt! %159, %52 (0.000000)
MESA: info:                 con 32    %164 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %165 = fmul %156, %164 (256.000000)
MESA: info:                 con 32    %166 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %167 = bcsel %160, %166 (0x44000000), %165
MESA: info:                 div 32    %168 = fmul %157, %164 (256.000000)
MESA: info:                 div 32    %169 = bcsel %161, %166 (0x44000000), %168
MESA: info:                 div 32    %170 = fmul %158, %164 (256.000000)
MESA: info:                 div 32    %171 = bcsel %162, %166 (0x44000000), %170
MESA: info:                 div 32    %172 = fmul %159, %164 (256.000000)
MESA: info:                 div 32    %173 = bcsel %163, %166 (0x44000000), %172
MESA: info:                 div 32    %174 = ffloor %167
MESA: info:                 div 32    %175 = ffloor %169
MESA: info:                 div 32    %176 = ffloor %171
MESA: info:                 div 32    %177 = ffloor %173
MESA: info:                 div 32    %178 = f2u32 %174
MESA: info:                 div 32    %179 = f2u32 %175
MESA: info:                 div 32    %180 = f2u32 %176
MESA: info:                 div 32    %181 = f2u32 %177
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %182 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %183 = phi b15: %181, b16: %182 (0x101)
MESA: info:             div 32    %184 = phi b15: %180, b16: %182 (0x101)
MESA: info:             div 32    %185 = phi b15: %179, b16: %182 (0x101)
MESA: info:             div 32    %186 = phi b15: %178, b16: %182 (0x101)
MESA: info:             con 32    %107 = load_const (0x00000001)
MESA: info:             con 32    %187 = load_const (0x00000100 = 256)
MESA: info:             div 1     %188 = ult %186, %187 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %188 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %189 = ishl %186, %53 (0x2)
MESA: info:                 con 32    %190 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %231 = @ssbo_atomic_ir3 (%190, %189, %107 (0x1), %186) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %192 = ult %185, %187 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %192 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %193 = ishl %185, %53 (0x2)
MESA: info:                 con 32    %194 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %235 = @ssbo_atomic_ir3 (%194, %193, %107 (0x1), %185) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %196 = ult %184, %187 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %196 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %197 = ishl %184, %53 (0x2)
MESA: info:                 con 32    %198 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %239 = @ssbo_atomic_ir3 (%198, %197, %107 (0x1), %184) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %200 = ult %183, %187 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %200 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %201 = ishl %183, %53 (0x2)
MESA: info:                 con 32    %202 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %243 = @ssbo_atomic_ir3 (%202, %201, %107 (0x1), %183) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %204 = iadd %83, %107 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %205 = load_const (0x00000001)
MESA: info:         div 32    %206 = iadd %76, %205 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 d9fc3c6c5d4043cc945f6a76300e21c6501c3ed6:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l43
MESA: info: getone #l43
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: cov.f32u32 r50.z, r49.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: and.b r50.w, r49.y, 1
MESA: info: and.b r51.y, r49.y, 2
MESA: info: and.b r51.w, r49.y, 4
MESA: info: and.b r52.x, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32s32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.z, r50.w, 0
MESA: info: cmps.s.eq hr54.z, r51.y, 0
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: cov.u16s32 r51.z, hr54.z
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[17], r50.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: stc.u32 c[27], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.w, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[28], r50.x, 1
MESA: info: stc.u32 c[20], r51.x, 1
MESA: info: stc.u32 c[21], r51.z, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l43:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l61:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l170
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l69:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l168
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: mov.f32f32 r2.z, c5.x
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mul.f r2.y, (last)r2.y, c4.w
MESA: info: mov.f32f32 r2.w, c5.y
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: mov.f32f32 r3.x, c5.z
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: mov.f32f32 r3.y, c5.w
MESA: info: (nop3) cmps.s.ne p0.y, c8.x, 0
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.base2 (s32)(xyzw)r3.z, r2.x, r40.x, s#0, t#0
MESA: info: (sy)sel.b32 r2.z, c6.x, r2.z, (last)r3.z
MESA: info: sel.b32 r2.w, c6.y, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, c6.z, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, c6.w, r3.y, (last)r4.y
MESA: info: br !p0.y, #l126
MESA: info: cov.s32f32 r2.z, (last)r2.z
MESA: info: cov.s32f32 r2.w, (last)r2.w
MESA: info: cov.s32f32 r3.x, (last)r3.x
MESA: info: cov.s32f32 r3.y, (last)r3.y
MESA: info: add.f r2.z, (last)r2.z, (neg)c8.y
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: mul.f r2.z, (last)r2.z, c7.x
MESA: info: mul.f r2.w, (last)r2.w, c7.x
MESA: info: mul.f r3.x, (last)r3.x, c7.x
MESA: info: mul.f r3.y, (last)r3.y, c7.x
MESA: info: cmps.f.lt r4.z, r2.z, (0.0)
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: mul.f r2.z, (last)r2.z, c12.y
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: sel.b32 r4.z, c12.x, r4.z, (last)r2.z
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: floor.f r4.z, (last)r4.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: cov.f32u32 r4.z, (last)r4.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: jump #l130
MESA: info: l126:
MESA: info: mov.u32u32 r5.y, 257
MESA: info: mov.u32u32 r4.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: l130:
MESA: info: (nop3) cmps.u.lt p0.x, r4.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.z, 0
MESA: info: mov.u32u32 r5.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.z, r4.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.x, 0
MESA: info: mov.u32u32 r6.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.x, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.z, 0
MESA: info: mov.u32u32 r6.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.z, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.x, 0
MESA: info: mov.u32u32 r7.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.x, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l69
MESA: info: l168:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l61
MESA: info: l170:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 32/1: 202 instr, 87 nops, 115 non-nops, 19 mov, 12 cov, 354 dwords
MESA: info: ; CL prog 32/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 32/1: 102 cat0, 31 cat1, 53 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 3 cat7
MESA: info: ; CL prog 32/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 32/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 45 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xcacdaa7b, 0x52fe7055, 0x9328bec5, 0x8937e6ca, 0x56381c31, 0x4016a686, 0xe7f70884, 0xf7b47b4e}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %144 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x3  %135 = @load_ubo_vec4 (%4, %144 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %173 = f2u32 %135.xy
MESA: info:             con 32    %174 = mov %173.x
MESA: info:             con 32    %175 = mov %173.y
MESA: info:                              @store_const_ir3 (%174) (base=16)
MESA: info:                              @store_const_ir3 (%175) (base=17)
MESA: info:             con 32      %8 = u2f32 %173.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %135.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %135.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:             con 32    %145 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32    %138 = @load_ubo_vec4 (%4, %145 (0x1)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %17 = frcp %135.z
MESA: info:             con 32     %18 = fmul %138, %17
MESA: info:                              @store_const_ir3 (%18) (base=21)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %23 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %25 = @bindless_resource_ir3 (%145 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%23, %25)
MESA: info:             con 32     %27 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%27)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %30 = @load_local_invocation_id
MESA: info:     con 32x3   %31 = @load_workgroup_id
MESA: info:     con 32x3   %32 = @load_base_workgroup_id
MESA: info:     con 32x2  %176 = iadd %31.xy, %32.xy
MESA: info:     con 32     %35 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %37 = load_const (0x0000000a = 10)
MESA: info:     con 32     %39 = @load_const_ir3 (%35 (0x0)) (base=16)
MESA: info:     con 32     %41 = @load_const_ir3 (%35 (0x0)) (base=17)
MESA: info:     con 32x2  %177 = umul_low %176, %37 (0xa).xx
MESA: info:     con 32x2  %178 = imadsh_mix16 %37 (0xa).xx, %176, %177
MESA: info:     div 32x2  %179 = iadd %178, %30.xy
MESA: info:     con 32     %46 = load_const (0x00000006)
MESA: info:     div 32x2  %180 = ishl %179, %46 (0x6).xx
MESA: info:     div 32    %181 = mov %180.x
MESA: info:     div 32    %182 = mov %180.y
MESA: info:     div 32    %164 = umul_low %30.y, %37 (0xa)
MESA: info:     div 32    %166 = imadsh_mix16 %37 (0xa), %30.y, %164
MESA: info:     con 32     %52 = @load_const_ir3 (%35 (0x0)) (base=18)
MESA: info:     con 32    %161 = umul_low %176.y, %52
MESA: info:     con 32    %162 = imadsh_mix16 %176.y, %52, %161
MESA: info:     con 32    %163 = imadsh_mix16 %52, %176.y, %162
MESA: info:     con 32     %54 = iadd %163, %176.x
MESA: info:     con 32     %55 = load_const (0x00000064 = 100)
MESA: info:     con 32    %158 = umul_low %54, %55 (0x64)
MESA: info:     con 32    %160 = imadsh_mix16 %55 (0x64), %54, %158
MESA: info:     div 32    %157 = iadd3 %166, %30.x, %160
MESA: info:     con 32x4  %193 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:     con 32x4  %206 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %192 = phi b6: %193 (0x0, 0x0, 0x0, 0x0), b15: %194
MESA: info:         div 32x4  %205 = phi b6: %206 (0x0, 0x0, 0x0, 0x0), b15: %237
MESA: info:         div 32     %66 = phi b6: %35 (0x0), b15: %236
MESA: info:         div 32     %67 = phi b6: %182, b15: %125
MESA: info:         div 32x3  %214 = mov %192.yzw
MESA: info:         div 32    %186 = mov %192.x
MESA: info:         con 32     %68 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %209 = iadd %180.yx, %68 (0x40).xx
MESA: info:         div 32     %71 = umin %41, %209.x
MESA: info:         div 32     %72 = umin %39, %209.y
MESA: info:         div 1      %73 = uge %67, %71
MESA: info:                          // succs: b8 b9
MESA: info:         if %73 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %74 = phi b10: %181, b14: %123
MESA: info:             div 32     %75 = phi b10: %186, b14: %122
MESA: info:             div 32x3  %213 = phi b10: %214, b14: %229
MESA: info:             div 32x4  %222 = phi b10: %205, b14: %223
MESA: info:             div 32     %83 = phi b10: %66, b14: %149
MESA: info:             div 1      %84 = uge %74, %72
MESA: info:                              // succs: b12 b13
MESA: info:             if %84 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %85 = u2f32 %74
MESA: info:             div 32     %86 = u2f32 %67
MESA: info:             con 32     %88 = @load_const_ir3 (%35 (0x0)) (base=19)
MESA: info:             div 32     %89 = fmul %85, %88
MESA: info:             con 32     %91 = @load_const_ir3 (%35 (0x0)) (base=20)
MESA: info:             div 32     %92 = fmul %86, %91
MESA: info:             con 32x2   %96 = @load_const_ir3 (%35 (0x0)) (base=36)
MESA: info:             con 32     %98 = @load_const_ir3 (%35 (0x0)) (base=21)
MESA: info:             div 32x3   %99 = vec3 %89, %92, %98
MESA: info:             con 32    %100 = i2f32 %96.y
MESA: info:             con 32    %101 = load_const (0x00000001)
MESA: info:             con 32    %102 = @bindless_resource_ir3 (%101 (0x1)) (desc_set=2)
MESA: info:             con 32    %103 = @bindless_resource_ir3 (%35 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %104 = (float32)txl %103 (texture_handle), %102 (sampler_handle), %99 (coord), %100 (lod), 0 (texture), 0 (sampler)
MESA: info:             div 32x3  %225 = fmin %213, %104.xyz
MESA: info:             div 32    %109 = fmin %222.x, %104.w
MESA: info:             div 32x3  %227 = fmax %222.yzw, %104.xyz
MESA: info:             div 32    %113 = fmax %83, %104.w
MESA: info:             div 32x3  %229 = icsel_eqz %75.xxx, %104.xyz, %225
MESA: info:             div 32    %153 = icsel_eqz %75, %104.w, %109
MESA: info:             div 32x3  %231 = icsel_eqz %75.xxx, %104.xyz, %227
MESA: info:             div 32    %149 = icsel_eqz %75, %104.w, %113
MESA: info:             div 32    %122 = iadd %75, %101 (0x1)
MESA: info:             div 32    %123 = iadd %74, %101 (0x1)
MESA: info:             div 32x4  %223 = vec4 %153, %231.x, %231.y, %231.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %239 = phi b12: %75
MESA: info:         div 32x3  %238 = phi b12: %213
MESA: info:         div 32x4  %237 = phi b12: %222
MESA: info:         div 32    %236 = phi b12: %83
MESA: info:         con 32    %124 = load_const (0x00000001)
MESA: info:         div 32    %125 = iadd %67, %124 (0x1)
MESA: info:         div 32x4  %194 = vec4 %239, %238.x, %238.y, %238.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %242 = phi b8: %192
MESA: info:     div 32x4  %241 = phi b8: %205
MESA: info:     div 32    %240 = phi b8: %66
MESA: info:     con 32x2  %232 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %233 = ishl %157.xx, %232 (0x5, 0x3)
MESA: info:     div 32    %234 = mov %233.x
MESA: info:     div 32    %235 = mov %233.y
MESA: info:     con 32    %128 = @bindless_resource_ir3 (%35 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %129 = vec4 %242.y, %242.z, %242.w, %241.x
MESA: info:                      @store_ssbo_ir3 (%129, %128, %234, %235) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %130 = load_const (0x00000010 = 16)
MESA: info:     div 32    %131 = iadd %233.x, %130 (0x10)
MESA: info:     div 32x4  %132 = vec4 %241.y, %241.z, %241.w, %240
MESA: info:     con 32    %142 = load_const (0x00000002)
MESA: info:     div 32    %143 = ushr %131, %142 (0x2)
MESA: info:                      @store_ssbo_ir3 (%132, %128, %131, %143) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 39b63d4fa1cba0d7c628ed427b58e5c570ff60eb:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l26
MESA: info: getone #l26
MESA: info: ldc.u.offset0.3.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.z, 1, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)rcp r49.y, r49.y
MESA: info: cov.f32u32 r49.w, r48.w
MESA: info: cov.f32u32 r50.x, r49.x
MESA: info: cov.u32f32 r50.y, r49.w
MESA: info: mul.f r50.y, r50.y, c12.x
MESA: info: ceil.f r50.y, r50.y
MESA: info: cov.f32u32 r50.y, r50.y
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: mul.f r49.z, r49.z, r49.y
MESA: info: stc.u32 c[16], r49.w, 1
MESA: info: stc.u32 c[17], r50.x, 1
MESA: info: stc.u32 c[18], r50.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: stc.u32 c[21], r49.z, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l26:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r51.y, r48.y, 16
MESA: info: mull.u r51.z, r48.y, 10
MESA: info: mull.u r51.y, 10, r51.y
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r51.z
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.w, r48.x, 16
MESA: info: mull.u r51.x, r48.x, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: shr.b r50.z, c4.z, 16
MESA: info: mull.u r51.w, r48.y, c4.z
MESA: info: mull.u r50.z, r48.y, r50.z
MESA: info: shl.b r50.z, r50.z, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.z, r50.z, r51.w
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.z
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r52.x, r48.y, 16
MESA: info: mull.u r52.x, 100, r52.x
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: add.u r52.x, r52.x, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r51.y, (last)r0.y
MESA: info: add.u r1.x, r50.w, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r52.x
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l70:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l112
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l78:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l110
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: cov.s32f32 r5.x, c9.y
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: mul.f r4.w, (last)r4.w, c5.x
MESA: info: add.u r5.y, r1.y, 1
MESA: info: (nop3) add.u r4.y, (last)r4.y, 1
MESA: info: alias.tex.b32.1 r5.x, c5.y
MESA: info: alias.tex.b32.0 r40.x, r5.x
MESA: info: saml.3d.base2 (f32)(xyzw)r5.z, r4.z, r40.x, s#1, t#0
MESA: info: (sy)min.f r1.z, (last)r1.z, r5.z
MESA: info: min.f r1.w, (last)r1.w, r5.w
MESA: info: min.f r2.x, (last)r2.x, r6.x
MESA: info: min.f r2.y, (last)r2.y, r6.y
MESA: info: max.f r2.z, (last)r2.z, r5.z
MESA: info: max.f r2.w, (last)r2.w, r5.w
MESA: info: max.f r3.x, (last)r3.x, r6.x
MESA: info: max.f r3.y, (last)r3.y, r6.y
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.z
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.w
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r6.x
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.y
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.z
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.w
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r6.x
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.y
MESA: info: mov.u32u32 r1.y, (last)r5.y
MESA: info: jump #l78
MESA: info: l110:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l70
MESA: info: l112:
MESA: info: (jp)shl.b r6.z, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.z, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 33/1: 118 instr, 26 nops, 92 non-nops, 12 mov, 3 cov, 256 dwords
MESA: info: ; CL prog 33/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 33/1: 31 cat0, 15 cat1, 55 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 4 cat7
MESA: info: ; CL prog 33/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 33/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 26 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x6f541522, 0xd72539ca, 0xda53989e, 0x23623359, 0xe15d5ee2, 0x6097123c, 0xfbb413fc, 0x81eb10e9}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x3  %204 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %285 = f2u32 %204.xy
MESA: info:             con 32    %286 = mov %285.x
MESA: info:             con 32    %287 = mov %285.y
MESA: info:                              @store_const_ir3 (%286) (base=16)
MESA: info:                              @store_const_ir3 (%287) (base=17)
MESA: info:             con 32     %10 = frcp %204.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %204.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %237 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32    %207 = @load_ubo_vec4 (%6, %237 (0x1)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %15 = frcp %204.z
MESA: info:             con 32     %16 = fmul %207, %15
MESA: info:                              @store_const_ir3 (%16) (base=20)
MESA: info:             con 32    %210 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %292 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %293 = iand %210.xxxx, %292 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %301 = ieq %293, %2 (0x0).xxxx
MESA: info:             con 32x4  %302 = b2i32 %301
MESA: info:             con 32    %303 = mov %302.w
MESA: info:             con 32    %300 = mov %302.z
MESA: info:             con 32    %296 = mov %302.x
MESA: info:             con 32    %297 = mov %302.y
MESA: info:                              @store_const_ir3 (%296) (base=21)
MESA: info:                              @store_const_ir3 (%297) (base=22)
MESA: info:                              @store_const_ir3 (%300) (base=23)
MESA: info:                              @store_const_ir3 (%303) (base=24)
MESA: info:             con 32x2  %213 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %284 = fsub %213.y, %213.x
MESA: info:             con 32     %34 = frcp %284
MESA: info:                              @store_const_ir3 (%34) (base=25)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %39 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %41 = @bindless_resource_ir3 (%237 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%39, %41)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %42 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %44 = load_const (0x00000002)
MESA: info:     con 32     %46 = load_const (0x0000000a = 10)
MESA: info:     con 32     %48 = @load_const_ir3 (%42 (0x0)) (base=16)
MESA: info:     con 32     %50 = @load_const_ir3 (%42 (0x0)) (base=17)
MESA: info:     con 32x3   %51 = @load_workgroup_id
MESA: info:     con 32x3   %52 = @load_base_workgroup_id
MESA: info:     con 32x2  %304 = iadd %51.xy, %52.xy
MESA: info:     con 32x2  %305 = umul_low %304, %46 (0xa).xx
MESA: info:     con 32x2  %306 = imadsh_mix16 %46 (0xa).xx, %304, %305
MESA: info:     div 32x3   %57 = @load_local_invocation_id
MESA: info:     div 32x2  %307 = iadd %306, %57.xy
MESA: info:     con 32     %60 = load_const (0x00000006)
MESA: info:     div 32x2  %308 = ishl %307, %60 (0x6).xx
MESA: info:     div 32    %309 = mov %308.x
MESA: info:     div 32    %310 = mov %308.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %63 = phi b6: %310, b30: %201
MESA: info:         con 32     %64 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %311 = iadd %308.yx, %64 (0x40).xx
MESA: info:         div 32     %67 = umin %50, %311.x
MESA: info:         div 32     %68 = umin %48, %311.y
MESA: info:         div 1      %69 = uge %63, %67
MESA: info:                          // succs: b8 b9
MESA: info:         if %69 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %70 = phi b10: %309, b29: %199
MESA: info:             div 1      %71 = uge %70, %68
MESA: info:                              // succs: b12 b13
MESA: info:             if %71 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %72 = u2f32 %70
MESA: info:             div 32     %73 = u2f32 %63
MESA: info:             con 32     %75 = @load_const_ir3 (%42 (0x0)) (base=18)
MESA: info:             div 32     %76 = fmul %72, %75
MESA: info:             con 32     %78 = @load_const_ir3 (%42 (0x0)) (base=19)
MESA: info:             div 32     %79 = fmul %73, %78
MESA: info:             con 32x2   %84 = @load_const_ir3 (%42 (0x0)) (base=36)
MESA: info:             con 32     %86 = @load_const_ir3 (%42 (0x0)) (base=20)
MESA: info:             div 32x3   %87 = vec3 %76, %79, %86
MESA: info:             con 32     %88 = i2f32 %84.y
MESA: info:             con 32     %89 = load_const (0x00000001)
MESA: info:             con 32     %90 = @bindless_resource_ir3 (%89 (0x1)) (desc_set=2)
MESA: info:             con 32     %91 = @bindless_resource_ir3 (%42 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %92 = (float32)txl %91 (texture_handle), %90 (sampler_handle), %87 (coord), %88 (lod), 0 (texture), 0 (sampler)
MESA: info:             con 32     %99 = @load_const_ir3 (%42 (0x0)) (base=32)
MESA: info:             con 32    %101 = @load_const_ir3 (%42 (0x0)) (base=21)
MESA: info:             con 32    %105 = @load_const_ir3 (%42 (0x0)) (base=22)
MESA: info:             con 32    %109 = @load_const_ir3 (%42 (0x0)) (base=23)
MESA: info:             con 32    %113 = @load_const_ir3 (%42 (0x0)) (base=24)
MESA: info:             con 32    %118 = @load_const_ir3 (%42 (0x0)) (base=34)
MESA: info:             con 32    %119 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32    %120 = fadd %118, %119 (1.000000)
MESA: info:             div 32    %262 = icsel_eqz %101, %92.x, %120
MESA: info:             div 32    %261 = icsel_eqz %105, %92.y, %120
MESA: info:             div 32    %260 = icsel_eqz %109, %92.z, %120
MESA: info:             div 32    %259 = icsel_eqz %113, %92.w, %120
MESA: info:             con 1     %140 = ine %99, %42 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %140 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 con 32x2  %143 = @load_const_ir3 (%42 (0x0)) (base=33)
MESA: info:                 div 32    %283 = fsub %262, %143.x
MESA: info:                 div 32    %282 = fsub %261, %143.x
MESA: info:                 div 32    %281 = fsub %260, %143.x
MESA: info:                 div 32    %280 = fsub %259, %143.x
MESA: info:                 con 32    %150 = @load_const_ir3 (%42 (0x0)) (base=25)
MESA: info:                 div 32    %151 = fmul %283, %150
MESA: info:                 div 32    %152 = fmul %282, %150
MESA: info:                 div 32    %153 = fmul %281, %150
MESA: info:                 div 32    %154 = fmul %280, %150
MESA: info:                 div 1     %155 = flt! %151, %42 (0.000000)
MESA: info:                 div 1     %156 = flt! %152, %42 (0.000000)
MESA: info:                 div 1     %157 = flt! %153, %42 (0.000000)
MESA: info:                 div 1     %158 = flt! %154, %42 (0.000000)
MESA: info:                 con 32    %159 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %160 = fmul %151, %159 (256.000000)
MESA: info:                 con 32    %161 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %162 = bcsel %155, %161 (0x44000000), %160
MESA: info:                 div 32    %163 = fmul %152, %159 (256.000000)
MESA: info:                 div 32    %164 = bcsel %156, %161 (0x44000000), %163
MESA: info:                 div 32    %165 = fmul %153, %159 (256.000000)
MESA: info:                 div 32    %166 = bcsel %157, %161 (0x44000000), %165
MESA: info:                 div 32    %167 = fmul %154, %159 (256.000000)
MESA: info:                 div 32    %168 = bcsel %158, %161 (0x44000000), %167
MESA: info:                 div 32    %169 = ffloor %162
MESA: info:                 div 32    %170 = ffloor %164
MESA: info:                 div 32    %171 = ffloor %166
MESA: info:                 div 32    %172 = ffloor %168
MESA: info:                 div 32    %173 = f2u32 %169
MESA: info:                 div 32    %174 = f2u32 %170
MESA: info:                 div 32    %175 = f2u32 %171
MESA: info:                 div 32    %176 = f2u32 %172
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %177 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %178 = phi b15: %176, b16: %177 (0x101)
MESA: info:             div 32    %179 = phi b15: %175, b16: %177 (0x101)
MESA: info:             div 32    %180 = phi b15: %174, b16: %177 (0x101)
MESA: info:             div 32    %181 = phi b15: %173, b16: %177 (0x101)
MESA: info:             con 32    %182 = load_const (0x00000100 = 256)
MESA: info:             div 1     %183 = ult %181, %182 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %183 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %184 = ishl %181, %44 (0x2)
MESA: info:                 con 32    %185 = @bindless_resource_ir3 (%42 (0x0)) (desc_set=3)
MESA: info:                 div 32    %217 = @ssbo_atomic_ir3 (%185, %184, %89 (0x1), %181) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %187 = ult %180, %182 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %187 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %188 = ishl %180, %44 (0x2)
MESA: info:                 con 32    %189 = @bindless_resource_ir3 (%42 (0x0)) (desc_set=3)
MESA: info:                 div 32    %221 = @ssbo_atomic_ir3 (%189, %188, %89 (0x1), %180) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %191 = ult %179, %182 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %191 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %192 = ishl %179, %44 (0x2)
MESA: info:                 con 32    %193 = @bindless_resource_ir3 (%42 (0x0)) (desc_set=3)
MESA: info:                 div 32    %225 = @ssbo_atomic_ir3 (%193, %192, %89 (0x1), %179) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %195 = ult %178, %182 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %195 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %196 = ishl %178, %44 (0x2)
MESA: info:                 con 32    %197 = @bindless_resource_ir3 (%42 (0x0)) (desc_set=3)
MESA: info:                 div 32    %229 = @ssbo_atomic_ir3 (%197, %196, %89 (0x1), %178) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %199 = iadd %70, %89 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %200 = load_const (0x00000001)
MESA: info:         div 32    %201 = iadd %63, %200 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 511cea1ffcc782eebc232f6aab0b48316364de4c:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l41
MESA: info: getone #l41
MESA: info: ldc.u.offset0.3.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r50.x, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.z, 1, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.w, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: (sy)(ss)rcp r49.y, r49.y
MESA: info: cov.f32u32 r50.z, r48.w
MESA: info: cov.f32u32 r50.w, r49.x
MESA: info: add.f r50.y, r50.y, (neg)r50.x
MESA: info: and.b r51.x, r49.w, 1
MESA: info: and.b r51.z, r49.w, 2
MESA: info: and.b r52.x, r49.w, 4
MESA: info: and.b r52.y, r49.w, 8
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: mul.f r49.z, r49.z, r49.y
MESA: info: rcp r50.y, r50.y
MESA: info: cmps.s.eq hr54.x, r51.x, 0
MESA: info: cmps.s.eq hr55.x, r51.z, 0
MESA: info: cov.u16s32 r51.y, hr54.x
MESA: info: cov.u16s32 r51.w, hr55.x
MESA: info: stc.u32 c[16], r50.z, 1
MESA: info: stc.u32 c[17], r50.w, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r52.x, 0
MESA: info: cov.u16s32 r49.y, hr49.w
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[20], r49.z, 1
MESA: info: stc.u32 c[25], r50.y, 1
MESA: info: stc.u32 c[21], r51.y, 1
MESA: info: stc.u32 c[22], r51.w, 1
MESA: info: (ss)cov.u16s32 r49.x, hr49.z
MESA: info: stc.u32 c[24], r49.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[23], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l41:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l59:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l163
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l67:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l161
MESA: info: add.f r50.x, c8.z, (1.0)
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: cov.s32f32 r2.z, c9.y
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mul.f r2.y, (last)r2.y, c4.w
MESA: info: mov.f32f32 r2.w, c5.y
MESA: info: mov.f32f32 r3.x, c5.z
MESA: info: mov.f32f32 r3.y, c5.w
MESA: info: mov.f32f32 r3.z, c6.x
MESA: info: cmps.s.ne p0.y, c8.x, 0
MESA: info: alias.tex.b32.1 r2.z, c5.x
MESA: info: alias.tex.b32.0 r40.x, r2.z
MESA: info: saml.3d.base2 (f32)(xyzw)r3.w, r2.x, r40.x, s#1, t#0
MESA: info: (sy)(ss)sel.b32 r2.w, r50.x, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, r50.x, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, r50.x, r3.y, (last)r4.y
MESA: info: (nop1) sel.b32 r3.z, r50.x, r3.z, (last)r4.z
MESA: info: br !p0.y, #l119
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: add.f r3.z, (last)r3.z, (neg)c8.y
MESA: info: mul.f r2.w, (last)r2.w, c6.y
MESA: info: mul.f r3.x, (last)r3.x, c6.y
MESA: info: mul.f r3.y, (last)r3.y, c6.y
MESA: info: mul.f r3.z, (last)r3.z, c6.y
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: cmps.f.lt r5.z, r3.z, (0.0)
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: mul.f r3.z, (last)r3.z, c12.y
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: sel.b32 r5.z, c12.x, r5.z, (last)r3.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: floor.f r5.z, (last)r5.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: cov.f32u32 r5.z, (last)r5.z
MESA: info: jump #l123
MESA: info: l119:
MESA: info: mov.u32u32 r5.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r5.y, 257
MESA: info: l123:
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r6.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.w, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.y, 0
MESA: info: mov.u32u32 r6.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.y, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.w, 0
MESA: info: mov.u32u32 r7.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.w, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.y, 0
MESA: info: mov.u32u32 r7.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.y, r5.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l67
MESA: info: l161:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l59
MESA: info: l163:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 34/1: 195 instr, 85 nops, 110 non-nops, 19 mov, 7 cov, 352 dwords
MESA: info: ; CL prog 34/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 34/1: 100 cat0, 26 cat1, 52 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 4 cat7
MESA: info: ; CL prog 34/1: 5 sstall, 3 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 34/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 42 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xef1609ea, 0x0454e9a7, 0x7a5f53ad, 0x5f7cf01e, 0x760c22c7, 0x2f1254c2, 0x5734fdb5, 0x7e05e4f3}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %141 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %135 = @load_ubo_vec4 (%4, %141 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %171 = f2u32 %135
MESA: info:             con 32    %172 = mov %171.x
MESA: info:             con 32    %173 = mov %171.y
MESA: info:                              @store_const_ir3 (%172) (base=16)
MESA: info:                              @store_const_ir3 (%173) (base=17)
MESA: info:             con 32      %8 = u2f32 %171.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %135.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %135.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%19)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%21)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %24 = @load_local_invocation_id
MESA: info:     con 32x3   %25 = @load_workgroup_id
MESA: info:     con 32x3   %26 = @load_base_workgroup_id
MESA: info:     con 32x2  %174 = iadd %25.xy, %26.xy
MESA: info:     con 32     %29 = load_const (0x00000000)
MESA: info:     con 32x2   %34 = @load_const_ir3 (%29 (0x0)) (base=40)
MESA: info:     con 32     %36 = @load_const_ir3 (%29 (0x0)) (base=16)
MESA: info:     con 32     %38 = @load_const_ir3 (%29 (0x0)) (base=17)
MESA: info:     con 32     %39 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %175 = umul_low %174, %39 (0xa).xx
MESA: info:     con 32x2  %176 = imadsh_mix16 %39 (0xa).xx, %174, %175
MESA: info:     div 32x2  %177 = iadd %176, %24.xy
MESA: info:     con 32     %44 = load_const (0x00000006)
MESA: info:     div 32x2  %178 = ishl %177, %44 (0x6).xx
MESA: info:     div 32    %179 = mov %178.x
MESA: info:     div 32    %180 = mov %178.y
MESA: info:     div 32    %162 = umul_low %24.y, %39 (0xa)
MESA: info:     div 32    %164 = imadsh_mix16 %39 (0xa), %24.y, %162
MESA: info:     con 32     %50 = @load_const_ir3 (%29 (0x0)) (base=18)
MESA: info:     con 32    %159 = umul_low %174.y, %50
MESA: info:     con 32    %160 = imadsh_mix16 %174.y, %50, %159
MESA: info:     con 32    %161 = imadsh_mix16 %50, %174.y, %160
MESA: info:     con 32     %52 = iadd %161, %174.x
MESA: info:     con 32     %53 = load_const (0x00000064 = 100)
MESA: info:     con 32    %156 = umul_low %52, %53 (0x64)
MESA: info:     con 32    %158 = imadsh_mix16 %53 (0x64), %52, %156
MESA: info:     div 32    %155 = iadd3 %164, %24.x, %158
MESA: info:     con 32x4  %191 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %204 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %190 = phi b6: %191 (0x0, 0x0, 0x0, 0x0), b15: %192
MESA: info:         div 32x4  %203 = phi b6: %204 (0x0, 0x0, 0x0, 0x0), b15: %235
MESA: info:         div 32     %64 = phi b6: %29 (0x0), b15: %234
MESA: info:         div 32     %65 = phi b6: %180, b15: %125
MESA: info:         div 32x3  %212 = mov %190.yzw
MESA: info:         div 32    %184 = mov %190.x
MESA: info:         con 32     %66 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %207 = iadd %178.yx, %66 (0x40).xx
MESA: info:         div 32     %69 = umin %38, %207.x
MESA: info:         div 32     %70 = umin %36, %207.y
MESA: info:         div 1      %71 = uge %65, %69
MESA: info:                          // succs: b8 b9
MESA: info:         if %71 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %72 = phi b10: %179, b14: %123
MESA: info:             div 32     %73 = phi b10: %184, b14: %122
MESA: info:             div 32x3  %211 = phi b10: %212, b14: %227
MESA: info:             div 32x4  %220 = phi b10: %203, b14: %221
MESA: info:             div 32     %81 = phi b10: %64, b14: %147
MESA: info:             div 1      %82 = uge %72, %70
MESA: info:                              // succs: b12 b13
MESA: info:             if %82 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %83 = u2f32 %72
MESA: info:             div 32     %84 = u2f32 %65
MESA: info:             con 32     %86 = @load_const_ir3 (%29 (0x0)) (base=19)
MESA: info:             div 32     %87 = fmul %83, %86
MESA: info:             con 32     %89 = @load_const_ir3 (%29 (0x0)) (base=20)
MESA: info:             div 32     %90 = fmul %84, %89
MESA: info:             con 32x2   %94 = @load_const_ir3 (%29 (0x0)) (base=36)
MESA: info:             con 32     %95 = mov %94.y
MESA: info:             div 32     %96 = fmul %87, %34.x
MESA: info:             div 32     %97 = fmul %90, %34.y
MESA: info:             div 32     %98 = f2i32 %96
MESA: info:             div 32     %99 = f2i32 %97
MESA: info:             con 32    %100 = f2i32 %94.x
MESA: info:             div 32x3  %101 = vec3 %98, %99, %100
MESA: info:             con 32    %102 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %103 = (uint32)txf %102 (texture_handle), %101 (coord), %95 (lod), 0 (texture)
MESA: info:             div 32x3  %223 = umin %211, %103.xyz
MESA: info:             div 32    %108 = umin %220.x, %103.w
MESA: info:             div 32x3  %225 = umax %220.yzw, %103.xyz
MESA: info:             div 32    %112 = umax %81, %103.w
MESA: info:             div 32x3  %227 = icsel_eqz %73.xxx, %103.xyz, %223
MESA: info:             div 32    %151 = icsel_eqz %73, %103.w, %108
MESA: info:             div 32x3  %229 = icsel_eqz %73.xxx, %103.xyz, %225
MESA: info:             div 32    %147 = icsel_eqz %73, %103.w, %112
MESA: info:             con 32    %121 = load_const (0x00000001)
MESA: info:             div 32    %122 = iadd %73, %121 (0x1)
MESA: info:             div 32    %123 = iadd %72, %121 (0x1)
MESA: info:             div 32x4  %221 = vec4 %151, %229.x, %229.y, %229.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %237 = phi b12: %73
MESA: info:         div 32x3  %236 = phi b12: %211
MESA: info:         div 32x4  %235 = phi b12: %220
MESA: info:         div 32    %234 = phi b12: %81
MESA: info:         con 32    %124 = load_const (0x00000001)
MESA: info:         div 32    %125 = iadd %65, %124 (0x1)
MESA: info:         div 32x4  %192 = vec4 %237, %236.x, %236.y, %236.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %240 = phi b8: %190
MESA: info:     div 32x4  %239 = phi b8: %203
MESA: info:     div 32    %238 = phi b8: %64
MESA: info:     con 32     %32 = load_const (0x00000002)
MESA: info:     con 32x2  %230 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %231 = ishl %155.xx, %230 (0x5, 0x3)
MESA: info:     div 32    %232 = mov %231.x
MESA: info:     div 32    %233 = mov %231.y
MESA: info:     con 32    %128 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %129 = vec4 %240.y, %240.z, %240.w, %239.x
MESA: info:                      @store_ssbo_ir3 (%129, %128, %232, %233) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %130 = load_const (0x00000010 = 16)
MESA: info:     div 32    %131 = iadd %231.x, %130 (0x10)
MESA: info:     div 32x4  %132 = vec4 %239.y, %239.z, %239.w, %238
MESA: info:     div 32    %140 = ushr %131, %32 (0x2)
MESA: info:                      @store_ssbo_ir3 (%132, %128, %131, %140) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 8196077e974e19ceb331de88e5a9d3816e997d40:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l112
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l110
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: cov.f32s32 r5.x, c9.x
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: mul.f r4.w, (last)r4.w, c5.x
MESA: info: add.u r5.y, r1.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: mul.f r4.w, (last)r4.w, c10.y
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.3d.base2 (u32)(xyzw)r5.z, r4.z, r40.x, s#0, t#0
MESA: info: (sy)min.u r1.z, (last)r1.z, r5.z
MESA: info: min.u r1.w, (last)r1.w, r5.w
MESA: info: min.u r2.x, (last)r2.x, r6.x
MESA: info: min.u r2.y, (last)r2.y, r6.y
MESA: info: max.u r2.z, (last)r2.z, r5.z
MESA: info: max.u r2.w, (last)r2.w, r5.w
MESA: info: max.u r3.x, (last)r3.x, r6.x
MESA: info: max.u r3.y, (last)r3.y, r6.y
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.z
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.w
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r6.x
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.y
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.z
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.w
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r6.x
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.y
MESA: info: mov.u32u32 r1.y, (last)r5.y
MESA: info: jump #l74
MESA: info: l110:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l112:
MESA: info: (jp)shl.b r6.z, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.z, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 35/1: 123 instr, 28 nops, 95 non-nops, 12 mov, 5 cov, 256 dwords
MESA: info: ; CL prog 35/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 35/1: 33 cat0, 17 cat1, 57 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 3 cat7
MESA: info: ; CL prog 35/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 35/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x625e771e, 0x9097d588, 0x394d5c87, 0x33ac0999, 0x0ef4fdfe, 0x263775d0, 0x2b05806c, 0x11b85f5a}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %211 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %295 = f2u32 %211
MESA: info:             con 32    %296 = mov %295.x
MESA: info:             con 32    %297 = mov %295.y
MESA: info:                              @store_const_ir3 (%296) (base=16)
MESA: info:                              @store_const_ir3 (%297) (base=17)
MESA: info:             con 32     %10 = frcp %211.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %211.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %214 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %302 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %303 = iand %214.xxxx, %302 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %311 = ieq %303, %2 (0x0).xxxx
MESA: info:             con 32x4  %312 = b2i32 %311
MESA: info:             con 32    %313 = mov %312.w
MESA: info:             con 32    %310 = mov %312.z
MESA: info:             con 32    %306 = mov %312.x
MESA: info:             con 32    %307 = mov %312.y
MESA: info:                              @store_const_ir3 (%306) (base=20)
MESA: info:                              @store_const_ir3 (%307) (base=21)
MESA: info:                              @store_const_ir3 (%310) (base=22)
MESA: info:                              @store_const_ir3 (%313) (base=23)
MESA: info:             con 32    %217 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %28 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %29 = fadd %217, %28 (1.000000)
MESA: info:             con 32     %30 = f2u32 %29
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @store_const_ir3 (%30) (base=25)
MESA: info:                              @store_const_ir3 (%30) (base=26)
MESA: info:                              @store_const_ir3 (%30) (base=27)
MESA: info:             con 32x2  %229 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %294 = fsub %229.y, %229.x
MESA: info:             con 32     %46 = frcp %294
MESA: info:                              @store_const_ir3 (%46) (base=28)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %51 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%51)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %52 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %53 = load_const (0x00000002)
MESA: info:     con 32x2   %58 = @load_const_ir3 (%52 (0x0)) (base=40)
MESA: info:     con 32     %60 = @load_const_ir3 (%52 (0x0)) (base=16)
MESA: info:     con 32     %62 = @load_const_ir3 (%52 (0x0)) (base=17)
MESA: info:     con 32x3   %63 = @load_workgroup_id
MESA: info:     con 32x3   %64 = @load_base_workgroup_id
MESA: info:     con 32x2  %314 = iadd %63.xy, %64.xy
MESA: info:     con 32     %67 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %315 = umul_low %314, %67 (0xa).xx
MESA: info:     con 32x2  %316 = imadsh_mix16 %67 (0xa).xx, %314, %315
MESA: info:     div 32x3   %70 = @load_local_invocation_id
MESA: info:     div 32x2  %317 = iadd %316, %70.xy
MESA: info:     con 32     %73 = load_const (0x00000006)
MESA: info:     div 32x2  %318 = ishl %317, %73 (0x6).xx
MESA: info:     div 32    %319 = mov %318.x
MESA: info:     div 32    %320 = mov %318.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %76 = phi b6: %320, b30: %208
MESA: info:         con 32     %77 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %321 = iadd %318.yx, %77 (0x40).xx
MESA: info:         div 32     %80 = umin %62, %321.x
MESA: info:         div 32     %81 = umin %60, %321.y
MESA: info:         div 1      %82 = uge %76, %80
MESA: info:                          // succs: b8 b9
MESA: info:         if %82 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %83 = phi b10: %319, b29: %206
MESA: info:             div 1      %84 = uge %83, %81
MESA: info:                              // succs: b12 b13
MESA: info:             if %84 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %85 = u2f32 %83
MESA: info:             div 32     %86 = u2f32 %76
MESA: info:             con 32     %88 = @load_const_ir3 (%52 (0x0)) (base=18)
MESA: info:             div 32     %89 = fmul %85, %88
MESA: info:             con 32     %91 = @load_const_ir3 (%52 (0x0)) (base=19)
MESA: info:             div 32     %92 = fmul %86, %91
MESA: info:             con 32x2   %97 = @load_const_ir3 (%52 (0x0)) (base=36)
MESA: info:             con 32     %98 = mov %97.y
MESA: info:             div 32     %99 = fmul %89, %58.x
MESA: info:             div 32    %100 = fmul %92, %58.y
MESA: info:             div 32    %101 = f2i32 %99
MESA: info:             div 32    %102 = f2i32 %100
MESA: info:             con 32    %103 = f2i32 %97.x
MESA: info:             div 32x3  %104 = vec3 %101, %102, %103
MESA: info:             con 32    %105 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %106 = (uint32)txf %105 (texture_handle), %104 (coord), %98 (lod), 0 (texture)
MESA: info:             con 32    %109 = @load_const_ir3 (%52 (0x0)) (base=32)
MESA: info:             con 32    %112 = @load_const_ir3 (%52 (0x0)) (base=20)
MESA: info:             con 32    %116 = @load_const_ir3 (%52 (0x0)) (base=21)
MESA: info:             con 32    %120 = @load_const_ir3 (%52 (0x0)) (base=22)
MESA: info:             con 32    %124 = @load_const_ir3 (%52 (0x0)) (base=23)
MESA: info:             con 32    %131 = @load_const_ir3 (%52 (0x0)) (base=24)
MESA: info:             div 32    %272 = icsel_eqz %112, %106.x, %131
MESA: info:             con 32    %135 = @load_const_ir3 (%52 (0x0)) (base=25)
MESA: info:             div 32    %271 = icsel_eqz %116, %106.y, %135
MESA: info:             con 32    %138 = @load_const_ir3 (%52 (0x0)) (base=26)
MESA: info:             div 32    %270 = icsel_eqz %120, %106.z, %138
MESA: info:             con 32    %141 = @load_const_ir3 (%52 (0x0)) (base=27)
MESA: info:             div 32    %269 = icsel_eqz %124, %106.w, %141
MESA: info:             con 1     %143 = ine %109, %52 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %143 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %144 = u2f32 %272
MESA: info:                 div 32    %145 = u2f32 %271
MESA: info:                 div 32    %146 = u2f32 %270
MESA: info:                 div 32    %147 = u2f32 %269
MESA: info:                 con 32x2  %150 = @load_const_ir3 (%52 (0x0)) (base=33)
MESA: info:                 div 32    %293 = fsub %144, %150.x
MESA: info:                 div 32    %292 = fsub %145, %150.x
MESA: info:                 div 32    %291 = fsub %146, %150.x
MESA: info:                 div 32    %290 = fsub %147, %150.x
MESA: info:                 con 32    %157 = @load_const_ir3 (%52 (0x0)) (base=28)
MESA: info:                 div 32    %158 = fmul %293, %157
MESA: info:                 div 32    %159 = fmul %292, %157
MESA: info:                 div 32    %160 = fmul %291, %157
MESA: info:                 div 32    %161 = fmul %290, %157
MESA: info:                 div 1     %162 = flt! %158, %52 (0.000000)
MESA: info:                 div 1     %163 = flt! %159, %52 (0.000000)
MESA: info:                 div 1     %164 = flt! %160, %52 (0.000000)
MESA: info:                 div 1     %165 = flt! %161, %52 (0.000000)
MESA: info:                 con 32    %166 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %167 = fmul %158, %166 (256.000000)
MESA: info:                 con 32    %168 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %169 = bcsel %162, %168 (0x44000000), %167
MESA: info:                 div 32    %170 = fmul %159, %166 (256.000000)
MESA: info:                 div 32    %171 = bcsel %163, %168 (0x44000000), %170
MESA: info:                 div 32    %172 = fmul %160, %166 (256.000000)
MESA: info:                 div 32    %173 = bcsel %164, %168 (0x44000000), %172
MESA: info:                 div 32    %174 = fmul %161, %166 (256.000000)
MESA: info:                 div 32    %175 = bcsel %165, %168 (0x44000000), %174
MESA: info:                 div 32    %176 = ffloor %169
MESA: info:                 div 32    %177 = ffloor %171
MESA: info:                 div 32    %178 = ffloor %173
MESA: info:                 div 32    %179 = ffloor %175
MESA: info:                 div 32    %180 = f2u32 %176
MESA: info:                 div 32    %181 = f2u32 %177
MESA: info:                 div 32    %182 = f2u32 %178
MESA: info:                 div 32    %183 = f2u32 %179
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %184 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %185 = phi b15: %183, b16: %184 (0x101)
MESA: info:             div 32    %186 = phi b15: %182, b16: %184 (0x101)
MESA: info:             div 32    %187 = phi b15: %181, b16: %184 (0x101)
MESA: info:             div 32    %188 = phi b15: %180, b16: %184 (0x101)
MESA: info:             con 32    %110 = load_const (0x00000001)
MESA: info:             con 32    %189 = load_const (0x00000100 = 256)
MESA: info:             div 1     %190 = ult %188, %189 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %190 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %191 = ishl %188, %53 (0x2)
MESA: info:                 con 32    %192 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %233 = @ssbo_atomic_ir3 (%192, %191, %110 (0x1), %188) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %194 = ult %187, %189 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %194 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %195 = ishl %187, %53 (0x2)
MESA: info:                 con 32    %196 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %237 = @ssbo_atomic_ir3 (%196, %195, %110 (0x1), %187) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %198 = ult %186, %189 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %198 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %199 = ishl %186, %53 (0x2)
MESA: info:                 con 32    %200 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %241 = @ssbo_atomic_ir3 (%200, %199, %110 (0x1), %186) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %202 = ult %185, %189 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %202 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %203 = ishl %185, %53 (0x2)
MESA: info:                 con 32    %204 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %245 = @ssbo_atomic_ir3 (%204, %203, %110 (0x1), %185) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %206 = iadd %83, %110 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %207 = load_const (0x00000001)
MESA: info:         div 32    %208 = iadd %76, %207 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 5431fbdc4a0b906f1ff04a0d3f2ce0100469d013:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l43
MESA: info: getone #l43
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: cov.f32u32 r50.z, r49.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: and.b r50.w, r49.y, 1
MESA: info: and.b r51.y, r49.y, 2
MESA: info: and.b r51.w, r49.y, 4
MESA: info: and.b r52.x, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.z, r50.w, 0
MESA: info: cmps.s.eq hr54.z, r51.y, 0
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: cov.u16s32 r51.z, hr54.z
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[17], r50.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: stc.u32 c[27], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.w, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[28], r50.x, 1
MESA: info: stc.u32 c[20], r51.x, 1
MESA: info: stc.u32 c[21], r51.z, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l43:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l61:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l171
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l69:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l169
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: cov.f32s32 r2.z, c9.x
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mul.f r2.y, (last)r2.y, c4.w
MESA: info: mov.f32f32 r2.w, c5.x
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: mov.f32f32 r3.x, c5.y
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: mov.f32f32 r3.y, c5.z
MESA: info: mov.f32f32 r3.z, c5.w
MESA: info: (nop2) cmps.s.ne p0.y, c8.x, 0
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.3d.base2 (u32)(xyzw)r3.w, r2.x, r40.x, s#0, t#0
MESA: info: (sy)sel.b32 r2.w, c6.x, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, c6.y, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, c6.z, r3.y, (last)r4.y
MESA: info: sel.b32 r3.z, c6.w, r3.z, (last)r4.z
MESA: info: br !p0.y, #l127
MESA: info: cov.u32f32 r2.w, (last)r2.w
MESA: info: cov.u32f32 r3.x, (last)r3.x
MESA: info: cov.u32f32 r3.y, (last)r3.y
MESA: info: cov.u32f32 r3.z, (last)r3.z
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: add.f r3.z, (last)r3.z, (neg)c8.y
MESA: info: mul.f r2.w, (last)r2.w, c7.x
MESA: info: mul.f r3.x, (last)r3.x, c7.x
MESA: info: mul.f r3.y, (last)r3.y, c7.x
MESA: info: mul.f r3.z, (last)r3.z, c7.x
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: cmps.f.lt r5.z, r3.z, (0.0)
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: mul.f r3.z, (last)r3.z, c12.y
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: sel.b32 r5.z, c12.x, r5.z, (last)r3.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: floor.f r5.z, (last)r5.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: cov.f32u32 r5.z, (last)r5.z
MESA: info: jump #l131
MESA: info: l127:
MESA: info: mov.u32u32 r5.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r5.y, 257
MESA: info: l131:
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r6.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.w, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.y, 0
MESA: info: mov.u32u32 r6.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.y, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.w, 0
MESA: info: mov.u32u32 r7.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.w, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.y, 0
MESA: info: mov.u32u32 r7.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.y, r5.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l69
MESA: info: l169:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l61
MESA: info: l171:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 36/1: 202 instr, 86 nops, 116 non-nops, 19 mov, 13 cov, 356 dwords
MESA: info: ; CL prog 36/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 36/1: 101 cat0, 32 cat1, 53 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 3 cat7
MESA: info: ; CL prog 36/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 36/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 45 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x7cb10200, 0xa5a7b301, 0x797e7e76, 0x0da62428, 0x3872c853, 0x4cbacec3, 0xf310f780, 0xb90c7d70}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %141 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %135 = @load_ubo_vec4 (%4, %141 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %171 = f2u32 %135
MESA: info:             con 32    %172 = mov %171.x
MESA: info:             con 32    %173 = mov %171.y
MESA: info:                              @store_const_ir3 (%172) (base=16)
MESA: info:                              @store_const_ir3 (%173) (base=17)
MESA: info:             con 32      %8 = u2f32 %171.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %135.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %135.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%19)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%21)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %24 = @load_local_invocation_id
MESA: info:     con 32x3   %25 = @load_workgroup_id
MESA: info:     con 32x3   %26 = @load_base_workgroup_id
MESA: info:     con 32x2  %174 = iadd %25.xy, %26.xy
MESA: info:     con 32     %29 = load_const (0x00000000)
MESA: info:     con 32x2   %34 = @load_const_ir3 (%29 (0x0)) (base=40)
MESA: info:     con 32     %36 = @load_const_ir3 (%29 (0x0)) (base=16)
MESA: info:     con 32     %38 = @load_const_ir3 (%29 (0x0)) (base=17)
MESA: info:     con 32     %39 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %175 = umul_low %174, %39 (0xa).xx
MESA: info:     con 32x2  %176 = imadsh_mix16 %39 (0xa).xx, %174, %175
MESA: info:     div 32x2  %177 = iadd %176, %24.xy
MESA: info:     con 32     %44 = load_const (0x00000006)
MESA: info:     div 32x2  %178 = ishl %177, %44 (0x6).xx
MESA: info:     div 32    %179 = mov %178.x
MESA: info:     div 32    %180 = mov %178.y
MESA: info:     div 32    %162 = umul_low %24.y, %39 (0xa)
MESA: info:     div 32    %164 = imadsh_mix16 %39 (0xa), %24.y, %162
MESA: info:     con 32     %50 = @load_const_ir3 (%29 (0x0)) (base=18)
MESA: info:     con 32    %159 = umul_low %174.y, %50
MESA: info:     con 32    %160 = imadsh_mix16 %174.y, %50, %159
MESA: info:     con 32    %161 = imadsh_mix16 %50, %174.y, %160
MESA: info:     con 32     %52 = iadd %161, %174.x
MESA: info:     con 32     %53 = load_const (0x00000064 = 100)
MESA: info:     con 32    %156 = umul_low %52, %53 (0x64)
MESA: info:     con 32    %158 = imadsh_mix16 %53 (0x64), %52, %156
MESA: info:     div 32    %155 = iadd3 %164, %24.x, %158
MESA: info:     con 32x4  %191 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %204 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %190 = phi b6: %191 (0x0, 0x0, 0x0, 0x0), b15: %192
MESA: info:         div 32x4  %203 = phi b6: %204 (0x0, 0x0, 0x0, 0x0), b15: %235
MESA: info:         div 32     %64 = phi b6: %29 (0x0), b15: %234
MESA: info:         div 32     %65 = phi b6: %180, b15: %125
MESA: info:         div 32x3  %212 = mov %190.yzw
MESA: info:         div 32    %184 = mov %190.x
MESA: info:         con 32     %66 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %207 = iadd %178.yx, %66 (0x40).xx
MESA: info:         div 32     %69 = umin %38, %207.x
MESA: info:         div 32     %70 = umin %36, %207.y
MESA: info:         div 1      %71 = uge %65, %69
MESA: info:                          // succs: b8 b9
MESA: info:         if %71 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %72 = phi b10: %179, b14: %123
MESA: info:             div 32     %73 = phi b10: %184, b14: %122
MESA: info:             div 32x3  %211 = phi b10: %212, b14: %227
MESA: info:             div 32x4  %220 = phi b10: %203, b14: %221
MESA: info:             div 32     %81 = phi b10: %64, b14: %147
MESA: info:             div 1      %82 = uge %72, %70
MESA: info:                              // succs: b12 b13
MESA: info:             if %82 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %83 = u2f32 %72
MESA: info:             div 32     %84 = u2f32 %65
MESA: info:             con 32     %86 = @load_const_ir3 (%29 (0x0)) (base=19)
MESA: info:             div 32     %87 = fmul %83, %86
MESA: info:             con 32     %89 = @load_const_ir3 (%29 (0x0)) (base=20)
MESA: info:             div 32     %90 = fmul %84, %89
MESA: info:             con 32x2   %94 = @load_const_ir3 (%29 (0x0)) (base=36)
MESA: info:             con 32     %95 = mov %94.y
MESA: info:             div 32     %96 = fmul %87, %34.x
MESA: info:             div 32     %97 = fmul %90, %34.y
MESA: info:             div 32     %98 = f2i32 %96
MESA: info:             div 32     %99 = f2i32 %97
MESA: info:             con 32    %100 = f2i32 %94.x
MESA: info:             div 32x3  %101 = vec3 %98, %99, %100
MESA: info:             con 32    %102 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %103 = (int32)txf %102 (texture_handle), %101 (coord), %95 (lod), 0 (texture)
MESA: info:             div 32x3  %223 = imin %211, %103.xyz
MESA: info:             div 32    %108 = imin %220.x, %103.w
MESA: info:             div 32x3  %225 = imax %220.yzw, %103.xyz
MESA: info:             div 32    %112 = imax %81, %103.w
MESA: info:             div 32x3  %227 = icsel_eqz %73.xxx, %103.xyz, %223
MESA: info:             div 32    %151 = icsel_eqz %73, %103.w, %108
MESA: info:             div 32x3  %229 = icsel_eqz %73.xxx, %103.xyz, %225
MESA: info:             div 32    %147 = icsel_eqz %73, %103.w, %112
MESA: info:             con 32    %121 = load_const (0x00000001)
MESA: info:             div 32    %122 = iadd %73, %121 (0x1)
MESA: info:             div 32    %123 = iadd %72, %121 (0x1)
MESA: info:             div 32x4  %221 = vec4 %151, %229.x, %229.y, %229.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %237 = phi b12: %73
MESA: info:         div 32x3  %236 = phi b12: %211
MESA: info:         div 32x4  %235 = phi b12: %220
MESA: info:         div 32    %234 = phi b12: %81
MESA: info:         con 32    %124 = load_const (0x00000001)
MESA: info:         div 32    %125 = iadd %65, %124 (0x1)
MESA: info:         div 32x4  %192 = vec4 %237, %236.x, %236.y, %236.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %240 = phi b8: %190
MESA: info:     div 32x4  %239 = phi b8: %203
MESA: info:     div 32    %238 = phi b8: %64
MESA: info:     con 32     %32 = load_const (0x00000002)
MESA: info:     con 32x2  %230 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %231 = ishl %155.xx, %230 (0x5, 0x3)
MESA: info:     div 32    %232 = mov %231.x
MESA: info:     div 32    %233 = mov %231.y
MESA: info:     con 32    %128 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %129 = vec4 %240.y, %240.z, %240.w, %239.x
MESA: info:                      @store_ssbo_ir3 (%129, %128, %232, %233) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %130 = load_const (0x00000010 = 16)
MESA: info:     div 32    %131 = iadd %231.x, %130 (0x10)
MESA: info:     div 32x4  %132 = vec4 %239.y, %239.z, %239.w, %238
MESA: info:     div 32    %140 = ushr %131, %32 (0x2)
MESA: info:                      @store_ssbo_ir3 (%132, %128, %131, %140) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 2c72ae7963faa800c840f543e116edb1e075a8aa:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l112
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l110
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: cov.f32s32 r5.x, c9.x
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: mul.f r4.w, (last)r4.w, c5.x
MESA: info: add.u r5.y, r1.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: mul.f r4.w, (last)r4.w, c10.y
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.3d.base2 (s32)(xyzw)r5.z, r4.z, r40.x, s#0, t#0
MESA: info: (sy)min.s r1.z, (last)r1.z, r5.z
MESA: info: min.s r1.w, (last)r1.w, r5.w
MESA: info: min.s r2.x, (last)r2.x, r6.x
MESA: info: min.s r2.y, (last)r2.y, r6.y
MESA: info: max.s r2.z, (last)r2.z, r5.z
MESA: info: max.s r2.w, (last)r2.w, r5.w
MESA: info: max.s r3.x, (last)r3.x, r6.x
MESA: info: max.s r3.y, (last)r3.y, r6.y
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.z
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.w
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r6.x
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.y
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.z
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.w
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r6.x
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.y
MESA: info: mov.u32u32 r1.y, (last)r5.y
MESA: info: jump #l74
MESA: info: l110:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l112:
MESA: info: (jp)shl.b r6.z, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.z, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 37/1: 123 instr, 28 nops, 95 non-nops, 12 mov, 5 cov, 256 dwords
MESA: info: ; CL prog 37/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 37/1: 33 cat0, 17 cat1, 57 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 3 cat7
MESA: info: ; CL prog 37/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 37/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x1e3b8493, 0xe3f048f2, 0xbb8edf5c, 0x97e063c8, 0xe87a5791, 0x8e809a98, 0x5f075354, 0x30ea2707}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %211 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %295 = f2u32 %211
MESA: info:             con 32    %296 = mov %295.x
MESA: info:             con 32    %297 = mov %295.y
MESA: info:                              @store_const_ir3 (%296) (base=16)
MESA: info:                              @store_const_ir3 (%297) (base=17)
MESA: info:             con 32     %10 = frcp %211.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %211.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %214 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %302 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %303 = iand %214.xxxx, %302 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %311 = ieq %303, %2 (0x0).xxxx
MESA: info:             con 32x4  %312 = b2i32 %311
MESA: info:             con 32    %313 = mov %312.w
MESA: info:             con 32    %310 = mov %312.z
MESA: info:             con 32    %306 = mov %312.x
MESA: info:             con 32    %307 = mov %312.y
MESA: info:                              @store_const_ir3 (%306) (base=20)
MESA: info:                              @store_const_ir3 (%307) (base=21)
MESA: info:                              @store_const_ir3 (%310) (base=22)
MESA: info:                              @store_const_ir3 (%313) (base=23)
MESA: info:             con 32    %217 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %28 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %29 = fadd %217, %28 (1.000000)
MESA: info:             con 32     %30 = f2i32 %29
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @store_const_ir3 (%30) (base=25)
MESA: info:                              @store_const_ir3 (%30) (base=26)
MESA: info:                              @store_const_ir3 (%30) (base=27)
MESA: info:             con 32x2  %229 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %294 = fsub %229.y, %229.x
MESA: info:             con 32     %46 = frcp %294
MESA: info:                              @store_const_ir3 (%46) (base=28)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %51 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%51)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %52 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %53 = load_const (0x00000002)
MESA: info:     con 32x2   %58 = @load_const_ir3 (%52 (0x0)) (base=40)
MESA: info:     con 32     %60 = @load_const_ir3 (%52 (0x0)) (base=16)
MESA: info:     con 32     %62 = @load_const_ir3 (%52 (0x0)) (base=17)
MESA: info:     con 32x3   %63 = @load_workgroup_id
MESA: info:     con 32x3   %64 = @load_base_workgroup_id
MESA: info:     con 32x2  %314 = iadd %63.xy, %64.xy
MESA: info:     con 32     %67 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %315 = umul_low %314, %67 (0xa).xx
MESA: info:     con 32x2  %316 = imadsh_mix16 %67 (0xa).xx, %314, %315
MESA: info:     div 32x3   %70 = @load_local_invocation_id
MESA: info:     div 32x2  %317 = iadd %316, %70.xy
MESA: info:     con 32     %73 = load_const (0x00000006)
MESA: info:     div 32x2  %318 = ishl %317, %73 (0x6).xx
MESA: info:     div 32    %319 = mov %318.x
MESA: info:     div 32    %320 = mov %318.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %76 = phi b6: %320, b30: %208
MESA: info:         con 32     %77 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %321 = iadd %318.yx, %77 (0x40).xx
MESA: info:         div 32     %80 = umin %62, %321.x
MESA: info:         div 32     %81 = umin %60, %321.y
MESA: info:         div 1      %82 = uge %76, %80
MESA: info:                          // succs: b8 b9
MESA: info:         if %82 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %83 = phi b10: %319, b29: %206
MESA: info:             div 1      %84 = uge %83, %81
MESA: info:                              // succs: b12 b13
MESA: info:             if %84 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %85 = u2f32 %83
MESA: info:             div 32     %86 = u2f32 %76
MESA: info:             con 32     %88 = @load_const_ir3 (%52 (0x0)) (base=18)
MESA: info:             div 32     %89 = fmul %85, %88
MESA: info:             con 32     %91 = @load_const_ir3 (%52 (0x0)) (base=19)
MESA: info:             div 32     %92 = fmul %86, %91
MESA: info:             con 32x2   %97 = @load_const_ir3 (%52 (0x0)) (base=36)
MESA: info:             con 32     %98 = mov %97.y
MESA: info:             div 32     %99 = fmul %89, %58.x
MESA: info:             div 32    %100 = fmul %92, %58.y
MESA: info:             div 32    %101 = f2i32 %99
MESA: info:             div 32    %102 = f2i32 %100
MESA: info:             con 32    %103 = f2i32 %97.x
MESA: info:             div 32x3  %104 = vec3 %101, %102, %103
MESA: info:             con 32    %105 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %106 = (int32)txf %105 (texture_handle), %104 (coord), %98 (lod), 0 (texture)
MESA: info:             con 32    %109 = @load_const_ir3 (%52 (0x0)) (base=32)
MESA: info:             con 32    %112 = @load_const_ir3 (%52 (0x0)) (base=20)
MESA: info:             con 32    %116 = @load_const_ir3 (%52 (0x0)) (base=21)
MESA: info:             con 32    %120 = @load_const_ir3 (%52 (0x0)) (base=22)
MESA: info:             con 32    %124 = @load_const_ir3 (%52 (0x0)) (base=23)
MESA: info:             con 32    %131 = @load_const_ir3 (%52 (0x0)) (base=24)
MESA: info:             div 32    %272 = icsel_eqz %112, %106.x, %131
MESA: info:             con 32    %135 = @load_const_ir3 (%52 (0x0)) (base=25)
MESA: info:             div 32    %271 = icsel_eqz %116, %106.y, %135
MESA: info:             con 32    %138 = @load_const_ir3 (%52 (0x0)) (base=26)
MESA: info:             div 32    %270 = icsel_eqz %120, %106.z, %138
MESA: info:             con 32    %141 = @load_const_ir3 (%52 (0x0)) (base=27)
MESA: info:             div 32    %269 = icsel_eqz %124, %106.w, %141
MESA: info:             con 1     %143 = ine %109, %52 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %143 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %144 = i2f32 %272
MESA: info:                 div 32    %145 = i2f32 %271
MESA: info:                 div 32    %146 = i2f32 %270
MESA: info:                 div 32    %147 = i2f32 %269
MESA: info:                 con 32x2  %150 = @load_const_ir3 (%52 (0x0)) (base=33)
MESA: info:                 div 32    %293 = fsub %144, %150.x
MESA: info:                 div 32    %292 = fsub %145, %150.x
MESA: info:                 div 32    %291 = fsub %146, %150.x
MESA: info:                 div 32    %290 = fsub %147, %150.x
MESA: info:                 con 32    %157 = @load_const_ir3 (%52 (0x0)) (base=28)
MESA: info:                 div 32    %158 = fmul %293, %157
MESA: info:                 div 32    %159 = fmul %292, %157
MESA: info:                 div 32    %160 = fmul %291, %157
MESA: info:                 div 32    %161 = fmul %290, %157
MESA: info:                 div 1     %162 = flt! %158, %52 (0.000000)
MESA: info:                 div 1     %163 = flt! %159, %52 (0.000000)
MESA: info:                 div 1     %164 = flt! %160, %52 (0.000000)
MESA: info:                 div 1     %165 = flt! %161, %52 (0.000000)
MESA: info:                 con 32    %166 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %167 = fmul %158, %166 (256.000000)
MESA: info:                 con 32    %168 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %169 = bcsel %162, %168 (0x44000000), %167
MESA: info:                 div 32    %170 = fmul %159, %166 (256.000000)
MESA: info:                 div 32    %171 = bcsel %163, %168 (0x44000000), %170
MESA: info:                 div 32    %172 = fmul %160, %166 (256.000000)
MESA: info:                 div 32    %173 = bcsel %164, %168 (0x44000000), %172
MESA: info:                 div 32    %174 = fmul %161, %166 (256.000000)
MESA: info:                 div 32    %175 = bcsel %165, %168 (0x44000000), %174
MESA: info:                 div 32    %176 = ffloor %169
MESA: info:                 div 32    %177 = ffloor %171
MESA: info:                 div 32    %178 = ffloor %173
MESA: info:                 div 32    %179 = ffloor %175
MESA: info:                 div 32    %180 = f2u32 %176
MESA: info:                 div 32    %181 = f2u32 %177
MESA: info:                 div 32    %182 = f2u32 %178
MESA: info:                 div 32    %183 = f2u32 %179
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %184 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %185 = phi b15: %183, b16: %184 (0x101)
MESA: info:             div 32    %186 = phi b15: %182, b16: %184 (0x101)
MESA: info:             div 32    %187 = phi b15: %181, b16: %184 (0x101)
MESA: info:             div 32    %188 = phi b15: %180, b16: %184 (0x101)
MESA: info:             con 32    %110 = load_const (0x00000001)
MESA: info:             con 32    %189 = load_const (0x00000100 = 256)
MESA: info:             div 1     %190 = ult %188, %189 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %190 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %191 = ishl %188, %53 (0x2)
MESA: info:                 con 32    %192 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %233 = @ssbo_atomic_ir3 (%192, %191, %110 (0x1), %188) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %194 = ult %187, %189 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %194 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %195 = ishl %187, %53 (0x2)
MESA: info:                 con 32    %196 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %237 = @ssbo_atomic_ir3 (%196, %195, %110 (0x1), %187) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %198 = ult %186, %189 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %198 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %199 = ishl %186, %53 (0x2)
MESA: info:                 con 32    %200 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %241 = @ssbo_atomic_ir3 (%200, %199, %110 (0x1), %186) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %202 = ult %185, %189 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %202 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %203 = ishl %185, %53 (0x2)
MESA: info:                 con 32    %204 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %245 = @ssbo_atomic_ir3 (%204, %203, %110 (0x1), %185) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %206 = iadd %83, %110 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %207 = load_const (0x00000001)
MESA: info:         div 32    %208 = iadd %76, %207 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 a48e720a3ded3f8a0ed563878f363d449a46fe7f:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l43
MESA: info: getone #l43
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: cov.f32u32 r50.z, r49.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: and.b r50.w, r49.y, 1
MESA: info: and.b r51.y, r49.y, 2
MESA: info: and.b r51.w, r49.y, 4
MESA: info: and.b r52.x, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32s32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.z, r50.w, 0
MESA: info: cmps.s.eq hr54.z, r51.y, 0
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: cov.u16s32 r51.z, hr54.z
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[17], r50.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: stc.u32 c[27], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.w, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[28], r50.x, 1
MESA: info: stc.u32 c[20], r51.x, 1
MESA: info: stc.u32 c[21], r51.z, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l43:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l61:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l171
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l69:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l169
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: cov.f32s32 r2.z, c9.x
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mul.f r2.y, (last)r2.y, c4.w
MESA: info: mov.f32f32 r2.w, c5.x
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: mov.f32f32 r3.x, c5.y
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: mov.f32f32 r3.y, c5.z
MESA: info: mov.f32f32 r3.z, c5.w
MESA: info: (nop2) cmps.s.ne p0.y, c8.x, 0
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.3d.base2 (s32)(xyzw)r3.w, r2.x, r40.x, s#0, t#0
MESA: info: (sy)sel.b32 r2.w, c6.x, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, c6.y, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, c6.z, r3.y, (last)r4.y
MESA: info: sel.b32 r3.z, c6.w, r3.z, (last)r4.z
MESA: info: br !p0.y, #l127
MESA: info: cov.s32f32 r2.w, (last)r2.w
MESA: info: cov.s32f32 r3.x, (last)r3.x
MESA: info: cov.s32f32 r3.y, (last)r3.y
MESA: info: cov.s32f32 r3.z, (last)r3.z
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: add.f r3.z, (last)r3.z, (neg)c8.y
MESA: info: mul.f r2.w, (last)r2.w, c7.x
MESA: info: mul.f r3.x, (last)r3.x, c7.x
MESA: info: mul.f r3.y, (last)r3.y, c7.x
MESA: info: mul.f r3.z, (last)r3.z, c7.x
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: cmps.f.lt r5.z, r3.z, (0.0)
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: mul.f r3.z, (last)r3.z, c12.y
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: sel.b32 r5.z, c12.x, r5.z, (last)r3.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: floor.f r5.z, (last)r5.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: cov.f32u32 r5.z, (last)r5.z
MESA: info: jump #l131
MESA: info: l127:
MESA: info: mov.u32u32 r5.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r5.y, 257
MESA: info: l131:
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r6.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.w, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.y, 0
MESA: info: mov.u32u32 r6.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.y, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.w, 0
MESA: info: mov.u32u32 r7.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.w, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.y, 0
MESA: info: mov.u32u32 r7.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.y, r5.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l69
MESA: info: l169:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l61
MESA: info: l171:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 38/1: 202 instr, 86 nops, 116 non-nops, 19 mov, 13 cov, 356 dwords
MESA: info: ; CL prog 38/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 38/1: 101 cat0, 32 cat1, 53 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 3 cat7
MESA: info: ; CL prog 38/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 38/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 45 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xaace014f, 0xd3332678, 0x26013891, 0x42bc898e, 0xa96d8dcc, 0x79c79b92, 0x7bbc76f6, 0x7942d409}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %5 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %193 = load_const (0x00000004)
MESA: info:             con 32x2  %195 = @load_ubo_vec4 (%5, %3 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %251 = f2u32 %195
MESA: info:             con 32    %252 = mov %251.x
MESA: info:             con 32    %253 = mov %251.y
MESA: info:                              @store_const_ir3 (%252) (base=16)
MESA: info:                              @store_const_ir3 (%253) (base=17)
MESA: info:             con 32      %9 = u2f32 %251.x
MESA: info:             con 32     %10 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %11 = fmul %9, %10 (0.001563)
MESA: info:             con 32     %12 = fceil %11
MESA: info:             con 32     %13 = f2u32 %12
MESA: info:                              @store_const_ir3 (%13) (base=18)
MESA: info:             con 32     %14 = frcp %195.x
MESA: info:                              @store_const_ir3 (%14) (base=19)
MESA: info:             con 32     %15 = frcp %195.y
MESA: info:                              @store_const_ir3 (%15) (base=20)
MESA: info:             con 32    %205 = load_const (0x00000001)
MESA: info:             con 32    %198 = @load_ubo_vec4 (%5, %205 (0x1)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %19 = f2i32 %198
MESA: info:             con 32     %20 = load_const (0xbf000000 = -0.500000 = -1090519040 = 3204448256)
MESA: info:             con 32x4  %263 = load_const (0x00000000, 0x00000001, 0x00000002, 0x00000003)
MESA: info:             con 1x4   %264 = ieq %19.xxxx, %263 (0x0, 0x1, 0x2, 0x3)
MESA: info:             con 32x4  %265 = b2i32 %264
MESA: info:             con 32    %266 = mov %265.w
MESA: info:             con 32    %262 = mov %265.z
MESA: info:             con 32    %257 = mov %265.x
MESA: info:             con 32    %258 = mov %265.y
MESA: info:                              @store_const_ir3 (%257) (base=21)
MESA: info:                              @store_const_ir3 (%258) (base=22)
MESA: info:                              @store_const_ir3 (%262) (base=23)
MESA: info:                              @store_const_ir3 (%266) (base=24)
MESA: info:             con 32     %31 = load_const (0x3f000000 = 0.500000 = 1056964608)
MESA: info:             con 1      %32 = ieq %19, %193 (0x4)
MESA: info:             con 32     %33 = bcsel %32, %31 (0x3f000000), %20 (0xbf000000)
MESA: info:                              @store_const_ir3 (%33) (base=25)
MESA: info:             con 1      %34 = ior %264.z, %264.w
MESA: info:             con 1      %35 = ior %34, %32
MESA: info:             con 32     %36 = b2i32 %35
MESA: info:                              @store_const_ir3 (%36) (base=26)
MESA: info:             con 1      %37 = uge %205 (0x1), %19
MESA: info:             con 32     %38 = b2i32 %37
MESA: info:                              @store_const_ir3 (%38) (base=27)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%5, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %43 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %45 = @bindless_resource_ir3 (%205 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%43, %45)
MESA: info:             con 32     %47 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%47)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %50 = @load_local_invocation_id
MESA: info:     con 32x3   %51 = @load_workgroup_id
MESA: info:     con 32x3   %52 = @load_base_workgroup_id
MESA: info:     con 32x2  %267 = iadd %51.xy, %52.xy
MESA: info:     con 32     %55 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %58 = @load_const_ir3 (%55 (0x0)) (base=16)
MESA: info:     con 32     %60 = @load_const_ir3 (%55 (0x0)) (base=17)
MESA: info:     con 32     %61 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %268 = umul_low %267, %61 (0xa).xx
MESA: info:     con 32x2  %269 = imadsh_mix16 %61 (0xa).xx, %267, %268
MESA: info:     div 32x2  %270 = iadd %269, %50.xy
MESA: info:     con 32     %66 = load_const (0x00000006)
MESA: info:     div 32x2  %271 = ishl %270, %66 (0x6).xx
MESA: info:     div 32    %272 = mov %271.x
MESA: info:     div 32    %273 = mov %271.y
MESA: info:     div 32    %236 = umul_low %50.y, %61 (0xa)
MESA: info:     div 32    %238 = imadsh_mix16 %61 (0xa), %50.y, %236
MESA: info:     con 32     %72 = @load_const_ir3 (%55 (0x0)) (base=18)
MESA: info:     con 32    %233 = umul_low %267.y, %72
MESA: info:     con 32    %234 = imadsh_mix16 %267.y, %72, %233
MESA: info:     con 32    %235 = imadsh_mix16 %72, %267.y, %234
MESA: info:     con 32     %74 = iadd %235, %267.x
MESA: info:     con 32     %75 = load_const (0x00000064 = 100)
MESA: info:     con 32    %230 = umul_low %74, %75 (0x64)
MESA: info:     con 32    %232 = imadsh_mix16 %75 (0x64), %74, %230
MESA: info:     div 32    %229 = iadd3 %238, %50.x, %232
MESA: info:     con 32x4  %284 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:     con 32x4  %297 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %283 = phi b6: %284 (0x0, 0x0, 0x0, 0x0), b15: %285
MESA: info:         div 32x4  %296 = phi b6: %297 (0x0, 0x0, 0x0, 0x0), b15: %328
MESA: info:         div 32     %86 = phi b6: %55 (0x0), b15: %327
MESA: info:         div 32     %87 = phi b6: %273, b15: %185
MESA: info:         div 32x3  %305 = mov %283.yzw
MESA: info:         div 32    %277 = mov %283.x
MESA: info:         con 32     %88 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %300 = iadd %271.yx, %88 (0x40).xx
MESA: info:         div 32     %91 = umin %60, %300.x
MESA: info:         div 32     %92 = umin %58, %300.y
MESA: info:         div 1      %93 = uge %87, %91
MESA: info:                          // succs: b8 b9
MESA: info:         if %93 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %94 = phi b10: %272, b14: %183
MESA: info:             div 32     %95 = phi b10: %277, b14: %182
MESA: info:             div 32x3  %304 = phi b10: %305, b14: %320
MESA: info:             div 32x4  %313 = phi b10: %296, b14: %314
MESA: info:             div 32    %103 = phi b10: %86, b14: %209
MESA: info:             div 1     %104 = uge %94, %92
MESA: info:                              // succs: b12 b13
MESA: info:             if %104 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32    %105 = u2f32 %94
MESA: info:             div 32    %106 = u2f32 %87
MESA: info:             con 32    %108 = @load_const_ir3 (%55 (0x0)) (base=19)
MESA: info:             con 32    %111 = @load_const_ir3 (%55 (0x0)) (base=20)
MESA: info:             con 32x2  %116 = @load_const_ir3 (%55 (0x0)) (base=36)
MESA: info:             con 32    %117 = load_const (0xbf000000 = -0.500000 = -1090519040 = 3204448256)
MESA: info:             div 32    %250 = ffma %105, %108, %117 (-0.500000)
MESA: info:             div 32    %249 = ffma %106, %111, %117 (-0.500000)
MESA: info:             con 32    %120 = load_const (0x00000001)
MESA: info:             con 32    %122 = @load_const_ir3 (%55 (0x0)) (base=21)
MESA: info:             con 32    %126 = @load_const_ir3 (%55 (0x0)) (base=22)
MESA: info:             con 32    %130 = @load_const_ir3 (%55 (0x0)) (base=23)
MESA: info:             con 32    %134 = @load_const_ir3 (%55 (0x0)) (base=24)
MESA: info:             div 32    %137 = fneg %249
MESA: info:             div 32    %138 = fneg %250
MESA: info:             con 32    %139 = load_const (0x3f000000 = 1056964608)
MESA: info:             con 32    %141 = @load_const_ir3 (%55 (0x0)) (base=25)
MESA: info:             div 32    %226 = icsel_eqz %134, %137, %117 (0xbf000000)
MESA: info:             div 32    %225 = icsel_eqz %134, %141, %137
MESA: info:             con 32    %145 = @load_const_ir3 (%55 (0x0)) (base=26)
MESA: info:             div 32    %224 = icsel_eqz %145, %138, %250
MESA: info:             div 32    %223 = icsel_eqz %130, %226, %139 (0x3f000000)
MESA: info:             div 32    %222 = icsel_eqz %130, %225, %249
MESA: info:             div 32    %221 = icsel_eqz %126, %224, %117 (0xbf000000)
MESA: info:             div 32    %220 = icsel_eqz %126, %222, %250
MESA: info:             div 32    %219 = icsel_eqz %122, %221, %139 (0x3f000000)
MESA: info:             con 32    %155 = @load_const_ir3 (%55 (0x0)) (base=27)
MESA: info:             div 32    %218 = icsel_eqz %155, %223, %137
MESA: info:             div 32    %217 = icsel_eqz %122, %220, %138
MESA: info:             div 32x3  %160 = vec3 %219, %218, %217
MESA: info:             con 32    %161 = i2f32 %116.y
MESA: info:             con 32    %162 = @bindless_resource_ir3 (%120 (0x1)) (desc_set=2)
MESA: info:             con 32    %163 = @bindless_resource_ir3 (%55 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %164 = (float32)txl %163 (texture_handle), %162 (sampler_handle), %160 (coord), %161 (lod), 0 (texture), 0 (sampler)
MESA: info:             div 32x3  %316 = fmin %304, %164.xyz
MESA: info:             div 32    %169 = fmin %313.x, %164.w
MESA: info:             div 32x3  %318 = fmax %313.yzw, %164.xyz
MESA: info:             div 32    %173 = fmax %103, %164.w
MESA: info:             div 32x3  %320 = icsel_eqz %95.xxx, %164.xyz, %316
MESA: info:             div 32    %213 = icsel_eqz %95, %164.w, %169
MESA: info:             div 32x3  %322 = icsel_eqz %95.xxx, %164.xyz, %318
MESA: info:             div 32    %209 = icsel_eqz %95, %164.w, %173
MESA: info:             div 32    %182 = iadd %95, %120 (0x1)
MESA: info:             div 32    %183 = iadd %94, %120 (0x1)
MESA: info:             div 32x4  %314 = vec4 %213, %322.x, %322.y, %322.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %330 = phi b12: %95
MESA: info:         div 32x3  %329 = phi b12: %304
MESA: info:         div 32x4  %328 = phi b12: %313
MESA: info:         div 32    %327 = phi b12: %103
MESA: info:         con 32    %184 = load_const (0x00000001)
MESA: info:         div 32    %185 = iadd %87, %184 (0x1)
MESA: info:         div 32x4  %285 = vec4 %330, %329.x, %329.y, %329.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %333 = phi b8: %283
MESA: info:     div 32x4  %332 = phi b8: %296
MESA: info:     div 32    %331 = phi b8: %86
MESA: info:     con 32x2  %323 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %324 = ishl %229.xx, %323 (0x5, 0x3)
MESA: info:     div 32    %325 = mov %324.x
MESA: info:     div 32    %326 = mov %324.y
MESA: info:     con 32    %188 = @bindless_resource_ir3 (%55 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %189 = vec4 %333.y, %333.z, %333.w, %332.x
MESA: info:                      @store_ssbo_ir3 (%189, %188, %325, %326) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %190 = load_const (0x00000010 = 16)
MESA: info:     div 32    %191 = iadd %324.x, %190 (0x10)
MESA: info:     div 32x4  %192 = vec4 %332.y, %332.z, %332.w, %331
MESA: info:     con 32    %202 = load_const (0x00000002)
MESA: info:     div 32    %203 = ushr %191, %202 (0x2)
MESA: info:                      @store_ssbo_ir3 (%192, %188, %191, %203) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 627eb39cddf297c40efbe498a5c1a62c47751404:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x3f000000, 0xbf000000, 0x0000000a
MESA: info: shps #l48
MESA: info: getone #l48
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 1, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.z, r48.w
MESA: info: cov.f32u32 r50.w, r49.x
MESA: info: cov.f32s32 r49.y, r49.y
MESA: info: cmps.s.eq hr51.x, r49.y, 0
MESA: info: cmps.s.eq hr52.x, r49.y, 1
MESA: info: cmps.s.eq hr54.z, r49.y, 2
MESA: info: cmps.s.eq hr54.w, r49.y, 3
MESA: info: cov.u16s32 r49.w, hr51.x
MESA: info: cov.u16s32 r51.z, hr54.z
MESA: info: cov.u32f32 r51.x, r50.z
MESA: info: cov.u16s32 r50.y, hr52.x
MESA: info: cov.u16s32 r51.w, hr54.w
MESA: info: or.b hr54.z, hr54.z, hr54.w
MESA: info: mul.f r51.x, r51.x, c12.x
MESA: info: ceil.f r51.x, r51.x
MESA: info: cov.f32u32 r51.x, r51.x
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r50.z, 1
MESA: info: stc.u32 c[17], r50.w, 1
MESA: info: stc.u32 c[21], r49.w, 1
MESA: info: stc.u32 c[23], r51.z, 1
MESA: info: stc.u32 c[22], r50.y, 1
MESA: info: stc.u32 c[24], r51.w, 1
MESA: info: stc.u32 c[18], r51.x, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: (ss)cmps.s.eq hr49.z, r49.y, 4
MESA: info: or.b hr54.z, hr54.z, hr49.z
MESA: info: cmps.u.ge hr50.z, 1, r49.y
MESA: info: cov.u16s32 r49.z, hr54.z
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: (ss)cov.u16s32 r49.y, hr50.z
MESA: info: cov.u16u32 r49.x, hr49.z
MESA: info: sel.b32 r49.x, c12.y, r49.x, c12.z
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[27], r49.y, 1
MESA: info: stc.u32 c[25], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l48:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.z, r48.y, 16
MESA: info: mull.u r50.w, r48.y, 10
MESA: info: mull.u r50.z, 10, r50.z
MESA: info: shl.b r50.z, r50.z, 16
MESA: info: add.u r50.z, r50.z, r50.w
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.x, r48.x, 16
MESA: info: mull.u r50.y, r48.x, 10
MESA: info: mull.u r50.x, 10, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: add.u r50.x, r50.x, r50.y
MESA: info: shr.b r49.w, c4.z, 16
MESA: info: mull.u r51.x, r48.y, c4.z
MESA: info: mull.u r49.w, r48.y, r49.w
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r49.w, r49.w, r51.x
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r49.w
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.y, r48.y, 16
MESA: info: mull.u r51.y, 100, r51.y
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.w, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.z, (last)r0.y
MESA: info: add.u r1.x, r50.x, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.y
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l92:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l151
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l100:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l149
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: mov.f32f32 r5.x, c6.x
MESA: info: mad.f32 r4.w, c5.x, r4.w, c12.z
MESA: info: mad.f32 r4.z, c4.w, r4.z, c12.z
MESA: info: mov.f32f32 r5.y, c6.z
MESA: info: absneg.f r5.z, (neg)r4.w
MESA: info: mov.f32f32 r6.x, c5.w
MESA: info: mov.f32f32 r6.z, c5.z
MESA: info: absneg.f r5.w, (neg)r4.z
MESA: info: sel.b32 r6.y, c12.z, r5.x, r5.z
MESA: info: sel.b32 r5.x, r5.z, r5.x, c6.y
MESA: info: mov.f32f32 r6.w, c5.y
MESA: info: mov.f32f32 r7.x, c6.w
MESA: info: sel.b32 r5.y, r4.z, r5.y, r5.w
MESA: info: sel.b32 r4.w, (last)r4.w, r6.x, (last)r5.x
MESA: info: sel.b32 r6.x, c12.y, r6.x, (last)r6.y
MESA: info: sel.b32 r4.z, (last)r4.z, r6.z, (last)r4.w
MESA: info: sel.b32 r6.z, c12.z, r6.z, (last)r5.y
MESA: info: cov.s32f32 r7.y, c9.y
MESA: info: sel.b32 r5.z, (last)r5.z, r7.x, (last)r6.x
MESA: info: sel.b32 r5.w, (last)r5.w, r6.w, (last)r4.z
MESA: info: sel.b32 r6.w, c12.y, r6.w, (last)r6.z
MESA: info: (nop3) add.u r4.y, (last)r4.y, 1
MESA: info: nop
MESA: info: alias.tex.b32.0 r5.y, r6.w
MESA: info: saml.3d.base2 (f32)(xyzw)r7.z, r5.y, r7.y, s#1, t#0
MESA: info: (sy)min.f r1.z, (last)r1.z, r7.z
MESA: info: min.f r1.w, (last)r1.w, r7.w
MESA: info: min.f r2.x, (last)r2.x, r8.x
MESA: info: min.f r2.y, (last)r2.y, r8.y
MESA: info: max.f r2.z, (last)r2.z, r7.z
MESA: info: max.f r2.w, (last)r2.w, r7.w
MESA: info: max.f r3.x, (last)r3.x, r8.x
MESA: info: max.f r3.y, (last)r3.y, r8.y
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r7.z
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r7.w
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r8.x
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r8.y
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r7.z
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r7.w
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r8.x
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r8.y
MESA: info: add.u r1.y, (last)r1.y, 1
MESA: info: jump #l100
MESA: info: l149:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l92
MESA: info: l151:
MESA: info: (jp)shl.b r8.z, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r8.z, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 39/1: 135 instr, 27 nops, 108 non-nops, 17 mov, 3 cov, 352 dwords
MESA: info: ; CL prog 39/1: 0 last-baryf, 0 last-helper, 0 half, 9 full, 16 constlen
MESA: info: ; CL prog 39/1: 32 cat0, 20 cat1, 55 cat2, 22 cat3, 0 cat4, 1 cat5, 2 cat6, 3 cat7
MESA: info: ; CL prog 39/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 39/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 48 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x05e9b286, 0x8de62842, 0x100ade79, 0x56d01fe3, 0x00da02cc, 0xdce0040e, 0x9642f81f, 0x48d3c256}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %259 = load_const (0x00000004)
MESA: info:             con 32x2  %261 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %360 = f2u32 %261
MESA: info:             con 32    %361 = mov %360.x
MESA: info:             con 32    %362 = mov %360.y
MESA: info:                              @store_const_ir3 (%361) (base=16)
MESA: info:                              @store_const_ir3 (%362) (base=17)
MESA: info:             con 32     %10 = frcp %261.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %261.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %294 = load_const (0x00000001)
MESA: info:             con 32    %264 = @load_ubo_vec4 (%6, %294 (0x1)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %15 = f2i32 %264
MESA: info:             con 32     %16 = load_const (0xbf000000 = -0.500000 = -1090519040 = 3204448256)
MESA: info:             con 32x4  %372 = load_const (0x00000000, 0x00000001, 0x00000002, 0x00000003)
MESA: info:             con 1x4   %373 = ieq %15.xxxx, %372 (0x0, 0x1, 0x2, 0x3)
MESA: info:             con 32x4  %374 = b2i32 %373
MESA: info:             con 32    %375 = mov %374.w
MESA: info:             con 32    %371 = mov %374.z
MESA: info:             con 32    %366 = mov %374.x
MESA: info:             con 32    %367 = mov %374.y
MESA: info:                              @store_const_ir3 (%366) (base=20)
MESA: info:                              @store_const_ir3 (%367) (base=21)
MESA: info:                              @store_const_ir3 (%371) (base=22)
MESA: info:                              @store_const_ir3 (%375) (base=23)
MESA: info:             con 32     %27 = load_const (0x3f000000 = 0.500000 = 1056964608)
MESA: info:             con 1      %28 = ieq %15, %259 (0x4)
MESA: info:             con 32     %29 = bcsel %28, %27 (0x3f000000), %16 (0xbf000000)
MESA: info:                              @store_const_ir3 (%29) (base=24)
MESA: info:             con 1      %30 = ior %373.z, %373.w
MESA: info:             con 1      %31 = ior %30, %28
MESA: info:             con 32     %32 = b2i32 %31
MESA: info:                              @store_const_ir3 (%32) (base=25)
MESA: info:             con 1      %33 = uge %294 (0x1), %15
MESA: info:             con 32     %34 = b2i32 %33
MESA: info:                              @store_const_ir3 (%34) (base=26)
MESA: info:             con 32    %267 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %380 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %381 = iand %267.xxxx, %380 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %389 = ieq %381, %2 (0x0).xxxx
MESA: info:             con 32x4  %390 = b2i32 %389
MESA: info:             con 32    %391 = mov %390.w
MESA: info:             con 32    %388 = mov %390.z
MESA: info:             con 32    %384 = mov %390.x
MESA: info:             con 32    %385 = mov %390.y
MESA: info:                              @store_const_ir3 (%384) (base=27)
MESA: info:                              @store_const_ir3 (%385) (base=28)
MESA: info:                              @store_const_ir3 (%388) (base=29)
MESA: info:                              @store_const_ir3 (%391) (base=30)
MESA: info:             con 32x2  %270 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %359 = fsub %270.y, %270.x
MESA: info:             con 32     %51 = frcp %359
MESA: info:                              @store_const_ir3 (%51) (base=31)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %56 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %58 = @bindless_resource_ir3 (%294 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%56, %58)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %59 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %61 = load_const (0x00000002)
MESA: info:     con 32     %64 = @load_const_ir3 (%59 (0x0)) (base=16)
MESA: info:     con 32     %66 = @load_const_ir3 (%59 (0x0)) (base=17)
MESA: info:     con 32x3   %67 = @load_workgroup_id
MESA: info:     con 32x3   %68 = @load_base_workgroup_id
MESA: info:     con 32x2  %392 = iadd %67.xy, %68.xy
MESA: info:     con 32     %71 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %393 = umul_low %392, %71 (0xa).xx
MESA: info:     con 32x2  %394 = imadsh_mix16 %71 (0xa).xx, %392, %393
MESA: info:     div 32x3   %74 = @load_local_invocation_id
MESA: info:     div 32x2  %395 = iadd %394, %74.xy
MESA: info:     con 32     %77 = load_const (0x00000006)
MESA: info:     div 32x2  %396 = ishl %395, %77 (0x6).xx
MESA: info:     div 32    %397 = mov %396.x
MESA: info:     div 32    %398 = mov %396.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %80 = phi b6: %398, b30: %258
MESA: info:         con 32     %81 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %399 = iadd %396.yx, %81 (0x40).xx
MESA: info:         div 32     %84 = umin %66, %399.x
MESA: info:         div 32     %85 = umin %64, %399.y
MESA: info:         div 1      %86 = uge %80, %84
MESA: info:                          // succs: b8 b9
MESA: info:         if %86 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %87 = phi b10: %397, b29: %256
MESA: info:             div 1      %88 = uge %87, %85
MESA: info:                              // succs: b12 b13
MESA: info:             if %88 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %89 = u2f32 %87
MESA: info:             div 32     %90 = u2f32 %80
MESA: info:             con 32     %92 = @load_const_ir3 (%59 (0x0)) (base=18)
MESA: info:             con 32     %95 = @load_const_ir3 (%59 (0x0)) (base=19)
MESA: info:             con 32x2  %101 = @load_const_ir3 (%59 (0x0)) (base=36)
MESA: info:             con 32    %102 = load_const (0xbf000000 = -0.500000 = -1090519040 = 3204448256)
MESA: info:             div 32    %358 = ffma %89, %92, %102 (-0.500000)
MESA: info:             div 32    %357 = ffma %90, %95, %102 (-0.500000)
MESA: info:             con 32    %105 = load_const (0x00000001)
MESA: info:             con 32    %107 = @load_const_ir3 (%59 (0x0)) (base=20)
MESA: info:             con 32    %111 = @load_const_ir3 (%59 (0x0)) (base=21)
MESA: info:             con 32    %115 = @load_const_ir3 (%59 (0x0)) (base=22)
MESA: info:             con 32    %119 = @load_const_ir3 (%59 (0x0)) (base=23)
MESA: info:             div 32    %122 = fneg %357
MESA: info:             div 32    %123 = fneg %358
MESA: info:             con 32    %124 = load_const (0x3f000000 = 1056964608)
MESA: info:             con 32    %126 = @load_const_ir3 (%59 (0x0)) (base=24)
MESA: info:             div 32    %329 = icsel_eqz %119, %122, %102 (0xbf000000)
MESA: info:             div 32    %328 = icsel_eqz %119, %126, %122
MESA: info:             con 32    %130 = @load_const_ir3 (%59 (0x0)) (base=25)
MESA: info:             div 32    %327 = icsel_eqz %130, %123, %358
MESA: info:             div 32    %326 = icsel_eqz %115, %329, %124 (0x3f000000)
MESA: info:             div 32    %325 = icsel_eqz %115, %328, %357
MESA: info:             div 32    %324 = icsel_eqz %111, %327, %102 (0xbf000000)
MESA: info:             div 32    %323 = icsel_eqz %111, %325, %358
MESA: info:             div 32    %322 = icsel_eqz %107, %324, %124 (0x3f000000)
MESA: info:             con 32    %140 = @load_const_ir3 (%59 (0x0)) (base=26)
MESA: info:             div 32    %321 = icsel_eqz %140, %326, %122
MESA: info:             div 32    %320 = icsel_eqz %107, %323, %123
MESA: info:             div 32x3  %145 = vec3 %322, %321, %320
MESA: info:             con 32    %146 = i2f32 %101.y
MESA: info:             con 32    %147 = @bindless_resource_ir3 (%105 (0x1)) (desc_set=2)
MESA: info:             con 32    %148 = @bindless_resource_ir3 (%59 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %149 = (float32)txl %148 (texture_handle), %147 (sampler_handle), %145 (coord), %146 (lod), 0 (texture), 0 (sampler)
MESA: info:             con 32    %156 = @load_const_ir3 (%59 (0x0)) (base=32)
MESA: info:             con 32    %158 = @load_const_ir3 (%59 (0x0)) (base=27)
MESA: info:             con 32    %162 = @load_const_ir3 (%59 (0x0)) (base=28)
MESA: info:             con 32    %166 = @load_const_ir3 (%59 (0x0)) (base=29)
MESA: info:             con 32    %170 = @load_const_ir3 (%59 (0x0)) (base=30)
MESA: info:             con 32    %175 = @load_const_ir3 (%59 (0x0)) (base=34)
MESA: info:             con 32    %176 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32    %177 = fadd %175, %176 (1.000000)
MESA: info:             div 32    %319 = icsel_eqz %158, %149.x, %177
MESA: info:             div 32    %318 = icsel_eqz %162, %149.y, %177
MESA: info:             div 32    %317 = icsel_eqz %166, %149.z, %177
MESA: info:             div 32    %316 = icsel_eqz %170, %149.w, %177
MESA: info:             con 1     %197 = ine %156, %59 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %197 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 con 32x2  %200 = @load_const_ir3 (%59 (0x0)) (base=33)
MESA: info:                 div 32    %356 = fsub %319, %200.x
MESA: info:                 div 32    %355 = fsub %318, %200.x
MESA: info:                 div 32    %354 = fsub %317, %200.x
MESA: info:                 div 32    %353 = fsub %316, %200.x
MESA: info:                 con 32    %207 = @load_const_ir3 (%59 (0x0)) (base=31)
MESA: info:                 div 32    %208 = fmul %356, %207
MESA: info:                 div 32    %209 = fmul %355, %207
MESA: info:                 div 32    %210 = fmul %354, %207
MESA: info:                 div 32    %211 = fmul %353, %207
MESA: info:                 div 1     %212 = flt! %208, %59 (0.000000)
MESA: info:                 div 1     %213 = flt! %209, %59 (0.000000)
MESA: info:                 div 1     %214 = flt! %210, %59 (0.000000)
MESA: info:                 div 1     %215 = flt! %211, %59 (0.000000)
MESA: info:                 con 32    %216 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %217 = fmul %208, %216 (256.000000)
MESA: info:                 con 32    %218 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %219 = bcsel %212, %218 (0x44000000), %217
MESA: info:                 div 32    %220 = fmul %209, %216 (256.000000)
MESA: info:                 div 32    %221 = bcsel %213, %218 (0x44000000), %220
MESA: info:                 div 32    %222 = fmul %210, %216 (256.000000)
MESA: info:                 div 32    %223 = bcsel %214, %218 (0x44000000), %222
MESA: info:                 div 32    %224 = fmul %211, %216 (256.000000)
MESA: info:                 div 32    %225 = bcsel %215, %218 (0x44000000), %224
MESA: info:                 div 32    %226 = ffloor %219
MESA: info:                 div 32    %227 = ffloor %221
MESA: info:                 div 32    %228 = ffloor %223
MESA: info:                 div 32    %229 = ffloor %225
MESA: info:                 div 32    %230 = f2u32 %226
MESA: info:                 div 32    %231 = f2u32 %227
MESA: info:                 div 32    %232 = f2u32 %228
MESA: info:                 div 32    %233 = f2u32 %229
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %234 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %235 = phi b15: %233, b16: %234 (0x101)
MESA: info:             div 32    %236 = phi b15: %232, b16: %234 (0x101)
MESA: info:             div 32    %237 = phi b15: %231, b16: %234 (0x101)
MESA: info:             div 32    %238 = phi b15: %230, b16: %234 (0x101)
MESA: info:             con 32    %239 = load_const (0x00000100 = 256)
MESA: info:             div 1     %240 = ult %238, %239 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %240 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %241 = ishl %238, %61 (0x2)
MESA: info:                 con 32    %242 = @bindless_resource_ir3 (%59 (0x0)) (desc_set=3)
MESA: info:                 div 32    %274 = @ssbo_atomic_ir3 (%242, %241, %105 (0x1), %238) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %244 = ult %237, %239 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %244 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %245 = ishl %237, %61 (0x2)
MESA: info:                 con 32    %246 = @bindless_resource_ir3 (%59 (0x0)) (desc_set=3)
MESA: info:                 div 32    %278 = @ssbo_atomic_ir3 (%246, %245, %105 (0x1), %237) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %248 = ult %236, %239 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %248 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %249 = ishl %236, %61 (0x2)
MESA: info:                 con 32    %250 = @bindless_resource_ir3 (%59 (0x0)) (desc_set=3)
MESA: info:                 div 32    %282 = @ssbo_atomic_ir3 (%250, %249, %105 (0x1), %236) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %252 = ult %235, %239 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %252 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %253 = ishl %235, %61 (0x2)
MESA: info:                 con 32    %254 = @bindless_resource_ir3 (%59 (0x0)) (desc_set=3)
MESA: info:                 div 32    %286 = @ssbo_atomic_ir3 (%254, %253, %105 (0x1), %235) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %256 = iadd %87, %105 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %257 = load_const (0x00000001)
MESA: info:         div 32    %258 = iadd %80, %257 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 07b5a2acab82691a940b5f79a4b003ae7dfbe886:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3f000000, 0xbf000000, 0x44000000, 0x43800000
MESA: info: shps #l63
MESA: info: getone #l63
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 1, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: cov.f32u32 r50.z, r49.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: cov.f32s32 r49.y, r49.y
MESA: info: cmps.s.eq hr53.z, r49.y, 0
MESA: info: cmps.s.eq hr54.z, r49.y, 1
MESA: info: cmps.s.eq hr55.z, r49.y, 2
MESA: info: cmps.s.eq hr55.w, r49.y, 3
MESA: info: cmps.s.eq hr51.z, r49.y, 4
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: cov.u16s32 r51.z, hr54.z
MESA: info: and.b r52.x, r49.z, 8
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.u.ge hr50.z, 1, r49.y
MESA: info: and.b r50.w, r49.z, 1
MESA: info: and.b r51.y, r49.z, 2
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[17], r50.z, 1
MESA: info: stc.u32 c[20], r51.x, 1
MESA: info: stc.u32 c[21], r51.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)cov.u16s32 r48.w, hr55.z
MESA: info: cov.u16s32 r50.y, hr50.z
MESA: info: or.b hr55.z, hr55.z, hr55.w
MESA: info: or.b hr55.z, hr55.z, hr51.z
MESA: info: cmps.s.eq hr53.z, r50.w, 0
MESA: info: cmps.s.eq hr54.z, r51.y, 0
MESA: info: cov.u16s32 r50.z, hr55.z
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: cov.u16s32 r51.z, hr54.z
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[31], r50.x, 1
MESA: info: (ss)cov.u16s32 r49.x, hr55.w
MESA: info: cov.u16u32 r50.x, hr51.z
MESA: info: and.b r51.w, r49.z, 4
MESA: info: sel.b32 r50.x, c12.x, r50.x, c12.y
MESA: info: stc.u32 c[22], r48.w, 1
MESA: info: stc.u32 c[26], r50.y, 1
MESA: info: stc.u32 c[25], r50.z, 1
MESA: info: stc.u32 c[27], r51.x, 1
MESA: info: stc.u32 c[28], r51.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[23], r49.x, 1
MESA: info: (rpt1)cmps.s.eq hr49.z, (r)r51.w, 0
MESA: info: cov.u16s32 r49.y, hr49.w
MESA: info: stc.u32 c[24], r50.x, 1
MESA: info: (ss)cov.u16s32 r49.x, hr49.z
MESA: info: stc.u32 c[30], r49.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[29], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l63:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l81:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l202
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l89:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l200
MESA: info: add.f r50.x, c8.z, (1.0)
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: mov.f32f32 r2.z, c5.w
MESA: info: mad.f32 r2.y, c4.w, r2.y, c12.y
MESA: info: mad.f32 r2.x, c4.z, r2.x, c12.y
MESA: info: mov.f32f32 r2.w, c6.y
MESA: info: absneg.f r3.x, (neg)r2.y
MESA: info: mov.f32f32 r3.z, c5.z
MESA: info: mov.f32f32 r4.x, c5.y
MESA: info: absneg.f r3.y, (neg)r2.x
MESA: info: sel.b32 r3.w, c12.y, r2.z, r3.x
MESA: info: sel.b32 r2.z, r3.x, r2.z, c6.x
MESA: info: mov.f32f32 r4.y, c5.x
MESA: info: mov.f32f32 r4.z, c6.z
MESA: info: sel.b32 r2.w, r2.x, r2.w, r3.y
MESA: info: sel.b32 r2.y, (last)r2.y, r3.z, (last)r2.z
MESA: info: sel.b32 r3.z, c12.x, r3.z, (last)r3.w
MESA: info: sel.b32 r2.x, (last)r2.x, r4.x, (last)r2.y
MESA: info: sel.b32 r4.x, c12.y, r4.x, (last)r2.w
MESA: info: cov.s32f32 r4.w, c9.y
MESA: info: sel.b32 r3.x, (last)r3.x, r4.z, (last)r3.z
MESA: info: sel.b32 r3.y, (last)r3.y, r4.y, (last)r2.x
MESA: info: sel.b32 r4.y, c12.x, r4.y, (last)r4.x
MESA: info: mov.f32f32 r6.x, c6.w
MESA: info: mov.f32f32 r6.y, c7.x
MESA: info: mov.f32f32 r6.z, c7.y
MESA: info: mov.f32f32 r6.w, c7.z
MESA: info: cmps.s.ne p0.y, c8.x, 0
MESA: info: alias.tex.b32.0 r2.w, r4.y
MESA: info: saml.3d.base2 (f32)(xyzw)r5.x, r2.w, r4.w, s#1, t#0
MESA: info: (sy)(ss)sel.b32 r6.x, r50.x, r6.x, (last)r5.x
MESA: info: sel.b32 r6.y, r50.x, r6.y, (last)r5.y
MESA: info: sel.b32 r6.z, r50.x, r6.z, (last)r5.z
MESA: info: (nop1) sel.b32 r6.w, r50.x, r6.w, (last)r5.w
MESA: info: br !p0.y, #l158
MESA: info: add.f r6.x, (last)r6.x, (neg)c8.y
MESA: info: add.f r6.y, (last)r6.y, (neg)c8.y
MESA: info: add.f r6.z, (last)r6.z, (neg)c8.y
MESA: info: add.f r6.w, (last)r6.w, (neg)c8.y
MESA: info: mul.f r6.x, (last)r6.x, c7.w
MESA: info: mul.f r6.y, (last)r6.y, c7.w
MESA: info: mul.f r6.z, (last)r6.z, c7.w
MESA: info: mul.f r6.w, (last)r6.w, c7.w
MESA: info: cmps.f.lt r7.x, r6.x, (0.0)
MESA: info: cmps.f.lt r7.y, r6.y, (0.0)
MESA: info: cmps.f.lt r7.z, r6.z, (0.0)
MESA: info: cmps.f.lt r7.w, r6.w, (0.0)
MESA: info: mul.f r6.x, (last)r6.x, c12.w
MESA: info: mul.f r6.y, (last)r6.y, c12.w
MESA: info: mul.f r6.z, (last)r6.z, c12.w
MESA: info: mul.f r6.w, (last)r6.w, c12.w
MESA: info: sel.b32 r7.x, c12.z, r7.x, (last)r6.x
MESA: info: sel.b32 r7.y, c12.z, r7.y, (last)r6.y
MESA: info: sel.b32 r7.z, c12.z, r7.z, (last)r6.z
MESA: info: sel.b32 r7.w, c12.z, r7.w, (last)r6.w
MESA: info: floor.f r7.x, (last)r7.x
MESA: info: floor.f r7.y, (last)r7.y
MESA: info: floor.f r7.z, (last)r7.z
MESA: info: floor.f r7.w, (last)r7.w
MESA: info: cov.f32u32 r7.x, (last)r7.x
MESA: info: cov.f32u32 r7.y, (last)r7.y
MESA: info: cov.f32u32 r7.z, (last)r7.z
MESA: info: cov.f32u32 r7.w, (last)r7.w
MESA: info: jump #l162
MESA: info: l158:
MESA: info: mov.u32u32 r7.w, 257
MESA: info: mov.u32u32 r7.x, 257
MESA: info: mov.u32u32 r7.y, 257
MESA: info: mov.u32u32 r7.z, 257
MESA: info: l162:
MESA: info: (nop3) cmps.u.lt p0.x, r7.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r8.x, 0
MESA: info: mov.u32u32 r8.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r8.x, r7.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r7.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r8.z, 0
MESA: info: mov.u32u32 r8.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r8.z, r7.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r7.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r9.x, 0
MESA: info: mov.u32u32 r9.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r9.x, r7.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r7.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r9.z, 0
MESA: info: mov.u32u32 r9.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r9.z, r7.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l89
MESA: info: l200:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l81
MESA: info: l202:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 40/1: 212 instr, 85 nops, 127 non-nops, 25 mov, 7 cov, 418 dwords
MESA: info: ; CL prog 40/1: 0 last-baryf, 0 last-helper, 0 half, 10 full, 16 constlen
MESA: info: ; CL prog 40/1: 100 cat0, 32 cat1, 52 cat2, 20 cat3, 0 cat4, 1 cat5, 4 cat6, 3 cat7
MESA: info: ; CL prog 40/1: 5 sstall, 3 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 40/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 64 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xef1609ea, 0x0454e9a7, 0x7a5f53ad, 0x5f7cf01e, 0x760c22c7, 0x2f1254c2, 0x5734fdb5, 0x7e05e4f3}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %141 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %135 = @load_ubo_vec4 (%4, %141 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %171 = f2u32 %135
MESA: info:             con 32    %172 = mov %171.x
MESA: info:             con 32    %173 = mov %171.y
MESA: info:                              @store_const_ir3 (%172) (base=16)
MESA: info:                              @store_const_ir3 (%173) (base=17)
MESA: info:             con 32      %8 = u2f32 %171.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %135.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %135.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%19)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%21)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %24 = @load_local_invocation_id
MESA: info:     con 32x3   %25 = @load_workgroup_id
MESA: info:     con 32x3   %26 = @load_base_workgroup_id
MESA: info:     con 32x2  %174 = iadd %25.xy, %26.xy
MESA: info:     con 32     %29 = load_const (0x00000000)
MESA: info:     con 32x2   %34 = @load_const_ir3 (%29 (0x0)) (base=40)
MESA: info:     con 32     %36 = @load_const_ir3 (%29 (0x0)) (base=16)
MESA: info:     con 32     %38 = @load_const_ir3 (%29 (0x0)) (base=17)
MESA: info:     con 32     %39 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %175 = umul_low %174, %39 (0xa).xx
MESA: info:     con 32x2  %176 = imadsh_mix16 %39 (0xa).xx, %174, %175
MESA: info:     div 32x2  %177 = iadd %176, %24.xy
MESA: info:     con 32     %44 = load_const (0x00000006)
MESA: info:     div 32x2  %178 = ishl %177, %44 (0x6).xx
MESA: info:     div 32    %179 = mov %178.x
MESA: info:     div 32    %180 = mov %178.y
MESA: info:     div 32    %162 = umul_low %24.y, %39 (0xa)
MESA: info:     div 32    %164 = imadsh_mix16 %39 (0xa), %24.y, %162
MESA: info:     con 32     %50 = @load_const_ir3 (%29 (0x0)) (base=18)
MESA: info:     con 32    %159 = umul_low %174.y, %50
MESA: info:     con 32    %160 = imadsh_mix16 %174.y, %50, %159
MESA: info:     con 32    %161 = imadsh_mix16 %50, %174.y, %160
MESA: info:     con 32     %52 = iadd %161, %174.x
MESA: info:     con 32     %53 = load_const (0x00000064 = 100)
MESA: info:     con 32    %156 = umul_low %52, %53 (0x64)
MESA: info:     con 32    %158 = imadsh_mix16 %53 (0x64), %52, %156
MESA: info:     div 32    %155 = iadd3 %164, %24.x, %158
MESA: info:     con 32x4  %191 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %204 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %190 = phi b6: %191 (0x0, 0x0, 0x0, 0x0), b15: %192
MESA: info:         div 32x4  %203 = phi b6: %204 (0x0, 0x0, 0x0, 0x0), b15: %235
MESA: info:         div 32     %64 = phi b6: %29 (0x0), b15: %234
MESA: info:         div 32     %65 = phi b6: %180, b15: %125
MESA: info:         div 32x3  %212 = mov %190.yzw
MESA: info:         div 32    %184 = mov %190.x
MESA: info:         con 32     %66 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %207 = iadd %178.yx, %66 (0x40).xx
MESA: info:         div 32     %69 = umin %38, %207.x
MESA: info:         div 32     %70 = umin %36, %207.y
MESA: info:         div 1      %71 = uge %65, %69
MESA: info:                          // succs: b8 b9
MESA: info:         if %71 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %72 = phi b10: %179, b14: %123
MESA: info:             div 32     %73 = phi b10: %184, b14: %122
MESA: info:             div 32x3  %211 = phi b10: %212, b14: %227
MESA: info:             div 32x4  %220 = phi b10: %203, b14: %221
MESA: info:             div 32     %81 = phi b10: %64, b14: %147
MESA: info:             div 1      %82 = uge %72, %70
MESA: info:                              // succs: b12 b13
MESA: info:             if %82 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %83 = u2f32 %72
MESA: info:             div 32     %84 = u2f32 %65
MESA: info:             con 32     %86 = @load_const_ir3 (%29 (0x0)) (base=19)
MESA: info:             div 32     %87 = fmul %83, %86
MESA: info:             con 32     %89 = @load_const_ir3 (%29 (0x0)) (base=20)
MESA: info:             div 32     %90 = fmul %84, %89
MESA: info:             con 32x2   %94 = @load_const_ir3 (%29 (0x0)) (base=36)
MESA: info:             con 32     %95 = mov %94.y
MESA: info:             div 32     %96 = fmul %87, %34.x
MESA: info:             div 32     %97 = fmul %90, %34.y
MESA: info:             div 32     %98 = f2i32 %96
MESA: info:             div 32     %99 = f2i32 %97
MESA: info:             con 32    %100 = f2i32 %94.x
MESA: info:             div 32x3  %101 = vec3 %98, %99, %100
MESA: info:             con 32    %102 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %103 = (uint32)txf %102 (texture_handle), %101 (coord), %95 (lod), 0 (texture)
MESA: info:             div 32x3  %223 = umin %211, %103.xyz
MESA: info:             div 32    %108 = umin %220.x, %103.w
MESA: info:             div 32x3  %225 = umax %220.yzw, %103.xyz
MESA: info:             div 32    %112 = umax %81, %103.w
MESA: info:             div 32x3  %227 = icsel_eqz %73.xxx, %103.xyz, %223
MESA: info:             div 32    %151 = icsel_eqz %73, %103.w, %108
MESA: info:             div 32x3  %229 = icsel_eqz %73.xxx, %103.xyz, %225
MESA: info:             div 32    %147 = icsel_eqz %73, %103.w, %112
MESA: info:             con 32    %121 = load_const (0x00000001)
MESA: info:             div 32    %122 = iadd %73, %121 (0x1)
MESA: info:             div 32    %123 = iadd %72, %121 (0x1)
MESA: info:             div 32x4  %221 = vec4 %151, %229.x, %229.y, %229.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %237 = phi b12: %73
MESA: info:         div 32x3  %236 = phi b12: %211
MESA: info:         div 32x4  %235 = phi b12: %220
MESA: info:         div 32    %234 = phi b12: %81
MESA: info:         con 32    %124 = load_const (0x00000001)
MESA: info:         div 32    %125 = iadd %65, %124 (0x1)
MESA: info:         div 32x4  %192 = vec4 %237, %236.x, %236.y, %236.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %240 = phi b8: %190
MESA: info:     div 32x4  %239 = phi b8: %203
MESA: info:     div 32    %238 = phi b8: %64
MESA: info:     con 32     %32 = load_const (0x00000002)
MESA: info:     con 32x2  %230 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %231 = ishl %155.xx, %230 (0x5, 0x3)
MESA: info:     div 32    %232 = mov %231.x
MESA: info:     div 32    %233 = mov %231.y
MESA: info:     con 32    %128 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %129 = vec4 %240.y, %240.z, %240.w, %239.x
MESA: info:                      @store_ssbo_ir3 (%129, %128, %232, %233) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %130 = load_const (0x00000010 = 16)
MESA: info:     div 32    %131 = iadd %231.x, %130 (0x10)
MESA: info:     div 32x4  %132 = vec4 %239.y, %239.z, %239.w, %238
MESA: info:     div 32    %140 = ushr %131, %32 (0x2)
MESA: info:                      @store_ssbo_ir3 (%132, %128, %131, %140) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 8196077e974e19ceb331de88e5a9d3816e997d40:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l112
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l110
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: cov.f32s32 r5.x, c9.x
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: mul.f r4.w, (last)r4.w, c5.x
MESA: info: add.u r5.y, r1.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: mul.f r4.w, (last)r4.w, c10.y
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.3d.base2 (u32)(xyzw)r5.z, r4.z, r40.x, s#0, t#0
MESA: info: (sy)min.u r1.z, (last)r1.z, r5.z
MESA: info: min.u r1.w, (last)r1.w, r5.w
MESA: info: min.u r2.x, (last)r2.x, r6.x
MESA: info: min.u r2.y, (last)r2.y, r6.y
MESA: info: max.u r2.z, (last)r2.z, r5.z
MESA: info: max.u r2.w, (last)r2.w, r5.w
MESA: info: max.u r3.x, (last)r3.x, r6.x
MESA: info: max.u r3.y, (last)r3.y, r6.y
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.z
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.w
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r6.x
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.y
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.z
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.w
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r6.x
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.y
MESA: info: mov.u32u32 r1.y, (last)r5.y
MESA: info: jump #l74
MESA: info: l110:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l112:
MESA: info: (jp)shl.b r6.z, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.z, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 41/1: 123 instr, 28 nops, 95 non-nops, 12 mov, 5 cov, 256 dwords
MESA: info: ; CL prog 41/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 41/1: 33 cat0, 17 cat1, 57 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 3 cat7
MESA: info: ; CL prog 41/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 41/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x625e771e, 0x9097d588, 0x394d5c87, 0x33ac0999, 0x0ef4fdfe, 0x263775d0, 0x2b05806c, 0x11b85f5a}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %211 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %295 = f2u32 %211
MESA: info:             con 32    %296 = mov %295.x
MESA: info:             con 32    %297 = mov %295.y
MESA: info:                              @store_const_ir3 (%296) (base=16)
MESA: info:                              @store_const_ir3 (%297) (base=17)
MESA: info:             con 32     %10 = frcp %211.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %211.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %214 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %302 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %303 = iand %214.xxxx, %302 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %311 = ieq %303, %2 (0x0).xxxx
MESA: info:             con 32x4  %312 = b2i32 %311
MESA: info:             con 32    %313 = mov %312.w
MESA: info:             con 32    %310 = mov %312.z
MESA: info:             con 32    %306 = mov %312.x
MESA: info:             con 32    %307 = mov %312.y
MESA: info:                              @store_const_ir3 (%306) (base=20)
MESA: info:                              @store_const_ir3 (%307) (base=21)
MESA: info:                              @store_const_ir3 (%310) (base=22)
MESA: info:                              @store_const_ir3 (%313) (base=23)
MESA: info:             con 32    %217 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %28 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %29 = fadd %217, %28 (1.000000)
MESA: info:             con 32     %30 = f2u32 %29
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @store_const_ir3 (%30) (base=25)
MESA: info:                              @store_const_ir3 (%30) (base=26)
MESA: info:                              @store_const_ir3 (%30) (base=27)
MESA: info:             con 32x2  %229 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %294 = fsub %229.y, %229.x
MESA: info:             con 32     %46 = frcp %294
MESA: info:                              @store_const_ir3 (%46) (base=28)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %51 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%51)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %52 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %53 = load_const (0x00000002)
MESA: info:     con 32x2   %58 = @load_const_ir3 (%52 (0x0)) (base=40)
MESA: info:     con 32     %60 = @load_const_ir3 (%52 (0x0)) (base=16)
MESA: info:     con 32     %62 = @load_const_ir3 (%52 (0x0)) (base=17)
MESA: info:     con 32x3   %63 = @load_workgroup_id
MESA: info:     con 32x3   %64 = @load_base_workgroup_id
MESA: info:     con 32x2  %314 = iadd %63.xy, %64.xy
MESA: info:     con 32     %67 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %315 = umul_low %314, %67 (0xa).xx
MESA: info:     con 32x2  %316 = imadsh_mix16 %67 (0xa).xx, %314, %315
MESA: info:     div 32x3   %70 = @load_local_invocation_id
MESA: info:     div 32x2  %317 = iadd %316, %70.xy
MESA: info:     con 32     %73 = load_const (0x00000006)
MESA: info:     div 32x2  %318 = ishl %317, %73 (0x6).xx
MESA: info:     div 32    %319 = mov %318.x
MESA: info:     div 32    %320 = mov %318.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %76 = phi b6: %320, b30: %208
MESA: info:         con 32     %77 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %321 = iadd %318.yx, %77 (0x40).xx
MESA: info:         div 32     %80 = umin %62, %321.x
MESA: info:         div 32     %81 = umin %60, %321.y
MESA: info:         div 1      %82 = uge %76, %80
MESA: info:                          // succs: b8 b9
MESA: info:         if %82 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %83 = phi b10: %319, b29: %206
MESA: info:             div 1      %84 = uge %83, %81
MESA: info:                              // succs: b12 b13
MESA: info:             if %84 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %85 = u2f32 %83
MESA: info:             div 32     %86 = u2f32 %76
MESA: info:             con 32     %88 = @load_const_ir3 (%52 (0x0)) (base=18)
MESA: info:             div 32     %89 = fmul %85, %88
MESA: info:             con 32     %91 = @load_const_ir3 (%52 (0x0)) (base=19)
MESA: info:             div 32     %92 = fmul %86, %91
MESA: info:             con 32x2   %97 = @load_const_ir3 (%52 (0x0)) (base=36)
MESA: info:             con 32     %98 = mov %97.y
MESA: info:             div 32     %99 = fmul %89, %58.x
MESA: info:             div 32    %100 = fmul %92, %58.y
MESA: info:             div 32    %101 = f2i32 %99
MESA: info:             div 32    %102 = f2i32 %100
MESA: info:             con 32    %103 = f2i32 %97.x
MESA: info:             div 32x3  %104 = vec3 %101, %102, %103
MESA: info:             con 32    %105 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %106 = (uint32)txf %105 (texture_handle), %104 (coord), %98 (lod), 0 (texture)
MESA: info:             con 32    %109 = @load_const_ir3 (%52 (0x0)) (base=32)
MESA: info:             con 32    %112 = @load_const_ir3 (%52 (0x0)) (base=20)
MESA: info:             con 32    %116 = @load_const_ir3 (%52 (0x0)) (base=21)
MESA: info:             con 32    %120 = @load_const_ir3 (%52 (0x0)) (base=22)
MESA: info:             con 32    %124 = @load_const_ir3 (%52 (0x0)) (base=23)
MESA: info:             con 32    %131 = @load_const_ir3 (%52 (0x0)) (base=24)
MESA: info:             div 32    %272 = icsel_eqz %112, %106.x, %131
MESA: info:             con 32    %135 = @load_const_ir3 (%52 (0x0)) (base=25)
MESA: info:             div 32    %271 = icsel_eqz %116, %106.y, %135
MESA: info:             con 32    %138 = @load_const_ir3 (%52 (0x0)) (base=26)
MESA: info:             div 32    %270 = icsel_eqz %120, %106.z, %138
MESA: info:             con 32    %141 = @load_const_ir3 (%52 (0x0)) (base=27)
MESA: info:             div 32    %269 = icsel_eqz %124, %106.w, %141
MESA: info:             con 1     %143 = ine %109, %52 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %143 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %144 = u2f32 %272
MESA: info:                 div 32    %145 = u2f32 %271
MESA: info:                 div 32    %146 = u2f32 %270
MESA: info:                 div 32    %147 = u2f32 %269
MESA: info:                 con 32x2  %150 = @load_const_ir3 (%52 (0x0)) (base=33)
MESA: info:                 div 32    %293 = fsub %144, %150.x
MESA: info:                 div 32    %292 = fsub %145, %150.x
MESA: info:                 div 32    %291 = fsub %146, %150.x
MESA: info:                 div 32    %290 = fsub %147, %150.x
MESA: info:                 con 32    %157 = @load_const_ir3 (%52 (0x0)) (base=28)
MESA: info:                 div 32    %158 = fmul %293, %157
MESA: info:                 div 32    %159 = fmul %292, %157
MESA: info:                 div 32    %160 = fmul %291, %157
MESA: info:                 div 32    %161 = fmul %290, %157
MESA: info:                 div 1     %162 = flt! %158, %52 (0.000000)
MESA: info:                 div 1     %163 = flt! %159, %52 (0.000000)
MESA: info:                 div 1     %164 = flt! %160, %52 (0.000000)
MESA: info:                 div 1     %165 = flt! %161, %52 (0.000000)
MESA: info:                 con 32    %166 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %167 = fmul %158, %166 (256.000000)
MESA: info:                 con 32    %168 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %169 = bcsel %162, %168 (0x44000000), %167
MESA: info:                 div 32    %170 = fmul %159, %166 (256.000000)
MESA: info:                 div 32    %171 = bcsel %163, %168 (0x44000000), %170
MESA: info:                 div 32    %172 = fmul %160, %166 (256.000000)
MESA: info:                 div 32    %173 = bcsel %164, %168 (0x44000000), %172
MESA: info:                 div 32    %174 = fmul %161, %166 (256.000000)
MESA: info:                 div 32    %175 = bcsel %165, %168 (0x44000000), %174
MESA: info:                 div 32    %176 = ffloor %169
MESA: info:                 div 32    %177 = ffloor %171
MESA: info:                 div 32    %178 = ffloor %173
MESA: info:                 div 32    %179 = ffloor %175
MESA: info:                 div 32    %180 = f2u32 %176
MESA: info:                 div 32    %181 = f2u32 %177
MESA: info:                 div 32    %182 = f2u32 %178
MESA: info:                 div 32    %183 = f2u32 %179
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %184 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %185 = phi b15: %183, b16: %184 (0x101)
MESA: info:             div 32    %186 = phi b15: %182, b16: %184 (0x101)
MESA: info:             div 32    %187 = phi b15: %181, b16: %184 (0x101)
MESA: info:             div 32    %188 = phi b15: %180, b16: %184 (0x101)
MESA: info:             con 32    %110 = load_const (0x00000001)
MESA: info:             con 32    %189 = load_const (0x00000100 = 256)
MESA: info:             div 1     %190 = ult %188, %189 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %190 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %191 = ishl %188, %53 (0x2)
MESA: info:                 con 32    %192 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %233 = @ssbo_atomic_ir3 (%192, %191, %110 (0x1), %188) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %194 = ult %187, %189 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %194 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %195 = ishl %187, %53 (0x2)
MESA: info:                 con 32    %196 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %237 = @ssbo_atomic_ir3 (%196, %195, %110 (0x1), %187) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %198 = ult %186, %189 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %198 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %199 = ishl %186, %53 (0x2)
MESA: info:                 con 32    %200 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %241 = @ssbo_atomic_ir3 (%200, %199, %110 (0x1), %186) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %202 = ult %185, %189 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %202 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %203 = ishl %185, %53 (0x2)
MESA: info:                 con 32    %204 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %245 = @ssbo_atomic_ir3 (%204, %203, %110 (0x1), %185) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %206 = iadd %83, %110 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %207 = load_const (0x00000001)
MESA: info:         div 32    %208 = iadd %76, %207 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 5431fbdc4a0b906f1ff04a0d3f2ce0100469d013:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l43
MESA: info: getone #l43
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: cov.f32u32 r50.z, r49.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: and.b r50.w, r49.y, 1
MESA: info: and.b r51.y, r49.y, 2
MESA: info: and.b r51.w, r49.y, 4
MESA: info: and.b r52.x, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.z, r50.w, 0
MESA: info: cmps.s.eq hr54.z, r51.y, 0
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: cov.u16s32 r51.z, hr54.z
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[17], r50.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: stc.u32 c[27], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.w, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[28], r50.x, 1
MESA: info: stc.u32 c[20], r51.x, 1
MESA: info: stc.u32 c[21], r51.z, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l43:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l61:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l171
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l69:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l169
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: cov.f32s32 r2.z, c9.x
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mul.f r2.y, (last)r2.y, c4.w
MESA: info: mov.f32f32 r2.w, c5.x
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: mov.f32f32 r3.x, c5.y
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: mov.f32f32 r3.y, c5.z
MESA: info: mov.f32f32 r3.z, c5.w
MESA: info: (nop2) cmps.s.ne p0.y, c8.x, 0
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.3d.base2 (u32)(xyzw)r3.w, r2.x, r40.x, s#0, t#0
MESA: info: (sy)sel.b32 r2.w, c6.x, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, c6.y, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, c6.z, r3.y, (last)r4.y
MESA: info: sel.b32 r3.z, c6.w, r3.z, (last)r4.z
MESA: info: br !p0.y, #l127
MESA: info: cov.u32f32 r2.w, (last)r2.w
MESA: info: cov.u32f32 r3.x, (last)r3.x
MESA: info: cov.u32f32 r3.y, (last)r3.y
MESA: info: cov.u32f32 r3.z, (last)r3.z
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: add.f r3.z, (last)r3.z, (neg)c8.y
MESA: info: mul.f r2.w, (last)r2.w, c7.x
MESA: info: mul.f r3.x, (last)r3.x, c7.x
MESA: info: mul.f r3.y, (last)r3.y, c7.x
MESA: info: mul.f r3.z, (last)r3.z, c7.x
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: cmps.f.lt r5.z, r3.z, (0.0)
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: mul.f r3.z, (last)r3.z, c12.y
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: sel.b32 r5.z, c12.x, r5.z, (last)r3.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: floor.f r5.z, (last)r5.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: cov.f32u32 r5.z, (last)r5.z
MESA: info: jump #l131
MESA: info: l127:
MESA: info: mov.u32u32 r5.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r5.y, 257
MESA: info: l131:
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r6.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.w, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.y, 0
MESA: info: mov.u32u32 r6.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.y, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.w, 0
MESA: info: mov.u32u32 r7.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.w, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.y, 0
MESA: info: mov.u32u32 r7.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.y, r5.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l69
MESA: info: l169:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l61
MESA: info: l171:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 42/1: 202 instr, 86 nops, 116 non-nops, 19 mov, 13 cov, 356 dwords
MESA: info: ; CL prog 42/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 42/1: 101 cat0, 32 cat1, 53 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 3 cat7
MESA: info: ; CL prog 42/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 42/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 45 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x7cb10200, 0xa5a7b301, 0x797e7e76, 0x0da62428, 0x3872c853, 0x4cbacec3, 0xf310f780, 0xb90c7d70}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %141 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %135 = @load_ubo_vec4 (%4, %141 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %171 = f2u32 %135
MESA: info:             con 32    %172 = mov %171.x
MESA: info:             con 32    %173 = mov %171.y
MESA: info:                              @store_const_ir3 (%172) (base=16)
MESA: info:                              @store_const_ir3 (%173) (base=17)
MESA: info:             con 32      %8 = u2f32 %171.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %135.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %135.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%19)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%21)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %24 = @load_local_invocation_id
MESA: info:     con 32x3   %25 = @load_workgroup_id
MESA: info:     con 32x3   %26 = @load_base_workgroup_id
MESA: info:     con 32x2  %174 = iadd %25.xy, %26.xy
MESA: info:     con 32     %29 = load_const (0x00000000)
MESA: info:     con 32x2   %34 = @load_const_ir3 (%29 (0x0)) (base=40)
MESA: info:     con 32     %36 = @load_const_ir3 (%29 (0x0)) (base=16)
MESA: info:     con 32     %38 = @load_const_ir3 (%29 (0x0)) (base=17)
MESA: info:     con 32     %39 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %175 = umul_low %174, %39 (0xa).xx
MESA: info:     con 32x2  %176 = imadsh_mix16 %39 (0xa).xx, %174, %175
MESA: info:     div 32x2  %177 = iadd %176, %24.xy
MESA: info:     con 32     %44 = load_const (0x00000006)
MESA: info:     div 32x2  %178 = ishl %177, %44 (0x6).xx
MESA: info:     div 32    %179 = mov %178.x
MESA: info:     div 32    %180 = mov %178.y
MESA: info:     div 32    %162 = umul_low %24.y, %39 (0xa)
MESA: info:     div 32    %164 = imadsh_mix16 %39 (0xa), %24.y, %162
MESA: info:     con 32     %50 = @load_const_ir3 (%29 (0x0)) (base=18)
MESA: info:     con 32    %159 = umul_low %174.y, %50
MESA: info:     con 32    %160 = imadsh_mix16 %174.y, %50, %159
MESA: info:     con 32    %161 = imadsh_mix16 %50, %174.y, %160
MESA: info:     con 32     %52 = iadd %161, %174.x
MESA: info:     con 32     %53 = load_const (0x00000064 = 100)
MESA: info:     con 32    %156 = umul_low %52, %53 (0x64)
MESA: info:     con 32    %158 = imadsh_mix16 %53 (0x64), %52, %156
MESA: info:     div 32    %155 = iadd3 %164, %24.x, %158
MESA: info:     con 32x4  %191 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %204 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %190 = phi b6: %191 (0x0, 0x0, 0x0, 0x0), b15: %192
MESA: info:         div 32x4  %203 = phi b6: %204 (0x0, 0x0, 0x0, 0x0), b15: %235
MESA: info:         div 32     %64 = phi b6: %29 (0x0), b15: %234
MESA: info:         div 32     %65 = phi b6: %180, b15: %125
MESA: info:         div 32x3  %212 = mov %190.yzw
MESA: info:         div 32    %184 = mov %190.x
MESA: info:         con 32     %66 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %207 = iadd %178.yx, %66 (0x40).xx
MESA: info:         div 32     %69 = umin %38, %207.x
MESA: info:         div 32     %70 = umin %36, %207.y
MESA: info:         div 1      %71 = uge %65, %69
MESA: info:                          // succs: b8 b9
MESA: info:         if %71 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %72 = phi b10: %179, b14: %123
MESA: info:             div 32     %73 = phi b10: %184, b14: %122
MESA: info:             div 32x3  %211 = phi b10: %212, b14: %227
MESA: info:             div 32x4  %220 = phi b10: %203, b14: %221
MESA: info:             div 32     %81 = phi b10: %64, b14: %147
MESA: info:             div 1      %82 = uge %72, %70
MESA: info:                              // succs: b12 b13
MESA: info:             if %82 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %83 = u2f32 %72
MESA: info:             div 32     %84 = u2f32 %65
MESA: info:             con 32     %86 = @load_const_ir3 (%29 (0x0)) (base=19)
MESA: info:             div 32     %87 = fmul %83, %86
MESA: info:             con 32     %89 = @load_const_ir3 (%29 (0x0)) (base=20)
MESA: info:             div 32     %90 = fmul %84, %89
MESA: info:             con 32x2   %94 = @load_const_ir3 (%29 (0x0)) (base=36)
MESA: info:             con 32     %95 = mov %94.y
MESA: info:             div 32     %96 = fmul %87, %34.x
MESA: info:             div 32     %97 = fmul %90, %34.y
MESA: info:             div 32     %98 = f2i32 %96
MESA: info:             div 32     %99 = f2i32 %97
MESA: info:             con 32    %100 = f2i32 %94.x
MESA: info:             div 32x3  %101 = vec3 %98, %99, %100
MESA: info:             con 32    %102 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %103 = (int32)txf %102 (texture_handle), %101 (coord), %95 (lod), 0 (texture)
MESA: info:             div 32x3  %223 = imin %211, %103.xyz
MESA: info:             div 32    %108 = imin %220.x, %103.w
MESA: info:             div 32x3  %225 = imax %220.yzw, %103.xyz
MESA: info:             div 32    %112 = imax %81, %103.w
MESA: info:             div 32x3  %227 = icsel_eqz %73.xxx, %103.xyz, %223
MESA: info:             div 32    %151 = icsel_eqz %73, %103.w, %108
MESA: info:             div 32x3  %229 = icsel_eqz %73.xxx, %103.xyz, %225
MESA: info:             div 32    %147 = icsel_eqz %73, %103.w, %112
MESA: info:             con 32    %121 = load_const (0x00000001)
MESA: info:             div 32    %122 = iadd %73, %121 (0x1)
MESA: info:             div 32    %123 = iadd %72, %121 (0x1)
MESA: info:             div 32x4  %221 = vec4 %151, %229.x, %229.y, %229.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %237 = phi b12: %73
MESA: info:         div 32x3  %236 = phi b12: %211
MESA: info:         div 32x4  %235 = phi b12: %220
MESA: info:         div 32    %234 = phi b12: %81
MESA: info:         con 32    %124 = load_const (0x00000001)
MESA: info:         div 32    %125 = iadd %65, %124 (0x1)
MESA: info:         div 32x4  %192 = vec4 %237, %236.x, %236.y, %236.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %240 = phi b8: %190
MESA: info:     div 32x4  %239 = phi b8: %203
MESA: info:     div 32    %238 = phi b8: %64
MESA: info:     con 32     %32 = load_const (0x00000002)
MESA: info:     con 32x2  %230 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %231 = ishl %155.xx, %230 (0x5, 0x3)
MESA: info:     div 32    %232 = mov %231.x
MESA: info:     div 32    %233 = mov %231.y
MESA: info:     con 32    %128 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %129 = vec4 %240.y, %240.z, %240.w, %239.x
MESA: info:                      @store_ssbo_ir3 (%129, %128, %232, %233) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %130 = load_const (0x00000010 = 16)
MESA: info:     div 32    %131 = iadd %231.x, %130 (0x10)
MESA: info:     div 32x4  %132 = vec4 %239.y, %239.z, %239.w, %238
MESA: info:     div 32    %140 = ushr %131, %32 (0x2)
MESA: info:                      @store_ssbo_ir3 (%132, %128, %131, %140) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 2c72ae7963faa800c840f543e116edb1e075a8aa:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l112
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l110
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: cov.f32s32 r5.x, c9.x
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: mul.f r4.w, (last)r4.w, c5.x
MESA: info: add.u r5.y, r1.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: mul.f r4.w, (last)r4.w, c10.y
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.3d.base2 (s32)(xyzw)r5.z, r4.z, r40.x, s#0, t#0
MESA: info: (sy)min.s r1.z, (last)r1.z, r5.z
MESA: info: min.s r1.w, (last)r1.w, r5.w
MESA: info: min.s r2.x, (last)r2.x, r6.x
MESA: info: min.s r2.y, (last)r2.y, r6.y
MESA: info: max.s r2.z, (last)r2.z, r5.z
MESA: info: max.s r2.w, (last)r2.w, r5.w
MESA: info: max.s r3.x, (last)r3.x, r6.x
MESA: info: max.s r3.y, (last)r3.y, r6.y
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.z
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.w
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r6.x
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.y
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.z
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.w
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r6.x
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.y
MESA: info: mov.u32u32 r1.y, (last)r5.y
MESA: info: jump #l74
MESA: info: l110:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l112:
MESA: info: (jp)shl.b r6.z, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.z, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 43/1: 123 instr, 28 nops, 95 non-nops, 12 mov, 5 cov, 256 dwords
MESA: info: ; CL prog 43/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 43/1: 33 cat0, 17 cat1, 57 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 3 cat7
MESA: info: ; CL prog 43/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 43/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x1e3b8493, 0xe3f048f2, 0xbb8edf5c, 0x97e063c8, 0xe87a5791, 0x8e809a98, 0x5f075354, 0x30ea2707}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %211 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %295 = f2u32 %211
MESA: info:             con 32    %296 = mov %295.x
MESA: info:             con 32    %297 = mov %295.y
MESA: info:                              @store_const_ir3 (%296) (base=16)
MESA: info:                              @store_const_ir3 (%297) (base=17)
MESA: info:             con 32     %10 = frcp %211.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %211.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %214 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %302 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %303 = iand %214.xxxx, %302 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %311 = ieq %303, %2 (0x0).xxxx
MESA: info:             con 32x4  %312 = b2i32 %311
MESA: info:             con 32    %313 = mov %312.w
MESA: info:             con 32    %310 = mov %312.z
MESA: info:             con 32    %306 = mov %312.x
MESA: info:             con 32    %307 = mov %312.y
MESA: info:                              @store_const_ir3 (%306) (base=20)
MESA: info:                              @store_const_ir3 (%307) (base=21)
MESA: info:                              @store_const_ir3 (%310) (base=22)
MESA: info:                              @store_const_ir3 (%313) (base=23)
MESA: info:             con 32    %217 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %28 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %29 = fadd %217, %28 (1.000000)
MESA: info:             con 32     %30 = f2i32 %29
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @store_const_ir3 (%30) (base=25)
MESA: info:                              @store_const_ir3 (%30) (base=26)
MESA: info:                              @store_const_ir3 (%30) (base=27)
MESA: info:             con 32x2  %229 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %294 = fsub %229.y, %229.x
MESA: info:             con 32     %46 = frcp %294
MESA: info:                              @store_const_ir3 (%46) (base=28)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %51 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%51)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %52 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %53 = load_const (0x00000002)
MESA: info:     con 32x2   %58 = @load_const_ir3 (%52 (0x0)) (base=40)
MESA: info:     con 32     %60 = @load_const_ir3 (%52 (0x0)) (base=16)
MESA: info:     con 32     %62 = @load_const_ir3 (%52 (0x0)) (base=17)
MESA: info:     con 32x3   %63 = @load_workgroup_id
MESA: info:     con 32x3   %64 = @load_base_workgroup_id
MESA: info:     con 32x2  %314 = iadd %63.xy, %64.xy
MESA: info:     con 32     %67 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %315 = umul_low %314, %67 (0xa).xx
MESA: info:     con 32x2  %316 = imadsh_mix16 %67 (0xa).xx, %314, %315
MESA: info:     div 32x3   %70 = @load_local_invocation_id
MESA: info:     div 32x2  %317 = iadd %316, %70.xy
MESA: info:     con 32     %73 = load_const (0x00000006)
MESA: info:     div 32x2  %318 = ishl %317, %73 (0x6).xx
MESA: info:     div 32    %319 = mov %318.x
MESA: info:     div 32    %320 = mov %318.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %76 = phi b6: %320, b30: %208
MESA: info:         con 32     %77 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %321 = iadd %318.yx, %77 (0x40).xx
MESA: info:         div 32     %80 = umin %62, %321.x
MESA: info:         div 32     %81 = umin %60, %321.y
MESA: info:         div 1      %82 = uge %76, %80
MESA: info:                          // succs: b8 b9
MESA: info:         if %82 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %83 = phi b10: %319, b29: %206
MESA: info:             div 1      %84 = uge %83, %81
MESA: info:                              // succs: b12 b13
MESA: info:             if %84 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %85 = u2f32 %83
MESA: info:             div 32     %86 = u2f32 %76
MESA: info:             con 32     %88 = @load_const_ir3 (%52 (0x0)) (base=18)
MESA: info:             div 32     %89 = fmul %85, %88
MESA: info:             con 32     %91 = @load_const_ir3 (%52 (0x0)) (base=19)
MESA: info:             div 32     %92 = fmul %86, %91
MESA: info:             con 32x2   %97 = @load_const_ir3 (%52 (0x0)) (base=36)
MESA: info:             con 32     %98 = mov %97.y
MESA: info:             div 32     %99 = fmul %89, %58.x
MESA: info:             div 32    %100 = fmul %92, %58.y
MESA: info:             div 32    %101 = f2i32 %99
MESA: info:             div 32    %102 = f2i32 %100
MESA: info:             con 32    %103 = f2i32 %97.x
MESA: info:             div 32x3  %104 = vec3 %101, %102, %103
MESA: info:             con 32    %105 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %106 = (int32)txf %105 (texture_handle), %104 (coord), %98 (lod), 0 (texture)
MESA: info:             con 32    %109 = @load_const_ir3 (%52 (0x0)) (base=32)
MESA: info:             con 32    %112 = @load_const_ir3 (%52 (0x0)) (base=20)
MESA: info:             con 32    %116 = @load_const_ir3 (%52 (0x0)) (base=21)
MESA: info:             con 32    %120 = @load_const_ir3 (%52 (0x0)) (base=22)
MESA: info:             con 32    %124 = @load_const_ir3 (%52 (0x0)) (base=23)
MESA: info:             con 32    %131 = @load_const_ir3 (%52 (0x0)) (base=24)
MESA: info:             div 32    %272 = icsel_eqz %112, %106.x, %131
MESA: info:             con 32    %135 = @load_const_ir3 (%52 (0x0)) (base=25)
MESA: info:             div 32    %271 = icsel_eqz %116, %106.y, %135
MESA: info:             con 32    %138 = @load_const_ir3 (%52 (0x0)) (base=26)
MESA: info:             div 32    %270 = icsel_eqz %120, %106.z, %138
MESA: info:             con 32    %141 = @load_const_ir3 (%52 (0x0)) (base=27)
MESA: info:             div 32    %269 = icsel_eqz %124, %106.w, %141
MESA: info:             con 1     %143 = ine %109, %52 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %143 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %144 = i2f32 %272
MESA: info:                 div 32    %145 = i2f32 %271
MESA: info:                 div 32    %146 = i2f32 %270
MESA: info:                 div 32    %147 = i2f32 %269
MESA: info:                 con 32x2  %150 = @load_const_ir3 (%52 (0x0)) (base=33)
MESA: info:                 div 32    %293 = fsub %144, %150.x
MESA: info:                 div 32    %292 = fsub %145, %150.x
MESA: info:                 div 32    %291 = fsub %146, %150.x
MESA: info:                 div 32    %290 = fsub %147, %150.x
MESA: info:                 con 32    %157 = @load_const_ir3 (%52 (0x0)) (base=28)
MESA: info:                 div 32    %158 = fmul %293, %157
MESA: info:                 div 32    %159 = fmul %292, %157
MESA: info:                 div 32    %160 = fmul %291, %157
MESA: info:                 div 32    %161 = fmul %290, %157
MESA: info:                 div 1     %162 = flt! %158, %52 (0.000000)
MESA: info:                 div 1     %163 = flt! %159, %52 (0.000000)
MESA: info:                 div 1     %164 = flt! %160, %52 (0.000000)
MESA: info:                 div 1     %165 = flt! %161, %52 (0.000000)
MESA: info:                 con 32    %166 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %167 = fmul %158, %166 (256.000000)
MESA: info:                 con 32    %168 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %169 = bcsel %162, %168 (0x44000000), %167
MESA: info:                 div 32    %170 = fmul %159, %166 (256.000000)
MESA: info:                 div 32    %171 = bcsel %163, %168 (0x44000000), %170
MESA: info:                 div 32    %172 = fmul %160, %166 (256.000000)
MESA: info:                 div 32    %173 = bcsel %164, %168 (0x44000000), %172
MESA: info:                 div 32    %174 = fmul %161, %166 (256.000000)
MESA: info:                 div 32    %175 = bcsel %165, %168 (0x44000000), %174
MESA: info:                 div 32    %176 = ffloor %169
MESA: info:                 div 32    %177 = ffloor %171
MESA: info:                 div 32    %178 = ffloor %173
MESA: info:                 div 32    %179 = ffloor %175
MESA: info:                 div 32    %180 = f2u32 %176
MESA: info:                 div 32    %181 = f2u32 %177
MESA: info:                 div 32    %182 = f2u32 %178
MESA: info:                 div 32    %183 = f2u32 %179
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %184 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %185 = phi b15: %183, b16: %184 (0x101)
MESA: info:             div 32    %186 = phi b15: %182, b16: %184 (0x101)
MESA: info:             div 32    %187 = phi b15: %181, b16: %184 (0x101)
MESA: info:             div 32    %188 = phi b15: %180, b16: %184 (0x101)
MESA: info:             con 32    %110 = load_const (0x00000001)
MESA: info:             con 32    %189 = load_const (0x00000100 = 256)
MESA: info:             div 1     %190 = ult %188, %189 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %190 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %191 = ishl %188, %53 (0x2)
MESA: info:                 con 32    %192 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %233 = @ssbo_atomic_ir3 (%192, %191, %110 (0x1), %188) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %194 = ult %187, %189 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %194 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %195 = ishl %187, %53 (0x2)
MESA: info:                 con 32    %196 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %237 = @ssbo_atomic_ir3 (%196, %195, %110 (0x1), %187) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %198 = ult %186, %189 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %198 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %199 = ishl %186, %53 (0x2)
MESA: info:                 con 32    %200 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %241 = @ssbo_atomic_ir3 (%200, %199, %110 (0x1), %186) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %202 = ult %185, %189 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %202 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %203 = ishl %185, %53 (0x2)
MESA: info:                 con 32    %204 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %245 = @ssbo_atomic_ir3 (%204, %203, %110 (0x1), %185) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %206 = iadd %83, %110 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %207 = load_const (0x00000001)
MESA: info:         div 32    %208 = iadd %76, %207 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 a48e720a3ded3f8a0ed563878f363d449a46fe7f:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l43
MESA: info: getone #l43
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: cov.f32u32 r50.z, r49.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: and.b r50.w, r49.y, 1
MESA: info: and.b r51.y, r49.y, 2
MESA: info: and.b r51.w, r49.y, 4
MESA: info: and.b r52.x, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32s32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.z, r50.w, 0
MESA: info: cmps.s.eq hr54.z, r51.y, 0
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: cov.u16s32 r51.z, hr54.z
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[17], r50.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: stc.u32 c[27], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.w, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[28], r50.x, 1
MESA: info: stc.u32 c[20], r51.x, 1
MESA: info: stc.u32 c[21], r51.z, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l43:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l61:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l171
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l69:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l169
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: cov.f32s32 r2.z, c9.x
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mul.f r2.y, (last)r2.y, c4.w
MESA: info: mov.f32f32 r2.w, c5.x
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: mov.f32f32 r3.x, c5.y
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: mov.f32f32 r3.y, c5.z
MESA: info: mov.f32f32 r3.z, c5.w
MESA: info: (nop2) cmps.s.ne p0.y, c8.x, 0
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.3d.base2 (s32)(xyzw)r3.w, r2.x, r40.x, s#0, t#0
MESA: info: (sy)sel.b32 r2.w, c6.x, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, c6.y, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, c6.z, r3.y, (last)r4.y
MESA: info: sel.b32 r3.z, c6.w, r3.z, (last)r4.z
MESA: info: br !p0.y, #l127
MESA: info: cov.s32f32 r2.w, (last)r2.w
MESA: info: cov.s32f32 r3.x, (last)r3.x
MESA: info: cov.s32f32 r3.y, (last)r3.y
MESA: info: cov.s32f32 r3.z, (last)r3.z
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: add.f r3.z, (last)r3.z, (neg)c8.y
MESA: info: mul.f r2.w, (last)r2.w, c7.x
MESA: info: mul.f r3.x, (last)r3.x, c7.x
MESA: info: mul.f r3.y, (last)r3.y, c7.x
MESA: info: mul.f r3.z, (last)r3.z, c7.x
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: cmps.f.lt r5.z, r3.z, (0.0)
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: mul.f r3.z, (last)r3.z, c12.y
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: sel.b32 r5.z, c12.x, r5.z, (last)r3.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: floor.f r5.z, (last)r5.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: cov.f32u32 r5.z, (last)r5.z
MESA: info: jump #l131
MESA: info: l127:
MESA: info: mov.u32u32 r5.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r5.y, 257
MESA: info: l131:
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r6.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.w, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.y, 0
MESA: info: mov.u32u32 r6.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.y, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.w, 0
MESA: info: mov.u32u32 r7.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.w, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.y, 0
MESA: info: mov.u32u32 r7.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.y, r5.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l69
MESA: info: l169:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l61
MESA: info: l171:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 44/1: 202 instr, 86 nops, 116 non-nops, 19 mov, 13 cov, 356 dwords
MESA: info: ; CL prog 44/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 44/1: 101 cat0, 32 cat1, 53 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 3 cat7
MESA: info: ; CL prog 44/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 44/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 45 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x33eb8fa2, 0xc694197c, 0x3f99894f, 0x254b384b, 0xe62478cd, 0xb1797392, 0xff7573b6, 0xb0c3de77}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %132 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %126 = @load_ubo_vec4 (%4, %132 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %160 = f2u32 %126
MESA: info:             con 32    %161 = mov %160.x
MESA: info:             con 32    %162 = mov %160.y
MESA: info:                              @store_const_ir3 (%161) (base=16)
MESA: info:                              @store_const_ir3 (%162) (base=17)
MESA: info:             con 32      %8 = u2f32 %160.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %126.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %18 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %19 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %20 = @bindless_resource_ir3 (%19 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%18, %20)
MESA: info:             con 32     %22 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%22)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %25 = @load_local_invocation_id
MESA: info:     con 32x3   %26 = @load_workgroup_id
MESA: info:     con 32x3   %27 = @load_base_workgroup_id
MESA: info:     con 32x2  %163 = iadd %26.xy, %27.xy
MESA: info:     con 32     %30 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %33 = @load_const_ir3 (%30 (0x0)) (base=16)
MESA: info:     con 32     %35 = @load_const_ir3 (%30 (0x0)) (base=17)
MESA: info:     con 32     %36 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %164 = umul_low %163, %36 (0xa).xx
MESA: info:     con 32x2  %165 = imadsh_mix16 %36 (0xa).xx, %163, %164
MESA: info:     div 32x2  %166 = iadd %165, %25.xy
MESA: info:     con 32     %41 = load_const (0x00000006)
MESA: info:     div 32x2  %167 = ishl %166, %41 (0x6).xx
MESA: info:     div 32    %168 = mov %167.x
MESA: info:     div 32    %169 = mov %167.y
MESA: info:     div 32    %151 = umul_low %25.y, %36 (0xa)
MESA: info:     div 32    %153 = imadsh_mix16 %36 (0xa), %25.y, %151
MESA: info:     con 32     %47 = @load_const_ir3 (%30 (0x0)) (base=18)
MESA: info:     con 32    %148 = umul_low %163.y, %47
MESA: info:     con 32    %149 = imadsh_mix16 %163.y, %47, %148
MESA: info:     con 32    %150 = imadsh_mix16 %47, %163.y, %149
MESA: info:     con 32     %49 = iadd %150, %163.x
MESA: info:     con 32     %50 = load_const (0x00000064 = 100)
MESA: info:     con 32    %145 = umul_low %49, %50 (0x64)
MESA: info:     con 32    %147 = imadsh_mix16 %50 (0x64), %49, %145
MESA: info:     div 32    %144 = iadd3 %153, %25.x, %147
MESA: info:     con 32x4  %180 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:     con 32x4  %193 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %179 = phi b6: %180 (0x0, 0x0, 0x0, 0x0), b15: %181
MESA: info:         div 32x4  %192 = phi b6: %193 (0x0, 0x0, 0x0, 0x0), b15: %224
MESA: info:         div 32     %61 = phi b6: %30 (0x0), b15: %223
MESA: info:         div 32     %62 = phi b6: %169, b15: %116
MESA: info:         div 32x3  %201 = mov %179.yzw
MESA: info:         div 32    %173 = mov %179.x
MESA: info:         con 32     %63 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %196 = iadd %167.yx, %63 (0x40).xx
MESA: info:         div 32     %66 = umin %35, %196.x
MESA: info:         div 32     %67 = umin %33, %196.y
MESA: info:         div 1      %68 = uge %62, %66
MESA: info:                          // succs: b8 b9
MESA: info:         if %68 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %69 = phi b10: %168, b14: %114
MESA: info:             div 32     %70 = phi b10: %173, b14: %113
MESA: info:             div 32x3  %200 = phi b10: %201, b14: %216
MESA: info:             div 32x4  %209 = phi b10: %192, b14: %210
MESA: info:             div 32     %78 = phi b10: %61, b14: %136
MESA: info:             div 1      %79 = uge %69, %67
MESA: info:                              // succs: b12 b13
MESA: info:             if %79 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %80 = u2f32 %69
MESA: info:             con 32     %82 = @load_const_ir3 (%30 (0x0)) (base=19)
MESA: info:             div 32     %83 = fmul %80, %82
MESA: info:             con 32x2   %87 = @load_const_ir3 (%30 (0x0)) (base=36)
MESA: info:             con 32     %88 = i2f32 %87.y
MESA: info:             con 32     %89 = load_const (0x00000001)
MESA: info:             con 32     %90 = @bindless_resource_ir3 (%89 (0x1)) (desc_set=2)
MESA: info:             con 32     %91 = @bindless_resource_ir3 (%30 (0x0)) (desc_set=2)
MESA: info:             con 32     %92 = load_const (0x3f000000 = 0.500000)
MESA: info:             con 32     %93 = fadd %87.x, %92 (0.500000)
MESA: info:             div 32x2   %94 = vec2 %83, %93
MESA: info:             div 32x4   %95 = (float32)txl %91 (texture_handle), %90 (sampler_handle), %94 (coord), %88 (lod), 0 (texture), 0 (sampler)
MESA: info:             div 32x3  %212 = fmin %200, %95.xyz
MESA: info:             div 32    %100 = fmin %209.x, %95.w
MESA: info:             div 32x3  %214 = fmax %209.yzw, %95.xyz
MESA: info:             div 32    %104 = fmax %78, %95.w
MESA: info:             div 32x3  %216 = icsel_eqz %70.xxx, %95.xyz, %212
MESA: info:             div 32    %140 = icsel_eqz %70, %95.w, %100
MESA: info:             div 32x3  %218 = icsel_eqz %70.xxx, %95.xyz, %214
MESA: info:             div 32    %136 = icsel_eqz %70, %95.w, %104
MESA: info:             div 32    %113 = iadd %70, %89 (0x1)
MESA: info:             div 32    %114 = iadd %69, %89 (0x1)
MESA: info:             div 32x4  %210 = vec4 %140, %218.x, %218.y, %218.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %226 = phi b12: %70
MESA: info:         div 32x3  %225 = phi b12: %200
MESA: info:         div 32x4  %224 = phi b12: %209
MESA: info:         div 32    %223 = phi b12: %78
MESA: info:         con 32    %115 = load_const (0x00000001)
MESA: info:         div 32    %116 = iadd %62, %115 (0x1)
MESA: info:         div 32x4  %181 = vec4 %226, %225.x, %225.y, %225.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %229 = phi b8: %179
MESA: info:     div 32x4  %228 = phi b8: %192
MESA: info:     div 32    %227 = phi b8: %61
MESA: info:     con 32x2  %219 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %220 = ishl %144.xx, %219 (0x5, 0x3)
MESA: info:     div 32    %221 = mov %220.x
MESA: info:     div 32    %222 = mov %220.y
MESA: info:     con 32    %119 = @bindless_resource_ir3 (%30 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %120 = vec4 %229.y, %229.z, %229.w, %228.x
MESA: info:                      @store_ssbo_ir3 (%120, %119, %221, %222) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %121 = load_const (0x00000010 = 16)
MESA: info:     div 32    %122 = iadd %220.x, %121 (0x10)
MESA: info:     div 32x4  %123 = vec4 %228.y, %228.z, %228.w, %227
MESA: info:     con 32    %130 = load_const (0x00000002)
MESA: info:     div 32    %131 = ushr %122, %130 (0x2)
MESA: info:                      @store_ssbo_ir3 (%123, %119, %122, %131) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 5f45abc6c43b3e76df3f84edda4b091187d28786:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l20
MESA: info: getone #l20
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.x, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.x, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l20:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.z, r48.y, 16
MESA: info: mull.u r50.w, r48.y, 10
MESA: info: mull.u r50.z, 10, r50.z
MESA: info: shl.b r50.z, r50.z, 16
MESA: info: add.u r50.z, r50.z, r50.w
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.x, r48.x, 16
MESA: info: mull.u r50.y, r48.x, 10
MESA: info: mull.u r50.x, 10, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: add.u r50.x, r50.x, r50.y
MESA: info: shr.b r49.w, c4.z, 16
MESA: info: mull.u r51.x, r48.y, c4.z
MESA: info: mull.u r49.w, r48.y, r49.w
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r49.w, r49.w, r51.x
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r49.w
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.y, r48.y, 16
MESA: info: mull.u r51.y, 100, r51.y
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.z, (last)r0.y
MESA: info: add.u r1.x, r50.x, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.y
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l64:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l105
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l72:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l103
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.s32f32 r4.w, c9.y
MESA: info: add.f r5.x, c9.x, (0.5)
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: add.u r5.y, r1.y, 1
MESA: info: (nop3) add.u r4.y, (last)r4.y, 1
MESA: info: alias.tex.b32.1 r4.w, (0x3f000000)
MESA: info: alias.tex.b32.0 r40.x, r4.w
MESA: info: saml.a.base2 (f32)(xyzw)r5.z, r4.z, r40.x, s#1, t#0
MESA: info: (sy)min.f r1.z, (last)r1.z, r5.z
MESA: info: min.f r1.w, (last)r1.w, r5.w
MESA: info: min.f r2.x, (last)r2.x, r6.x
MESA: info: min.f r2.y, (last)r2.y, r6.y
MESA: info: max.f r2.z, (last)r2.z, r5.z
MESA: info: max.f r2.w, (last)r2.w, r5.w
MESA: info: max.f r3.x, (last)r3.x, r6.x
MESA: info: max.f r3.y, (last)r3.y, r6.y
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.z
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.w
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r6.x
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.y
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.z
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.w
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r6.x
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.y
MESA: info: mov.u32u32 r1.y, (last)r5.y
MESA: info: jump #l72
MESA: info: l103:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l64
MESA: info: l105:
MESA: info: (jp)shl.b r6.z, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.z, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 45/1: 117 instr, 26 nops, 91 non-nops, 12 mov, 2 cov, 256 dwords
MESA: info: ; CL prog 45/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 45/1: 31 cat0, 14 cat1, 55 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 4 cat7
MESA: info: ; CL prog 45/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 45/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 20 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xdc805e0c, 0xd010f4ed, 0xc1f140ff, 0x7b74839d, 0x62025ef8, 0x0d3252ee, 0xcc107fd9, 0xef3dbd07}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %195 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %272 = f2u32 %195
MESA: info:             con 32    %273 = mov %272.x
MESA: info:             con 32    %274 = mov %272.y
MESA: info:                              @store_const_ir3 (%273) (base=16)
MESA: info:                              @store_const_ir3 (%274) (base=17)
MESA: info:             con 32     %10 = frcp %195.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %12 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32    %198 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %279 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %280 = iand %198.xxxx, %279 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %288 = ieq %280, %2 (0x0).xxxx
MESA: info:             con 32x4  %289 = b2i32 %288
MESA: info:             con 32    %290 = mov %289.w
MESA: info:             con 32    %287 = mov %289.z
MESA: info:             con 32    %283 = mov %289.x
MESA: info:             con 32    %284 = mov %289.y
MESA: info:                              @store_const_ir3 (%283) (base=19)
MESA: info:                              @store_const_ir3 (%284) (base=20)
MESA: info:                              @store_const_ir3 (%287) (base=21)
MESA: info:                              @store_const_ir3 (%290) (base=22)
MESA: info:             con 32x2  %201 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %271 = fsub %201.y, %201.x
MESA: info:             con 32     %29 = frcp %271
MESA: info:                              @store_const_ir3 (%29) (base=23)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %34 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %36 = @bindless_resource_ir3 (%12 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%34, %36)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %37 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %39 = load_const (0x00000002)
MESA: info:     con 32     %42 = @load_const_ir3 (%37 (0x0)) (base=16)
MESA: info:     con 32     %44 = @load_const_ir3 (%37 (0x0)) (base=17)
MESA: info:     con 32x3   %45 = @load_workgroup_id
MESA: info:     con 32x3   %46 = @load_base_workgroup_id
MESA: info:     con 32x2  %291 = iadd %45.xy, %46.xy
MESA: info:     con 32     %49 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %292 = umul_low %291, %49 (0xa).xx
MESA: info:     con 32x2  %293 = imadsh_mix16 %49 (0xa).xx, %291, %292
MESA: info:     div 32x3   %52 = @load_local_invocation_id
MESA: info:     div 32x2  %294 = iadd %293, %52.xy
MESA: info:     con 32     %55 = load_const (0x00000006)
MESA: info:     div 32x2  %295 = ishl %294, %55 (0x6).xx
MESA: info:     div 32    %296 = mov %295.x
MESA: info:     div 32    %297 = mov %295.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %58 = phi b6: %297, b30: %192
MESA: info:         con 32     %59 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %298 = iadd %295.yx, %59 (0x40).xx
MESA: info:         div 32     %62 = umin %44, %298.x
MESA: info:         div 32     %63 = umin %42, %298.y
MESA: info:         div 1      %64 = uge %58, %62
MESA: info:                          // succs: b8 b9
MESA: info:         if %64 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %65 = phi b10: %296, b29: %190
MESA: info:             div 1      %66 = uge %65, %63
MESA: info:                              // succs: b12 b13
MESA: info:             if %66 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %67 = u2f32 %65
MESA: info:             con 32     %69 = @load_const_ir3 (%37 (0x0)) (base=18)
MESA: info:             div 32     %70 = fmul %67, %69
MESA: info:             con 32x2   %75 = @load_const_ir3 (%37 (0x0)) (base=36)
MESA: info:             con 32     %76 = i2f32 %75.y
MESA: info:             con 32     %77 = load_const (0x00000001)
MESA: info:             con 32     %78 = @bindless_resource_ir3 (%77 (0x1)) (desc_set=2)
MESA: info:             con 32     %79 = @bindless_resource_ir3 (%37 (0x0)) (desc_set=2)
MESA: info:             con 32     %80 = load_const (0x3f000000 = 0.500000)
MESA: info:             con 32     %81 = fadd %75.x, %80 (0.500000)
MESA: info:             div 32x2   %82 = vec2 %70, %81
MESA: info:             div 32x4   %83 = (float32)txl %79 (texture_handle), %78 (sampler_handle), %82 (coord), %76 (lod), 0 (texture), 0 (sampler)
MESA: info:             con 32     %90 = @load_const_ir3 (%37 (0x0)) (base=32)
MESA: info:             con 32     %92 = @load_const_ir3 (%37 (0x0)) (base=19)
MESA: info:             con 32     %96 = @load_const_ir3 (%37 (0x0)) (base=20)
MESA: info:             con 32    %100 = @load_const_ir3 (%37 (0x0)) (base=21)
MESA: info:             con 32    %104 = @load_const_ir3 (%37 (0x0)) (base=22)
MESA: info:             con 32    %109 = @load_const_ir3 (%37 (0x0)) (base=34)
MESA: info:             con 32    %110 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32    %111 = fadd %109, %110 (1.000000)
MESA: info:             div 32    %249 = icsel_eqz %92, %83.x, %111
MESA: info:             div 32    %248 = icsel_eqz %96, %83.y, %111
MESA: info:             div 32    %247 = icsel_eqz %100, %83.z, %111
MESA: info:             div 32    %246 = icsel_eqz %104, %83.w, %111
MESA: info:             con 1     %131 = ine %90, %37 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %131 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 con 32x2  %134 = @load_const_ir3 (%37 (0x0)) (base=33)
MESA: info:                 div 32    %270 = fsub %249, %134.x
MESA: info:                 div 32    %269 = fsub %248, %134.x
MESA: info:                 div 32    %268 = fsub %247, %134.x
MESA: info:                 div 32    %267 = fsub %246, %134.x
MESA: info:                 con 32    %141 = @load_const_ir3 (%37 (0x0)) (base=23)
MESA: info:                 div 32    %142 = fmul %270, %141
MESA: info:                 div 32    %143 = fmul %269, %141
MESA: info:                 div 32    %144 = fmul %268, %141
MESA: info:                 div 32    %145 = fmul %267, %141
MESA: info:                 div 1     %146 = flt! %142, %37 (0.000000)
MESA: info:                 div 1     %147 = flt! %143, %37 (0.000000)
MESA: info:                 div 1     %148 = flt! %144, %37 (0.000000)
MESA: info:                 div 1     %149 = flt! %145, %37 (0.000000)
MESA: info:                 con 32    %150 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %151 = fmul %142, %150 (256.000000)
MESA: info:                 con 32    %152 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %153 = bcsel %146, %152 (0x44000000), %151
MESA: info:                 div 32    %154 = fmul %143, %150 (256.000000)
MESA: info:                 div 32    %155 = bcsel %147, %152 (0x44000000), %154
MESA: info:                 div 32    %156 = fmul %144, %150 (256.000000)
MESA: info:                 div 32    %157 = bcsel %148, %152 (0x44000000), %156
MESA: info:                 div 32    %158 = fmul %145, %150 (256.000000)
MESA: info:                 div 32    %159 = bcsel %149, %152 (0x44000000), %158
MESA: info:                 div 32    %160 = ffloor %153
MESA: info:                 div 32    %161 = ffloor %155
MESA: info:                 div 32    %162 = ffloor %157
MESA: info:                 div 32    %163 = ffloor %159
MESA: info:                 div 32    %164 = f2u32 %160
MESA: info:                 div 32    %165 = f2u32 %161
MESA: info:                 div 32    %166 = f2u32 %162
MESA: info:                 div 32    %167 = f2u32 %163
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %168 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %169 = phi b15: %167, b16: %168 (0x101)
MESA: info:             div 32    %170 = phi b15: %166, b16: %168 (0x101)
MESA: info:             div 32    %171 = phi b15: %165, b16: %168 (0x101)
MESA: info:             div 32    %172 = phi b15: %164, b16: %168 (0x101)
MESA: info:             con 32    %173 = load_const (0x00000100 = 256)
MESA: info:             div 1     %174 = ult %172, %173 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %174 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %175 = ishl %172, %39 (0x2)
MESA: info:                 con 32    %176 = @bindless_resource_ir3 (%37 (0x0)) (desc_set=3)
MESA: info:                 div 32    %205 = @ssbo_atomic_ir3 (%176, %175, %77 (0x1), %172) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %178 = ult %171, %173 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %178 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %179 = ishl %171, %39 (0x2)
MESA: info:                 con 32    %180 = @bindless_resource_ir3 (%37 (0x0)) (desc_set=3)
MESA: info:                 div 32    %209 = @ssbo_atomic_ir3 (%180, %179, %77 (0x1), %171) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %182 = ult %170, %173 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %182 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %183 = ishl %170, %39 (0x2)
MESA: info:                 con 32    %184 = @bindless_resource_ir3 (%37 (0x0)) (desc_set=3)
MESA: info:                 div 32    %213 = @ssbo_atomic_ir3 (%184, %183, %77 (0x1), %170) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %186 = ult %169, %173 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %186 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %187 = ishl %169, %39 (0x2)
MESA: info:                 con 32    %188 = @bindless_resource_ir3 (%37 (0x0)) (desc_set=3)
MESA: info:                 div 32    %217 = @ssbo_atomic_ir3 (%188, %187, %77 (0x1), %169) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %190 = iadd %65, %77 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %191 = load_const (0x00000001)
MESA: info:         div 32    %192 = iadd %58, %191 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 752d9d4509b30107cc16c5438a38345c32a968ed:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l34
MESA: info: getone #l34
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.z, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: (sy)(ss)cov.f32u32 r50.x, r48.w
MESA: info: add.f r49.w, r49.w, (neg)r49.z
MESA: info: cov.f32u32 r49.x, r49.x
MESA: info: and.b r50.y, r49.y, 1
MESA: info: and.b r50.w, r49.y, 2
MESA: info: and.b r51.y, r49.y, 4
MESA: info: and.b r51.z, r49.y, 8
MESA: info: (rpt1)cmps.s.eq hr55.z, (r)r51.y, 0
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.w, r49.w
MESA: info: cmps.s.eq hr52.z, r50.y, 0
MESA: info: cmps.s.eq hr53.z, r50.w, 0
MESA: info: cov.u16s32 r50.z, hr52.z
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: stc.u32 c[17], r49.x, 1
MESA: info: stc.u32 c[16], r50.x, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cov.u16s32 r48.w, (r)hr55.z
MESA: info: stc.u32 c[23], r49.w, 1
MESA: info: stc.u32 c[19], r50.z, 1
MESA: info: stc.u32 c[20], r51.x, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[21], r48.w, 1
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l34:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.z, r48.y, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.y, r48.x, 16
MESA: info: mull.u r49.y, 10, r49.y
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.y, r49.y, 16
MESA: info: add.u r49.y, r49.y, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.z, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.y, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l52:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l155
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l60:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l153
MESA: info: add.f r49.w, c8.z, (1.0)
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.s32f32 r2.y, c9.y
MESA: info: add.f r2.z, c9.x, (0.5)
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mov.f32f32 r2.w, c4.w
MESA: info: mov.f32f32 r3.x, c5.x
MESA: info: mov.f32f32 r3.y, c5.y
MESA: info: mov.f32f32 r3.z, c5.z
MESA: info: cmps.s.ne p0.y, c8.x, 0
MESA: info: alias.tex.b32.1 r2.y, (0x3f000000)
MESA: info: alias.tex.b32.0 r40.x, r2.y
MESA: info: saml.a.base2 (f32)(xyzw)r3.w, r2.x, r40.x, s#1, t#0
MESA: info: (sy)(ss)sel.b32 r2.w, r49.w, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, r49.w, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, r49.w, r3.y, (last)r4.y
MESA: info: (nop1) sel.b32 r3.z, r49.w, r3.z, (last)r4.z
MESA: info: br !p0.y, #l111
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: add.f r3.z, (last)r3.z, (neg)c8.y
MESA: info: mul.f r2.w, (last)r2.w, c5.w
MESA: info: mul.f r3.x, (last)r3.x, c5.w
MESA: info: mul.f r3.y, (last)r3.y, c5.w
MESA: info: mul.f r3.z, (last)r3.z, c5.w
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: cmps.f.lt r5.z, r3.z, (0.0)
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: mul.f r3.z, (last)r3.z, c12.y
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: sel.b32 r5.z, c12.x, r5.z, (last)r3.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: floor.f r5.z, (last)r5.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: cov.f32u32 r5.z, (last)r5.z
MESA: info: jump #l115
MESA: info: l111:
MESA: info: mov.u32u32 r5.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r5.y, 257
MESA: info: l115:
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r6.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.w, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.y, 0
MESA: info: mov.u32u32 r6.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.y, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.w, 0
MESA: info: mov.u32u32 r7.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.w, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.y, 0
MESA: info: mov.u32u32 r7.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.y, r5.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l60
MESA: info: l153:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l52
MESA: info: l155:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 46/1: 194 instr, 85 nops, 109 non-nops, 19 mov, 6 cov, 324 dwords
MESA: info: ; CL prog 46/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 46/1: 100 cat0, 25 cat1, 52 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 4 cat7
MESA: info: ; CL prog 46/1: 5 sstall, 3 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 46/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 36 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x8174c99f, 0x865077d9, 0x8d4bbd6a, 0x12e4668a, 0xf39ffb90, 0x07975c4d, 0x63054fcf, 0x5af2d10b}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %134 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %128 = @load_ubo_vec4 (%4, %134 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %164 = f2u32 %128
MESA: info:             con 32    %165 = mov %164.x
MESA: info:             con 32    %166 = mov %164.y
MESA: info:                              @store_const_ir3 (%165) (base=16)
MESA: info:                              @store_const_ir3 (%166) (base=17)
MESA: info:             con 32      %8 = u2f32 %164.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %128.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %18 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%18)
MESA: info:             con 32     %20 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%20)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %23 = @load_local_invocation_id
MESA: info:     con 32x3   %24 = @load_workgroup_id
MESA: info:     con 32x3   %25 = @load_base_workgroup_id
MESA: info:     con 32x2  %167 = iadd %24.xy, %25.xy
MESA: info:     con 32     %28 = load_const (0x00000000)
MESA: info:     con 32x2   %33 = @load_const_ir3 (%28 (0x0)) (base=40)
MESA: info:     con 32     %35 = @load_const_ir3 (%28 (0x0)) (base=16)
MESA: info:     con 32     %37 = @load_const_ir3 (%28 (0x0)) (base=17)
MESA: info:     con 32     %38 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %168 = umul_low %167, %38 (0xa).xx
MESA: info:     con 32x2  %169 = imadsh_mix16 %38 (0xa).xx, %167, %168
MESA: info:     div 32x2  %170 = iadd %169, %23.xy
MESA: info:     con 32     %43 = load_const (0x00000006)
MESA: info:     div 32x2  %171 = ishl %170, %43 (0x6).xx
MESA: info:     div 32    %172 = mov %171.x
MESA: info:     div 32    %173 = mov %171.y
MESA: info:     div 32    %155 = umul_low %23.y, %38 (0xa)
MESA: info:     div 32    %157 = imadsh_mix16 %38 (0xa), %23.y, %155
MESA: info:     con 32     %49 = @load_const_ir3 (%28 (0x0)) (base=18)
MESA: info:     con 32    %152 = umul_low %167.y, %49
MESA: info:     con 32    %153 = imadsh_mix16 %167.y, %49, %152
MESA: info:     con 32    %154 = imadsh_mix16 %49, %167.y, %153
MESA: info:     con 32     %51 = iadd %154, %167.x
MESA: info:     con 32     %52 = load_const (0x00000064 = 100)
MESA: info:     con 32    %149 = umul_low %51, %52 (0x64)
MESA: info:     con 32    %151 = imadsh_mix16 %52 (0x64), %51, %149
MESA: info:     div 32    %148 = iadd3 %157, %23.x, %151
MESA: info:     con 32x4  %184 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %197 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %183 = phi b6: %184 (0x0, 0x0, 0x0, 0x0), b15: %185
MESA: info:         div 32x4  %196 = phi b6: %197 (0x0, 0x0, 0x0, 0x0), b15: %228
MESA: info:         div 32     %63 = phi b6: %28 (0x0), b15: %227
MESA: info:         div 32     %64 = phi b6: %173, b15: %118
MESA: info:         div 32x3  %205 = mov %183.yzw
MESA: info:         div 32    %177 = mov %183.x
MESA: info:         con 32     %65 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %200 = iadd %171.yx, %65 (0x40).xx
MESA: info:         div 32     %68 = umin %37, %200.x
MESA: info:         div 32     %69 = umin %35, %200.y
MESA: info:         div 1      %70 = uge %64, %68
MESA: info:                          // succs: b8 b9
MESA: info:         if %70 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %71 = phi b10: %172, b14: %116
MESA: info:             div 32     %72 = phi b10: %177, b14: %115
MESA: info:             div 32x3  %204 = phi b10: %205, b14: %220
MESA: info:             div 32x4  %213 = phi b10: %196, b14: %214
MESA: info:             div 32     %80 = phi b10: %63, b14: %140
MESA: info:             div 1      %81 = uge %71, %69
MESA: info:                              // succs: b12 b13
MESA: info:             if %81 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %82 = u2f32 %71
MESA: info:             con 32     %84 = @load_const_ir3 (%28 (0x0)) (base=19)
MESA: info:             div 32     %85 = fmul %82, %84
MESA: info:             con 32x2   %89 = @load_const_ir3 (%28 (0x0)) (base=36)
MESA: info:             con 32     %90 = mov %89.y
MESA: info:             div 32     %91 = fmul %85, %33.x
MESA: info:             div 32     %92 = f2i32 %91
MESA: info:             con 32     %93 = f2i32 %89.x
MESA: info:             div 32x2   %94 = vec2 %92, %93
MESA: info:             con 32     %95 = @bindless_resource_ir3 (%28 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %96 = (uint32)txf %95 (texture_handle), %94 (coord), %90 (lod), 0 (texture)
MESA: info:             div 32x3  %216 = umin %204, %96.xyz
MESA: info:             div 32    %101 = umin %213.x, %96.w
MESA: info:             div 32x3  %218 = umax %213.yzw, %96.xyz
MESA: info:             div 32    %105 = umax %80, %96.w
MESA: info:             div 32x3  %220 = icsel_eqz %72.xxx, %96.xyz, %216
MESA: info:             div 32    %144 = icsel_eqz %72, %96.w, %101
MESA: info:             div 32x3  %222 = icsel_eqz %72.xxx, %96.xyz, %218
MESA: info:             div 32    %140 = icsel_eqz %72, %96.w, %105
MESA: info:             con 32    %114 = load_const (0x00000001)
MESA: info:             div 32    %115 = iadd %72, %114 (0x1)
MESA: info:             div 32    %116 = iadd %71, %114 (0x1)
MESA: info:             div 32x4  %214 = vec4 %144, %222.x, %222.y, %222.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %230 = phi b12: %72
MESA: info:         div 32x3  %229 = phi b12: %204
MESA: info:         div 32x4  %228 = phi b12: %213
MESA: info:         div 32    %227 = phi b12: %80
MESA: info:         con 32    %117 = load_const (0x00000001)
MESA: info:         div 32    %118 = iadd %64, %117 (0x1)
MESA: info:         div 32x4  %185 = vec4 %230, %229.x, %229.y, %229.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %233 = phi b8: %183
MESA: info:     div 32x4  %232 = phi b8: %196
MESA: info:     div 32    %231 = phi b8: %63
MESA: info:     con 32     %31 = load_const (0x00000002)
MESA: info:     con 32x2  %223 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %224 = ishl %148.xx, %223 (0x5, 0x3)
MESA: info:     div 32    %225 = mov %224.x
MESA: info:     div 32    %226 = mov %224.y
MESA: info:     con 32    %121 = @bindless_resource_ir3 (%28 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %122 = vec4 %233.y, %233.z, %233.w, %232.x
MESA: info:                      @store_ssbo_ir3 (%122, %121, %225, %226) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %123 = load_const (0x00000010 = 16)
MESA: info:     div 32    %124 = iadd %224.x, %123 (0x10)
MESA: info:     div 32x4  %125 = vec4 %232.y, %232.z, %232.w, %231
MESA: info:     div 32    %133 = ushr %124, %31 (0x2)
MESA: info:                      @store_ssbo_ir3 (%125, %121, %124, %133) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 04c8a25f957224511793df8cef0553288af96dfd:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l20
MESA: info: getone #l20
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.x, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.x, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l20:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.z, r48.y, 16
MESA: info: mull.u r50.w, r48.y, 10
MESA: info: mull.u r50.z, 10, r50.z
MESA: info: shl.b r50.z, r50.z, 16
MESA: info: add.u r50.z, r50.z, r50.w
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.x, r48.x, 16
MESA: info: mull.u r50.y, r48.x, 10
MESA: info: mull.u r50.x, 10, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: add.u r50.x, r50.x, r50.y
MESA: info: shr.b r49.w, c4.z, 16
MESA: info: mull.u r51.x, r48.y, c4.z
MESA: info: mull.u r49.w, r48.y, r49.w
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r49.w, r49.w, r51.x
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r49.w
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.y, r48.y, 16
MESA: info: mull.u r51.y, 100, r51.y
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.z, (last)r0.y
MESA: info: add.u r1.x, r50.x, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.y
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l64:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l108
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l72:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l106
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.f32s32 r4.w, c9.x
MESA: info: add.u r5.x, r1.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: (nop1) add.u r4.y, (last)r4.y, 1
MESA: info: (nop2) mul.f r4.z, (last)r4.z, c10.x
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.2 r4.w, (0x0)
MESA: info: alias.tex.b32.0 r5.x, r4.w
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.a.base2 (u32)(xyzw)r5.y, r4.z, r40.x, s#0, t#0
MESA: info: (sy)min.u r1.z, (last)r1.z, r5.y
MESA: info: min.u r1.w, (last)r1.w, r5.z
MESA: info: min.u r2.x, (last)r2.x, r5.w
MESA: info: min.u r2.y, (last)r2.y, r6.x
MESA: info: max.u r2.z, (last)r2.z, r5.y
MESA: info: max.u r2.w, (last)r2.w, r5.z
MESA: info: max.u r3.x, (last)r3.x, r5.w
MESA: info: max.u r3.y, (last)r3.y, r6.x
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.y
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.z
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r5.w
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.x
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.y
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.z
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r5.w
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.x
MESA: info: mov.u32u32 r1.y, (last)r5.x
MESA: info: jump #l72
MESA: info: l106:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l64
MESA: info: l108:
MESA: info: (jp)shl.b r6.y, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.y, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 47/1: 124 instr, 31 nops, 93 non-nops, 12 mov, 3 cov, 256 dwords
MESA: info: ; CL prog 47/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 47/1: 36 cat0, 15 cat1, 55 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 5 cat7
MESA: info: ; CL prog 47/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 47/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 20 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xd6453b22, 0x863a2a1a, 0xe6654d7f, 0xa63d88c6, 0xfa87a732, 0xfbc3e5ff, 0x91a40faf, 0xd2e9056a}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %204 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %288 = f2u32 %204
MESA: info:             con 32    %289 = mov %288.x
MESA: info:             con 32    %290 = mov %288.y
MESA: info:                              @store_const_ir3 (%289) (base=16)
MESA: info:                              @store_const_ir3 (%290) (base=17)
MESA: info:             con 32     %10 = frcp %204.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32    %207 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %295 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %296 = iand %207.xxxx, %295 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %304 = ieq %296, %2 (0x0).xxxx
MESA: info:             con 32x4  %305 = b2i32 %304
MESA: info:             con 32    %306 = mov %305.w
MESA: info:             con 32    %303 = mov %305.z
MESA: info:             con 32    %299 = mov %305.x
MESA: info:             con 32    %300 = mov %305.y
MESA: info:                              @store_const_ir3 (%299) (base=19)
MESA: info:                              @store_const_ir3 (%300) (base=20)
MESA: info:                              @store_const_ir3 (%303) (base=21)
MESA: info:                              @store_const_ir3 (%306) (base=22)
MESA: info:             con 32    %210 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %27 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %28 = fadd %210, %27 (1.000000)
MESA: info:             con 32     %29 = f2u32 %28
MESA: info:                              @store_const_ir3 (%29) (base=23)
MESA: info:                              @store_const_ir3 (%29) (base=24)
MESA: info:                              @store_const_ir3 (%29) (base=25)
MESA: info:                              @store_const_ir3 (%29) (base=26)
MESA: info:             con 32x2  %222 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %287 = fsub %222.y, %222.x
MESA: info:             con 32     %45 = frcp %287
MESA: info:                              @store_const_ir3 (%45) (base=27)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %50 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%50)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %51 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %52 = load_const (0x00000002)
MESA: info:     con 32x2   %57 = @load_const_ir3 (%51 (0x0)) (base=40)
MESA: info:     con 32     %59 = @load_const_ir3 (%51 (0x0)) (base=16)
MESA: info:     con 32     %61 = @load_const_ir3 (%51 (0x0)) (base=17)
MESA: info:     con 32x3   %62 = @load_workgroup_id
MESA: info:     con 32x3   %63 = @load_base_workgroup_id
MESA: info:     con 32x2  %307 = iadd %62.xy, %63.xy
MESA: info:     con 32     %66 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %308 = umul_low %307, %66 (0xa).xx
MESA: info:     con 32x2  %309 = imadsh_mix16 %66 (0xa).xx, %307, %308
MESA: info:     div 32x3   %69 = @load_local_invocation_id
MESA: info:     div 32x2  %310 = iadd %309, %69.xy
MESA: info:     con 32     %72 = load_const (0x00000006)
MESA: info:     div 32x2  %311 = ishl %310, %72 (0x6).xx
MESA: info:     div 32    %312 = mov %311.x
MESA: info:     div 32    %313 = mov %311.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %75 = phi b6: %313, b30: %201
MESA: info:         con 32     %76 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %314 = iadd %311.yx, %76 (0x40).xx
MESA: info:         div 32     %79 = umin %61, %314.x
MESA: info:         div 32     %80 = umin %59, %314.y
MESA: info:         div 1      %81 = uge %75, %79
MESA: info:                          // succs: b8 b9
MESA: info:         if %81 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %82 = phi b10: %312, b29: %199
MESA: info:             div 1      %83 = uge %82, %80
MESA: info:                              // succs: b12 b13
MESA: info:             if %83 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %84 = u2f32 %82
MESA: info:             con 32     %86 = @load_const_ir3 (%51 (0x0)) (base=18)
MESA: info:             div 32     %87 = fmul %84, %86
MESA: info:             con 32x2   %92 = @load_const_ir3 (%51 (0x0)) (base=36)
MESA: info:             con 32     %93 = mov %92.y
MESA: info:             div 32     %94 = fmul %87, %57.x
MESA: info:             div 32     %95 = f2i32 %94
MESA: info:             con 32     %96 = f2i32 %92.x
MESA: info:             div 32x2   %97 = vec2 %95, %96
MESA: info:             con 32     %98 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %99 = (uint32)txf %98 (texture_handle), %97 (coord), %93 (lod), 0 (texture)
MESA: info:             con 32    %102 = @load_const_ir3 (%51 (0x0)) (base=32)
MESA: info:             con 32    %105 = @load_const_ir3 (%51 (0x0)) (base=19)
MESA: info:             con 32    %109 = @load_const_ir3 (%51 (0x0)) (base=20)
MESA: info:             con 32    %113 = @load_const_ir3 (%51 (0x0)) (base=21)
MESA: info:             con 32    %117 = @load_const_ir3 (%51 (0x0)) (base=22)
MESA: info:             con 32    %124 = @load_const_ir3 (%51 (0x0)) (base=23)
MESA: info:             div 32    %265 = icsel_eqz %105, %99.x, %124
MESA: info:             con 32    %128 = @load_const_ir3 (%51 (0x0)) (base=24)
MESA: info:             div 32    %264 = icsel_eqz %109, %99.y, %128
MESA: info:             con 32    %131 = @load_const_ir3 (%51 (0x0)) (base=25)
MESA: info:             div 32    %263 = icsel_eqz %113, %99.z, %131
MESA: info:             con 32    %134 = @load_const_ir3 (%51 (0x0)) (base=26)
MESA: info:             div 32    %262 = icsel_eqz %117, %99.w, %134
MESA: info:             con 1     %136 = ine %102, %51 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %136 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %137 = u2f32 %265
MESA: info:                 div 32    %138 = u2f32 %264
MESA: info:                 div 32    %139 = u2f32 %263
MESA: info:                 div 32    %140 = u2f32 %262
MESA: info:                 con 32x2  %143 = @load_const_ir3 (%51 (0x0)) (base=33)
MESA: info:                 div 32    %286 = fsub %137, %143.x
MESA: info:                 div 32    %285 = fsub %138, %143.x
MESA: info:                 div 32    %284 = fsub %139, %143.x
MESA: info:                 div 32    %283 = fsub %140, %143.x
MESA: info:                 con 32    %150 = @load_const_ir3 (%51 (0x0)) (base=27)
MESA: info:                 div 32    %151 = fmul %286, %150
MESA: info:                 div 32    %152 = fmul %285, %150
MESA: info:                 div 32    %153 = fmul %284, %150
MESA: info:                 div 32    %154 = fmul %283, %150
MESA: info:                 div 1     %155 = flt! %151, %51 (0.000000)
MESA: info:                 div 1     %156 = flt! %152, %51 (0.000000)
MESA: info:                 div 1     %157 = flt! %153, %51 (0.000000)
MESA: info:                 div 1     %158 = flt! %154, %51 (0.000000)
MESA: info:                 con 32    %159 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %160 = fmul %151, %159 (256.000000)
MESA: info:                 con 32    %161 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %162 = bcsel %155, %161 (0x44000000), %160
MESA: info:                 div 32    %163 = fmul %152, %159 (256.000000)
MESA: info:                 div 32    %164 = bcsel %156, %161 (0x44000000), %163
MESA: info:                 div 32    %165 = fmul %153, %159 (256.000000)
MESA: info:                 div 32    %166 = bcsel %157, %161 (0x44000000), %165
MESA: info:                 div 32    %167 = fmul %154, %159 (256.000000)
MESA: info:                 div 32    %168 = bcsel %158, %161 (0x44000000), %167
MESA: info:                 div 32    %169 = ffloor %162
MESA: info:                 div 32    %170 = ffloor %164
MESA: info:                 div 32    %171 = ffloor %166
MESA: info:                 div 32    %172 = ffloor %168
MESA: info:                 div 32    %173 = f2u32 %169
MESA: info:                 div 32    %174 = f2u32 %170
MESA: info:                 div 32    %175 = f2u32 %171
MESA: info:                 div 32    %176 = f2u32 %172
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %177 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %178 = phi b15: %176, b16: %177 (0x101)
MESA: info:             div 32    %179 = phi b15: %175, b16: %177 (0x101)
MESA: info:             div 32    %180 = phi b15: %174, b16: %177 (0x101)
MESA: info:             div 32    %181 = phi b15: %173, b16: %177 (0x101)
MESA: info:             con 32    %103 = load_const (0x00000001)
MESA: info:             con 32    %182 = load_const (0x00000100 = 256)
MESA: info:             div 1     %183 = ult %181, %182 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %183 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %184 = ishl %181, %52 (0x2)
MESA: info:                 con 32    %185 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %226 = @ssbo_atomic_ir3 (%185, %184, %103 (0x1), %181) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %187 = ult %180, %182 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %187 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %188 = ishl %180, %52 (0x2)
MESA: info:                 con 32    %189 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %230 = @ssbo_atomic_ir3 (%189, %188, %103 (0x1), %180) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %191 = ult %179, %182 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %191 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %192 = ishl %179, %52 (0x2)
MESA: info:                 con 32    %193 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %234 = @ssbo_atomic_ir3 (%193, %192, %103 (0x1), %179) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %195 = ult %178, %182 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %195 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %196 = ishl %178, %52 (0x2)
MESA: info:                 con 32    %197 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %238 = @ssbo_atomic_ir3 (%197, %196, %103 (0x1), %178) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %199 = iadd %82, %103 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %200 = load_const (0x00000001)
MESA: info:         div 32    %201 = iadd %75, %200 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 189b41c8d5acfa4958f4bfe5cc212fd71edfba8c:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l42
MESA: info: getone #l42
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: cov.f32u32 r49.x, r49.x
MESA: info: and.b r50.z, r49.y, 1
MESA: info: and.b r51.x, r49.y, 2
MESA: info: and.b r51.z, r49.y, 4
MESA: info: and.b r51.w, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.x, r50.z, 0
MESA: info: cmps.s.eq hr54.x, r51.x, 0
MESA: info: cov.u16s32 r50.w, hr53.x
MESA: info: cov.u16s32 r51.y, hr54.x
MESA: info: stc.u32 c[17], r49.x, 1
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[23], r49.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.z, 0
MESA: info: cov.u16s32 r49.x, hr49.z
MESA: info: cov.u16s32 r49.y, hr49.w
MESA: info: stc.u32 c[27], r50.x, 1
MESA: info: stc.u32 c[19], r50.w, 1
MESA: info: stc.u32 c[20], r51.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[21], r49.x, 1
MESA: info: stc.u32 c[22], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l42:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l60:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l169
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l68:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l167
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.f32s32 r2.y, c9.x
MESA: info: mov.f32f32 r2.z, c4.w
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mov.f32f32 r2.w, c5.x
MESA: info: mov.f32f32 r3.x, c5.y
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mov.f32f32 r3.y, c5.z
MESA: info: cmps.s.ne p0.y, c8.x, 0
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.2 r2.y, (0x0)
MESA: info: alias.tex.b32.0 r2.z, r2.y
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.a.base2 (u32)(xyzw)r3.z, r2.x, r40.x, s#0, t#0
MESA: info: (sy)sel.b32 r2.z, c5.w, r2.z, (last)r3.z
MESA: info: sel.b32 r2.w, c6.x, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, c6.y, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, c6.z, r3.y, (last)r4.y
MESA: info: br !p0.y, #l125
MESA: info: cov.u32f32 r2.z, (last)r2.z
MESA: info: cov.u32f32 r2.w, (last)r2.w
MESA: info: cov.u32f32 r3.x, (last)r3.x
MESA: info: cov.u32f32 r3.y, (last)r3.y
MESA: info: add.f r2.z, (last)r2.z, (neg)c8.y
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: mul.f r2.z, (last)r2.z, c6.w
MESA: info: mul.f r2.w, (last)r2.w, c6.w
MESA: info: mul.f r3.x, (last)r3.x, c6.w
MESA: info: mul.f r3.y, (last)r3.y, c6.w
MESA: info: cmps.f.lt r4.z, r2.z, (0.0)
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: mul.f r2.z, (last)r2.z, c12.y
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: sel.b32 r4.z, c12.x, r4.z, (last)r2.z
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: floor.f r4.z, (last)r4.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: cov.f32u32 r4.z, (last)r4.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: jump #l129
MESA: info: l125:
MESA: info: mov.u32u32 r5.y, 257
MESA: info: mov.u32u32 r4.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: l129:
MESA: info: (nop3) cmps.u.lt p0.x, r4.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.z, 0
MESA: info: mov.u32u32 r5.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.z, r4.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.x, 0
MESA: info: mov.u32u32 r6.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.x, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.z, 0
MESA: info: mov.u32u32 r6.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.z, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.x, 0
MESA: info: mov.u32u32 r7.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.x, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l68
MESA: info: l167:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l60
MESA: info: l169:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 48/1: 203 instr, 89 nops, 114 non-nops, 19 mov, 11 cov, 352 dwords
MESA: info: ; CL prog 48/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 48/1: 104 cat0, 30 cat1, 51 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 5 cat7
MESA: info: ; CL prog 48/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 48/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 43 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x917d0b4b, 0xb44de9e1, 0x94aad24a, 0x9b3ace03, 0x2d99e78c, 0x02be5e12, 0x3e1d6f8f, 0x83429d9e}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %134 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %128 = @load_ubo_vec4 (%4, %134 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %164 = f2u32 %128
MESA: info:             con 32    %165 = mov %164.x
MESA: info:             con 32    %166 = mov %164.y
MESA: info:                              @store_const_ir3 (%165) (base=16)
MESA: info:                              @store_const_ir3 (%166) (base=17)
MESA: info:             con 32      %8 = u2f32 %164.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %128.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %18 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%18)
MESA: info:             con 32     %20 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%20)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %23 = @load_local_invocation_id
MESA: info:     con 32x3   %24 = @load_workgroup_id
MESA: info:     con 32x3   %25 = @load_base_workgroup_id
MESA: info:     con 32x2  %167 = iadd %24.xy, %25.xy
MESA: info:     con 32     %28 = load_const (0x00000000)
MESA: info:     con 32x2   %33 = @load_const_ir3 (%28 (0x0)) (base=40)
MESA: info:     con 32     %35 = @load_const_ir3 (%28 (0x0)) (base=16)
MESA: info:     con 32     %37 = @load_const_ir3 (%28 (0x0)) (base=17)
MESA: info:     con 32     %38 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %168 = umul_low %167, %38 (0xa).xx
MESA: info:     con 32x2  %169 = imadsh_mix16 %38 (0xa).xx, %167, %168
MESA: info:     div 32x2  %170 = iadd %169, %23.xy
MESA: info:     con 32     %43 = load_const (0x00000006)
MESA: info:     div 32x2  %171 = ishl %170, %43 (0x6).xx
MESA: info:     div 32    %172 = mov %171.x
MESA: info:     div 32    %173 = mov %171.y
MESA: info:     div 32    %155 = umul_low %23.y, %38 (0xa)
MESA: info:     div 32    %157 = imadsh_mix16 %38 (0xa), %23.y, %155
MESA: info:     con 32     %49 = @load_const_ir3 (%28 (0x0)) (base=18)
MESA: info:     con 32    %152 = umul_low %167.y, %49
MESA: info:     con 32    %153 = imadsh_mix16 %167.y, %49, %152
MESA: info:     con 32    %154 = imadsh_mix16 %49, %167.y, %153
MESA: info:     con 32     %51 = iadd %154, %167.x
MESA: info:     con 32     %52 = load_const (0x00000064 = 100)
MESA: info:     con 32    %149 = umul_low %51, %52 (0x64)
MESA: info:     con 32    %151 = imadsh_mix16 %52 (0x64), %51, %149
MESA: info:     div 32    %148 = iadd3 %157, %23.x, %151
MESA: info:     con 32x4  %184 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %197 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %183 = phi b6: %184 (0x0, 0x0, 0x0, 0x0), b15: %185
MESA: info:         div 32x4  %196 = phi b6: %197 (0x0, 0x0, 0x0, 0x0), b15: %228
MESA: info:         div 32     %63 = phi b6: %28 (0x0), b15: %227
MESA: info:         div 32     %64 = phi b6: %173, b15: %118
MESA: info:         div 32x3  %205 = mov %183.yzw
MESA: info:         div 32    %177 = mov %183.x
MESA: info:         con 32     %65 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %200 = iadd %171.yx, %65 (0x40).xx
MESA: info:         div 32     %68 = umin %37, %200.x
MESA: info:         div 32     %69 = umin %35, %200.y
MESA: info:         div 1      %70 = uge %64, %68
MESA: info:                          // succs: b8 b9
MESA: info:         if %70 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %71 = phi b10: %172, b14: %116
MESA: info:             div 32     %72 = phi b10: %177, b14: %115
MESA: info:             div 32x3  %204 = phi b10: %205, b14: %220
MESA: info:             div 32x4  %213 = phi b10: %196, b14: %214
MESA: info:             div 32     %80 = phi b10: %63, b14: %140
MESA: info:             div 1      %81 = uge %71, %69
MESA: info:                              // succs: b12 b13
MESA: info:             if %81 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %82 = u2f32 %71
MESA: info:             con 32     %84 = @load_const_ir3 (%28 (0x0)) (base=19)
MESA: info:             div 32     %85 = fmul %82, %84
MESA: info:             con 32x2   %89 = @load_const_ir3 (%28 (0x0)) (base=36)
MESA: info:             con 32     %90 = mov %89.y
MESA: info:             div 32     %91 = fmul %85, %33.x
MESA: info:             div 32     %92 = f2i32 %91
MESA: info:             con 32     %93 = f2i32 %89.x
MESA: info:             div 32x2   %94 = vec2 %92, %93
MESA: info:             con 32     %95 = @bindless_resource_ir3 (%28 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %96 = (int32)txf %95 (texture_handle), %94 (coord), %90 (lod), 0 (texture)
MESA: info:             div 32x3  %216 = imin %204, %96.xyz
MESA: info:             div 32    %101 = imin %213.x, %96.w
MESA: info:             div 32x3  %218 = imax %213.yzw, %96.xyz
MESA: info:             div 32    %105 = imax %80, %96.w
MESA: info:             div 32x3  %220 = icsel_eqz %72.xxx, %96.xyz, %216
MESA: info:             div 32    %144 = icsel_eqz %72, %96.w, %101
MESA: info:             div 32x3  %222 = icsel_eqz %72.xxx, %96.xyz, %218
MESA: info:             div 32    %140 = icsel_eqz %72, %96.w, %105
MESA: info:             con 32    %114 = load_const (0x00000001)
MESA: info:             div 32    %115 = iadd %72, %114 (0x1)
MESA: info:             div 32    %116 = iadd %71, %114 (0x1)
MESA: info:             div 32x4  %214 = vec4 %144, %222.x, %222.y, %222.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %230 = phi b12: %72
MESA: info:         div 32x3  %229 = phi b12: %204
MESA: info:         div 32x4  %228 = phi b12: %213
MESA: info:         div 32    %227 = phi b12: %80
MESA: info:         con 32    %117 = load_const (0x00000001)
MESA: info:         div 32    %118 = iadd %64, %117 (0x1)
MESA: info:         div 32x4  %185 = vec4 %230, %229.x, %229.y, %229.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %233 = phi b8: %183
MESA: info:     div 32x4  %232 = phi b8: %196
MESA: info:     div 32    %231 = phi b8: %63
MESA: info:     con 32     %31 = load_const (0x00000002)
MESA: info:     con 32x2  %223 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %224 = ishl %148.xx, %223 (0x5, 0x3)
MESA: info:     div 32    %225 = mov %224.x
MESA: info:     div 32    %226 = mov %224.y
MESA: info:     con 32    %121 = @bindless_resource_ir3 (%28 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %122 = vec4 %233.y, %233.z, %233.w, %232.x
MESA: info:                      @store_ssbo_ir3 (%122, %121, %225, %226) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %123 = load_const (0x00000010 = 16)
MESA: info:     div 32    %124 = iadd %224.x, %123 (0x10)
MESA: info:     div 32x4  %125 = vec4 %232.y, %232.z, %232.w, %231
MESA: info:     div 32    %133 = ushr %124, %31 (0x2)
MESA: info:                      @store_ssbo_ir3 (%125, %121, %124, %133) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 066aa1bc2c33d1adafa387bfb5fd30c749dc7061:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l20
MESA: info: getone #l20
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.x, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.x, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l20:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.z, r48.y, 16
MESA: info: mull.u r50.w, r48.y, 10
MESA: info: mull.u r50.z, 10, r50.z
MESA: info: shl.b r50.z, r50.z, 16
MESA: info: add.u r50.z, r50.z, r50.w
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.x, r48.x, 16
MESA: info: mull.u r50.y, r48.x, 10
MESA: info: mull.u r50.x, 10, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: add.u r50.x, r50.x, r50.y
MESA: info: shr.b r49.w, c4.z, 16
MESA: info: mull.u r51.x, r48.y, c4.z
MESA: info: mull.u r49.w, r48.y, r49.w
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r49.w, r49.w, r51.x
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r49.w
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.y, r48.y, 16
MESA: info: mull.u r51.y, 100, r51.y
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.z, (last)r0.y
MESA: info: add.u r1.x, r50.x, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.y
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l64:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l108
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l72:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l106
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.f32s32 r4.w, c9.x
MESA: info: add.u r5.x, r1.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: (nop1) add.u r4.y, (last)r4.y, 1
MESA: info: (nop2) mul.f r4.z, (last)r4.z, c10.x
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.2 r4.w, (0x0)
MESA: info: alias.tex.b32.0 r5.x, r4.w
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.a.base2 (s32)(xyzw)r5.y, r4.z, r40.x, s#0, t#0
MESA: info: (sy)min.s r1.z, (last)r1.z, r5.y
MESA: info: min.s r1.w, (last)r1.w, r5.z
MESA: info: min.s r2.x, (last)r2.x, r5.w
MESA: info: min.s r2.y, (last)r2.y, r6.x
MESA: info: max.s r2.z, (last)r2.z, r5.y
MESA: info: max.s r2.w, (last)r2.w, r5.z
MESA: info: max.s r3.x, (last)r3.x, r5.w
MESA: info: max.s r3.y, (last)r3.y, r6.x
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.y
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.z
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r5.w
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.x
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.y
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.z
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r5.w
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.x
MESA: info: mov.u32u32 r1.y, (last)r5.x
MESA: info: jump #l72
MESA: info: l106:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l64
MESA: info: l108:
MESA: info: (jp)shl.b r6.y, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.y, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 49/1: 124 instr, 31 nops, 93 non-nops, 12 mov, 3 cov, 256 dwords
MESA: info: ; CL prog 49/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 49/1: 36 cat0, 15 cat1, 55 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 5 cat7
MESA: info: ; CL prog 49/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 49/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 20 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xe42c3b4b, 0x324a2bcb, 0x4c46cc5d, 0xc3ca8b39, 0xe5420d92, 0x19ce011e, 0xc6ee0263, 0x77c09761}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %204 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %288 = f2u32 %204
MESA: info:             con 32    %289 = mov %288.x
MESA: info:             con 32    %290 = mov %288.y
MESA: info:                              @store_const_ir3 (%289) (base=16)
MESA: info:                              @store_const_ir3 (%290) (base=17)
MESA: info:             con 32     %10 = frcp %204.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32    %207 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %295 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %296 = iand %207.xxxx, %295 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %304 = ieq %296, %2 (0x0).xxxx
MESA: info:             con 32x4  %305 = b2i32 %304
MESA: info:             con 32    %306 = mov %305.w
MESA: info:             con 32    %303 = mov %305.z
MESA: info:             con 32    %299 = mov %305.x
MESA: info:             con 32    %300 = mov %305.y
MESA: info:                              @store_const_ir3 (%299) (base=19)
MESA: info:                              @store_const_ir3 (%300) (base=20)
MESA: info:                              @store_const_ir3 (%303) (base=21)
MESA: info:                              @store_const_ir3 (%306) (base=22)
MESA: info:             con 32    %210 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %27 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %28 = fadd %210, %27 (1.000000)
MESA: info:             con 32     %29 = f2i32 %28
MESA: info:                              @store_const_ir3 (%29) (base=23)
MESA: info:                              @store_const_ir3 (%29) (base=24)
MESA: info:                              @store_const_ir3 (%29) (base=25)
MESA: info:                              @store_const_ir3 (%29) (base=26)
MESA: info:             con 32x2  %222 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %287 = fsub %222.y, %222.x
MESA: info:             con 32     %45 = frcp %287
MESA: info:                              @store_const_ir3 (%45) (base=27)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %50 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%50)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %51 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %52 = load_const (0x00000002)
MESA: info:     con 32x2   %57 = @load_const_ir3 (%51 (0x0)) (base=40)
MESA: info:     con 32     %59 = @load_const_ir3 (%51 (0x0)) (base=16)
MESA: info:     con 32     %61 = @load_const_ir3 (%51 (0x0)) (base=17)
MESA: info:     con 32x3   %62 = @load_workgroup_id
MESA: info:     con 32x3   %63 = @load_base_workgroup_id
MESA: info:     con 32x2  %307 = iadd %62.xy, %63.xy
MESA: info:     con 32     %66 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %308 = umul_low %307, %66 (0xa).xx
MESA: info:     con 32x2  %309 = imadsh_mix16 %66 (0xa).xx, %307, %308
MESA: info:     div 32x3   %69 = @load_local_invocation_id
MESA: info:     div 32x2  %310 = iadd %309, %69.xy
MESA: info:     con 32     %72 = load_const (0x00000006)
MESA: info:     div 32x2  %311 = ishl %310, %72 (0x6).xx
MESA: info:     div 32    %312 = mov %311.x
MESA: info:     div 32    %313 = mov %311.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %75 = phi b6: %313, b30: %201
MESA: info:         con 32     %76 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %314 = iadd %311.yx, %76 (0x40).xx
MESA: info:         div 32     %79 = umin %61, %314.x
MESA: info:         div 32     %80 = umin %59, %314.y
MESA: info:         div 1      %81 = uge %75, %79
MESA: info:                          // succs: b8 b9
MESA: info:         if %81 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %82 = phi b10: %312, b29: %199
MESA: info:             div 1      %83 = uge %82, %80
MESA: info:                              // succs: b12 b13
MESA: info:             if %83 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %84 = u2f32 %82
MESA: info:             con 32     %86 = @load_const_ir3 (%51 (0x0)) (base=18)
MESA: info:             div 32     %87 = fmul %84, %86
MESA: info:             con 32x2   %92 = @load_const_ir3 (%51 (0x0)) (base=36)
MESA: info:             con 32     %93 = mov %92.y
MESA: info:             div 32     %94 = fmul %87, %57.x
MESA: info:             div 32     %95 = f2i32 %94
MESA: info:             con 32     %96 = f2i32 %92.x
MESA: info:             div 32x2   %97 = vec2 %95, %96
MESA: info:             con 32     %98 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %99 = (int32)txf %98 (texture_handle), %97 (coord), %93 (lod), 0 (texture)
MESA: info:             con 32    %102 = @load_const_ir3 (%51 (0x0)) (base=32)
MESA: info:             con 32    %105 = @load_const_ir3 (%51 (0x0)) (base=19)
MESA: info:             con 32    %109 = @load_const_ir3 (%51 (0x0)) (base=20)
MESA: info:             con 32    %113 = @load_const_ir3 (%51 (0x0)) (base=21)
MESA: info:             con 32    %117 = @load_const_ir3 (%51 (0x0)) (base=22)
MESA: info:             con 32    %124 = @load_const_ir3 (%51 (0x0)) (base=23)
MESA: info:             div 32    %265 = icsel_eqz %105, %99.x, %124
MESA: info:             con 32    %128 = @load_const_ir3 (%51 (0x0)) (base=24)
MESA: info:             div 32    %264 = icsel_eqz %109, %99.y, %128
MESA: info:             con 32    %131 = @load_const_ir3 (%51 (0x0)) (base=25)
MESA: info:             div 32    %263 = icsel_eqz %113, %99.z, %131
MESA: info:             con 32    %134 = @load_const_ir3 (%51 (0x0)) (base=26)
MESA: info:             div 32    %262 = icsel_eqz %117, %99.w, %134
MESA: info:             con 1     %136 = ine %102, %51 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %136 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %137 = i2f32 %265
MESA: info:                 div 32    %138 = i2f32 %264
MESA: info:                 div 32    %139 = i2f32 %263
MESA: info:                 div 32    %140 = i2f32 %262
MESA: info:                 con 32x2  %143 = @load_const_ir3 (%51 (0x0)) (base=33)
MESA: info:                 div 32    %286 = fsub %137, %143.x
MESA: info:                 div 32    %285 = fsub %138, %143.x
MESA: info:                 div 32    %284 = fsub %139, %143.x
MESA: info:                 div 32    %283 = fsub %140, %143.x
MESA: info:                 con 32    %150 = @load_const_ir3 (%51 (0x0)) (base=27)
MESA: info:                 div 32    %151 = fmul %286, %150
MESA: info:                 div 32    %152 = fmul %285, %150
MESA: info:                 div 32    %153 = fmul %284, %150
MESA: info:                 div 32    %154 = fmul %283, %150
MESA: info:                 div 1     %155 = flt! %151, %51 (0.000000)
MESA: info:                 div 1     %156 = flt! %152, %51 (0.000000)
MESA: info:                 div 1     %157 = flt! %153, %51 (0.000000)
MESA: info:                 div 1     %158 = flt! %154, %51 (0.000000)
MESA: info:                 con 32    %159 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %160 = fmul %151, %159 (256.000000)
MESA: info:                 con 32    %161 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %162 = bcsel %155, %161 (0x44000000), %160
MESA: info:                 div 32    %163 = fmul %152, %159 (256.000000)
MESA: info:                 div 32    %164 = bcsel %156, %161 (0x44000000), %163
MESA: info:                 div 32    %165 = fmul %153, %159 (256.000000)
MESA: info:                 div 32    %166 = bcsel %157, %161 (0x44000000), %165
MESA: info:                 div 32    %167 = fmul %154, %159 (256.000000)
MESA: info:                 div 32    %168 = bcsel %158, %161 (0x44000000), %167
MESA: info:                 div 32    %169 = ffloor %162
MESA: info:                 div 32    %170 = ffloor %164
MESA: info:                 div 32    %171 = ffloor %166
MESA: info:                 div 32    %172 = ffloor %168
MESA: info:                 div 32    %173 = f2u32 %169
MESA: info:                 div 32    %174 = f2u32 %170
MESA: info:                 div 32    %175 = f2u32 %171
MESA: info:                 div 32    %176 = f2u32 %172
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %177 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %178 = phi b15: %176, b16: %177 (0x101)
MESA: info:             div 32    %179 = phi b15: %175, b16: %177 (0x101)
MESA: info:             div 32    %180 = phi b15: %174, b16: %177 (0x101)
MESA: info:             div 32    %181 = phi b15: %173, b16: %177 (0x101)
MESA: info:             con 32    %103 = load_const (0x00000001)
MESA: info:             con 32    %182 = load_const (0x00000100 = 256)
MESA: info:             div 1     %183 = ult %181, %182 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %183 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %184 = ishl %181, %52 (0x2)
MESA: info:                 con 32    %185 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %226 = @ssbo_atomic_ir3 (%185, %184, %103 (0x1), %181) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %187 = ult %180, %182 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %187 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %188 = ishl %180, %52 (0x2)
MESA: info:                 con 32    %189 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %230 = @ssbo_atomic_ir3 (%189, %188, %103 (0x1), %180) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %191 = ult %179, %182 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %191 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %192 = ishl %179, %52 (0x2)
MESA: info:                 con 32    %193 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %234 = @ssbo_atomic_ir3 (%193, %192, %103 (0x1), %179) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %195 = ult %178, %182 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %195 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %196 = ishl %178, %52 (0x2)
MESA: info:                 con 32    %197 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %238 = @ssbo_atomic_ir3 (%197, %196, %103 (0x1), %178) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %199 = iadd %82, %103 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %200 = load_const (0x00000001)
MESA: info:         div 32    %201 = iadd %75, %200 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 734a20bbdb6d5c267afed6a4295043f43ed45826:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l42
MESA: info: getone #l42
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: cov.f32u32 r49.x, r49.x
MESA: info: and.b r50.z, r49.y, 1
MESA: info: and.b r51.x, r49.y, 2
MESA: info: and.b r51.z, r49.y, 4
MESA: info: and.b r51.w, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32s32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.x, r50.z, 0
MESA: info: cmps.s.eq hr54.x, r51.x, 0
MESA: info: cov.u16s32 r50.w, hr53.x
MESA: info: cov.u16s32 r51.y, hr54.x
MESA: info: stc.u32 c[17], r49.x, 1
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[23], r49.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.z, 0
MESA: info: cov.u16s32 r49.x, hr49.z
MESA: info: cov.u16s32 r49.y, hr49.w
MESA: info: stc.u32 c[27], r50.x, 1
MESA: info: stc.u32 c[19], r50.w, 1
MESA: info: stc.u32 c[20], r51.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[21], r49.x, 1
MESA: info: stc.u32 c[22], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l42:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l60:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l169
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l68:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l167
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.f32s32 r2.y, c9.x
MESA: info: mov.f32f32 r2.z, c4.w
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mov.f32f32 r2.w, c5.x
MESA: info: mov.f32f32 r3.x, c5.y
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mov.f32f32 r3.y, c5.z
MESA: info: cmps.s.ne p0.y, c8.x, 0
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.2 r2.y, (0x0)
MESA: info: alias.tex.b32.0 r2.z, r2.y
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.a.base2 (s32)(xyzw)r3.z, r2.x, r40.x, s#0, t#0
MESA: info: (sy)sel.b32 r2.z, c5.w, r2.z, (last)r3.z
MESA: info: sel.b32 r2.w, c6.x, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, c6.y, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, c6.z, r3.y, (last)r4.y
MESA: info: br !p0.y, #l125
MESA: info: cov.s32f32 r2.z, (last)r2.z
MESA: info: cov.s32f32 r2.w, (last)r2.w
MESA: info: cov.s32f32 r3.x, (last)r3.x
MESA: info: cov.s32f32 r3.y, (last)r3.y
MESA: info: add.f r2.z, (last)r2.z, (neg)c8.y
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: mul.f r2.z, (last)r2.z, c6.w
MESA: info: mul.f r2.w, (last)r2.w, c6.w
MESA: info: mul.f r3.x, (last)r3.x, c6.w
MESA: info: mul.f r3.y, (last)r3.y, c6.w
MESA: info: cmps.f.lt r4.z, r2.z, (0.0)
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: mul.f r2.z, (last)r2.z, c12.y
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: sel.b32 r4.z, c12.x, r4.z, (last)r2.z
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: floor.f r4.z, (last)r4.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: cov.f32u32 r4.z, (last)r4.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: jump #l129
MESA: info: l125:
MESA: info: mov.u32u32 r5.y, 257
MESA: info: mov.u32u32 r4.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: l129:
MESA: info: (nop3) cmps.u.lt p0.x, r4.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.z, 0
MESA: info: mov.u32u32 r5.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.z, r4.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.x, 0
MESA: info: mov.u32u32 r6.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.x, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.z, 0
MESA: info: mov.u32u32 r6.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.z, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.x, 0
MESA: info: mov.u32u32 r7.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.x, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l68
MESA: info: l167:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l60
MESA: info: l169:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 50/1: 203 instr, 89 nops, 114 non-nops, 19 mov, 11 cov, 352 dwords
MESA: info: ; CL prog 50/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 50/1: 104 cat0, 30 cat1, 51 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 5 cat7
MESA: info: ; CL prog 50/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 50/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 43 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xac4c352d, 0x84526a6b, 0xcc379d9e, 0xc4b05870, 0x5b7d4fd2, 0xfd297969, 0xae26244d, 0x086a2c63}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %137 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %131 = @load_ubo_vec4 (%4, %137 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %165 = f2u32 %131
MESA: info:             con 32    %166 = mov %165.x
MESA: info:             con 32    %167 = mov %165.y
MESA: info:                              @store_const_ir3 (%166) (base=16)
MESA: info:                              @store_const_ir3 (%167) (base=17)
MESA: info:             con 32      %8 = u2f32 %165.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %131.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %131.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %20 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%20 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%19, %21)
MESA: info:             con 32     %23 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%23)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %26 = @load_local_invocation_id
MESA: info:     con 32x3   %27 = @load_workgroup_id
MESA: info:     con 32x3   %28 = @load_base_workgroup_id
MESA: info:     con 32x2  %168 = iadd %27.xy, %28.xy
MESA: info:     con 32     %31 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %34 = @load_const_ir3 (%31 (0x0)) (base=16)
MESA: info:     con 32     %36 = @load_const_ir3 (%31 (0x0)) (base=17)
MESA: info:     con 32     %37 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %169 = umul_low %168, %37 (0xa).xx
MESA: info:     con 32x2  %170 = imadsh_mix16 %37 (0xa).xx, %168, %169
MESA: info:     div 32x2  %171 = iadd %170, %26.xy
MESA: info:     con 32     %42 = load_const (0x00000006)
MESA: info:     div 32x2  %172 = ishl %171, %42 (0x6).xx
MESA: info:     div 32    %173 = mov %172.x
MESA: info:     div 32    %174 = mov %172.y
MESA: info:     div 32    %156 = umul_low %26.y, %37 (0xa)
MESA: info:     div 32    %158 = imadsh_mix16 %37 (0xa), %26.y, %156
MESA: info:     con 32     %48 = @load_const_ir3 (%31 (0x0)) (base=18)
MESA: info:     con 32    %153 = umul_low %168.y, %48
MESA: info:     con 32    %154 = imadsh_mix16 %168.y, %48, %153
MESA: info:     con 32    %155 = imadsh_mix16 %48, %168.y, %154
MESA: info:     con 32     %50 = iadd %155, %168.x
MESA: info:     con 32     %51 = load_const (0x00000064 = 100)
MESA: info:     con 32    %150 = umul_low %50, %51 (0x64)
MESA: info:     con 32    %152 = imadsh_mix16 %51 (0x64), %50, %150
MESA: info:     div 32    %149 = iadd3 %158, %26.x, %152
MESA: info:     con 32x4  %185 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:     con 32x4  %198 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %184 = phi b6: %185 (0x0, 0x0, 0x0, 0x0), b15: %186
MESA: info:         div 32x4  %197 = phi b6: %198 (0x0, 0x0, 0x0, 0x0), b15: %229
MESA: info:         div 32     %62 = phi b6: %31 (0x0), b15: %228
MESA: info:         div 32     %63 = phi b6: %174, b15: %121
MESA: info:         div 32x3  %206 = mov %184.yzw
MESA: info:         div 32    %178 = mov %184.x
MESA: info:         con 32     %64 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %201 = iadd %172.yx, %64 (0x40).xx
MESA: info:         div 32     %67 = umin %36, %201.x
MESA: info:         div 32     %68 = umin %34, %201.y
MESA: info:         div 1      %69 = uge %63, %67
MESA: info:                          // succs: b8 b9
MESA: info:         if %69 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %70 = phi b10: %173, b14: %119
MESA: info:             div 32     %71 = phi b10: %178, b14: %118
MESA: info:             div 32x3  %205 = phi b10: %206, b14: %221
MESA: info:             div 32x4  %214 = phi b10: %197, b14: %215
MESA: info:             div 32     %79 = phi b10: %62, b14: %141
MESA: info:             div 1      %80 = uge %70, %68
MESA: info:                              // succs: b12 b13
MESA: info:             if %80 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %81 = u2f32 %70
MESA: info:             div 32     %82 = u2f32 %63
MESA: info:             con 32     %84 = @load_const_ir3 (%31 (0x0)) (base=19)
MESA: info:             div 32     %85 = fmul %81, %84
MESA: info:             con 32     %87 = @load_const_ir3 (%31 (0x0)) (base=20)
MESA: info:             div 32     %88 = fmul %82, %87
MESA: info:             con 32x2   %92 = @load_const_ir3 (%31 (0x0)) (base=36)
MESA: info:             con 32     %93 = i2f32 %92.y
MESA: info:             con 32     %94 = load_const (0x00000001)
MESA: info:             con 32     %95 = @bindless_resource_ir3 (%94 (0x1)) (desc_set=2)
MESA: info:             con 32     %96 = @bindless_resource_ir3 (%31 (0x0)) (desc_set=2)
MESA: info:             con 32     %97 = load_const (0x3f000000 = 0.500000)
MESA: info:             con 32     %98 = fadd %92.x, %97 (0.500000)
MESA: info:             div 32x3   %99 = vec3 %85, %88, %98
MESA: info:             div 32x4  %100 = (float32)txl %96 (texture_handle), %95 (sampler_handle), %99 (coord), %93 (lod), 0 (texture), 0 (sampler)
MESA: info:             div 32x3  %217 = fmin %205, %100.xyz
MESA: info:             div 32    %105 = fmin %214.x, %100.w
MESA: info:             div 32x3  %219 = fmax %214.yzw, %100.xyz
MESA: info:             div 32    %109 = fmax %79, %100.w
MESA: info:             div 32x3  %221 = icsel_eqz %71.xxx, %100.xyz, %217
MESA: info:             div 32    %145 = icsel_eqz %71, %100.w, %105
MESA: info:             div 32x3  %223 = icsel_eqz %71.xxx, %100.xyz, %219
MESA: info:             div 32    %141 = icsel_eqz %71, %100.w, %109
MESA: info:             div 32    %118 = iadd %71, %94 (0x1)
MESA: info:             div 32    %119 = iadd %70, %94 (0x1)
MESA: info:             div 32x4  %215 = vec4 %145, %223.x, %223.y, %223.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %231 = phi b12: %71
MESA: info:         div 32x3  %230 = phi b12: %205
MESA: info:         div 32x4  %229 = phi b12: %214
MESA: info:         div 32    %228 = phi b12: %79
MESA: info:         con 32    %120 = load_const (0x00000001)
MESA: info:         div 32    %121 = iadd %63, %120 (0x1)
MESA: info:         div 32x4  %186 = vec4 %231, %230.x, %230.y, %230.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %234 = phi b8: %184
MESA: info:     div 32x4  %233 = phi b8: %197
MESA: info:     div 32    %232 = phi b8: %62
MESA: info:     con 32x2  %224 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %225 = ishl %149.xx, %224 (0x5, 0x3)
MESA: info:     div 32    %226 = mov %225.x
MESA: info:     div 32    %227 = mov %225.y
MESA: info:     con 32    %124 = @bindless_resource_ir3 (%31 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %125 = vec4 %234.y, %234.z, %234.w, %233.x
MESA: info:                      @store_ssbo_ir3 (%125, %124, %226, %227) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %126 = load_const (0x00000010 = 16)
MESA: info:     div 32    %127 = iadd %225.x, %126 (0x10)
MESA: info:     div 32x4  %128 = vec4 %233.y, %233.z, %233.w, %232
MESA: info:     con 32    %135 = load_const (0x00000002)
MESA: info:     div 32    %136 = ushr %127, %135 (0x2)
MESA: info:                      @store_ssbo_ir3 (%128, %124, %127, %136) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 2d06602a29d43586ea71d8f5d26f2a21109209d7:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l109
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l107
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: cov.s32f32 r5.x, c9.y
MESA: info: add.f r5.y, c9.x, (0.5)
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: mul.f r4.w, (last)r4.w, c5.x
MESA: info: (nop3) add.u r4.y, (last)r4.y, 1
MESA: info: nop
MESA: info: alias.tex.b32.1 r5.x, r5.y
MESA: info: alias.tex.b32.0 r40.x, r5.x
MESA: info: saml.a.base2 (f32)(xyzw)r5.z, r4.z, r40.x, s#1, t#0
MESA: info: (sy)min.f r1.z, (last)r1.z, r5.z
MESA: info: min.f r1.w, (last)r1.w, r5.w
MESA: info: min.f r2.x, (last)r2.x, r6.x
MESA: info: min.f r2.y, (last)r2.y, r6.y
MESA: info: max.f r2.z, (last)r2.z, r5.z
MESA: info: max.f r2.w, (last)r2.w, r5.w
MESA: info: max.f r3.x, (last)r3.x, r6.x
MESA: info: max.f r3.y, (last)r3.y, r6.y
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.z
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.w
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r6.x
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.y
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.z
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.w
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r6.x
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.y
MESA: info: add.u r1.y, (last)r1.y, 1
MESA: info: jump #l74
MESA: info: l107:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l109:
MESA: info: (jp)shl.b r6.z, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.z, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 51/1: 119 instr, 27 nops, 92 non-nops, 11 mov, 3 cov, 256 dwords
MESA: info: ; CL prog 51/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 51/1: 32 cat0, 14 cat1, 56 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 4 cat7
MESA: info: ; CL prog 51/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 51/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xcf518466, 0x54269d57, 0x10adcefe, 0x15301179, 0x3962c7a4, 0xcbddeaeb, 0x8435a2ea, 0x929d45a6}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %200 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %277 = f2u32 %200
MESA: info:             con 32    %278 = mov %277.x
MESA: info:             con 32    %279 = mov %277.y
MESA: info:                              @store_const_ir3 (%278) (base=16)
MESA: info:                              @store_const_ir3 (%279) (base=17)
MESA: info:             con 32     %10 = frcp %200.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %200.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32     %13 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32    %203 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %284 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %285 = iand %203.xxxx, %284 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %293 = ieq %285, %2 (0x0).xxxx
MESA: info:             con 32x4  %294 = b2i32 %293
MESA: info:             con 32    %295 = mov %294.w
MESA: info:             con 32    %292 = mov %294.z
MESA: info:             con 32    %288 = mov %294.x
MESA: info:             con 32    %289 = mov %294.y
MESA: info:                              @store_const_ir3 (%288) (base=20)
MESA: info:                              @store_const_ir3 (%289) (base=21)
MESA: info:                              @store_const_ir3 (%292) (base=22)
MESA: info:                              @store_const_ir3 (%295) (base=23)
MESA: info:             con 32x2  %206 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %276 = fsub %206.y, %206.x
MESA: info:             con 32     %30 = frcp %276
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %35 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %37 = @bindless_resource_ir3 (%13 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%35, %37)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %38 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %40 = load_const (0x00000002)
MESA: info:     con 32     %43 = @load_const_ir3 (%38 (0x0)) (base=16)
MESA: info:     con 32     %45 = @load_const_ir3 (%38 (0x0)) (base=17)
MESA: info:     con 32x3   %46 = @load_workgroup_id
MESA: info:     con 32x3   %47 = @load_base_workgroup_id
MESA: info:     con 32x2  %296 = iadd %46.xy, %47.xy
MESA: info:     con 32     %50 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %297 = umul_low %296, %50 (0xa).xx
MESA: info:     con 32x2  %298 = imadsh_mix16 %50 (0xa).xx, %296, %297
MESA: info:     div 32x3   %53 = @load_local_invocation_id
MESA: info:     div 32x2  %299 = iadd %298, %53.xy
MESA: info:     con 32     %56 = load_const (0x00000006)
MESA: info:     div 32x2  %300 = ishl %299, %56 (0x6).xx
MESA: info:     div 32    %301 = mov %300.x
MESA: info:     div 32    %302 = mov %300.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %59 = phi b6: %302, b30: %197
MESA: info:         con 32     %60 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %303 = iadd %300.yx, %60 (0x40).xx
MESA: info:         div 32     %63 = umin %45, %303.x
MESA: info:         div 32     %64 = umin %43, %303.y
MESA: info:         div 1      %65 = uge %59, %63
MESA: info:                          // succs: b8 b9
MESA: info:         if %65 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %66 = phi b10: %301, b29: %195
MESA: info:             div 1      %67 = uge %66, %64
MESA: info:                              // succs: b12 b13
MESA: info:             if %67 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %68 = u2f32 %66
MESA: info:             div 32     %69 = u2f32 %59
MESA: info:             con 32     %71 = @load_const_ir3 (%38 (0x0)) (base=18)
MESA: info:             div 32     %72 = fmul %68, %71
MESA: info:             con 32     %74 = @load_const_ir3 (%38 (0x0)) (base=19)
MESA: info:             div 32     %75 = fmul %69, %74
MESA: info:             con 32x2   %80 = @load_const_ir3 (%38 (0x0)) (base=36)
MESA: info:             con 32     %81 = i2f32 %80.y
MESA: info:             con 32     %82 = load_const (0x00000001)
MESA: info:             con 32     %83 = @bindless_resource_ir3 (%82 (0x1)) (desc_set=2)
MESA: info:             con 32     %84 = @bindless_resource_ir3 (%38 (0x0)) (desc_set=2)
MESA: info:             con 32     %85 = load_const (0x3f000000 = 0.500000)
MESA: info:             con 32     %86 = fadd %80.x, %85 (0.500000)
MESA: info:             div 32x3   %87 = vec3 %72, %75, %86
MESA: info:             div 32x4   %88 = (float32)txl %84 (texture_handle), %83 (sampler_handle), %87 (coord), %81 (lod), 0 (texture), 0 (sampler)
MESA: info:             con 32     %95 = @load_const_ir3 (%38 (0x0)) (base=32)
MESA: info:             con 32     %97 = @load_const_ir3 (%38 (0x0)) (base=20)
MESA: info:             con 32    %101 = @load_const_ir3 (%38 (0x0)) (base=21)
MESA: info:             con 32    %105 = @load_const_ir3 (%38 (0x0)) (base=22)
MESA: info:             con 32    %109 = @load_const_ir3 (%38 (0x0)) (base=23)
MESA: info:             con 32    %114 = @load_const_ir3 (%38 (0x0)) (base=34)
MESA: info:             con 32    %115 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32    %116 = fadd %114, %115 (1.000000)
MESA: info:             div 32    %254 = icsel_eqz %97, %88.x, %116
MESA: info:             div 32    %253 = icsel_eqz %101, %88.y, %116
MESA: info:             div 32    %252 = icsel_eqz %105, %88.z, %116
MESA: info:             div 32    %251 = icsel_eqz %109, %88.w, %116
MESA: info:             con 1     %136 = ine %95, %38 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %136 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 con 32x2  %139 = @load_const_ir3 (%38 (0x0)) (base=33)
MESA: info:                 div 32    %275 = fsub %254, %139.x
MESA: info:                 div 32    %274 = fsub %253, %139.x
MESA: info:                 div 32    %273 = fsub %252, %139.x
MESA: info:                 div 32    %272 = fsub %251, %139.x
MESA: info:                 con 32    %146 = @load_const_ir3 (%38 (0x0)) (base=24)
MESA: info:                 div 32    %147 = fmul %275, %146
MESA: info:                 div 32    %148 = fmul %274, %146
MESA: info:                 div 32    %149 = fmul %273, %146
MESA: info:                 div 32    %150 = fmul %272, %146
MESA: info:                 div 1     %151 = flt! %147, %38 (0.000000)
MESA: info:                 div 1     %152 = flt! %148, %38 (0.000000)
MESA: info:                 div 1     %153 = flt! %149, %38 (0.000000)
MESA: info:                 div 1     %154 = flt! %150, %38 (0.000000)
MESA: info:                 con 32    %155 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %156 = fmul %147, %155 (256.000000)
MESA: info:                 con 32    %157 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %158 = bcsel %151, %157 (0x44000000), %156
MESA: info:                 div 32    %159 = fmul %148, %155 (256.000000)
MESA: info:                 div 32    %160 = bcsel %152, %157 (0x44000000), %159
MESA: info:                 div 32    %161 = fmul %149, %155 (256.000000)
MESA: info:                 div 32    %162 = bcsel %153, %157 (0x44000000), %161
MESA: info:                 div 32    %163 = fmul %150, %155 (256.000000)
MESA: info:                 div 32    %164 = bcsel %154, %157 (0x44000000), %163
MESA: info:                 div 32    %165 = ffloor %158
MESA: info:                 div 32    %166 = ffloor %160
MESA: info:                 div 32    %167 = ffloor %162
MESA: info:                 div 32    %168 = ffloor %164
MESA: info:                 div 32    %169 = f2u32 %165
MESA: info:                 div 32    %170 = f2u32 %166
MESA: info:                 div 32    %171 = f2u32 %167
MESA: info:                 div 32    %172 = f2u32 %168
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %173 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %174 = phi b15: %172, b16: %173 (0x101)
MESA: info:             div 32    %175 = phi b15: %171, b16: %173 (0x101)
MESA: info:             div 32    %176 = phi b15: %170, b16: %173 (0x101)
MESA: info:             div 32    %177 = phi b15: %169, b16: %173 (0x101)
MESA: info:             con 32    %178 = load_const (0x00000100 = 256)
MESA: info:             div 1     %179 = ult %177, %178 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %179 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %180 = ishl %177, %40 (0x2)
MESA: info:                 con 32    %181 = @bindless_resource_ir3 (%38 (0x0)) (desc_set=3)
MESA: info:                 div 32    %210 = @ssbo_atomic_ir3 (%181, %180, %82 (0x1), %177) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %183 = ult %176, %178 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %183 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %184 = ishl %176, %40 (0x2)
MESA: info:                 con 32    %185 = @bindless_resource_ir3 (%38 (0x0)) (desc_set=3)
MESA: info:                 div 32    %214 = @ssbo_atomic_ir3 (%185, %184, %82 (0x1), %176) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %187 = ult %175, %178 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %187 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %188 = ishl %175, %40 (0x2)
MESA: info:                 con 32    %189 = @bindless_resource_ir3 (%38 (0x0)) (desc_set=3)
MESA: info:                 div 32    %218 = @ssbo_atomic_ir3 (%189, %188, %82 (0x1), %175) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %191 = ult %174, %178 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %191 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %192 = ishl %174, %40 (0x2)
MESA: info:                 con 32    %193 = @bindless_resource_ir3 (%38 (0x0)) (desc_set=3)
MESA: info:                 div 32    %222 = @ssbo_atomic_ir3 (%193, %192, %82 (0x1), %174) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %195 = iadd %66, %82 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %196 = load_const (0x00000001)
MESA: info:         div 32    %197 = iadd %59, %196 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 574e32ca09139a9a9dcbf1541ed1c31779464b37:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l36
MESA: info: getone #l36
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.z, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: (sy)(ss)cov.f32u32 r50.x, r48.w
MESA: info: cov.f32u32 r50.y, r49.x
MESA: info: add.f r49.w, r49.w, (neg)r49.z
MESA: info: and.b r50.z, r49.y, 1
MESA: info: and.b r51.x, r49.y, 2
MESA: info: and.b r51.z, r49.y, 4
MESA: info: and.b r51.w, r49.y, 8
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r49.w, r49.w
MESA: info: cmps.s.eq hr53.x, r50.z, 0
MESA: info: cmps.s.eq hr54.x, r51.x, 0
MESA: info: cov.u16s32 r50.w, hr53.x
MESA: info: cov.u16s32 r51.y, hr54.x
MESA: info: stc.u32 c[16], r50.x, 1
MESA: info: stc.u32 c[17], r50.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.z, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[24], r49.w, 1
MESA: info: stc.u32 c[20], r50.w, 1
MESA: info: stc.u32 c[21], r51.y, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l36:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l54:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l159
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l62:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l157
MESA: info: add.f r50.x, c8.z, (1.0)
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: cov.s32f32 r2.z, c9.y
MESA: info: add.f r2.w, c9.x, (0.5)
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mul.f r2.y, (last)r2.y, c4.w
MESA: info: mov.f32f32 r4.x, c5.x
MESA: info: mov.f32f32 r4.y, c5.y
MESA: info: mov.f32f32 r4.z, c5.z
MESA: info: mov.f32f32 r4.w, c5.w
MESA: info: cmps.s.ne p0.y, c8.x, 0
MESA: info: alias.tex.b32.1 r2.z, r2.w
MESA: info: alias.tex.b32.0 r40.x, r2.z
MESA: info: saml.a.base2 (f32)(xyzw)r3.x, r2.x, r40.x, s#1, t#0
MESA: info: (sy)(ss)sel.b32 r4.x, r50.x, r4.x, (last)r3.x
MESA: info: sel.b32 r4.y, r50.x, r4.y, (last)r3.y
MESA: info: sel.b32 r4.z, r50.x, r4.z, (last)r3.z
MESA: info: (nop1) sel.b32 r4.w, r50.x, r4.w, (last)r3.w
MESA: info: br !p0.y, #l115
MESA: info: add.f r4.x, (last)r4.x, (neg)c8.y
MESA: info: add.f r4.y, (last)r4.y, (neg)c8.y
MESA: info: add.f r4.z, (last)r4.z, (neg)c8.y
MESA: info: add.f r4.w, (last)r4.w, (neg)c8.y
MESA: info: mul.f r4.x, (last)r4.x, c6.x
MESA: info: mul.f r4.y, (last)r4.y, c6.x
MESA: info: mul.f r4.z, (last)r4.z, c6.x
MESA: info: mul.f r4.w, (last)r4.w, c6.x
MESA: info: cmps.f.lt r5.x, r4.x, (0.0)
MESA: info: cmps.f.lt r5.y, r4.y, (0.0)
MESA: info: cmps.f.lt r5.z, r4.z, (0.0)
MESA: info: cmps.f.lt r5.w, r4.w, (0.0)
MESA: info: mul.f r4.x, (last)r4.x, c12.y
MESA: info: mul.f r4.y, (last)r4.y, c12.y
MESA: info: mul.f r4.z, (last)r4.z, c12.y
MESA: info: mul.f r4.w, (last)r4.w, c12.y
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r4.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r4.y
MESA: info: sel.b32 r5.z, c12.x, r5.z, (last)r4.z
MESA: info: sel.b32 r5.w, c12.x, r5.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: floor.f r5.z, (last)r5.z
MESA: info: floor.f r5.w, (last)r5.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: cov.f32u32 r5.z, (last)r5.z
MESA: info: cov.f32u32 r5.w, (last)r5.w
MESA: info: jump #l119
MESA: info: l115:
MESA: info: mov.u32u32 r5.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r5.y, 257
MESA: info: mov.u32u32 r5.z, 257
MESA: info: l119:
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.x, 0
MESA: info: mov.u32u32 r6.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.x, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.z, 0
MESA: info: mov.u32u32 r6.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.z, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.x, 0
MESA: info: mov.u32u32 r7.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.x, r5.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.z, 0
MESA: info: mov.u32u32 r7.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.z, r5.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l62
MESA: info: l157:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l54
MESA: info: l159:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 52/1: 196 instr, 85 nops, 111 non-nops, 19 mov, 7 cov, 352 dwords
MESA: info: ; CL prog 52/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 52/1: 100 cat0, 26 cat1, 53 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 4 cat7
MESA: info: ; CL prog 52/1: 5 sstall, 3 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 52/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 38 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x420420a2, 0x69724a98, 0x5d814f05, 0x236bfee0, 0x4564e76f, 0xf53267cd, 0x15d5a34b, 0xc4362a25}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %141 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %135 = @load_ubo_vec4 (%4, %141 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %171 = f2u32 %135
MESA: info:             con 32    %172 = mov %171.x
MESA: info:             con 32    %173 = mov %171.y
MESA: info:                              @store_const_ir3 (%172) (base=16)
MESA: info:                              @store_const_ir3 (%173) (base=17)
MESA: info:             con 32      %8 = u2f32 %171.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %135.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %135.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%19)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%21)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %24 = @load_local_invocation_id
MESA: info:     con 32x3   %25 = @load_workgroup_id
MESA: info:     con 32x3   %26 = @load_base_workgroup_id
MESA: info:     con 32x2  %174 = iadd %25.xy, %26.xy
MESA: info:     con 32     %29 = load_const (0x00000000)
MESA: info:     con 32x2   %34 = @load_const_ir3 (%29 (0x0)) (base=40)
MESA: info:     con 32     %36 = @load_const_ir3 (%29 (0x0)) (base=16)
MESA: info:     con 32     %38 = @load_const_ir3 (%29 (0x0)) (base=17)
MESA: info:     con 32     %39 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %175 = umul_low %174, %39 (0xa).xx
MESA: info:     con 32x2  %176 = imadsh_mix16 %39 (0xa).xx, %174, %175
MESA: info:     div 32x2  %177 = iadd %176, %24.xy
MESA: info:     con 32     %44 = load_const (0x00000006)
MESA: info:     div 32x2  %178 = ishl %177, %44 (0x6).xx
MESA: info:     div 32    %179 = mov %178.x
MESA: info:     div 32    %180 = mov %178.y
MESA: info:     div 32    %162 = umul_low %24.y, %39 (0xa)
MESA: info:     div 32    %164 = imadsh_mix16 %39 (0xa), %24.y, %162
MESA: info:     con 32     %50 = @load_const_ir3 (%29 (0x0)) (base=18)
MESA: info:     con 32    %159 = umul_low %174.y, %50
MESA: info:     con 32    %160 = imadsh_mix16 %174.y, %50, %159
MESA: info:     con 32    %161 = imadsh_mix16 %50, %174.y, %160
MESA: info:     con 32     %52 = iadd %161, %174.x
MESA: info:     con 32     %53 = load_const (0x00000064 = 100)
MESA: info:     con 32    %156 = umul_low %52, %53 (0x64)
MESA: info:     con 32    %158 = imadsh_mix16 %53 (0x64), %52, %156
MESA: info:     div 32    %155 = iadd3 %164, %24.x, %158
MESA: info:     con 32x4  %191 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %204 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %190 = phi b6: %191 (0x0, 0x0, 0x0, 0x0), b15: %192
MESA: info:         div 32x4  %203 = phi b6: %204 (0x0, 0x0, 0x0, 0x0), b15: %235
MESA: info:         div 32     %64 = phi b6: %29 (0x0), b15: %234
MESA: info:         div 32     %65 = phi b6: %180, b15: %125
MESA: info:         div 32x3  %212 = mov %190.yzw
MESA: info:         div 32    %184 = mov %190.x
MESA: info:         con 32     %66 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %207 = iadd %178.yx, %66 (0x40).xx
MESA: info:         div 32     %69 = umin %38, %207.x
MESA: info:         div 32     %70 = umin %36, %207.y
MESA: info:         div 1      %71 = uge %65, %69
MESA: info:                          // succs: b8 b9
MESA: info:         if %71 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %72 = phi b10: %179, b14: %123
MESA: info:             div 32     %73 = phi b10: %184, b14: %122
MESA: info:             div 32x3  %211 = phi b10: %212, b14: %227
MESA: info:             div 32x4  %220 = phi b10: %203, b14: %221
MESA: info:             div 32     %81 = phi b10: %64, b14: %147
MESA: info:             div 1      %82 = uge %72, %70
MESA: info:                              // succs: b12 b13
MESA: info:             if %82 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %83 = u2f32 %72
MESA: info:             div 32     %84 = u2f32 %65
MESA: info:             con 32     %86 = @load_const_ir3 (%29 (0x0)) (base=19)
MESA: info:             div 32     %87 = fmul %83, %86
MESA: info:             con 32     %89 = @load_const_ir3 (%29 (0x0)) (base=20)
MESA: info:             div 32     %90 = fmul %84, %89
MESA: info:             con 32x2   %94 = @load_const_ir3 (%29 (0x0)) (base=36)
MESA: info:             con 32     %95 = mov %94.y
MESA: info:             div 32     %96 = fmul %87, %34.x
MESA: info:             div 32     %97 = fmul %90, %34.y
MESA: info:             div 32     %98 = f2i32 %96
MESA: info:             div 32     %99 = f2i32 %97
MESA: info:             con 32    %100 = f2i32 %94.x
MESA: info:             div 32x3  %101 = vec3 %98, %99, %100
MESA: info:             con 32    %102 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %103 = (uint32)txf %102 (texture_handle), %101 (coord), %95 (lod), 0 (texture)
MESA: info:             div 32x3  %223 = umin %211, %103.xyz
MESA: info:             div 32    %108 = umin %220.x, %103.w
MESA: info:             div 32x3  %225 = umax %220.yzw, %103.xyz
MESA: info:             div 32    %112 = umax %81, %103.w
MESA: info:             div 32x3  %227 = icsel_eqz %73.xxx, %103.xyz, %223
MESA: info:             div 32    %151 = icsel_eqz %73, %103.w, %108
MESA: info:             div 32x3  %229 = icsel_eqz %73.xxx, %103.xyz, %225
MESA: info:             div 32    %147 = icsel_eqz %73, %103.w, %112
MESA: info:             con 32    %121 = load_const (0x00000001)
MESA: info:             div 32    %122 = iadd %73, %121 (0x1)
MESA: info:             div 32    %123 = iadd %72, %121 (0x1)
MESA: info:             div 32x4  %221 = vec4 %151, %229.x, %229.y, %229.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %237 = phi b12: %73
MESA: info:         div 32x3  %236 = phi b12: %211
MESA: info:         div 32x4  %235 = phi b12: %220
MESA: info:         div 32    %234 = phi b12: %81
MESA: info:         con 32    %124 = load_const (0x00000001)
MESA: info:         div 32    %125 = iadd %65, %124 (0x1)
MESA: info:         div 32x4  %192 = vec4 %237, %236.x, %236.y, %236.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %240 = phi b8: %190
MESA: info:     div 32x4  %239 = phi b8: %203
MESA: info:     div 32    %238 = phi b8: %64
MESA: info:     con 32     %32 = load_const (0x00000002)
MESA: info:     con 32x2  %230 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %231 = ishl %155.xx, %230 (0x5, 0x3)
MESA: info:     div 32    %232 = mov %231.x
MESA: info:     div 32    %233 = mov %231.y
MESA: info:     con 32    %128 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %129 = vec4 %240.y, %240.z, %240.w, %239.x
MESA: info:                      @store_ssbo_ir3 (%129, %128, %232, %233) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %130 = load_const (0x00000010 = 16)
MESA: info:     div 32    %131 = iadd %231.x, %130 (0x10)
MESA: info:     div 32x4  %132 = vec4 %239.y, %239.z, %239.w, %238
MESA: info:     div 32    %140 = ushr %131, %32 (0x2)
MESA: info:                      @store_ssbo_ir3 (%132, %128, %131, %140) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 3cd883ff3d5794879a9f0cd6ca0d196d7ed865ea:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l112
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l110
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: cov.f32s32 r5.x, c9.x
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: mul.f r4.w, (last)r4.w, c5.x
MESA: info: add.u r5.y, r1.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: mul.f r4.w, (last)r4.w, c10.y
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.a.base2 (u32)(xyzw)r5.z, r4.z, r40.x, s#0, t#0
MESA: info: (sy)min.u r1.z, (last)r1.z, r5.z
MESA: info: min.u r1.w, (last)r1.w, r5.w
MESA: info: min.u r2.x, (last)r2.x, r6.x
MESA: info: min.u r2.y, (last)r2.y, r6.y
MESA: info: max.u r2.z, (last)r2.z, r5.z
MESA: info: max.u r2.w, (last)r2.w, r5.w
MESA: info: max.u r3.x, (last)r3.x, r6.x
MESA: info: max.u r3.y, (last)r3.y, r6.y
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.z
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.w
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r6.x
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.y
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.z
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.w
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r6.x
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.y
MESA: info: mov.u32u32 r1.y, (last)r5.y
MESA: info: jump #l74
MESA: info: l110:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l112:
MESA: info: (jp)shl.b r6.z, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.z, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 53/1: 123 instr, 28 nops, 95 non-nops, 12 mov, 5 cov, 256 dwords
MESA: info: ; CL prog 53/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 53/1: 33 cat0, 17 cat1, 57 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 3 cat7
MESA: info: ; CL prog 53/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 53/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x5c0176f5, 0x60af879e, 0xc3eaa2f2, 0x0447393a, 0xaf09e050, 0xf30df2e0, 0x73f9a783, 0xc8fb62e4}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %211 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %295 = f2u32 %211
MESA: info:             con 32    %296 = mov %295.x
MESA: info:             con 32    %297 = mov %295.y
MESA: info:                              @store_const_ir3 (%296) (base=16)
MESA: info:                              @store_const_ir3 (%297) (base=17)
MESA: info:             con 32     %10 = frcp %211.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %211.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %214 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %302 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %303 = iand %214.xxxx, %302 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %311 = ieq %303, %2 (0x0).xxxx
MESA: info:             con 32x4  %312 = b2i32 %311
MESA: info:             con 32    %313 = mov %312.w
MESA: info:             con 32    %310 = mov %312.z
MESA: info:             con 32    %306 = mov %312.x
MESA: info:             con 32    %307 = mov %312.y
MESA: info:                              @store_const_ir3 (%306) (base=20)
MESA: info:                              @store_const_ir3 (%307) (base=21)
MESA: info:                              @store_const_ir3 (%310) (base=22)
MESA: info:                              @store_const_ir3 (%313) (base=23)
MESA: info:             con 32    %217 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %28 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %29 = fadd %217, %28 (1.000000)
MESA: info:             con 32     %30 = f2u32 %29
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @store_const_ir3 (%30) (base=25)
MESA: info:                              @store_const_ir3 (%30) (base=26)
MESA: info:                              @store_const_ir3 (%30) (base=27)
MESA: info:             con 32x2  %229 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %294 = fsub %229.y, %229.x
MESA: info:             con 32     %46 = frcp %294
MESA: info:                              @store_const_ir3 (%46) (base=28)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %51 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%51)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %52 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %53 = load_const (0x00000002)
MESA: info:     con 32x2   %58 = @load_const_ir3 (%52 (0x0)) (base=40)
MESA: info:     con 32     %60 = @load_const_ir3 (%52 (0x0)) (base=16)
MESA: info:     con 32     %62 = @load_const_ir3 (%52 (0x0)) (base=17)
MESA: info:     con 32x3   %63 = @load_workgroup_id
MESA: info:     con 32x3   %64 = @load_base_workgroup_id
MESA: info:     con 32x2  %314 = iadd %63.xy, %64.xy
MESA: info:     con 32     %67 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %315 = umul_low %314, %67 (0xa).xx
MESA: info:     con 32x2  %316 = imadsh_mix16 %67 (0xa).xx, %314, %315
MESA: info:     div 32x3   %70 = @load_local_invocation_id
MESA: info:     div 32x2  %317 = iadd %316, %70.xy
MESA: info:     con 32     %73 = load_const (0x00000006)
MESA: info:     div 32x2  %318 = ishl %317, %73 (0x6).xx
MESA: info:     div 32    %319 = mov %318.x
MESA: info:     div 32    %320 = mov %318.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %76 = phi b6: %320, b30: %208
MESA: info:         con 32     %77 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %321 = iadd %318.yx, %77 (0x40).xx
MESA: info:         div 32     %80 = umin %62, %321.x
MESA: info:         div 32     %81 = umin %60, %321.y
MESA: info:         div 1      %82 = uge %76, %80
MESA: info:                          // succs: b8 b9
MESA: info:         if %82 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %83 = phi b10: %319, b29: %206
MESA: info:             div 1      %84 = uge %83, %81
MESA: info:                              // succs: b12 b13
MESA: info:             if %84 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %85 = u2f32 %83
MESA: info:             div 32     %86 = u2f32 %76
MESA: info:             con 32     %88 = @load_const_ir3 (%52 (0x0)) (base=18)
MESA: info:             div 32     %89 = fmul %85, %88
MESA: info:             con 32     %91 = @load_const_ir3 (%52 (0x0)) (base=19)
MESA: info:             div 32     %92 = fmul %86, %91
MESA: info:             con 32x2   %97 = @load_const_ir3 (%52 (0x0)) (base=36)
MESA: info:             con 32     %98 = mov %97.y
MESA: info:             div 32     %99 = fmul %89, %58.x
MESA: info:             div 32    %100 = fmul %92, %58.y
MESA: info:             div 32    %101 = f2i32 %99
MESA: info:             div 32    %102 = f2i32 %100
MESA: info:             con 32    %103 = f2i32 %97.x
MESA: info:             div 32x3  %104 = vec3 %101, %102, %103
MESA: info:             con 32    %105 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %106 = (uint32)txf %105 (texture_handle), %104 (coord), %98 (lod), 0 (texture)
MESA: info:             con 32    %109 = @load_const_ir3 (%52 (0x0)) (base=32)
MESA: info:             con 32    %112 = @load_const_ir3 (%52 (0x0)) (base=20)
MESA: info:             con 32    %116 = @load_const_ir3 (%52 (0x0)) (base=21)
MESA: info:             con 32    %120 = @load_const_ir3 (%52 (0x0)) (base=22)
MESA: info:             con 32    %124 = @load_const_ir3 (%52 (0x0)) (base=23)
MESA: info:             con 32    %131 = @load_const_ir3 (%52 (0x0)) (base=24)
MESA: info:             div 32    %272 = icsel_eqz %112, %106.x, %131
MESA: info:             con 32    %135 = @load_const_ir3 (%52 (0x0)) (base=25)
MESA: info:             div 32    %271 = icsel_eqz %116, %106.y, %135
MESA: info:             con 32    %138 = @load_const_ir3 (%52 (0x0)) (base=26)
MESA: info:             div 32    %270 = icsel_eqz %120, %106.z, %138
MESA: info:             con 32    %141 = @load_const_ir3 (%52 (0x0)) (base=27)
MESA: info:             div 32    %269 = icsel_eqz %124, %106.w, %141
MESA: info:             con 1     %143 = ine %109, %52 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %143 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %144 = u2f32 %272
MESA: info:                 div 32    %145 = u2f32 %271
MESA: info:                 div 32    %146 = u2f32 %270
MESA: info:                 div 32    %147 = u2f32 %269
MESA: info:                 con 32x2  %150 = @load_const_ir3 (%52 (0x0)) (base=33)
MESA: info:                 div 32    %293 = fsub %144, %150.x
MESA: info:                 div 32    %292 = fsub %145, %150.x
MESA: info:                 div 32    %291 = fsub %146, %150.x
MESA: info:                 div 32    %290 = fsub %147, %150.x
MESA: info:                 con 32    %157 = @load_const_ir3 (%52 (0x0)) (base=28)
MESA: info:                 div 32    %158 = fmul %293, %157
MESA: info:                 div 32    %159 = fmul %292, %157
MESA: info:                 div 32    %160 = fmul %291, %157
MESA: info:                 div 32    %161 = fmul %290, %157
MESA: info:                 div 1     %162 = flt! %158, %52 (0.000000)
MESA: info:                 div 1     %163 = flt! %159, %52 (0.000000)
MESA: info:                 div 1     %164 = flt! %160, %52 (0.000000)
MESA: info:                 div 1     %165 = flt! %161, %52 (0.000000)
MESA: info:                 con 32    %166 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %167 = fmul %158, %166 (256.000000)
MESA: info:                 con 32    %168 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %169 = bcsel %162, %168 (0x44000000), %167
MESA: info:                 div 32    %170 = fmul %159, %166 (256.000000)
MESA: info:                 div 32    %171 = bcsel %163, %168 (0x44000000), %170
MESA: info:                 div 32    %172 = fmul %160, %166 (256.000000)
MESA: info:                 div 32    %173 = bcsel %164, %168 (0x44000000), %172
MESA: info:                 div 32    %174 = fmul %161, %166 (256.000000)
MESA: info:                 div 32    %175 = bcsel %165, %168 (0x44000000), %174
MESA: info:                 div 32    %176 = ffloor %169
MESA: info:                 div 32    %177 = ffloor %171
MESA: info:                 div 32    %178 = ffloor %173
MESA: info:                 div 32    %179 = ffloor %175
MESA: info:                 div 32    %180 = f2u32 %176
MESA: info:                 div 32    %181 = f2u32 %177
MESA: info:                 div 32    %182 = f2u32 %178
MESA: info:                 div 32    %183 = f2u32 %179
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %184 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %185 = phi b15: %183, b16: %184 (0x101)
MESA: info:             div 32    %186 = phi b15: %182, b16: %184 (0x101)
MESA: info:             div 32    %187 = phi b15: %181, b16: %184 (0x101)
MESA: info:             div 32    %188 = phi b15: %180, b16: %184 (0x101)
MESA: info:             con 32    %110 = load_const (0x00000001)
MESA: info:             con 32    %189 = load_const (0x00000100 = 256)
MESA: info:             div 1     %190 = ult %188, %189 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %190 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %191 = ishl %188, %53 (0x2)
MESA: info:                 con 32    %192 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %233 = @ssbo_atomic_ir3 (%192, %191, %110 (0x1), %188) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %194 = ult %187, %189 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %194 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %195 = ishl %187, %53 (0x2)
MESA: info:                 con 32    %196 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %237 = @ssbo_atomic_ir3 (%196, %195, %110 (0x1), %187) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %198 = ult %186, %189 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %198 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %199 = ishl %186, %53 (0x2)
MESA: info:                 con 32    %200 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %241 = @ssbo_atomic_ir3 (%200, %199, %110 (0x1), %186) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %202 = ult %185, %189 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %202 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %203 = ishl %185, %53 (0x2)
MESA: info:                 con 32    %204 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %245 = @ssbo_atomic_ir3 (%204, %203, %110 (0x1), %185) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %206 = iadd %83, %110 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %207 = load_const (0x00000001)
MESA: info:         div 32    %208 = iadd %76, %207 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 b0409048c6b4e8f7593022f16032c3ca456466e3:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l43
MESA: info: getone #l43
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: cov.f32u32 r50.z, r49.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: and.b r50.w, r49.y, 1
MESA: info: and.b r51.y, r49.y, 2
MESA: info: and.b r51.w, r49.y, 4
MESA: info: and.b r52.x, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.z, r50.w, 0
MESA: info: cmps.s.eq hr54.z, r51.y, 0
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: cov.u16s32 r51.z, hr54.z
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[17], r50.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: stc.u32 c[27], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.w, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[28], r50.x, 1
MESA: info: stc.u32 c[20], r51.x, 1
MESA: info: stc.u32 c[21], r51.z, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l43:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l61:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l171
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l69:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l169
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: cov.f32s32 r2.z, c9.x
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mul.f r2.y, (last)r2.y, c4.w
MESA: info: mov.f32f32 r2.w, c5.x
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: mov.f32f32 r3.x, c5.y
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: mov.f32f32 r3.y, c5.z
MESA: info: mov.f32f32 r3.z, c5.w
MESA: info: (nop2) cmps.s.ne p0.y, c8.x, 0
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.a.base2 (u32)(xyzw)r3.w, r2.x, r40.x, s#0, t#0
MESA: info: (sy)sel.b32 r2.w, c6.x, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, c6.y, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, c6.z, r3.y, (last)r4.y
MESA: info: sel.b32 r3.z, c6.w, r3.z, (last)r4.z
MESA: info: br !p0.y, #l127
MESA: info: cov.u32f32 r2.w, (last)r2.w
MESA: info: cov.u32f32 r3.x, (last)r3.x
MESA: info: cov.u32f32 r3.y, (last)r3.y
MESA: info: cov.u32f32 r3.z, (last)r3.z
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: add.f r3.z, (last)r3.z, (neg)c8.y
MESA: info: mul.f r2.w, (last)r2.w, c7.x
MESA: info: mul.f r3.x, (last)r3.x, c7.x
MESA: info: mul.f r3.y, (last)r3.y, c7.x
MESA: info: mul.f r3.z, (last)r3.z, c7.x
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: cmps.f.lt r5.z, r3.z, (0.0)
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: mul.f r3.z, (last)r3.z, c12.y
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: sel.b32 r5.z, c12.x, r5.z, (last)r3.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: floor.f r5.z, (last)r5.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: cov.f32u32 r5.z, (last)r5.z
MESA: info: jump #l131
MESA: info: l127:
MESA: info: mov.u32u32 r5.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r5.y, 257
MESA: info: l131:
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r6.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.w, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.y, 0
MESA: info: mov.u32u32 r6.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.y, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.w, 0
MESA: info: mov.u32u32 r7.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.w, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.y, 0
MESA: info: mov.u32u32 r7.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.y, r5.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l69
MESA: info: l169:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l61
MESA: info: l171:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 54/1: 202 instr, 86 nops, 116 non-nops, 19 mov, 13 cov, 356 dwords
MESA: info: ; CL prog 54/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 54/1: 101 cat0, 32 cat1, 53 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 3 cat7
MESA: info: ; CL prog 54/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 54/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 45 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x0e956820, 0x6221b435, 0xd08ff50e, 0x3da67e72, 0xbca597f0, 0xb444ba90, 0x5cc2a1cd, 0x7b0db9b3}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %141 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %135 = @load_ubo_vec4 (%4, %141 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %171 = f2u32 %135
MESA: info:             con 32    %172 = mov %171.x
MESA: info:             con 32    %173 = mov %171.y
MESA: info:                              @store_const_ir3 (%172) (base=16)
MESA: info:                              @store_const_ir3 (%173) (base=17)
MESA: info:             con 32      %8 = u2f32 %171.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %135.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %135.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%19)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%21)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %24 = @load_local_invocation_id
MESA: info:     con 32x3   %25 = @load_workgroup_id
MESA: info:     con 32x3   %26 = @load_base_workgroup_id
MESA: info:     con 32x2  %174 = iadd %25.xy, %26.xy
MESA: info:     con 32     %29 = load_const (0x00000000)
MESA: info:     con 32x2   %34 = @load_const_ir3 (%29 (0x0)) (base=40)
MESA: info:     con 32     %36 = @load_const_ir3 (%29 (0x0)) (base=16)
MESA: info:     con 32     %38 = @load_const_ir3 (%29 (0x0)) (base=17)
MESA: info:     con 32     %39 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %175 = umul_low %174, %39 (0xa).xx
MESA: info:     con 32x2  %176 = imadsh_mix16 %39 (0xa).xx, %174, %175
MESA: info:     div 32x2  %177 = iadd %176, %24.xy
MESA: info:     con 32     %44 = load_const (0x00000006)
MESA: info:     div 32x2  %178 = ishl %177, %44 (0x6).xx
MESA: info:     div 32    %179 = mov %178.x
MESA: info:     div 32    %180 = mov %178.y
MESA: info:     div 32    %162 = umul_low %24.y, %39 (0xa)
MESA: info:     div 32    %164 = imadsh_mix16 %39 (0xa), %24.y, %162
MESA: info:     con 32     %50 = @load_const_ir3 (%29 (0x0)) (base=18)
MESA: info:     con 32    %159 = umul_low %174.y, %50
MESA: info:     con 32    %160 = imadsh_mix16 %174.y, %50, %159
MESA: info:     con 32    %161 = imadsh_mix16 %50, %174.y, %160
MESA: info:     con 32     %52 = iadd %161, %174.x
MESA: info:     con 32     %53 = load_const (0x00000064 = 100)
MESA: info:     con 32    %156 = umul_low %52, %53 (0x64)
MESA: info:     con 32    %158 = imadsh_mix16 %53 (0x64), %52, %156
MESA: info:     div 32    %155 = iadd3 %164, %24.x, %158
MESA: info:     con 32x4  %191 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %204 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %190 = phi b6: %191 (0x0, 0x0, 0x0, 0x0), b15: %192
MESA: info:         div 32x4  %203 = phi b6: %204 (0x0, 0x0, 0x0, 0x0), b15: %235
MESA: info:         div 32     %64 = phi b6: %29 (0x0), b15: %234
MESA: info:         div 32     %65 = phi b6: %180, b15: %125
MESA: info:         div 32x3  %212 = mov %190.yzw
MESA: info:         div 32    %184 = mov %190.x
MESA: info:         con 32     %66 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %207 = iadd %178.yx, %66 (0x40).xx
MESA: info:         div 32     %69 = umin %38, %207.x
MESA: info:         div 32     %70 = umin %36, %207.y
MESA: info:         div 1      %71 = uge %65, %69
MESA: info:                          // succs: b8 b9
MESA: info:         if %71 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %72 = phi b10: %179, b14: %123
MESA: info:             div 32     %73 = phi b10: %184, b14: %122
MESA: info:             div 32x3  %211 = phi b10: %212, b14: %227
MESA: info:             div 32x4  %220 = phi b10: %203, b14: %221
MESA: info:             div 32     %81 = phi b10: %64, b14: %147
MESA: info:             div 1      %82 = uge %72, %70
MESA: info:                              // succs: b12 b13
MESA: info:             if %82 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %83 = u2f32 %72
MESA: info:             div 32     %84 = u2f32 %65
MESA: info:             con 32     %86 = @load_const_ir3 (%29 (0x0)) (base=19)
MESA: info:             div 32     %87 = fmul %83, %86
MESA: info:             con 32     %89 = @load_const_ir3 (%29 (0x0)) (base=20)
MESA: info:             div 32     %90 = fmul %84, %89
MESA: info:             con 32x2   %94 = @load_const_ir3 (%29 (0x0)) (base=36)
MESA: info:             con 32     %95 = mov %94.y
MESA: info:             div 32     %96 = fmul %87, %34.x
MESA: info:             div 32     %97 = fmul %90, %34.y
MESA: info:             div 32     %98 = f2i32 %96
MESA: info:             div 32     %99 = f2i32 %97
MESA: info:             con 32    %100 = f2i32 %94.x
MESA: info:             div 32x3  %101 = vec3 %98, %99, %100
MESA: info:             con 32    %102 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %103 = (int32)txf %102 (texture_handle), %101 (coord), %95 (lod), 0 (texture)
MESA: info:             div 32x3  %223 = imin %211, %103.xyz
MESA: info:             div 32    %108 = imin %220.x, %103.w
MESA: info:             div 32x3  %225 = imax %220.yzw, %103.xyz
MESA: info:             div 32    %112 = imax %81, %103.w
MESA: info:             div 32x3  %227 = icsel_eqz %73.xxx, %103.xyz, %223
MESA: info:             div 32    %151 = icsel_eqz %73, %103.w, %108
MESA: info:             div 32x3  %229 = icsel_eqz %73.xxx, %103.xyz, %225
MESA: info:             div 32    %147 = icsel_eqz %73, %103.w, %112
MESA: info:             con 32    %121 = load_const (0x00000001)
MESA: info:             div 32    %122 = iadd %73, %121 (0x1)
MESA: info:             div 32    %123 = iadd %72, %121 (0x1)
MESA: info:             div 32x4  %221 = vec4 %151, %229.x, %229.y, %229.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %237 = phi b12: %73
MESA: info:         div 32x3  %236 = phi b12: %211
MESA: info:         div 32x4  %235 = phi b12: %220
MESA: info:         div 32    %234 = phi b12: %81
MESA: info:         con 32    %124 = load_const (0x00000001)
MESA: info:         div 32    %125 = iadd %65, %124 (0x1)
MESA: info:         div 32x4  %192 = vec4 %237, %236.x, %236.y, %236.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %240 = phi b8: %190
MESA: info:     div 32x4  %239 = phi b8: %203
MESA: info:     div 32    %238 = phi b8: %64
MESA: info:     con 32     %32 = load_const (0x00000002)
MESA: info:     con 32x2  %230 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %231 = ishl %155.xx, %230 (0x5, 0x3)
MESA: info:     div 32    %232 = mov %231.x
MESA: info:     div 32    %233 = mov %231.y
MESA: info:     con 32    %128 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %129 = vec4 %240.y, %240.z, %240.w, %239.x
MESA: info:                      @store_ssbo_ir3 (%129, %128, %232, %233) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %130 = load_const (0x00000010 = 16)
MESA: info:     div 32    %131 = iadd %231.x, %130 (0x10)
MESA: info:     div 32x4  %132 = vec4 %239.y, %239.z, %239.w, %238
MESA: info:     div 32    %140 = ushr %131, %32 (0x2)
MESA: info:                      @store_ssbo_ir3 (%132, %128, %131, %140) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 dda0c321edb464ecd04b57c4d4659355e8ed3016:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l112
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l110
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: cov.f32s32 r5.x, c9.x
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: mul.f r4.w, (last)r4.w, c5.x
MESA: info: add.u r5.y, r1.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: mul.f r4.w, (last)r4.w, c10.y
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.a.base2 (s32)(xyzw)r5.z, r4.z, r40.x, s#0, t#0
MESA: info: (sy)min.s r1.z, (last)r1.z, r5.z
MESA: info: min.s r1.w, (last)r1.w, r5.w
MESA: info: min.s r2.x, (last)r2.x, r6.x
MESA: info: min.s r2.y, (last)r2.y, r6.y
MESA: info: max.s r2.z, (last)r2.z, r5.z
MESA: info: max.s r2.w, (last)r2.w, r5.w
MESA: info: max.s r3.x, (last)r3.x, r6.x
MESA: info: max.s r3.y, (last)r3.y, r6.y
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.z
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.w
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r6.x
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.y
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.z
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.w
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r6.x
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.y
MESA: info: mov.u32u32 r1.y, (last)r5.y
MESA: info: jump #l74
MESA: info: l110:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l112:
MESA: info: (jp)shl.b r6.z, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.z, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 55/1: 123 instr, 28 nops, 95 non-nops, 12 mov, 5 cov, 256 dwords
MESA: info: ; CL prog 55/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 55/1: 33 cat0, 17 cat1, 57 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 3 cat7
MESA: info: ; CL prog 55/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 55/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xdaf668c0, 0xd607c559, 0xbaabe7e2, 0xc74daea7, 0x6af13a55, 0xf0b2c691, 0x2ac86547, 0xdbcd89d5}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %211 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %295 = f2u32 %211
MESA: info:             con 32    %296 = mov %295.x
MESA: info:             con 32    %297 = mov %295.y
MESA: info:                              @store_const_ir3 (%296) (base=16)
MESA: info:                              @store_const_ir3 (%297) (base=17)
MESA: info:             con 32     %10 = frcp %211.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %211.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %214 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %302 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %303 = iand %214.xxxx, %302 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %311 = ieq %303, %2 (0x0).xxxx
MESA: info:             con 32x4  %312 = b2i32 %311
MESA: info:             con 32    %313 = mov %312.w
MESA: info:             con 32    %310 = mov %312.z
MESA: info:             con 32    %306 = mov %312.x
MESA: info:             con 32    %307 = mov %312.y
MESA: info:                              @store_const_ir3 (%306) (base=20)
MESA: info:                              @store_const_ir3 (%307) (base=21)
MESA: info:                              @store_const_ir3 (%310) (base=22)
MESA: info:                              @store_const_ir3 (%313) (base=23)
MESA: info:             con 32    %217 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %28 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %29 = fadd %217, %28 (1.000000)
MESA: info:             con 32     %30 = f2i32 %29
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @store_const_ir3 (%30) (base=25)
MESA: info:                              @store_const_ir3 (%30) (base=26)
MESA: info:                              @store_const_ir3 (%30) (base=27)
MESA: info:             con 32x2  %229 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %294 = fsub %229.y, %229.x
MESA: info:             con 32     %46 = frcp %294
MESA: info:                              @store_const_ir3 (%46) (base=28)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %51 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%51)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %52 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %53 = load_const (0x00000002)
MESA: info:     con 32x2   %58 = @load_const_ir3 (%52 (0x0)) (base=40)
MESA: info:     con 32     %60 = @load_const_ir3 (%52 (0x0)) (base=16)
MESA: info:     con 32     %62 = @load_const_ir3 (%52 (0x0)) (base=17)
MESA: info:     con 32x3   %63 = @load_workgroup_id
MESA: info:     con 32x3   %64 = @load_base_workgroup_id
MESA: info:     con 32x2  %314 = iadd %63.xy, %64.xy
MESA: info:     con 32     %67 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %315 = umul_low %314, %67 (0xa).xx
MESA: info:     con 32x2  %316 = imadsh_mix16 %67 (0xa).xx, %314, %315
MESA: info:     div 32x3   %70 = @load_local_invocation_id
MESA: info:     div 32x2  %317 = iadd %316, %70.xy
MESA: info:     con 32     %73 = load_const (0x00000006)
MESA: info:     div 32x2  %318 = ishl %317, %73 (0x6).xx
MESA: info:     div 32    %319 = mov %318.x
MESA: info:     div 32    %320 = mov %318.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %76 = phi b6: %320, b30: %208
MESA: info:         con 32     %77 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %321 = iadd %318.yx, %77 (0x40).xx
MESA: info:         div 32     %80 = umin %62, %321.x
MESA: info:         div 32     %81 = umin %60, %321.y
MESA: info:         div 1      %82 = uge %76, %80
MESA: info:                          // succs: b8 b9
MESA: info:         if %82 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %83 = phi b10: %319, b29: %206
MESA: info:             div 1      %84 = uge %83, %81
MESA: info:                              // succs: b12 b13
MESA: info:             if %84 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %85 = u2f32 %83
MESA: info:             div 32     %86 = u2f32 %76
MESA: info:             con 32     %88 = @load_const_ir3 (%52 (0x0)) (base=18)
MESA: info:             div 32     %89 = fmul %85, %88
MESA: info:             con 32     %91 = @load_const_ir3 (%52 (0x0)) (base=19)
MESA: info:             div 32     %92 = fmul %86, %91
MESA: info:             con 32x2   %97 = @load_const_ir3 (%52 (0x0)) (base=36)
MESA: info:             con 32     %98 = mov %97.y
MESA: info:             div 32     %99 = fmul %89, %58.x
MESA: info:             div 32    %100 = fmul %92, %58.y
MESA: info:             div 32    %101 = f2i32 %99
MESA: info:             div 32    %102 = f2i32 %100
MESA: info:             con 32    %103 = f2i32 %97.x
MESA: info:             div 32x3  %104 = vec3 %101, %102, %103
MESA: info:             con 32    %105 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %106 = (int32)txf %105 (texture_handle), %104 (coord), %98 (lod), 0 (texture)
MESA: info:             con 32    %109 = @load_const_ir3 (%52 (0x0)) (base=32)
MESA: info:             con 32    %112 = @load_const_ir3 (%52 (0x0)) (base=20)
MESA: info:             con 32    %116 = @load_const_ir3 (%52 (0x0)) (base=21)
MESA: info:             con 32    %120 = @load_const_ir3 (%52 (0x0)) (base=22)
MESA: info:             con 32    %124 = @load_const_ir3 (%52 (0x0)) (base=23)
MESA: info:             con 32    %131 = @load_const_ir3 (%52 (0x0)) (base=24)
MESA: info:             div 32    %272 = icsel_eqz %112, %106.x, %131
MESA: info:             con 32    %135 = @load_const_ir3 (%52 (0x0)) (base=25)
MESA: info:             div 32    %271 = icsel_eqz %116, %106.y, %135
MESA: info:             con 32    %138 = @load_const_ir3 (%52 (0x0)) (base=26)
MESA: info:             div 32    %270 = icsel_eqz %120, %106.z, %138
MESA: info:             con 32    %141 = @load_const_ir3 (%52 (0x0)) (base=27)
MESA: info:             div 32    %269 = icsel_eqz %124, %106.w, %141
MESA: info:             con 1     %143 = ine %109, %52 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %143 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %144 = i2f32 %272
MESA: info:                 div 32    %145 = i2f32 %271
MESA: info:                 div 32    %146 = i2f32 %270
MESA: info:                 div 32    %147 = i2f32 %269
MESA: info:                 con 32x2  %150 = @load_const_ir3 (%52 (0x0)) (base=33)
MESA: info:                 div 32    %293 = fsub %144, %150.x
MESA: info:                 div 32    %292 = fsub %145, %150.x
MESA: info:                 div 32    %291 = fsub %146, %150.x
MESA: info:                 div 32    %290 = fsub %147, %150.x
MESA: info:                 con 32    %157 = @load_const_ir3 (%52 (0x0)) (base=28)
MESA: info:                 div 32    %158 = fmul %293, %157
MESA: info:                 div 32    %159 = fmul %292, %157
MESA: info:                 div 32    %160 = fmul %291, %157
MESA: info:                 div 32    %161 = fmul %290, %157
MESA: info:                 div 1     %162 = flt! %158, %52 (0.000000)
MESA: info:                 div 1     %163 = flt! %159, %52 (0.000000)
MESA: info:                 div 1     %164 = flt! %160, %52 (0.000000)
MESA: info:                 div 1     %165 = flt! %161, %52 (0.000000)
MESA: info:                 con 32    %166 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %167 = fmul %158, %166 (256.000000)
MESA: info:                 con 32    %168 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %169 = bcsel %162, %168 (0x44000000), %167
MESA: info:                 div 32    %170 = fmul %159, %166 (256.000000)
MESA: info:                 div 32    %171 = bcsel %163, %168 (0x44000000), %170
MESA: info:                 div 32    %172 = fmul %160, %166 (256.000000)
MESA: info:                 div 32    %173 = bcsel %164, %168 (0x44000000), %172
MESA: info:                 div 32    %174 = fmul %161, %166 (256.000000)
MESA: info:                 div 32    %175 = bcsel %165, %168 (0x44000000), %174
MESA: info:                 div 32    %176 = ffloor %169
MESA: info:                 div 32    %177 = ffloor %171
MESA: info:                 div 32    %178 = ffloor %173
MESA: info:                 div 32    %179 = ffloor %175
MESA: info:                 div 32    %180 = f2u32 %176
MESA: info:                 div 32    %181 = f2u32 %177
MESA: info:                 div 32    %182 = f2u32 %178
MESA: info:                 div 32    %183 = f2u32 %179
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %184 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %185 = phi b15: %183, b16: %184 (0x101)
MESA: info:             div 32    %186 = phi b15: %182, b16: %184 (0x101)
MESA: info:             div 32    %187 = phi b15: %181, b16: %184 (0x101)
MESA: info:             div 32    %188 = phi b15: %180, b16: %184 (0x101)
MESA: info:             con 32    %110 = load_const (0x00000001)
MESA: info:             con 32    %189 = load_const (0x00000100 = 256)
MESA: info:             div 1     %190 = ult %188, %189 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %190 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %191 = ishl %188, %53 (0x2)
MESA: info:                 con 32    %192 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %233 = @ssbo_atomic_ir3 (%192, %191, %110 (0x1), %188) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %194 = ult %187, %189 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %194 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %195 = ishl %187, %53 (0x2)
MESA: info:                 con 32    %196 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %237 = @ssbo_atomic_ir3 (%196, %195, %110 (0x1), %187) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %198 = ult %186, %189 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %198 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %199 = ishl %186, %53 (0x2)
MESA: info:                 con 32    %200 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %241 = @ssbo_atomic_ir3 (%200, %199, %110 (0x1), %186) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %202 = ult %185, %189 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %202 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %203 = ishl %185, %53 (0x2)
MESA: info:                 con 32    %204 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %245 = @ssbo_atomic_ir3 (%204, %203, %110 (0x1), %185) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %206 = iadd %83, %110 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %207 = load_const (0x00000001)
MESA: info:         div 32    %208 = iadd %76, %207 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 282701e3da59bbe1756163b04488d158514990c2:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l43
MESA: info: getone #l43
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: cov.f32u32 r50.z, r49.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: and.b r50.w, r49.y, 1
MESA: info: and.b r51.y, r49.y, 2
MESA: info: and.b r51.w, r49.y, 4
MESA: info: and.b r52.x, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32s32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.z, r50.w, 0
MESA: info: cmps.s.eq hr54.z, r51.y, 0
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: cov.u16s32 r51.z, hr54.z
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[17], r50.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: stc.u32 c[27], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.w, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[28], r50.x, 1
MESA: info: stc.u32 c[20], r51.x, 1
MESA: info: stc.u32 c[21], r51.z, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l43:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l61:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l171
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l69:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l169
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: cov.f32s32 r2.z, c9.x
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mul.f r2.y, (last)r2.y, c4.w
MESA: info: mov.f32f32 r2.w, c5.x
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: mov.f32f32 r3.x, c5.y
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: mov.f32f32 r3.y, c5.z
MESA: info: mov.f32f32 r3.z, c5.w
MESA: info: (nop2) cmps.s.ne p0.y, c8.x, 0
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.a.base2 (s32)(xyzw)r3.w, r2.x, r40.x, s#0, t#0
MESA: info: (sy)sel.b32 r2.w, c6.x, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, c6.y, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, c6.z, r3.y, (last)r4.y
MESA: info: sel.b32 r3.z, c6.w, r3.z, (last)r4.z
MESA: info: br !p0.y, #l127
MESA: info: cov.s32f32 r2.w, (last)r2.w
MESA: info: cov.s32f32 r3.x, (last)r3.x
MESA: info: cov.s32f32 r3.y, (last)r3.y
MESA: info: cov.s32f32 r3.z, (last)r3.z
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: add.f r3.z, (last)r3.z, (neg)c8.y
MESA: info: mul.f r2.w, (last)r2.w, c7.x
MESA: info: mul.f r3.x, (last)r3.x, c7.x
MESA: info: mul.f r3.y, (last)r3.y, c7.x
MESA: info: mul.f r3.z, (last)r3.z, c7.x
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: cmps.f.lt r5.z, r3.z, (0.0)
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: mul.f r3.z, (last)r3.z, c12.y
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: sel.b32 r5.z, c12.x, r5.z, (last)r3.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: floor.f r5.z, (last)r5.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: cov.f32u32 r5.z, (last)r5.z
MESA: info: jump #l131
MESA: info: l127:
MESA: info: mov.u32u32 r5.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r5.y, 257
MESA: info: l131:
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r6.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.w, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.y, 0
MESA: info: mov.u32u32 r6.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.y, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.w, 0
MESA: info: mov.u32u32 r7.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.w, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.y, 0
MESA: info: mov.u32u32 r7.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.y, r5.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l69
MESA: info: l169:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l61
MESA: info: l171:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 56/1: 202 instr, 86 nops, 116 non-nops, 19 mov, 13 cov, 356 dwords
MESA: info: ; CL prog 56/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 56/1: 101 cat0, 32 cat1, 53 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 3 cat7
MESA: info: ; CL prog 56/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 56/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 45 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x9be7b287, 0x68312e8c, 0x8ca741b7, 0x05020abe, 0x83c0beab, 0x7bec6f92, 0x77b41d03, 0xb3205877}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %3 = load_const (0x00000002)
MESA: info:             con 32      %5 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %259 = load_const (0x00000004)
MESA: info:             con 32x2  %261 = @load_ubo_vec4 (%5, %3 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %366 = f2u32 %261
MESA: info:             con 32    %367 = mov %366.x
MESA: info:             con 32    %368 = mov %366.y
MESA: info:                              @store_const_ir3 (%367) (base=16)
MESA: info:                              @store_const_ir3 (%368) (base=17)
MESA: info:             con 32      %9 = load_const (0x00000006)
MESA: info:             con 32     %10 = u2f32 %366.x
MESA: info:             con 32     %11 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %12 = fmul %10, %11 (0.001563)
MESA: info:             con 32     %13 = fceil %12
MESA: info:             con 32     %14 = f2u32 %13
MESA: info:                              @store_const_ir3 (%14) (base=18)
MESA: info:             con 32     %15 = frcp %261.x
MESA: info:                              @store_const_ir3 (%15) (base=19)
MESA: info:             con 32     %16 = frcp %261.y
MESA: info:                              @store_const_ir3 (%16) (base=20)
MESA: info:             con 32     %18 = load_const (0x00000010 = 16)
MESA: info:             con 32    %271 = load_const (0x00000001)
MESA: info:             con 32    %264 = @load_ubo_vec4 (%5, %271 (0x1)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %20 = f2i32 %264
MESA: info:             con 32     %21 = load_const (0x0000ffff = 65535)
MESA: info:             con 32     %22 = iand %20, %21 (0xffff)
MESA: info:             con 32     %24 = ushr %20, %18 (0x10)
MESA: info:             con 32x3  %377 = load_const (0x0000aaab, 0x0000aaaa, 0xaaaaaaab) = (+43691, +43690, -1431655765) = (43691, 43690, 2863311531)
MESA: info:             con 32x3  %378 = umul_low %22.xxx, %377 (0xaaab, 0xaaaa, 0xaaaaaaab)
MESA: info:             con 32x2  %371 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             con 32x2  %372 = imadsh_mix16 %371 (0xaaab, 0xaaaa), %22.xx, %378.xy
MESA: info:             con 32x2  %373 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             con 32x2  %374 = umul_low %24.xx, %373 (0xaaab, 0xaaaa)
MESA: info:             con 32x2  %375 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             con 32x2  %376 = imadsh_mix16 %375 (0xaaab, 0xaaaa), %24.xx, %374
MESA: info:             con 32     %30 = load_const (0xaaaaaaab = -1431655765 = 2863311531)
MESA: info:             con 32    %341 = imadsh_mix16 %22, %30 (0xaaaaaaab), %378.z
MESA: info:             con 32    %342 = imadsh_mix16 %30 (0xaaaaaaab), %22, %341
MESA: info:             con 1      %32 = ult %342, %372.x
MESA: info:             con 32     %33 = b2i32 %32
MESA: info:             con 32     %35 = ushr %372.y, %18 (0x10)
MESA: info:             con 32    %300 = iadd3 %376.y, %33, %35
MESA: info:             con 32     %37 = load_const (0xaaab0000 = -1431633920 = 2863333376)
MESA: info:             con 32    %362 = load_const (0x00000000)
MESA: info:             con 32    %338 = imadsh_mix16 %24, %37 (0xaaab0000), %362 (0x0)
MESA: info:             con 32     %39 = iadd %342, %338
MESA: info:             con 1      %40 = ult %39, %342
MESA: info:             con 32     %41 = b2i32 %40
MESA: info:             con 32     %43 = ushr %376.x, %18 (0x10)
MESA: info:             con 32    %299 = iadd3 %300, %41, %43
MESA: info:             con 32     %45 = ushr %299, %3 (0x2)
MESA: info:             con 32    %334 = umul_low %45, %9 (0x6)
MESA: info:             con 32    %336 = imadsh_mix16 %9 (0x6), %45, %334
MESA: info:             con 32    %365 = isub %20, %336
MESA: info:             con 32     %49 = load_const (0xbf000000 = -0.500000 = -1090519040 = 3204448256)
MESA: info:             con 32x4  %388 = load_const (0x00000000, 0x00000001, 0x00000002, 0x00000003)
MESA: info:             con 1x4   %389 = ieq %365.xxxx, %388 (0x0, 0x1, 0x2, 0x3)
MESA: info:             con 32x4  %390 = b2i32 %389
MESA: info:             con 32    %391 = mov %390.w
MESA: info:             con 32    %387 = mov %390.z
MESA: info:             con 32    %382 = mov %390.x
MESA: info:             con 32    %383 = mov %390.y
MESA: info:                              @store_const_ir3 (%382) (base=21)
MESA: info:                              @store_const_ir3 (%383) (base=22)
MESA: info:                              @store_const_ir3 (%387) (base=23)
MESA: info:                              @store_const_ir3 (%391) (base=24)
MESA: info:             con 32     %60 = load_const (0x3f000000 = 0.500000)
MESA: info:             con 1      %61 = ieq %365, %259 (0x4)
MESA: info:             con 32     %62 = bcsel %61, %60 (0x3f000000), %49 (0xbf000000)
MESA: info:                              @store_const_ir3 (%62) (base=25)
MESA: info:             con 1      %63 = ior %389.z, %389.w
MESA: info:             con 1      %64 = ior %63, %61
MESA: info:             con 32     %65 = b2i32 %64
MESA: info:                              @store_const_ir3 (%65) (base=26)
MESA: info:             con 1      %66 = uge %271 (0x1), %365
MESA: info:             con 32     %67 = b2i32 %66
MESA: info:                              @store_const_ir3 (%67) (base=27)
MESA: info:             con 1      %68 = ilt %20, %2 (0x0)
MESA: info:             con 32     %69 = iabs %20
MESA: info:             con 32     %70 = iand %69, %21 (0xffff)
MESA: info:             con 32     %71 = ushr %69, %18 (0x10)
MESA: info:             con 32x3  %400 = load_const (0x0000aaab, 0x00002aaa, 0x2aaaaaab) = (43691, 10922, 715827883)
MESA: info:             con 32x3  %401 = umul_low %70.xxx, %400 (0xaaab, 0x2aaa, 0x2aaaaaab)
MESA: info:             con 32x2  %394 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:             con 32x2  %395 = imadsh_mix16 %394 (0xaaab, 0x2aaa), %70.xx, %401.xy
MESA: info:             con 32x2  %396 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:             con 32x2  %397 = umul_low %71.xx, %396 (0xaaab, 0x2aaa)
MESA: info:             con 32x2  %398 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:             con 32x2  %399 = imadsh_mix16 %398 (0xaaab, 0x2aaa), %71.xx, %397
MESA: info:             con 32     %77 = load_const (0x2aaaaaab = 715827883)
MESA: info:             con 32    %320 = imadsh_mix16 %70, %77 (0x2aaaaaab), %401.z
MESA: info:             con 32    %321 = imadsh_mix16 %77 (0x2aaaaaab), %70, %320
MESA: info:             con 1      %79 = ult %321, %395.x
MESA: info:             con 32     %80 = b2i32 %79
MESA: info:             con 32     %82 = ushr %395.y, %18 (0x10)
MESA: info:             con 32    %297 = iadd3 %399.y, %80, %82
MESA: info:             con 32    %359 = load_const (0x00000000)
MESA: info:             con 32    %317 = imadsh_mix16 %71, %37 (0xaaab0000), %359 (0x0)
MESA: info:             con 32     %85 = iadd %321, %317
MESA: info:             con 1      %86 = ult %85, %321
MESA: info:             con 32     %87 = b2i32 %86
MESA: info:             con 32     %89 = ushr %399.x, %18 (0x10)
MESA: info:             con 32    %296 = iadd3 %297, %87, %89
MESA: info:             con 32     %91 = inot %296
MESA: info:             con 32     %92 = inot %85
MESA: info:             con 32     %93 = iadd %92, %271 (0x1)
MESA: info:             con 1      %94 = ult %93, %92
MESA: info:             con 32     %95 = b2i32 %94
MESA: info:             con 32     %96 = iadd %91, %95
MESA: info:             con 32     %97 = bcsel %68, %96, %296
MESA: info:             con 32     %98 = load_const (0x0000001f = 31)
MESA: info:             con 32     %99 = ushr %97, %98 (0x1f)
MESA: info:             con 32    %100 = iadd %97, %99
MESA: info:             con 32    %101 = i2f32 %100
MESA: info:             con 32    %102 = fadd %101, %60 (0.500000)
MESA: info:                              @store_const_ir3 (%102) (base=28)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%5, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32    %107 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32    %109 = @bindless_resource_ir3 (%271 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%107, %109)
MESA: info:             con 32    %111 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%111)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3  %114 = @load_local_invocation_id
MESA: info:     con 32x3  %115 = @load_workgroup_id
MESA: info:     con 32x3  %116 = @load_base_workgroup_id
MESA: info:     con 32x2  %402 = iadd %115.xy, %116.xy
MESA: info:     con 32    %119 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32    %122 = @load_const_ir3 (%119 (0x0)) (base=16)
MESA: info:     con 32    %124 = @load_const_ir3 (%119 (0x0)) (base=17)
MESA: info:     con 32    %125 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %403 = umul_low %402, %125 (0xa).xx
MESA: info:     con 32x2  %404 = imadsh_mix16 %125 (0xa).xx, %402, %403
MESA: info:     div 32x2  %405 = iadd %404, %114.xy
MESA: info:     con 32    %130 = load_const (0x00000006)
MESA: info:     div 32x2  %406 = ishl %405, %130 (0x6).xx
MESA: info:     div 32    %407 = mov %406.x
MESA: info:     div 32    %408 = mov %406.y
MESA: info:     div 32    %307 = umul_low %114.y, %125 (0xa)
MESA: info:     div 32    %309 = imadsh_mix16 %125 (0xa), %114.y, %307
MESA: info:     con 32    %136 = @load_const_ir3 (%119 (0x0)) (base=18)
MESA: info:     con 32    %304 = umul_low %402.y, %136
MESA: info:     con 32    %305 = imadsh_mix16 %402.y, %136, %304
MESA: info:     con 32    %306 = imadsh_mix16 %136, %402.y, %305
MESA: info:     con 32    %138 = iadd %306, %402.x
MESA: info:     con 32    %139 = load_const (0x00000064 = 100)
MESA: info:     con 32    %301 = umul_low %138, %139 (0x64)
MESA: info:     con 32    %303 = imadsh_mix16 %139 (0x64), %138, %301
MESA: info:     div 32    %295 = iadd3 %309, %114.x, %303
MESA: info:     con 32x4  %419 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:     con 32x4  %432 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %418 = phi b6: %419 (0x0, 0x0, 0x0, 0x0), b15: %420
MESA: info:         div 32x4  %431 = phi b6: %432 (0x0, 0x0, 0x0, 0x0), b15: %463
MESA: info:         div 32    %150 = phi b6: %119 (0x0), b15: %462
MESA: info:         div 32    %151 = phi b6: %408, b15: %251
MESA: info:         div 32x3  %440 = mov %418.yzw
MESA: info:         div 32    %412 = mov %418.x
MESA: info:         con 32    %152 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %435 = iadd %406.yx, %152 (0x40).xx
MESA: info:         div 32    %155 = umin %124, %435.x
MESA: info:         div 32    %156 = umin %122, %435.y
MESA: info:         div 1     %157 = uge %151, %155
MESA: info:                          // succs: b8 b9
MESA: info:         if %157 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32    %158 = phi b10: %407, b14: %249
MESA: info:             div 32    %159 = phi b10: %412, b14: %248
MESA: info:             div 32x3  %439 = phi b10: %440, b14: %455
MESA: info:             div 32x4  %448 = phi b10: %431, b14: %449
MESA: info:             div 32    %167 = phi b10: %150, b14: %275
MESA: info:             div 1     %168 = uge %158, %156
MESA: info:                              // succs: b12 b13
MESA: info:             if %168 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32    %169 = u2f32 %158
MESA: info:             div 32    %170 = u2f32 %151
MESA: info:             con 32    %172 = @load_const_ir3 (%119 (0x0)) (base=19)
MESA: info:             con 32    %175 = @load_const_ir3 (%119 (0x0)) (base=20)
MESA: info:             con 32x2  %180 = @load_const_ir3 (%119 (0x0)) (base=36)
MESA: info:             con 32    %181 = load_const (0xbf000000 = -0.500000 = -1090519040 = 3204448256)
MESA: info:             div 32    %364 = ffma %169, %172, %181 (-0.500000)
MESA: info:             div 32    %363 = ffma %170, %175, %181 (-0.500000)
MESA: info:             con 32    %184 = load_const (0x00000001)
MESA: info:             con 32    %186 = @load_const_ir3 (%119 (0x0)) (base=21)
MESA: info:             con 32    %190 = @load_const_ir3 (%119 (0x0)) (base=22)
MESA: info:             con 32    %194 = @load_const_ir3 (%119 (0x0)) (base=23)
MESA: info:             con 32    %198 = @load_const_ir3 (%119 (0x0)) (base=24)
MESA: info:             div 32    %201 = fneg %363
MESA: info:             div 32    %202 = fneg %364
MESA: info:             con 32    %203 = load_const (0x3f000000 = 1056964608)
MESA: info:             con 32    %205 = @load_const_ir3 (%119 (0x0)) (base=25)
MESA: info:             div 32    %292 = icsel_eqz %198, %201, %181 (0xbf000000)
MESA: info:             div 32    %291 = icsel_eqz %198, %205, %201
MESA: info:             con 32    %209 = @load_const_ir3 (%119 (0x0)) (base=26)
MESA: info:             div 32    %290 = icsel_eqz %209, %202, %364
MESA: info:             div 32    %289 = icsel_eqz %194, %292, %203 (0x3f000000)
MESA: info:             div 32    %288 = icsel_eqz %194, %291, %363
MESA: info:             div 32    %287 = icsel_eqz %190, %290, %181 (0xbf000000)
MESA: info:             div 32    %286 = icsel_eqz %190, %288, %364
MESA: info:             div 32    %285 = icsel_eqz %186, %287, %203 (0x3f000000)
MESA: info:             con 32    %219 = @load_const_ir3 (%119 (0x0)) (base=27)
MESA: info:             div 32    %284 = icsel_eqz %219, %289, %201
MESA: info:             div 32    %283 = icsel_eqz %186, %286, %202
MESA: info:             con 32    %224 = i2f32 %180.y
MESA: info:             con 32    %225 = @bindless_resource_ir3 (%184 (0x1)) (desc_set=2)
MESA: info:             con 32    %226 = @bindless_resource_ir3 (%119 (0x0)) (desc_set=2)
MESA: info:             con 32    %228 = @load_const_ir3 (%119 (0x0)) (base=28)
MESA: info:             div 32x4  %229 = vec4 %285, %284, %283, %228
MESA: info:             div 32x4  %230 = (float32)txl %226 (texture_handle), %225 (sampler_handle), %229 (coord), %224 (lod), 0 (texture), 0 (sampler)
MESA: info:             div 32x3  %451 = fmin %439, %230.xyz
MESA: info:             div 32    %235 = fmin %448.x, %230.w
MESA: info:             div 32x3  %453 = fmax %448.yzw, %230.xyz
MESA: info:             div 32    %239 = fmax %167, %230.w
MESA: info:             div 32x3  %455 = icsel_eqz %159.xxx, %230.xyz, %451
MESA: info:             div 32    %279 = icsel_eqz %159, %230.w, %235
MESA: info:             div 32x3  %457 = icsel_eqz %159.xxx, %230.xyz, %453
MESA: info:             div 32    %275 = icsel_eqz %159, %230.w, %239
MESA: info:             div 32    %248 = iadd %159, %184 (0x1)
MESA: info:             div 32    %249 = iadd %158, %184 (0x1)
MESA: info:             div 32x4  %449 = vec4 %279, %457.x, %457.y, %457.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %465 = phi b12: %159
MESA: info:         div 32x3  %464 = phi b12: %439
MESA: info:         div 32x4  %463 = phi b12: %448
MESA: info:         div 32    %462 = phi b12: %167
MESA: info:         con 32    %250 = load_const (0x00000001)
MESA: info:         div 32    %251 = iadd %151, %250 (0x1)
MESA: info:         div 32x4  %420 = vec4 %465, %464.x, %464.y, %464.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %468 = phi b8: %418
MESA: info:     div 32x4  %467 = phi b8: %431
MESA: info:     div 32    %466 = phi b8: %150
MESA: info:     con 32x2  %458 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %459 = ishl %295.xx, %458 (0x5, 0x3)
MESA: info:     div 32    %460 = mov %459.x
MESA: info:     div 32    %461 = mov %459.y
MESA: info:     con 32    %254 = @bindless_resource_ir3 (%119 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %255 = vec4 %468.y, %468.z, %468.w, %467.x
MESA: info:                      @store_ssbo_ir3 (%255, %254, %460, %461) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %256 = load_const (0x00000010 = 16)
MESA: info:     div 32    %257 = iadd %459.x, %256 (0x10)
MESA: info:     div 32x4  %258 = vec4 %467.y, %467.z, %467.w, %466
MESA: info:     con 32    %268 = load_const (0x00000002)
MESA: info:     div 32    %269 = ushr %257, %268 (0x2)
MESA: info:                      @store_ssbo_ir3 (%258, %254, %257, %269) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 564ad7ec75b593ec9957625611fd1590dbd4426f:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000aaaa, 0xaaaaaaab, 0x0000ffff
MESA: info: @const(c13.x)	0x0000aaab, 0xaaab0000, 0x3f000000, 0xbf000000
MESA: info: @const(c14.x)	0x00002aaa, 0x2aaaaaab, 0x0000000a, 0xd0d0d0d0
MESA: info: shps #l162
MESA: info: getone #l162
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 1, 0
MESA: info: shr.b r49.z, c12.z, 16
MESA: info: shr.b r49.w, c13.y, 16
MESA: info: shr.b r50.x, c14.y, 16
MESA: info: shr.b r50.y, c13.y, 16
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.z, r48.w
MESA: info: cov.f32s32 r49.y, r49.y
MESA: info: and.b r51.x, r49.y, c12.w
MESA: info: shr.b r51.y, r51.x, 16
MESA: info: mull.u r51.w, r51.x, c13.x
MESA: info: mull.u r51.y, c13.x, r51.y
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r51.w
MESA: info: cov.f32u32 r50.w, r49.x
MESA: info: shr.b r52.y, r49.y, 16
MESA: info: mull.u r49.z, r51.x, r49.z
MESA: info: shr.b r51.z, r51.x, 16
MESA: info: mull.u r52.x, r51.x, c12.y
MESA: info: mull.u r53.y, r51.x, c12.z
MESA: info: mull.u r49.w, r52.y, r49.w
MESA: info: shr.b r52.z, r52.y, 16
MESA: info: shr.b r52.w, r52.y, 16
MESA: info: mull.u r53.x, r52.y, c13.x
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: mull.u r51.z, c12.y, r51.z
MESA: info: shr.b r51.x, r51.x, 16
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: mull.u r52.z, c13.x, r52.z
MESA: info: mull.u r52.w, c12.y, r52.w
MESA: info: mull.u r52.y, r52.y, c12.y
MESA: info: add.u r49.z, r49.z, r53.y
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: mull.u r51.x, c12.z, r51.x
MESA: info: add.u r49.w, r49.w, 0
MESA: info: shl.b r52.z, r52.z, 16
MESA: info: shl.b r52.w, r52.w, 16
MESA: info: add.u r51.z, r51.z, r52.x
MESA: info: shl.b r51.x, r51.x, 16
MESA: info: add.u r52.z, r52.z, r53.x
MESA: info: add.u r52.w, r52.w, r52.y
MESA: info: shr.b r51.z, r51.z, 16
MESA: info: add.u r51.x, r51.x, r49.z
MESA: info: shr.b r52.z, r52.z, 16
MESA: info: add.u r49.w, r51.x, r49.w
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: cmps.u.lt hr54.z, r51.x, r51.y
MESA: info: cmps.u.lt hr51.z, r49.w, r51.x
MESA: info: cov.u16s32 r53.z, hr54.z
MESA: info: cov.u16s32 r53.w, hr51.z
MESA: info: add.u r52.w, r52.w, r53.z
MESA: info: add.u r52.w, r52.w, r51.z
MESA: info: add.u r52.w, r52.w, r53.w
MESA: info: add.u r52.w, r52.w, r52.z
MESA: info: shr.b r52.w, r52.w, 2
MESA: info: shr.b r54.x, r52.w, 16
MESA: info: mull.u r54.x, 6, r54.x
MESA: info: mull.u r52.w, r52.w, 6
MESA: info: shl.b r54.x, r54.x, 16
MESA: info: add.u r54.x, r54.x, r52.w
MESA: info: sub.u r54.x, r49.y, r54.x
MESA: info: cmps.s.eq hr55.x, r54.x, 2
MESA: info: cov.u16s32 r51.w, hr55.x
MESA: info: cmps.s.eq hr54.x, r54.x, 1
MESA: info: cmps.s.eq hr55.y, r54.x, 3
MESA: info: or.b hr55.x, hr55.x, hr55.y
MESA: info: cov.u16s32 r52.x, hr55.y
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r50.z, 1
MESA: info: stc.u32 c[17], r50.w, 1
MESA: info: (ss)cov.u32f32 r50.z, r50.z
MESA: info: mul.f r50.z, r50.z, c12.x
MESA: info: ceil.f r50.z, r50.z
MESA: info: cov.f32u32 r50.z, r50.z
MESA: info: cov.u16s32 r51.y, hr54.x
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[23], r51.w, 1
MESA: info: stc.u32 c[24], r52.x, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r50.z, 1
MESA: info: cmps.s.eq hr49.z, r54.x, 4
MESA: info: or.b hr55.x, hr55.x, hr49.z
MESA: info: cov.u16s32 r49.w, hr55.x
MESA: info: cmps.u.ge hr49.w, 1, r54.x
MESA: info: cov.u16u32 r49.x, hr49.z
MESA: info: cov.u16s32 r49.z, hr49.w
MESA: info: stc.u32 c[22], r51.y, 1
MESA: info: (ss)cmps.s.eq hr53.x, r54.x, 0
MESA: info: cov.u16s32 r50.w, hr53.x
MESA: info: sel.b32 r49.x, c13.z, r49.x, c13.w
MESA: info: stc.u32 c[26], r49.w, 1
MESA: info: stc.u32 c[27], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[21], r50.w, 1
MESA: info: absneg.s r50.z, (abs)r49.y
MESA: info: cmps.s.lt r49.y, r49.y, 0
MESA: info: stc.u32 c[25], r49.x, 1
MESA: info: (ss)and.b r50.w, r50.z, c12.w
MESA: info: mull.u r50.x, r50.w, r50.x
MESA: info: shr.b r51.x, r50.w, 16
MESA: info: shr.b r51.y, r50.w, 16
MESA: info: mull.u r51.z, r50.w, c13.x
MESA: info: mull.u r51.w, r50.w, c14.x
MESA: info: mull.u r52.w, r50.w, c14.y
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: mull.u r51.x, c13.x, r51.x
MESA: info: shr.b r50.w, r50.w, 16
MESA: info: add.u r50.x, r50.x, r52.w
MESA: info: shl.b r51.x, r51.x, 16
MESA: info: mull.u r50.w, c14.y, r50.w
MESA: info: add.u r51.x, r51.x, r51.z
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r50.x
MESA: info: shr.b r50.z, r50.z, 16
MESA: info: mull.u r50.y, r50.z, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, 0
MESA: info: add.u r50.y, r50.w, r50.y
MESA: info: mull.u r51.y, c14.x, r51.y
MESA: info: shr.b r52.x, r50.z, 16
MESA: info: shr.b r52.y, r50.z, 16
MESA: info: mull.u r52.z, r50.z, c13.x
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: mull.u r52.x, c13.x, r52.x
MESA: info: mull.u r52.y, c14.x, r52.y
MESA: info: mull.u r50.z, r50.z, c14.x
MESA: info: add.u r51.y, r51.y, r51.w
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: shl.b r52.y, r52.y, 16
MESA: info: shr.b r51.y, r51.y, 16
MESA: info: add.u r52.x, r52.x, r52.z
MESA: info: add.u r52.y, r52.y, r50.z
MESA: info: shr.b r52.x, r52.x, 16
MESA: info: (ss)cmps.u.lt hr54.x, r50.w, r51.x
MESA: info: cmps.u.lt hr53.z, r50.y, r50.w
MESA: info: cov.u16s32 r53.x, hr54.x
MESA: info: cov.u16s32 r53.y, hr53.z
MESA: info: not.b r50.y, r50.y
MESA: info: add.u r52.y, r52.y, r53.x
MESA: info: add.u r53.z, r50.y, 1
MESA: info: add.u r52.y, r52.y, r51.y
MESA: info: add.u r52.y, r52.y, r53.y
MESA: info: add.u r52.y, r52.y, r52.x
MESA: info: not.b r54.x, r52.y
MESA: info: (ss)cmps.u.lt hr52.z, r53.z, r50.y
MESA: info: cov.u16s32 r53.w, hr52.z
MESA: info: add.u r54.x, r54.x, r53.w
MESA: info: sel.b32 r54.x, r54.x, r49.y, r52.y
MESA: info: shr.b r54.y, r54.x, 31
MESA: info: add.u r54.x, r54.x, r54.y
MESA: info: cov.s32f32 r54.x, r54.x
MESA: info: add.f r54.x, r54.x, (0.5)
MESA: info: (ss)nop
MESA: info: stc.u32 c[28], r54.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l162:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r55.y, r48.y, 16
MESA: info: mull.u r55.z, r48.y, 10
MESA: info: mull.u r55.y, 10, r55.y
MESA: info: shl.b r55.y, r55.y, 16
MESA: info: add.u r55.y, r55.y, r55.z
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r54.w, r48.x, 16
MESA: info: mull.u r55.x, r48.x, 10
MESA: info: mull.u r54.w, 10, r54.w
MESA: info: shl.b r54.w, r54.w, 16
MESA: info: add.u r54.w, r54.w, r55.x
MESA: info: shr.b r54.z, c4.z, 16
MESA: info: mull.u r55.w, r48.y, c4.z
MESA: info: mull.u r54.z, r48.y, r54.z
MESA: info: shl.b r54.z, r54.z, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r54.z, r54.z, r55.w
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r54.z
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r48.x, r48.y, 16
MESA: info: mull.u r48.x, 100, r48.x
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r48.x, r48.x, 16
MESA: info: add.u r48.x, r48.x, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c14.z, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r55.y, (last)r0.y
MESA: info: add.u r1.x, r54.w, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r48.x
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l206:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l266
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l214:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l264
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: mov.f32f32 r5.x, c6.x
MESA: info: mad.f32 r4.w, c5.x, r4.w, c13.w
MESA: info: mad.f32 r4.z, c4.w, r4.z, c13.w
MESA: info: mov.f32f32 r5.y, c6.z
MESA: info: absneg.f r5.z, (neg)r4.w
MESA: info: mov.f32f32 r6.x, c5.w
MESA: info: mov.f32f32 r6.z, c5.z
MESA: info: absneg.f r5.w, (neg)r4.z
MESA: info: sel.b32 r6.y, c13.w, r5.x, r5.z
MESA: info: sel.b32 r5.x, r5.z, r5.x, c6.y
MESA: info: mov.f32f32 r6.w, c5.y
MESA: info: mov.f32f32 r7.x, c6.w
MESA: info: sel.b32 r5.y, r4.z, r5.y, r5.w
MESA: info: sel.b32 r4.w, (last)r4.w, r6.x, (last)r5.x
MESA: info: sel.b32 r6.x, c13.z, r6.x, (last)r6.y
MESA: info: sel.b32 r4.z, (last)r4.z, r6.z, (last)r4.w
MESA: info: sel.b32 r6.z, c13.w, r6.z, (last)r5.y
MESA: info: cov.s32f32 r7.y, c9.y
MESA: info: sel.b32 r5.z, (last)r5.z, r7.x, (last)r6.x
MESA: info: sel.b32 r5.w, (last)r5.w, r6.w, (last)r4.z
MESA: info: sel.b32 r6.w, c13.z, r6.w, (last)r6.z
MESA: info: (nop3) add.u r4.y, (last)r4.y, 1
MESA: info: nop
MESA: info: alias.tex.b32.1 r5.y, r6.w
MESA: info: alias.tex.b32.0 r6.x, c7.x
MESA: info: saml.3d.a.base2 (f32)(xyzw)r7.z, r5.y, r7.y, s#1, t#0
MESA: info: (sy)min.f r1.z, (last)r1.z, r7.z
MESA: info: min.f r1.w, (last)r1.w, r7.w
MESA: info: min.f r2.x, (last)r2.x, r8.x
MESA: info: min.f r2.y, (last)r2.y, r8.y
MESA: info: max.f r2.z, (last)r2.z, r7.z
MESA: info: max.f r2.w, (last)r2.w, r7.w
MESA: info: max.f r3.x, (last)r3.x, r8.x
MESA: info: max.f r3.y, (last)r3.y, r8.y
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r7.z
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r7.w
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r8.x
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r8.y
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r7.z
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r7.w
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r8.x
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r8.y
MESA: info: add.u r1.y, (last)r1.y, 1
MESA: info: jump #l214
MESA: info: l264:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l206
MESA: info: l266:
MESA: info: (jp)shl.b r8.z, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r8.z, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 57/1: 136 instr, 27 nops, 109 non-nops, 17 mov, 3 cov, 576 dwords
MESA: info: ; CL prog 57/1: 0 last-baryf, 0 last-helper, 0 half, 9 full, 16 constlen
MESA: info: ; CL prog 57/1: 32 cat0, 20 cat1, 55 cat2, 22 cat3, 0 cat4, 1 cat5, 2 cat6, 4 cat7
MESA: info: ; CL prog 57/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 57/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 162 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xcd539d6e, 0x70bd1f46, 0x06beecda, 0x4abb3746, 0x255a2268, 0x65bf5cae, 0x2db7ff72, 0xdcb6c3e2}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %325 = load_const (0x00000004)
MESA: info:             con 32x2  %327 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %475 = f2u32 %327
MESA: info:             con 32    %476 = mov %475.x
MESA: info:             con 32    %477 = mov %475.y
MESA: info:                              @store_const_ir3 (%476) (base=16)
MESA: info:                              @store_const_ir3 (%477) (base=17)
MESA: info:             con 32     %10 = load_const (0x00000006)
MESA: info:             con 32     %11 = frcp %327.x
MESA: info:                              @store_const_ir3 (%11) (base=18)
MESA: info:             con 32     %12 = frcp %327.y
MESA: info:                              @store_const_ir3 (%12) (base=19)
MESA: info:             con 32     %14 = load_const (0x00000010 = 16)
MESA: info:             con 32    %360 = load_const (0x00000001)
MESA: info:             con 32    %330 = @load_ubo_vec4 (%6, %360 (0x1)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %16 = f2i32 %330
MESA: info:             con 32     %17 = load_const (0x0000ffff = 65535)
MESA: info:             con 32     %18 = iand %16, %17 (0xffff)
MESA: info:             con 32     %20 = ushr %16, %14 (0x10)
MESA: info:             con 32x3  %486 = load_const (0x0000aaab, 0x0000aaaa, 0xaaaaaaab) = (+43691, +43690, -1431655765) = (43691, 43690, 2863311531)
MESA: info:             con 32x3  %487 = umul_low %18.xxx, %486 (0xaaab, 0xaaaa, 0xaaaaaaab)
MESA: info:             con 32x2  %480 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             con 32x2  %481 = imadsh_mix16 %480 (0xaaab, 0xaaaa), %18.xx, %487.xy
MESA: info:             con 32x2  %482 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             con 32x2  %483 = umul_low %20.xx, %482 (0xaaab, 0xaaaa)
MESA: info:             con 32x2  %484 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             con 32x2  %485 = imadsh_mix16 %484 (0xaaab, 0xaaaa), %20.xx, %483
MESA: info:             con 32     %26 = load_const (0xaaaaaaab = -1431655765 = 2863311531)
MESA: info:             con 32    %435 = imadsh_mix16 %18, %26 (0xaaaaaaab), %487.z
MESA: info:             con 32    %436 = imadsh_mix16 %26 (0xaaaaaaab), %18, %435
MESA: info:             con 1      %28 = ult %436, %481.x
MESA: info:             con 32     %29 = b2i32 %28
MESA: info:             con 32     %31 = ushr %481.y, %14 (0x10)
MESA: info:             con 32    %403 = iadd3 %485.y, %29, %31
MESA: info:             con 32     %33 = load_const (0xaaab0000 = -1431633920 = 2863333376)
MESA: info:             con 32    %466 = load_const (0x00000000)
MESA: info:             con 32    %432 = imadsh_mix16 %20, %33 (0xaaab0000), %466 (0x0)
MESA: info:             con 32     %35 = iadd %436, %432
MESA: info:             con 1      %36 = ult %35, %436
MESA: info:             con 32     %37 = b2i32 %36
MESA: info:             con 32     %39 = ushr %485.x, %14 (0x10)
MESA: info:             con 32    %402 = iadd3 %403, %37, %39
MESA: info:             con 32     %41 = ushr %402, %4 (0x2)
MESA: info:             con 32    %428 = umul_low %41, %10 (0x6)
MESA: info:             con 32    %430 = imadsh_mix16 %10 (0x6), %41, %428
MESA: info:             con 32    %474 = isub %16, %430
MESA: info:             con 32     %45 = load_const (0xbf000000 = -0.500000 = -1090519040 = 3204448256)
MESA: info:             con 32x4  %497 = load_const (0x00000000, 0x00000001, 0x00000002, 0x00000003)
MESA: info:             con 1x4   %498 = ieq %474.xxxx, %497 (0x0, 0x1, 0x2, 0x3)
MESA: info:             con 32x4  %499 = b2i32 %498
MESA: info:             con 32    %500 = mov %499.w
MESA: info:             con 32    %496 = mov %499.z
MESA: info:             con 32    %491 = mov %499.x
MESA: info:             con 32    %492 = mov %499.y
MESA: info:                              @store_const_ir3 (%491) (base=20)
MESA: info:                              @store_const_ir3 (%492) (base=21)
MESA: info:                              @store_const_ir3 (%496) (base=22)
MESA: info:                              @store_const_ir3 (%500) (base=23)
MESA: info:             con 32     %56 = load_const (0x3f000000 = 0.500000)
MESA: info:             con 1      %57 = ieq %474, %325 (0x4)
MESA: info:             con 32     %58 = bcsel %57, %56 (0x3f000000), %45 (0xbf000000)
MESA: info:                              @store_const_ir3 (%58) (base=24)
MESA: info:             con 1      %59 = ior %498.z, %498.w
MESA: info:             con 1      %60 = ior %59, %57
MESA: info:             con 32     %61 = b2i32 %60
MESA: info:                              @store_const_ir3 (%61) (base=25)
MESA: info:             con 1      %62 = uge %360 (0x1), %474
MESA: info:             con 32     %63 = b2i32 %62
MESA: info:                              @store_const_ir3 (%63) (base=26)
MESA: info:             con 1      %64 = ilt %16, %2 (0x0)
MESA: info:             con 32     %65 = iabs %16
MESA: info:             con 32     %66 = iand %65, %17 (0xffff)
MESA: info:             con 32     %67 = ushr %65, %14 (0x10)
MESA: info:             con 32x3  %509 = load_const (0x0000aaab, 0x00002aaa, 0x2aaaaaab) = (43691, 10922, 715827883)
MESA: info:             con 32x3  %510 = umul_low %66.xxx, %509 (0xaaab, 0x2aaa, 0x2aaaaaab)
MESA: info:             con 32x2  %503 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:             con 32x2  %504 = imadsh_mix16 %503 (0xaaab, 0x2aaa), %66.xx, %510.xy
MESA: info:             con 32x2  %505 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:             con 32x2  %506 = umul_low %67.xx, %505 (0xaaab, 0x2aaa)
MESA: info:             con 32x2  %507 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:             con 32x2  %508 = imadsh_mix16 %507 (0xaaab, 0x2aaa), %67.xx, %506
MESA: info:             con 32     %73 = load_const (0x2aaaaaab = 715827883)
MESA: info:             con 32    %414 = imadsh_mix16 %66, %73 (0x2aaaaaab), %510.z
MESA: info:             con 32    %415 = imadsh_mix16 %73 (0x2aaaaaab), %66, %414
MESA: info:             con 1      %75 = ult %415, %504.x
MESA: info:             con 32     %76 = b2i32 %75
MESA: info:             con 32     %78 = ushr %504.y, %14 (0x10)
MESA: info:             con 32    %400 = iadd3 %508.y, %76, %78
MESA: info:             con 32    %463 = load_const (0x00000000)
MESA: info:             con 32    %411 = imadsh_mix16 %67, %33 (0xaaab0000), %463 (0x0)
MESA: info:             con 32     %81 = iadd %415, %411
MESA: info:             con 1      %82 = ult %81, %415
MESA: info:             con 32     %83 = b2i32 %82
MESA: info:             con 32     %85 = ushr %508.x, %14 (0x10)
MESA: info:             con 32    %399 = iadd3 %400, %83, %85
MESA: info:             con 32     %87 = inot %399
MESA: info:             con 32     %88 = inot %81
MESA: info:             con 32     %89 = iadd %88, %360 (0x1)
MESA: info:             con 1      %90 = ult %89, %88
MESA: info:             con 32     %91 = b2i32 %90
MESA: info:             con 32     %92 = iadd %87, %91
MESA: info:             con 32     %93 = bcsel %64, %92, %399
MESA: info:             con 32     %94 = load_const (0x0000001f = 31)
MESA: info:             con 32     %95 = ushr %93, %94 (0x1f)
MESA: info:             con 32     %96 = iadd %93, %95
MESA: info:             con 32     %97 = i2f32 %96
MESA: info:             con 32     %98 = fadd %97, %56 (0.500000)
MESA: info:                              @store_const_ir3 (%98) (base=27)
MESA: info:             con 32    %333 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %515 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %516 = iand %333.xxxx, %515 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %524 = ieq %516, %2 (0x0).xxxx
MESA: info:             con 32x4  %525 = b2i32 %524
MESA: info:             con 32    %526 = mov %525.w
MESA: info:             con 32    %523 = mov %525.z
MESA: info:             con 32    %519 = mov %525.x
MESA: info:             con 32    %520 = mov %525.y
MESA: info:                              @store_const_ir3 (%519) (base=28)
MESA: info:                              @store_const_ir3 (%520) (base=29)
MESA: info:                              @store_const_ir3 (%523) (base=30)
MESA: info:                              @store_const_ir3 (%526) (base=31)
MESA: info:             con 32x2  %336 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %473 = fsub %336.y, %336.x
MESA: info:             con 32    %115 = frcp %473
MESA: info:                              @store_const_ir3 (%115) (base=32)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=48, range=4)
MESA: info:             con 32    %120 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32    %122 = @bindless_resource_ir3 (%360 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%120, %122)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32    %123 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32    %125 = load_const (0x00000002)
MESA: info:     con 32    %128 = @load_const_ir3 (%123 (0x0)) (base=16)
MESA: info:     con 32    %130 = @load_const_ir3 (%123 (0x0)) (base=17)
MESA: info:     con 32x3  %131 = @load_workgroup_id
MESA: info:     con 32x3  %132 = @load_base_workgroup_id
MESA: info:     con 32x2  %527 = iadd %131.xy, %132.xy
MESA: info:     con 32    %135 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %528 = umul_low %527, %135 (0xa).xx
MESA: info:     con 32x2  %529 = imadsh_mix16 %135 (0xa).xx, %527, %528
MESA: info:     div 32x3  %138 = @load_local_invocation_id
MESA: info:     div 32x2  %530 = iadd %529, %138.xy
MESA: info:     con 32    %141 = load_const (0x00000006)
MESA: info:     div 32x2  %531 = ishl %530, %141 (0x6).xx
MESA: info:     div 32    %532 = mov %531.x
MESA: info:     div 32    %533 = mov %531.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32    %144 = phi b6: %533, b30: %324
MESA: info:         con 32    %145 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %534 = iadd %531.yx, %145 (0x40).xx
MESA: info:         div 32    %148 = umin %130, %534.x
MESA: info:         div 32    %149 = umin %128, %534.y
MESA: info:         div 1     %150 = uge %144, %148
MESA: info:                          // succs: b8 b9
MESA: info:         if %150 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32    %151 = phi b10: %532, b29: %322
MESA: info:             div 1     %152 = uge %151, %149
MESA: info:                              // succs: b12 b13
MESA: info:             if %152 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32    %153 = u2f32 %151
MESA: info:             div 32    %154 = u2f32 %144
MESA: info:             con 32    %156 = @load_const_ir3 (%123 (0x0)) (base=18)
MESA: info:             con 32    %159 = @load_const_ir3 (%123 (0x0)) (base=19)
MESA: info:             con 32x2  %165 = @load_const_ir3 (%123 (0x0)) (base=52)
MESA: info:             con 32    %166 = load_const (0xbf000000 = -0.500000 = -1090519040 = 3204448256)
MESA: info:             div 32    %472 = ffma %153, %156, %166 (-0.500000)
MESA: info:             div 32    %471 = ffma %154, %159, %166 (-0.500000)
MESA: info:             con 32    %169 = load_const (0x00000001)
MESA: info:             con 32    %171 = @load_const_ir3 (%123 (0x0)) (base=20)
MESA: info:             con 32    %175 = @load_const_ir3 (%123 (0x0)) (base=21)
MESA: info:             con 32    %179 = @load_const_ir3 (%123 (0x0)) (base=22)
MESA: info:             con 32    %183 = @load_const_ir3 (%123 (0x0)) (base=23)
MESA: info:             div 32    %186 = fneg %471
MESA: info:             div 32    %187 = fneg %472
MESA: info:             con 32    %188 = load_const (0x3f000000 = 1056964608)
MESA: info:             con 32    %190 = @load_const_ir3 (%123 (0x0)) (base=24)
MESA: info:             div 32    %395 = icsel_eqz %183, %186, %166 (0xbf000000)
MESA: info:             div 32    %394 = icsel_eqz %183, %190, %186
MESA: info:             con 32    %194 = @load_const_ir3 (%123 (0x0)) (base=25)
MESA: info:             div 32    %393 = icsel_eqz %194, %187, %472
MESA: info:             div 32    %392 = icsel_eqz %179, %395, %188 (0x3f000000)
MESA: info:             div 32    %391 = icsel_eqz %179, %394, %471
MESA: info:             div 32    %390 = icsel_eqz %175, %393, %166 (0xbf000000)
MESA: info:             div 32    %389 = icsel_eqz %175, %391, %472
MESA: info:             div 32    %388 = icsel_eqz %171, %390, %188 (0x3f000000)
MESA: info:             con 32    %204 = @load_const_ir3 (%123 (0x0)) (base=26)
MESA: info:             div 32    %387 = icsel_eqz %204, %392, %186
MESA: info:             div 32    %386 = icsel_eqz %171, %389, %187
MESA: info:             con 32    %209 = i2f32 %165.y
MESA: info:             con 32    %210 = @bindless_resource_ir3 (%169 (0x1)) (desc_set=2)
MESA: info:             con 32    %211 = @bindless_resource_ir3 (%123 (0x0)) (desc_set=2)
MESA: info:             con 32    %213 = @load_const_ir3 (%123 (0x0)) (base=27)
MESA: info:             div 32x4  %214 = vec4 %388, %387, %386, %213
MESA: info:             div 32x4  %215 = (float32)txl %211 (texture_handle), %210 (sampler_handle), %214 (coord), %209 (lod), 0 (texture), 0 (sampler)
MESA: info:             con 32    %222 = @load_const_ir3 (%123 (0x0)) (base=48)
MESA: info:             con 32    %224 = @load_const_ir3 (%123 (0x0)) (base=28)
MESA: info:             con 32    %228 = @load_const_ir3 (%123 (0x0)) (base=29)
MESA: info:             con 32    %232 = @load_const_ir3 (%123 (0x0)) (base=30)
MESA: info:             con 32    %236 = @load_const_ir3 (%123 (0x0)) (base=31)
MESA: info:             con 32    %241 = @load_const_ir3 (%123 (0x0)) (base=50)
MESA: info:             con 32    %242 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32    %243 = fadd %241, %242 (1.000000)
MESA: info:             div 32    %385 = icsel_eqz %224, %215.x, %243
MESA: info:             div 32    %384 = icsel_eqz %228, %215.y, %243
MESA: info:             div 32    %383 = icsel_eqz %232, %215.z, %243
MESA: info:             div 32    %382 = icsel_eqz %236, %215.w, %243
MESA: info:             con 1     %263 = ine %222, %123 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %263 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 con 32x2  %266 = @load_const_ir3 (%123 (0x0)) (base=49)
MESA: info:                 div 32    %470 = fsub %385, %266.x
MESA: info:                 div 32    %469 = fsub %384, %266.x
MESA: info:                 div 32    %468 = fsub %383, %266.x
MESA: info:                 div 32    %467 = fsub %382, %266.x
MESA: info:                 con 32    %273 = @load_const_ir3 (%123 (0x0)) (base=32)
MESA: info:                 div 32    %274 = fmul %470, %273
MESA: info:                 div 32    %275 = fmul %469, %273
MESA: info:                 div 32    %276 = fmul %468, %273
MESA: info:                 div 32    %277 = fmul %467, %273
MESA: info:                 div 1     %278 = flt! %274, %123 (0.000000)
MESA: info:                 div 1     %279 = flt! %275, %123 (0.000000)
MESA: info:                 div 1     %280 = flt! %276, %123 (0.000000)
MESA: info:                 div 1     %281 = flt! %277, %123 (0.000000)
MESA: info:                 con 32    %282 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %283 = fmul %274, %282 (256.000000)
MESA: info:                 con 32    %284 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %285 = bcsel %278, %284 (0x44000000), %283
MESA: info:                 div 32    %286 = fmul %275, %282 (256.000000)
MESA: info:                 div 32    %287 = bcsel %279, %284 (0x44000000), %286
MESA: info:                 div 32    %288 = fmul %276, %282 (256.000000)
MESA: info:                 div 32    %289 = bcsel %280, %284 (0x44000000), %288
MESA: info:                 div 32    %290 = fmul %277, %282 (256.000000)
MESA: info:                 div 32    %291 = bcsel %281, %284 (0x44000000), %290
MESA: info:                 div 32    %292 = ffloor %285
MESA: info:                 div 32    %293 = ffloor %287
MESA: info:                 div 32    %294 = ffloor %289
MESA: info:                 div 32    %295 = ffloor %291
MESA: info:                 div 32    %296 = f2u32 %292
MESA: info:                 div 32    %297 = f2u32 %293
MESA: info:                 div 32    %298 = f2u32 %294
MESA: info:                 div 32    %299 = f2u32 %295
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %300 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %301 = phi b15: %299, b16: %300 (0x101)
MESA: info:             div 32    %302 = phi b15: %298, b16: %300 (0x101)
MESA: info:             div 32    %303 = phi b15: %297, b16: %300 (0x101)
MESA: info:             div 32    %304 = phi b15: %296, b16: %300 (0x101)
MESA: info:             con 32    %305 = load_const (0x00000100 = 256)
MESA: info:             div 1     %306 = ult %304, %305 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %306 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %307 = ishl %304, %125 (0x2)
MESA: info:                 con 32    %308 = @bindless_resource_ir3 (%123 (0x0)) (desc_set=3)
MESA: info:                 div 32    %340 = @ssbo_atomic_ir3 (%308, %307, %169 (0x1), %304) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %310 = ult %303, %305 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %310 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %311 = ishl %303, %125 (0x2)
MESA: info:                 con 32    %312 = @bindless_resource_ir3 (%123 (0x0)) (desc_set=3)
MESA: info:                 div 32    %344 = @ssbo_atomic_ir3 (%312, %311, %169 (0x1), %303) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %314 = ult %302, %305 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %314 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %315 = ishl %302, %125 (0x2)
MESA: info:                 con 32    %316 = @bindless_resource_ir3 (%123 (0x0)) (desc_set=3)
MESA: info:                 div 32    %348 = @ssbo_atomic_ir3 (%316, %315, %169 (0x1), %302) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %318 = ult %301, %305 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %318 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %319 = ishl %301, %125 (0x2)
MESA: info:                 con 32    %320 = @bindless_resource_ir3 (%123 (0x0)) (desc_set=3)
MESA: info:                 div 32    %352 = @ssbo_atomic_ir3 (%320, %319, %169 (0x1), %301) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %322 = iadd %151, %169 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %323 = load_const (0x00000001)
MESA: info:         div 32    %324 = iadd %144, %323 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 f2750cb5e1147fb58e7b6d3d568fa4759a4589d5:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c12.x (4 vec4)
MESA: info: ;   preamble                   c4.x (8 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c16.x)	0x0000aaaa, 0xaaaaaaab, 0x0000ffff, 0x0000aaab
MESA: info: @const(c17.x)	0xaaab0000, 0x3f000000, 0xbf000000, 0x00002aaa
MESA: info: @const(c18.x)	0x2aaaaaab, 0x44000000, 0x43800000, 0xd0d0d0d0
MESA: info: shps #l174
MESA: info: getone #l174
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 1, 0
MESA: info: shr.b r49.z, c16.y, 16
MESA: info: shr.b r49.w, c17.x, 16
MESA: info: ldc.u.offset1.2.imm.base1 r54.w, 0, 0
MESA: info: shr.b r50.x, c18.x, 16
MESA: info: ldc.u.offset0.1.imm.base1 r54.z, 0, 0
MESA: info: shr.b r50.y, c17.x, 16
MESA: info: mova1 a1.x, (r)48
MESA: info: (sy)(ss)cov.f32u32 r50.z, r48.w
MESA: info: cov.f32s32 r49.y, r49.y
MESA: info: and.b r51.x, r49.y, c16.z
MESA: info: shr.b r51.y, r51.x, 16
MESA: info: mull.u r51.w, r51.x, c16.w
MESA: info: mull.u r51.y, c16.w, r51.y
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r51.w
MESA: info: cov.f32u32 r50.w, r49.x
MESA: info: shr.b r52.y, r49.y, 16
MESA: info: mull.u r49.z, r51.x, r49.z
MESA: info: shr.b r51.z, r51.x, 16
MESA: info: mull.u r52.x, r51.x, c16.x
MESA: info: mull.u r53.y, r51.x, c16.y
MESA: info: mull.u r49.w, r52.y, r49.w
MESA: info: shr.b r52.z, r52.y, 16
MESA: info: shr.b r52.w, r52.y, 16
MESA: info: mull.u r53.x, r52.y, c16.w
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: mull.u r51.z, c16.x, r51.z
MESA: info: shr.b r51.x, r51.x, 16
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: mull.u r52.z, c16.w, r52.z
MESA: info: mull.u r52.w, c16.x, r52.w
MESA: info: mull.u r52.y, r52.y, c16.x
MESA: info: add.u r49.z, r49.z, r53.y
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: mull.u r51.x, c16.y, r51.x
MESA: info: add.u r49.w, r49.w, 0
MESA: info: shl.b r52.z, r52.z, 16
MESA: info: shl.b r52.w, r52.w, 16
MESA: info: add.u r51.z, r51.z, r52.x
MESA: info: shl.b r51.x, r51.x, 16
MESA: info: add.u r52.z, r52.z, r53.x
MESA: info: add.u r52.w, r52.w, r52.y
MESA: info: shr.b r51.z, r51.z, 16
MESA: info: add.u r51.x, r51.x, r49.z
MESA: info: shr.b r52.z, r52.z, 16
MESA: info: add.u r49.w, r51.x, r49.w
MESA: info: add.f r55.x, r55.x, (neg)r54.w
MESA: info: and.b r55.y, r54.z, 1
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: cmps.u.lt hr54.z, r51.x, r51.y
MESA: info: cmps.u.lt hr51.z, r49.w, r51.x
MESA: info: cov.u16s32 r53.z, hr54.z
MESA: info: cov.u16s32 r53.w, hr51.z
MESA: info: add.u r52.w, r52.w, r53.z
MESA: info: add.u r52.w, r52.w, r51.z
MESA: info: add.u r52.w, r52.w, r53.w
MESA: info: add.u r52.w, r52.w, r52.z
MESA: info: shr.b r52.w, r52.w, 2
MESA: info: shr.b r54.x, r52.w, 16
MESA: info: mull.u r54.x, 6, r54.x
MESA: info: mull.u r52.w, r52.w, 6
MESA: info: shl.b r54.x, r54.x, 16
MESA: info: add.u r54.x, r54.x, r52.w
MESA: info: sub.u r54.x, r49.y, r54.x
MESA: info: cmps.s.eq hr55.x, r54.x, 2
MESA: info: cov.u16s32 r51.w, hr55.x
MESA: info: cmps.s.eq hr54.x, r54.x, 1
MESA: info: cmps.s.eq hr55.y, r54.x, 3
MESA: info: or.b hr55.x, hr55.x, hr55.y
MESA: info: cov.u16s32 r52.x, hr55.y
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r55.x, r55.x
MESA: info: stc.u32 c[16], r50.z, 1
MESA: info: stc.u32 c[17], r50.w, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: cov.u16s32 r51.y, hr54.x
MESA: info: cmps.s.eq hr53.x, r54.x, 0
MESA: info: cov.u16s32 r50.w, hr53.x
MESA: info: stc.u32 c[22], r51.w, 1
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[23], r52.x, 1
MESA: info: stc.u32 c[32], r55.x, 1
MESA: info: (ss)cmps.s.eq hr49.z, r54.x, 4
MESA: info: or.b hr55.x, hr55.x, hr49.z
MESA: info: absneg.s r50.z, (abs)r49.y
MESA: info: cov.u16s32 r49.w, hr55.x
MESA: info: cmps.u.ge hr49.w, 1, r54.x
MESA: info: cov.u16u32 r49.x, hr49.z
MESA: info: cov.u16s32 r49.z, hr49.w
MESA: info: sel.b32 r49.x, c17.y, r49.x, c17.z
MESA: info: cmps.s.lt r49.y, r49.y, 0
MESA: info: stc.u32 c[21], r51.y, 1
MESA: info: stc.u32 c[20], r50.w, 1
MESA: info: (ss)and.b r50.w, r50.z, c16.z
MESA: info: mull.u r50.x, r50.w, r50.x
MESA: info: shr.b r51.x, r50.w, 16
MESA: info: shr.b r51.y, r50.w, 16
MESA: info: mull.u r51.z, r50.w, c16.w
MESA: info: mull.u r51.w, r50.w, c17.w
MESA: info: mull.u r52.w, r50.w, c18.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: mull.u r51.x, c16.w, r51.x
MESA: info: shr.b r50.w, r50.w, 16
MESA: info: add.u r50.x, r50.x, r52.w
MESA: info: shl.b r51.x, r51.x, 16
MESA: info: mull.u r50.w, c18.x, r50.w
MESA: info: add.u r51.x, r51.x, r51.z
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r50.x
MESA: info: shr.b r50.z, r50.z, 16
MESA: info: mull.u r50.y, r50.z, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, 0
MESA: info: add.u r50.y, r50.w, r50.y
MESA: info: mull.u r51.y, c17.w, r51.y
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r51.w
MESA: info: shr.b r52.x, r50.z, 16
MESA: info: shr.b r52.y, r50.z, 16
MESA: info: mull.u r52.z, r50.z, c16.w
MESA: info: shr.b r51.y, r51.y, 16
MESA: info: mull.u r52.x, c16.w, r52.x
MESA: info: mull.u r52.y, c17.w, r52.y
MESA: info: mull.u r50.z, r50.z, c17.w
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: shl.b r52.y, r52.y, 16
MESA: info: add.u r52.x, r52.x, r52.z
MESA: info: add.u r52.y, r52.y, r50.z
MESA: info: shr.b r52.x, r52.x, 16
MESA: info: stc.u32 c[25], r49.w, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: stc.u32 c[24], r49.x, 1
MESA: info: (ss)cmps.u.lt hr54.x, r50.w, r51.x
MESA: info: cmps.u.lt hr53.z, r50.y, r50.w
MESA: info: not.b r50.y, r50.y
MESA: info: add.u r53.z, r50.y, 1
MESA: info: cmps.s.eq hr55.x, r55.y, 0
MESA: info: and.b r49.z, r54.z, 8
MESA: info: cov.u16s32 r53.x, hr54.x
MESA: info: cov.u16s32 r53.y, hr53.z
MESA: info: cov.u16s32 r51.w, hr55.x
MESA: info: add.u r52.y, r52.y, r53.x
MESA: info: add.u r52.y, r52.y, r51.y
MESA: info: add.u r52.y, r52.y, r53.y
MESA: info: add.u r52.y, r52.y, r52.x
MESA: info: not.b r54.x, r52.y
MESA: info: and.b r52.x, r54.z, 2
MESA: info: cmps.s.eq hr49.z, r52.x, 0
MESA: info: cov.u16s32 r49.x, hr49.z
MESA: info: (ss)cmps.u.lt hr52.z, r53.z, r50.y
MESA: info: cov.u16s32 r53.w, hr52.z
MESA: info: add.u r54.x, r54.x, r53.w
MESA: info: sel.b32 r54.x, r54.x, r49.y, r52.y
MESA: info: shr.b r54.y, r54.x, 31
MESA: info: and.b r49.y, r54.z, 4
MESA: info: add.u r54.x, r54.x, r54.y
MESA: info: (rpt1)cmps.s.eq hr51.z, (r)r49.y, 0
MESA: info: cov.s32f32 r54.x, r54.x
MESA: info: add.f r54.x, r54.x, (0.5)
MESA: info: stc.u32 c[28], r51.w, 1
MESA: info: stc.u32 c[29], r49.x, 1
MESA: info: (ss)(rpt1)cov.u16s32 r50.x, (r)hr51.z
MESA: info: stc.u32 c[27], r54.x, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[30], r50.x, 1
MESA: info: stc.u32 c[31], r50.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l174:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.z, r48.x, 16
MESA: info: mull.u r50.z, 10, r50.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r50.z, r50.z, 16
MESA: info: add.u r50.z, r50.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r50.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l192:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l314
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l200:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l312
MESA: info: add.f r51.x, c12.z, (1.0)
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: mov.f32f32 r2.z, c5.w
MESA: info: mad.f32 r2.y, c4.w, r2.y, c17.z
MESA: info: mad.f32 r2.x, c4.z, r2.x, c17.z
MESA: info: mov.f32f32 r2.w, c6.y
MESA: info: absneg.f r3.x, (neg)r2.y
MESA: info: mov.f32f32 r3.z, c5.z
MESA: info: mov.f32f32 r4.x, c5.y
MESA: info: absneg.f r3.y, (neg)r2.x
MESA: info: sel.b32 r3.w, c17.z, r2.z, r3.x
MESA: info: sel.b32 r2.z, r3.x, r2.z, c6.x
MESA: info: mov.f32f32 r4.y, c5.x
MESA: info: mov.f32f32 r4.z, c6.z
MESA: info: sel.b32 r2.w, r2.x, r2.w, r3.y
MESA: info: sel.b32 r2.y, (last)r2.y, r3.z, (last)r2.z
MESA: info: sel.b32 r3.z, c17.y, r3.z, (last)r3.w
MESA: info: sel.b32 r2.x, (last)r2.x, r4.x, (last)r2.y
MESA: info: sel.b32 r4.x, c17.z, r4.x, (last)r2.w
MESA: info: cov.s32f32 r4.w, c13.y
MESA: info: sel.b32 r3.x, (last)r3.x, r4.z, (last)r3.z
MESA: info: sel.b32 r3.y, (last)r3.y, r4.y, (last)r2.x
MESA: info: sel.b32 r4.y, c17.y, r4.y, (last)r4.x
MESA: info: mov.f32f32 r6.x, c7.x
MESA: info: mov.f32f32 r6.y, c7.y
MESA: info: mov.f32f32 r6.z, c7.z
MESA: info: mov.f32f32 r6.w, c7.w
MESA: info: cmps.s.ne p0.y, c12.x, 0
MESA: info: alias.tex.b32.1 r2.w, r4.y
MESA: info: alias.tex.b32.0 r3.z, c6.w
MESA: info: saml.3d.a.base2 (f32)(xyzw)r5.x, r2.w, r4.w, s#1, t#0
MESA: info: (sy)(ss)sel.b32 r6.x, r51.x, r6.x, (last)r5.x
MESA: info: sel.b32 r6.y, r51.x, r6.y, (last)r5.y
MESA: info: sel.b32 r6.z, r51.x, r6.z, (last)r5.z
MESA: info: (nop1) sel.b32 r6.w, r51.x, r6.w, (last)r5.w
MESA: info: br !p0.y, #l270
MESA: info: add.f r6.x, (last)r6.x, (neg)c12.y
MESA: info: add.f r6.y, (last)r6.y, (neg)c12.y
MESA: info: add.f r6.z, (last)r6.z, (neg)c12.y
MESA: info: add.f r6.w, (last)r6.w, (neg)c12.y
MESA: info: mul.f r6.x, (last)r6.x, c8.x
MESA: info: mul.f r6.y, (last)r6.y, c8.x
MESA: info: mul.f r6.z, (last)r6.z, c8.x
MESA: info: mul.f r6.w, (last)r6.w, c8.x
MESA: info: cmps.f.lt r7.x, r6.x, (0.0)
MESA: info: cmps.f.lt r7.y, r6.y, (0.0)
MESA: info: cmps.f.lt r7.z, r6.z, (0.0)
MESA: info: cmps.f.lt r7.w, r6.w, (0.0)
MESA: info: mul.f r6.x, (last)r6.x, c18.z
MESA: info: mul.f r6.y, (last)r6.y, c18.z
MESA: info: mul.f r6.z, (last)r6.z, c18.z
MESA: info: mul.f r6.w, (last)r6.w, c18.z
MESA: info: sel.b32 r7.x, c18.y, r7.x, (last)r6.x
MESA: info: sel.b32 r7.y, c18.y, r7.y, (last)r6.y
MESA: info: sel.b32 r7.z, c18.y, r7.z, (last)r6.z
MESA: info: sel.b32 r7.w, c18.y, r7.w, (last)r6.w
MESA: info: floor.f r7.x, (last)r7.x
MESA: info: floor.f r7.y, (last)r7.y
MESA: info: floor.f r7.z, (last)r7.z
MESA: info: floor.f r7.w, (last)r7.w
MESA: info: cov.f32u32 r7.x, (last)r7.x
MESA: info: cov.f32u32 r7.y, (last)r7.y
MESA: info: cov.f32u32 r7.z, (last)r7.z
MESA: info: cov.f32u32 r7.w, (last)r7.w
MESA: info: jump #l274
MESA: info: l270:
MESA: info: mov.u32u32 r7.w, 257
MESA: info: mov.u32u32 r7.x, 257
MESA: info: mov.u32u32 r7.y, 257
MESA: info: mov.u32u32 r7.z, 257
MESA: info: l274:
MESA: info: (nop3) cmps.u.lt p0.x, r7.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r8.x, 0
MESA: info: mov.u32u32 r8.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r8.x, r7.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r7.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r8.z, 0
MESA: info: mov.u32u32 r8.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r8.z, r7.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r7.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r9.x, 0
MESA: info: mov.u32u32 r9.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r9.x, r7.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r7.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r9.z, 0
MESA: info: mov.u32u32 r9.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r9.z, r7.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l200
MESA: info: l312:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l192
MESA: info: l314:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 58/1: 213 instr, 85 nops, 128 non-nops, 25 mov, 7 cov, 642 dwords
MESA: info: ; CL prog 58/1: 0 last-baryf, 0 last-helper, 0 half, 10 full, 20 constlen
MESA: info: ; CL prog 58/1: 100 cat0, 32 cat1, 52 cat2, 20 cat3, 0 cat4, 1 cat5, 4 cat6, 4 cat7
MESA: info: ; CL prog 58/1: 5 sstall, 3 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 58/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 176 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xef1609ea, 0x0454e9a7, 0x7a5f53ad, 0x5f7cf01e, 0x760c22c7, 0x2f1254c2, 0x5734fdb5, 0x7e05e4f3}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %141 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %135 = @load_ubo_vec4 (%4, %141 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %171 = f2u32 %135
MESA: info:             con 32    %172 = mov %171.x
MESA: info:             con 32    %173 = mov %171.y
MESA: info:                              @store_const_ir3 (%172) (base=16)
MESA: info:                              @store_const_ir3 (%173) (base=17)
MESA: info:             con 32      %8 = u2f32 %171.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %135.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %135.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%19)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%21)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %24 = @load_local_invocation_id
MESA: info:     con 32x3   %25 = @load_workgroup_id
MESA: info:     con 32x3   %26 = @load_base_workgroup_id
MESA: info:     con 32x2  %174 = iadd %25.xy, %26.xy
MESA: info:     con 32     %29 = load_const (0x00000000)
MESA: info:     con 32x2   %34 = @load_const_ir3 (%29 (0x0)) (base=40)
MESA: info:     con 32     %36 = @load_const_ir3 (%29 (0x0)) (base=16)
MESA: info:     con 32     %38 = @load_const_ir3 (%29 (0x0)) (base=17)
MESA: info:     con 32     %39 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %175 = umul_low %174, %39 (0xa).xx
MESA: info:     con 32x2  %176 = imadsh_mix16 %39 (0xa).xx, %174, %175
MESA: info:     div 32x2  %177 = iadd %176, %24.xy
MESA: info:     con 32     %44 = load_const (0x00000006)
MESA: info:     div 32x2  %178 = ishl %177, %44 (0x6).xx
MESA: info:     div 32    %179 = mov %178.x
MESA: info:     div 32    %180 = mov %178.y
MESA: info:     div 32    %162 = umul_low %24.y, %39 (0xa)
MESA: info:     div 32    %164 = imadsh_mix16 %39 (0xa), %24.y, %162
MESA: info:     con 32     %50 = @load_const_ir3 (%29 (0x0)) (base=18)
MESA: info:     con 32    %159 = umul_low %174.y, %50
MESA: info:     con 32    %160 = imadsh_mix16 %174.y, %50, %159
MESA: info:     con 32    %161 = imadsh_mix16 %50, %174.y, %160
MESA: info:     con 32     %52 = iadd %161, %174.x
MESA: info:     con 32     %53 = load_const (0x00000064 = 100)
MESA: info:     con 32    %156 = umul_low %52, %53 (0x64)
MESA: info:     con 32    %158 = imadsh_mix16 %53 (0x64), %52, %156
MESA: info:     div 32    %155 = iadd3 %164, %24.x, %158
MESA: info:     con 32x4  %191 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %204 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %190 = phi b6: %191 (0x0, 0x0, 0x0, 0x0), b15: %192
MESA: info:         div 32x4  %203 = phi b6: %204 (0x0, 0x0, 0x0, 0x0), b15: %235
MESA: info:         div 32     %64 = phi b6: %29 (0x0), b15: %234
MESA: info:         div 32     %65 = phi b6: %180, b15: %125
MESA: info:         div 32x3  %212 = mov %190.yzw
MESA: info:         div 32    %184 = mov %190.x
MESA: info:         con 32     %66 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %207 = iadd %178.yx, %66 (0x40).xx
MESA: info:         div 32     %69 = umin %38, %207.x
MESA: info:         div 32     %70 = umin %36, %207.y
MESA: info:         div 1      %71 = uge %65, %69
MESA: info:                          // succs: b8 b9
MESA: info:         if %71 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %72 = phi b10: %179, b14: %123
MESA: info:             div 32     %73 = phi b10: %184, b14: %122
MESA: info:             div 32x3  %211 = phi b10: %212, b14: %227
MESA: info:             div 32x4  %220 = phi b10: %203, b14: %221
MESA: info:             div 32     %81 = phi b10: %64, b14: %147
MESA: info:             div 1      %82 = uge %72, %70
MESA: info:                              // succs: b12 b13
MESA: info:             if %82 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %83 = u2f32 %72
MESA: info:             div 32     %84 = u2f32 %65
MESA: info:             con 32     %86 = @load_const_ir3 (%29 (0x0)) (base=19)
MESA: info:             div 32     %87 = fmul %83, %86
MESA: info:             con 32     %89 = @load_const_ir3 (%29 (0x0)) (base=20)
MESA: info:             div 32     %90 = fmul %84, %89
MESA: info:             con 32x2   %94 = @load_const_ir3 (%29 (0x0)) (base=36)
MESA: info:             con 32     %95 = mov %94.y
MESA: info:             div 32     %96 = fmul %87, %34.x
MESA: info:             div 32     %97 = fmul %90, %34.y
MESA: info:             div 32     %98 = f2i32 %96
MESA: info:             div 32     %99 = f2i32 %97
MESA: info:             con 32    %100 = f2i32 %94.x
MESA: info:             div 32x3  %101 = vec3 %98, %99, %100
MESA: info:             con 32    %102 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %103 = (uint32)txf %102 (texture_handle), %101 (coord), %95 (lod), 0 (texture)
MESA: info:             div 32x3  %223 = umin %211, %103.xyz
MESA: info:             div 32    %108 = umin %220.x, %103.w
MESA: info:             div 32x3  %225 = umax %220.yzw, %103.xyz
MESA: info:             div 32    %112 = umax %81, %103.w
MESA: info:             div 32x3  %227 = icsel_eqz %73.xxx, %103.xyz, %223
MESA: info:             div 32    %151 = icsel_eqz %73, %103.w, %108
MESA: info:             div 32x3  %229 = icsel_eqz %73.xxx, %103.xyz, %225
MESA: info:             div 32    %147 = icsel_eqz %73, %103.w, %112
MESA: info:             con 32    %121 = load_const (0x00000001)
MESA: info:             div 32    %122 = iadd %73, %121 (0x1)
MESA: info:             div 32    %123 = iadd %72, %121 (0x1)
MESA: info:             div 32x4  %221 = vec4 %151, %229.x, %229.y, %229.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %237 = phi b12: %73
MESA: info:         div 32x3  %236 = phi b12: %211
MESA: info:         div 32x4  %235 = phi b12: %220
MESA: info:         div 32    %234 = phi b12: %81
MESA: info:         con 32    %124 = load_const (0x00000001)
MESA: info:         div 32    %125 = iadd %65, %124 (0x1)
MESA: info:         div 32x4  %192 = vec4 %237, %236.x, %236.y, %236.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %240 = phi b8: %190
MESA: info:     div 32x4  %239 = phi b8: %203
MESA: info:     div 32    %238 = phi b8: %64
MESA: info:     con 32     %32 = load_const (0x00000002)
MESA: info:     con 32x2  %230 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %231 = ishl %155.xx, %230 (0x5, 0x3)
MESA: info:     div 32    %232 = mov %231.x
MESA: info:     div 32    %233 = mov %231.y
MESA: info:     con 32    %128 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %129 = vec4 %240.y, %240.z, %240.w, %239.x
MESA: info:                      @store_ssbo_ir3 (%129, %128, %232, %233) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %130 = load_const (0x00000010 = 16)
MESA: info:     div 32    %131 = iadd %231.x, %130 (0x10)
MESA: info:     div 32x4  %132 = vec4 %239.y, %239.z, %239.w, %238
MESA: info:     div 32    %140 = ushr %131, %32 (0x2)
MESA: info:                      @store_ssbo_ir3 (%132, %128, %131, %140) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 8196077e974e19ceb331de88e5a9d3816e997d40:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l112
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l110
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: cov.f32s32 r5.x, c9.x
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: mul.f r4.w, (last)r4.w, c5.x
MESA: info: add.u r5.y, r1.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: mul.f r4.w, (last)r4.w, c10.y
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.3d.base2 (u32)(xyzw)r5.z, r4.z, r40.x, s#0, t#0
MESA: info: (sy)min.u r1.z, (last)r1.z, r5.z
MESA: info: min.u r1.w, (last)r1.w, r5.w
MESA: info: min.u r2.x, (last)r2.x, r6.x
MESA: info: min.u r2.y, (last)r2.y, r6.y
MESA: info: max.u r2.z, (last)r2.z, r5.z
MESA: info: max.u r2.w, (last)r2.w, r5.w
MESA: info: max.u r3.x, (last)r3.x, r6.x
MESA: info: max.u r3.y, (last)r3.y, r6.y
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.z
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.w
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r6.x
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.y
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.z
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.w
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r6.x
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.y
MESA: info: mov.u32u32 r1.y, (last)r5.y
MESA: info: jump #l74
MESA: info: l110:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l112:
MESA: info: (jp)shl.b r6.z, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.z, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 59/1: 123 instr, 28 nops, 95 non-nops, 12 mov, 5 cov, 256 dwords
MESA: info: ; CL prog 59/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 59/1: 33 cat0, 17 cat1, 57 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 3 cat7
MESA: info: ; CL prog 59/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 59/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x625e771e, 0x9097d588, 0x394d5c87, 0x33ac0999, 0x0ef4fdfe, 0x263775d0, 0x2b05806c, 0x11b85f5a}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %211 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %295 = f2u32 %211
MESA: info:             con 32    %296 = mov %295.x
MESA: info:             con 32    %297 = mov %295.y
MESA: info:                              @store_const_ir3 (%296) (base=16)
MESA: info:                              @store_const_ir3 (%297) (base=17)
MESA: info:             con 32     %10 = frcp %211.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %211.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %214 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %302 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %303 = iand %214.xxxx, %302 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %311 = ieq %303, %2 (0x0).xxxx
MESA: info:             con 32x4  %312 = b2i32 %311
MESA: info:             con 32    %313 = mov %312.w
MESA: info:             con 32    %310 = mov %312.z
MESA: info:             con 32    %306 = mov %312.x
MESA: info:             con 32    %307 = mov %312.y
MESA: info:                              @store_const_ir3 (%306) (base=20)
MESA: info:                              @store_const_ir3 (%307) (base=21)
MESA: info:                              @store_const_ir3 (%310) (base=22)
MESA: info:                              @store_const_ir3 (%313) (base=23)
MESA: info:             con 32    %217 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %28 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %29 = fadd %217, %28 (1.000000)
MESA: info:             con 32     %30 = f2u32 %29
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @store_const_ir3 (%30) (base=25)
MESA: info:                              @store_const_ir3 (%30) (base=26)
MESA: info:                              @store_const_ir3 (%30) (base=27)
MESA: info:             con 32x2  %229 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %294 = fsub %229.y, %229.x
MESA: info:             con 32     %46 = frcp %294
MESA: info:                              @store_const_ir3 (%46) (base=28)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %51 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%51)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %52 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %53 = load_const (0x00000002)
MESA: info:     con 32x2   %58 = @load_const_ir3 (%52 (0x0)) (base=40)
MESA: info:     con 32     %60 = @load_const_ir3 (%52 (0x0)) (base=16)
MESA: info:     con 32     %62 = @load_const_ir3 (%52 (0x0)) (base=17)
MESA: info:     con 32x3   %63 = @load_workgroup_id
MESA: info:     con 32x3   %64 = @load_base_workgroup_id
MESA: info:     con 32x2  %314 = iadd %63.xy, %64.xy
MESA: info:     con 32     %67 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %315 = umul_low %314, %67 (0xa).xx
MESA: info:     con 32x2  %316 = imadsh_mix16 %67 (0xa).xx, %314, %315
MESA: info:     div 32x3   %70 = @load_local_invocation_id
MESA: info:     div 32x2  %317 = iadd %316, %70.xy
MESA: info:     con 32     %73 = load_const (0x00000006)
MESA: info:     div 32x2  %318 = ishl %317, %73 (0x6).xx
MESA: info:     div 32    %319 = mov %318.x
MESA: info:     div 32    %320 = mov %318.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %76 = phi b6: %320, b30: %208
MESA: info:         con 32     %77 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %321 = iadd %318.yx, %77 (0x40).xx
MESA: info:         div 32     %80 = umin %62, %321.x
MESA: info:         div 32     %81 = umin %60, %321.y
MESA: info:         div 1      %82 = uge %76, %80
MESA: info:                          // succs: b8 b9
MESA: info:         if %82 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %83 = phi b10: %319, b29: %206
MESA: info:             div 1      %84 = uge %83, %81
MESA: info:                              // succs: b12 b13
MESA: info:             if %84 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %85 = u2f32 %83
MESA: info:             div 32     %86 = u2f32 %76
MESA: info:             con 32     %88 = @load_const_ir3 (%52 (0x0)) (base=18)
MESA: info:             div 32     %89 = fmul %85, %88
MESA: info:             con 32     %91 = @load_const_ir3 (%52 (0x0)) (base=19)
MESA: info:             div 32     %92 = fmul %86, %91
MESA: info:             con 32x2   %97 = @load_const_ir3 (%52 (0x0)) (base=36)
MESA: info:             con 32     %98 = mov %97.y
MESA: info:             div 32     %99 = fmul %89, %58.x
MESA: info:             div 32    %100 = fmul %92, %58.y
MESA: info:             div 32    %101 = f2i32 %99
MESA: info:             div 32    %102 = f2i32 %100
MESA: info:             con 32    %103 = f2i32 %97.x
MESA: info:             div 32x3  %104 = vec3 %101, %102, %103
MESA: info:             con 32    %105 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %106 = (uint32)txf %105 (texture_handle), %104 (coord), %98 (lod), 0 (texture)
MESA: info:             con 32    %109 = @load_const_ir3 (%52 (0x0)) (base=32)
MESA: info:             con 32    %112 = @load_const_ir3 (%52 (0x0)) (base=20)
MESA: info:             con 32    %116 = @load_const_ir3 (%52 (0x0)) (base=21)
MESA: info:             con 32    %120 = @load_const_ir3 (%52 (0x0)) (base=22)
MESA: info:             con 32    %124 = @load_const_ir3 (%52 (0x0)) (base=23)
MESA: info:             con 32    %131 = @load_const_ir3 (%52 (0x0)) (base=24)
MESA: info:             div 32    %272 = icsel_eqz %112, %106.x, %131
MESA: info:             con 32    %135 = @load_const_ir3 (%52 (0x0)) (base=25)
MESA: info:             div 32    %271 = icsel_eqz %116, %106.y, %135
MESA: info:             con 32    %138 = @load_const_ir3 (%52 (0x0)) (base=26)
MESA: info:             div 32    %270 = icsel_eqz %120, %106.z, %138
MESA: info:             con 32    %141 = @load_const_ir3 (%52 (0x0)) (base=27)
MESA: info:             div 32    %269 = icsel_eqz %124, %106.w, %141
MESA: info:             con 1     %143 = ine %109, %52 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %143 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %144 = u2f32 %272
MESA: info:                 div 32    %145 = u2f32 %271
MESA: info:                 div 32    %146 = u2f32 %270
MESA: info:                 div 32    %147 = u2f32 %269
MESA: info:                 con 32x2  %150 = @load_const_ir3 (%52 (0x0)) (base=33)
MESA: info:                 div 32    %293 = fsub %144, %150.x
MESA: info:                 div 32    %292 = fsub %145, %150.x
MESA: info:                 div 32    %291 = fsub %146, %150.x
MESA: info:                 div 32    %290 = fsub %147, %150.x
MESA: info:                 con 32    %157 = @load_const_ir3 (%52 (0x0)) (base=28)
MESA: info:                 div 32    %158 = fmul %293, %157
MESA: info:                 div 32    %159 = fmul %292, %157
MESA: info:                 div 32    %160 = fmul %291, %157
MESA: info:                 div 32    %161 = fmul %290, %157
MESA: info:                 div 1     %162 = flt! %158, %52 (0.000000)
MESA: info:                 div 1     %163 = flt! %159, %52 (0.000000)
MESA: info:                 div 1     %164 = flt! %160, %52 (0.000000)
MESA: info:                 div 1     %165 = flt! %161, %52 (0.000000)
MESA: info:                 con 32    %166 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %167 = fmul %158, %166 (256.000000)
MESA: info:                 con 32    %168 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %169 = bcsel %162, %168 (0x44000000), %167
MESA: info:                 div 32    %170 = fmul %159, %166 (256.000000)
MESA: info:                 div 32    %171 = bcsel %163, %168 (0x44000000), %170
MESA: info:                 div 32    %172 = fmul %160, %166 (256.000000)
MESA: info:                 div 32    %173 = bcsel %164, %168 (0x44000000), %172
MESA: info:                 div 32    %174 = fmul %161, %166 (256.000000)
MESA: info:                 div 32    %175 = bcsel %165, %168 (0x44000000), %174
MESA: info:                 div 32    %176 = ffloor %169
MESA: info:                 div 32    %177 = ffloor %171
MESA: info:                 div 32    %178 = ffloor %173
MESA: info:                 div 32    %179 = ffloor %175
MESA: info:                 div 32    %180 = f2u32 %176
MESA: info:                 div 32    %181 = f2u32 %177
MESA: info:                 div 32    %182 = f2u32 %178
MESA: info:                 div 32    %183 = f2u32 %179
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %184 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %185 = phi b15: %183, b16: %184 (0x101)
MESA: info:             div 32    %186 = phi b15: %182, b16: %184 (0x101)
MESA: info:             div 32    %187 = phi b15: %181, b16: %184 (0x101)
MESA: info:             div 32    %188 = phi b15: %180, b16: %184 (0x101)
MESA: info:             con 32    %110 = load_const (0x00000001)
MESA: info:             con 32    %189 = load_const (0x00000100 = 256)
MESA: info:             div 1     %190 = ult %188, %189 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %190 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %191 = ishl %188, %53 (0x2)
MESA: info:                 con 32    %192 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %233 = @ssbo_atomic_ir3 (%192, %191, %110 (0x1), %188) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %194 = ult %187, %189 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %194 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %195 = ishl %187, %53 (0x2)
MESA: info:                 con 32    %196 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %237 = @ssbo_atomic_ir3 (%196, %195, %110 (0x1), %187) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %198 = ult %186, %189 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %198 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %199 = ishl %186, %53 (0x2)
MESA: info:                 con 32    %200 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %241 = @ssbo_atomic_ir3 (%200, %199, %110 (0x1), %186) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %202 = ult %185, %189 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %202 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %203 = ishl %185, %53 (0x2)
MESA: info:                 con 32    %204 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %245 = @ssbo_atomic_ir3 (%204, %203, %110 (0x1), %185) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %206 = iadd %83, %110 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %207 = load_const (0x00000001)
MESA: info:         div 32    %208 = iadd %76, %207 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 5431fbdc4a0b906f1ff04a0d3f2ce0100469d013:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l43
MESA: info: getone #l43
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: cov.f32u32 r50.z, r49.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: and.b r50.w, r49.y, 1
MESA: info: and.b r51.y, r49.y, 2
MESA: info: and.b r51.w, r49.y, 4
MESA: info: and.b r52.x, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.z, r50.w, 0
MESA: info: cmps.s.eq hr54.z, r51.y, 0
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: cov.u16s32 r51.z, hr54.z
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[17], r50.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: stc.u32 c[27], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.w, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[28], r50.x, 1
MESA: info: stc.u32 c[20], r51.x, 1
MESA: info: stc.u32 c[21], r51.z, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l43:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l61:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l171
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l69:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l169
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: cov.f32s32 r2.z, c9.x
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mul.f r2.y, (last)r2.y, c4.w
MESA: info: mov.f32f32 r2.w, c5.x
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: mov.f32f32 r3.x, c5.y
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: mov.f32f32 r3.y, c5.z
MESA: info: mov.f32f32 r3.z, c5.w
MESA: info: (nop2) cmps.s.ne p0.y, c8.x, 0
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.3d.base2 (u32)(xyzw)r3.w, r2.x, r40.x, s#0, t#0
MESA: info: (sy)sel.b32 r2.w, c6.x, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, c6.y, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, c6.z, r3.y, (last)r4.y
MESA: info: sel.b32 r3.z, c6.w, r3.z, (last)r4.z
MESA: info: br !p0.y, #l127
MESA: info: cov.u32f32 r2.w, (last)r2.w
MESA: info: cov.u32f32 r3.x, (last)r3.x
MESA: info: cov.u32f32 r3.y, (last)r3.y
MESA: info: cov.u32f32 r3.z, (last)r3.z
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: add.f r3.z, (last)r3.z, (neg)c8.y
MESA: info: mul.f r2.w, (last)r2.w, c7.x
MESA: info: mul.f r3.x, (last)r3.x, c7.x
MESA: info: mul.f r3.y, (last)r3.y, c7.x
MESA: info: mul.f r3.z, (last)r3.z, c7.x
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: cmps.f.lt r5.z, r3.z, (0.0)
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: mul.f r3.z, (last)r3.z, c12.y
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: sel.b32 r5.z, c12.x, r5.z, (last)r3.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: floor.f r5.z, (last)r5.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: cov.f32u32 r5.z, (last)r5.z
MESA: info: jump #l131
MESA: info: l127:
MESA: info: mov.u32u32 r5.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r5.y, 257
MESA: info: l131:
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r6.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.w, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.y, 0
MESA: info: mov.u32u32 r6.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.y, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.w, 0
MESA: info: mov.u32u32 r7.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.w, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.y, 0
MESA: info: mov.u32u32 r7.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.y, r5.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l69
MESA: info: l169:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l61
MESA: info: l171:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 60/1: 202 instr, 86 nops, 116 non-nops, 19 mov, 13 cov, 356 dwords
MESA: info: ; CL prog 60/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 60/1: 101 cat0, 32 cat1, 53 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 3 cat7
MESA: info: ; CL prog 60/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 60/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 45 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x7cb10200, 0xa5a7b301, 0x797e7e76, 0x0da62428, 0x3872c853, 0x4cbacec3, 0xf310f780, 0xb90c7d70}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %141 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %135 = @load_ubo_vec4 (%4, %141 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %171 = f2u32 %135
MESA: info:             con 32    %172 = mov %171.x
MESA: info:             con 32    %173 = mov %171.y
MESA: info:                              @store_const_ir3 (%172) (base=16)
MESA: info:                              @store_const_ir3 (%173) (base=17)
MESA: info:             con 32      %8 = u2f32 %171.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %135.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %135.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%19)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%21)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %24 = @load_local_invocation_id
MESA: info:     con 32x3   %25 = @load_workgroup_id
MESA: info:     con 32x3   %26 = @load_base_workgroup_id
MESA: info:     con 32x2  %174 = iadd %25.xy, %26.xy
MESA: info:     con 32     %29 = load_const (0x00000000)
MESA: info:     con 32x2   %34 = @load_const_ir3 (%29 (0x0)) (base=40)
MESA: info:     con 32     %36 = @load_const_ir3 (%29 (0x0)) (base=16)
MESA: info:     con 32     %38 = @load_const_ir3 (%29 (0x0)) (base=17)
MESA: info:     con 32     %39 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %175 = umul_low %174, %39 (0xa).xx
MESA: info:     con 32x2  %176 = imadsh_mix16 %39 (0xa).xx, %174, %175
MESA: info:     div 32x2  %177 = iadd %176, %24.xy
MESA: info:     con 32     %44 = load_const (0x00000006)
MESA: info:     div 32x2  %178 = ishl %177, %44 (0x6).xx
MESA: info:     div 32    %179 = mov %178.x
MESA: info:     div 32    %180 = mov %178.y
MESA: info:     div 32    %162 = umul_low %24.y, %39 (0xa)
MESA: info:     div 32    %164 = imadsh_mix16 %39 (0xa), %24.y, %162
MESA: info:     con 32     %50 = @load_const_ir3 (%29 (0x0)) (base=18)
MESA: info:     con 32    %159 = umul_low %174.y, %50
MESA: info:     con 32    %160 = imadsh_mix16 %174.y, %50, %159
MESA: info:     con 32    %161 = imadsh_mix16 %50, %174.y, %160
MESA: info:     con 32     %52 = iadd %161, %174.x
MESA: info:     con 32     %53 = load_const (0x00000064 = 100)
MESA: info:     con 32    %156 = umul_low %52, %53 (0x64)
MESA: info:     con 32    %158 = imadsh_mix16 %53 (0x64), %52, %156
MESA: info:     div 32    %155 = iadd3 %164, %24.x, %158
MESA: info:     con 32x4  %191 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %204 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %190 = phi b6: %191 (0x0, 0x0, 0x0, 0x0), b15: %192
MESA: info:         div 32x4  %203 = phi b6: %204 (0x0, 0x0, 0x0, 0x0), b15: %235
MESA: info:         div 32     %64 = phi b6: %29 (0x0), b15: %234
MESA: info:         div 32     %65 = phi b6: %180, b15: %125
MESA: info:         div 32x3  %212 = mov %190.yzw
MESA: info:         div 32    %184 = mov %190.x
MESA: info:         con 32     %66 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %207 = iadd %178.yx, %66 (0x40).xx
MESA: info:         div 32     %69 = umin %38, %207.x
MESA: info:         div 32     %70 = umin %36, %207.y
MESA: info:         div 1      %71 = uge %65, %69
MESA: info:                          // succs: b8 b9
MESA: info:         if %71 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %72 = phi b10: %179, b14: %123
MESA: info:             div 32     %73 = phi b10: %184, b14: %122
MESA: info:             div 32x3  %211 = phi b10: %212, b14: %227
MESA: info:             div 32x4  %220 = phi b10: %203, b14: %221
MESA: info:             div 32     %81 = phi b10: %64, b14: %147
MESA: info:             div 1      %82 = uge %72, %70
MESA: info:                              // succs: b12 b13
MESA: info:             if %82 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %83 = u2f32 %72
MESA: info:             div 32     %84 = u2f32 %65
MESA: info:             con 32     %86 = @load_const_ir3 (%29 (0x0)) (base=19)
MESA: info:             div 32     %87 = fmul %83, %86
MESA: info:             con 32     %89 = @load_const_ir3 (%29 (0x0)) (base=20)
MESA: info:             div 32     %90 = fmul %84, %89
MESA: info:             con 32x2   %94 = @load_const_ir3 (%29 (0x0)) (base=36)
MESA: info:             con 32     %95 = mov %94.y
MESA: info:             div 32     %96 = fmul %87, %34.x
MESA: info:             div 32     %97 = fmul %90, %34.y
MESA: info:             div 32     %98 = f2i32 %96
MESA: info:             div 32     %99 = f2i32 %97
MESA: info:             con 32    %100 = f2i32 %94.x
MESA: info:             div 32x3  %101 = vec3 %98, %99, %100
MESA: info:             con 32    %102 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %103 = (int32)txf %102 (texture_handle), %101 (coord), %95 (lod), 0 (texture)
MESA: info:             div 32x3  %223 = imin %211, %103.xyz
MESA: info:             div 32    %108 = imin %220.x, %103.w
MESA: info:             div 32x3  %225 = imax %220.yzw, %103.xyz
MESA: info:             div 32    %112 = imax %81, %103.w
MESA: info:             div 32x3  %227 = icsel_eqz %73.xxx, %103.xyz, %223
MESA: info:             div 32    %151 = icsel_eqz %73, %103.w, %108
MESA: info:             div 32x3  %229 = icsel_eqz %73.xxx, %103.xyz, %225
MESA: info:             div 32    %147 = icsel_eqz %73, %103.w, %112
MESA: info:             con 32    %121 = load_const (0x00000001)
MESA: info:             div 32    %122 = iadd %73, %121 (0x1)
MESA: info:             div 32    %123 = iadd %72, %121 (0x1)
MESA: info:             div 32x4  %221 = vec4 %151, %229.x, %229.y, %229.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %237 = phi b12: %73
MESA: info:         div 32x3  %236 = phi b12: %211
MESA: info:         div 32x4  %235 = phi b12: %220
MESA: info:         div 32    %234 = phi b12: %81
MESA: info:         con 32    %124 = load_const (0x00000001)
MESA: info:         div 32    %125 = iadd %65, %124 (0x1)
MESA: info:         div 32x4  %192 = vec4 %237, %236.x, %236.y, %236.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %240 = phi b8: %190
MESA: info:     div 32x4  %239 = phi b8: %203
MESA: info:     div 32    %238 = phi b8: %64
MESA: info:     con 32     %32 = load_const (0x00000002)
MESA: info:     con 32x2  %230 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %231 = ishl %155.xx, %230 (0x5, 0x3)
MESA: info:     div 32    %232 = mov %231.x
MESA: info:     div 32    %233 = mov %231.y
MESA: info:     con 32    %128 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %129 = vec4 %240.y, %240.z, %240.w, %239.x
MESA: info:                      @store_ssbo_ir3 (%129, %128, %232, %233) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %130 = load_const (0x00000010 = 16)
MESA: info:     div 32    %131 = iadd %231.x, %130 (0x10)
MESA: info:     div 32x4  %132 = vec4 %239.y, %239.z, %239.w, %238
MESA: info:     div 32    %140 = ushr %131, %32 (0x2)
MESA: info:                      @store_ssbo_ir3 (%132, %128, %131, %140) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 2c72ae7963faa800c840f543e116edb1e075a8aa:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l112
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l110
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: cov.f32s32 r5.x, c9.x
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: mul.f r4.w, (last)r4.w, c5.x
MESA: info: add.u r5.y, r1.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: mul.f r4.w, (last)r4.w, c10.y
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.3d.base2 (s32)(xyzw)r5.z, r4.z, r40.x, s#0, t#0
MESA: info: (sy)min.s r1.z, (last)r1.z, r5.z
MESA: info: min.s r1.w, (last)r1.w, r5.w
MESA: info: min.s r2.x, (last)r2.x, r6.x
MESA: info: min.s r2.y, (last)r2.y, r6.y
MESA: info: max.s r2.z, (last)r2.z, r5.z
MESA: info: max.s r2.w, (last)r2.w, r5.w
MESA: info: max.s r3.x, (last)r3.x, r6.x
MESA: info: max.s r3.y, (last)r3.y, r6.y
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.z
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.w
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r6.x
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.y
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.z
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.w
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r6.x
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.y
MESA: info: mov.u32u32 r1.y, (last)r5.y
MESA: info: jump #l74
MESA: info: l110:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l112:
MESA: info: (jp)shl.b r6.z, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.z, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 61/1: 123 instr, 28 nops, 95 non-nops, 12 mov, 5 cov, 256 dwords
MESA: info: ; CL prog 61/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 61/1: 33 cat0, 17 cat1, 57 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 3 cat7
MESA: info: ; CL prog 61/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 61/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x1e3b8493, 0xe3f048f2, 0xbb8edf5c, 0x97e063c8, 0xe87a5791, 0x8e809a98, 0x5f075354, 0x30ea2707}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %211 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %295 = f2u32 %211
MESA: info:             con 32    %296 = mov %295.x
MESA: info:             con 32    %297 = mov %295.y
MESA: info:                              @store_const_ir3 (%296) (base=16)
MESA: info:                              @store_const_ir3 (%297) (base=17)
MESA: info:             con 32     %10 = frcp %211.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %211.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %214 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %302 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %303 = iand %214.xxxx, %302 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %311 = ieq %303, %2 (0x0).xxxx
MESA: info:             con 32x4  %312 = b2i32 %311
MESA: info:             con 32    %313 = mov %312.w
MESA: info:             con 32    %310 = mov %312.z
MESA: info:             con 32    %306 = mov %312.x
MESA: info:             con 32    %307 = mov %312.y
MESA: info:                              @store_const_ir3 (%306) (base=20)
MESA: info:                              @store_const_ir3 (%307) (base=21)
MESA: info:                              @store_const_ir3 (%310) (base=22)
MESA: info:                              @store_const_ir3 (%313) (base=23)
MESA: info:             con 32    %217 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %28 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %29 = fadd %217, %28 (1.000000)
MESA: info:             con 32     %30 = f2i32 %29
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @store_const_ir3 (%30) (base=25)
MESA: info:                              @store_const_ir3 (%30) (base=26)
MESA: info:                              @store_const_ir3 (%30) (base=27)
MESA: info:             con 32x2  %229 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %294 = fsub %229.y, %229.x
MESA: info:             con 32     %46 = frcp %294
MESA: info:                              @store_const_ir3 (%46) (base=28)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %51 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%51)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %52 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %53 = load_const (0x00000002)
MESA: info:     con 32x2   %58 = @load_const_ir3 (%52 (0x0)) (base=40)
MESA: info:     con 32     %60 = @load_const_ir3 (%52 (0x0)) (base=16)
MESA: info:     con 32     %62 = @load_const_ir3 (%52 (0x0)) (base=17)
MESA: info:     con 32x3   %63 = @load_workgroup_id
MESA: info:     con 32x3   %64 = @load_base_workgroup_id
MESA: info:     con 32x2  %314 = iadd %63.xy, %64.xy
MESA: info:     con 32     %67 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %315 = umul_low %314, %67 (0xa).xx
MESA: info:     con 32x2  %316 = imadsh_mix16 %67 (0xa).xx, %314, %315
MESA: info:     div 32x3   %70 = @load_local_invocation_id
MESA: info:     div 32x2  %317 = iadd %316, %70.xy
MESA: info:     con 32     %73 = load_const (0x00000006)
MESA: info:     div 32x2  %318 = ishl %317, %73 (0x6).xx
MESA: info:     div 32    %319 = mov %318.x
MESA: info:     div 32    %320 = mov %318.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %76 = phi b6: %320, b30: %208
MESA: info:         con 32     %77 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %321 = iadd %318.yx, %77 (0x40).xx
MESA: info:         div 32     %80 = umin %62, %321.x
MESA: info:         div 32     %81 = umin %60, %321.y
MESA: info:         div 1      %82 = uge %76, %80
MESA: info:                          // succs: b8 b9
MESA: info:         if %82 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %83 = phi b10: %319, b29: %206
MESA: info:             div 1      %84 = uge %83, %81
MESA: info:                              // succs: b12 b13
MESA: info:             if %84 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %85 = u2f32 %83
MESA: info:             div 32     %86 = u2f32 %76
MESA: info:             con 32     %88 = @load_const_ir3 (%52 (0x0)) (base=18)
MESA: info:             div 32     %89 = fmul %85, %88
MESA: info:             con 32     %91 = @load_const_ir3 (%52 (0x0)) (base=19)
MESA: info:             div 32     %92 = fmul %86, %91
MESA: info:             con 32x2   %97 = @load_const_ir3 (%52 (0x0)) (base=36)
MESA: info:             con 32     %98 = mov %97.y
MESA: info:             div 32     %99 = fmul %89, %58.x
MESA: info:             div 32    %100 = fmul %92, %58.y
MESA: info:             div 32    %101 = f2i32 %99
MESA: info:             div 32    %102 = f2i32 %100
MESA: info:             con 32    %103 = f2i32 %97.x
MESA: info:             div 32x3  %104 = vec3 %101, %102, %103
MESA: info:             con 32    %105 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %106 = (int32)txf %105 (texture_handle), %104 (coord), %98 (lod), 0 (texture)
MESA: info:             con 32    %109 = @load_const_ir3 (%52 (0x0)) (base=32)
MESA: info:             con 32    %112 = @load_const_ir3 (%52 (0x0)) (base=20)
MESA: info:             con 32    %116 = @load_const_ir3 (%52 (0x0)) (base=21)
MESA: info:             con 32    %120 = @load_const_ir3 (%52 (0x0)) (base=22)
MESA: info:             con 32    %124 = @load_const_ir3 (%52 (0x0)) (base=23)
MESA: info:             con 32    %131 = @load_const_ir3 (%52 (0x0)) (base=24)
MESA: info:             div 32    %272 = icsel_eqz %112, %106.x, %131
MESA: info:             con 32    %135 = @load_const_ir3 (%52 (0x0)) (base=25)
MESA: info:             div 32    %271 = icsel_eqz %116, %106.y, %135
MESA: info:             con 32    %138 = @load_const_ir3 (%52 (0x0)) (base=26)
MESA: info:             div 32    %270 = icsel_eqz %120, %106.z, %138
MESA: info:             con 32    %141 = @load_const_ir3 (%52 (0x0)) (base=27)
MESA: info:             div 32    %269 = icsel_eqz %124, %106.w, %141
MESA: info:             con 1     %143 = ine %109, %52 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %143 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %144 = i2f32 %272
MESA: info:                 div 32    %145 = i2f32 %271
MESA: info:                 div 32    %146 = i2f32 %270
MESA: info:                 div 32    %147 = i2f32 %269
MESA: info:                 con 32x2  %150 = @load_const_ir3 (%52 (0x0)) (base=33)
MESA: info:                 div 32    %293 = fsub %144, %150.x
MESA: info:                 div 32    %292 = fsub %145, %150.x
MESA: info:                 div 32    %291 = fsub %146, %150.x
MESA: info:                 div 32    %290 = fsub %147, %150.x
MESA: info:                 con 32    %157 = @load_const_ir3 (%52 (0x0)) (base=28)
MESA: info:                 div 32    %158 = fmul %293, %157
MESA: info:                 div 32    %159 = fmul %292, %157
MESA: info:                 div 32    %160 = fmul %291, %157
MESA: info:                 div 32    %161 = fmul %290, %157
MESA: info:                 div 1     %162 = flt! %158, %52 (0.000000)
MESA: info:                 div 1     %163 = flt! %159, %52 (0.000000)
MESA: info:                 div 1     %164 = flt! %160, %52 (0.000000)
MESA: info:                 div 1     %165 = flt! %161, %52 (0.000000)
MESA: info:                 con 32    %166 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %167 = fmul %158, %166 (256.000000)
MESA: info:                 con 32    %168 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %169 = bcsel %162, %168 (0x44000000), %167
MESA: info:                 div 32    %170 = fmul %159, %166 (256.000000)
MESA: info:                 div 32    %171 = bcsel %163, %168 (0x44000000), %170
MESA: info:                 div 32    %172 = fmul %160, %166 (256.000000)
MESA: info:                 div 32    %173 = bcsel %164, %168 (0x44000000), %172
MESA: info:                 div 32    %174 = fmul %161, %166 (256.000000)
MESA: info:                 div 32    %175 = bcsel %165, %168 (0x44000000), %174
MESA: info:                 div 32    %176 = ffloor %169
MESA: info:                 div 32    %177 = ffloor %171
MESA: info:                 div 32    %178 = ffloor %173
MESA: info:                 div 32    %179 = ffloor %175
MESA: info:                 div 32    %180 = f2u32 %176
MESA: info:                 div 32    %181 = f2u32 %177
MESA: info:                 div 32    %182 = f2u32 %178
MESA: info:                 div 32    %183 = f2u32 %179
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %184 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %185 = phi b15: %183, b16: %184 (0x101)
MESA: info:             div 32    %186 = phi b15: %182, b16: %184 (0x101)
MESA: info:             div 32    %187 = phi b15: %181, b16: %184 (0x101)
MESA: info:             div 32    %188 = phi b15: %180, b16: %184 (0x101)
MESA: info:             con 32    %110 = load_const (0x00000001)
MESA: info:             con 32    %189 = load_const (0x00000100 = 256)
MESA: info:             div 1     %190 = ult %188, %189 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %190 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %191 = ishl %188, %53 (0x2)
MESA: info:                 con 32    %192 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %233 = @ssbo_atomic_ir3 (%192, %191, %110 (0x1), %188) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %194 = ult %187, %189 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %194 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %195 = ishl %187, %53 (0x2)
MESA: info:                 con 32    %196 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %237 = @ssbo_atomic_ir3 (%196, %195, %110 (0x1), %187) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %198 = ult %186, %189 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %198 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %199 = ishl %186, %53 (0x2)
MESA: info:                 con 32    %200 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %241 = @ssbo_atomic_ir3 (%200, %199, %110 (0x1), %186) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %202 = ult %185, %189 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %202 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %203 = ishl %185, %53 (0x2)
MESA: info:                 con 32    %204 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %245 = @ssbo_atomic_ir3 (%204, %203, %110 (0x1), %185) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %206 = iadd %83, %110 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %207 = load_const (0x00000001)
MESA: info:         div 32    %208 = iadd %76, %207 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 a48e720a3ded3f8a0ed563878f363d449a46fe7f:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l43
MESA: info: getone #l43
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: cov.f32u32 r50.z, r49.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: and.b r50.w, r49.y, 1
MESA: info: and.b r51.y, r49.y, 2
MESA: info: and.b r51.w, r49.y, 4
MESA: info: and.b r52.x, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32s32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.z, r50.w, 0
MESA: info: cmps.s.eq hr54.z, r51.y, 0
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: cov.u16s32 r51.z, hr54.z
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[17], r50.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: stc.u32 c[27], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.w, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[28], r50.x, 1
MESA: info: stc.u32 c[20], r51.x, 1
MESA: info: stc.u32 c[21], r51.z, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l43:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l61:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l171
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l69:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l169
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: cov.f32s32 r2.z, c9.x
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mul.f r2.y, (last)r2.y, c4.w
MESA: info: mov.f32f32 r2.w, c5.x
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: mov.f32f32 r3.x, c5.y
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: mov.f32f32 r3.y, c5.z
MESA: info: mov.f32f32 r3.z, c5.w
MESA: info: (nop2) cmps.s.ne p0.y, c8.x, 0
MESA: info: alias.tex.b32.0 r40.x, c9.y
MESA: info: isaml.3d.base2 (s32)(xyzw)r3.w, r2.x, r40.x, s#0, t#0
MESA: info: (sy)sel.b32 r2.w, c6.x, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, c6.y, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, c6.z, r3.y, (last)r4.y
MESA: info: sel.b32 r3.z, c6.w, r3.z, (last)r4.z
MESA: info: br !p0.y, #l127
MESA: info: cov.s32f32 r2.w, (last)r2.w
MESA: info: cov.s32f32 r3.x, (last)r3.x
MESA: info: cov.s32f32 r3.y, (last)r3.y
MESA: info: cov.s32f32 r3.z, (last)r3.z
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: add.f r3.z, (last)r3.z, (neg)c8.y
MESA: info: mul.f r2.w, (last)r2.w, c7.x
MESA: info: mul.f r3.x, (last)r3.x, c7.x
MESA: info: mul.f r3.y, (last)r3.y, c7.x
MESA: info: mul.f r3.z, (last)r3.z, c7.x
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: cmps.f.lt r5.z, r3.z, (0.0)
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: mul.f r3.z, (last)r3.z, c12.y
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: sel.b32 r5.z, c12.x, r5.z, (last)r3.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: floor.f r5.z, (last)r5.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: cov.f32u32 r5.z, (last)r5.z
MESA: info: jump #l131
MESA: info: l127:
MESA: info: mov.u32u32 r5.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r5.y, 257
MESA: info: l131:
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r6.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.w, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.y, 0
MESA: info: mov.u32u32 r6.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.y, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.w, 0
MESA: info: mov.u32u32 r7.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.w, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.y, 0
MESA: info: mov.u32u32 r7.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.y, r5.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l69
MESA: info: l169:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l61
MESA: info: l171:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 62/1: 202 instr, 86 nops, 116 non-nops, 19 mov, 13 cov, 356 dwords
MESA: info: ; CL prog 62/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 62/1: 101 cat0, 32 cat1, 53 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 3 cat7
MESA: info: ; CL prog 62/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 62/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 45 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x259373df, 0xb20402c0, 0x07a5e5d4, 0x37e1b80b, 0xd2325d47, 0x0cd2e4cd, 0xbd1c74c7, 0x443c0900}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %135 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %129 = @load_ubo_vec4 (%4, %135 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %163 = f2u32 %129
MESA: info:             con 32    %164 = mov %163.x
MESA: info:             con 32    %165 = mov %163.y
MESA: info:                              @store_const_ir3 (%164) (base=16)
MESA: info:                              @store_const_ir3 (%165) (base=17)
MESA: info:             con 32      %8 = u2f32 %163.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %129.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %129.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%19)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%21)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %24 = @load_local_invocation_id
MESA: info:     con 32x3   %25 = @load_workgroup_id
MESA: info:     con 32x3   %26 = @load_base_workgroup_id
MESA: info:     con 32x2  %166 = iadd %25.xy, %26.xy
MESA: info:     con 32     %29 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32x2   %34 = @load_const_ir3 (%29 (0x0)) (base=40)
MESA: info:     con 32     %36 = @load_const_ir3 (%29 (0x0)) (base=16)
MESA: info:     con 32     %38 = @load_const_ir3 (%29 (0x0)) (base=17)
MESA: info:     con 32     %39 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %167 = umul_low %166, %39 (0xa).xx
MESA: info:     con 32x2  %168 = imadsh_mix16 %39 (0xa).xx, %166, %167
MESA: info:     div 32x2  %169 = iadd %168, %24.xy
MESA: info:     con 32     %44 = load_const (0x00000006)
MESA: info:     div 32x2  %170 = ishl %169, %44 (0x6).xx
MESA: info:     div 32    %171 = mov %170.x
MESA: info:     div 32    %172 = mov %170.y
MESA: info:     div 32    %154 = umul_low %24.y, %39 (0xa)
MESA: info:     div 32    %156 = imadsh_mix16 %39 (0xa), %24.y, %154
MESA: info:     con 32     %50 = @load_const_ir3 (%29 (0x0)) (base=18)
MESA: info:     con 32    %151 = umul_low %166.y, %50
MESA: info:     con 32    %152 = imadsh_mix16 %166.y, %50, %151
MESA: info:     con 32    %153 = imadsh_mix16 %50, %166.y, %152
MESA: info:     con 32     %52 = iadd %153, %166.x
MESA: info:     con 32     %53 = load_const (0x00000064 = 100)
MESA: info:     con 32    %148 = umul_low %52, %53 (0x64)
MESA: info:     con 32    %150 = imadsh_mix16 %53 (0x64), %52, %148
MESA: info:     div 32    %147 = iadd3 %156, %24.x, %150
MESA: info:     con 32x4  %183 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:     con 32x4  %196 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %182 = phi b6: %183 (0x0, 0x0, 0x0, 0x0), b15: %184
MESA: info:         div 32x4  %195 = phi b6: %196 (0x0, 0x0, 0x0, 0x0), b15: %227
MESA: info:         div 32     %64 = phi b6: %29 (0x0), b15: %226
MESA: info:         div 32     %65 = phi b6: %172, b15: %119
MESA: info:         div 32x3  %204 = mov %182.yzw
MESA: info:         div 32    %176 = mov %182.x
MESA: info:         con 32     %66 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %199 = iadd %170.yx, %66 (0x40).xx
MESA: info:         div 32     %69 = umin %38, %199.x
MESA: info:         div 32     %70 = umin %36, %199.y
MESA: info:         div 1      %71 = uge %65, %69
MESA: info:                          // succs: b8 b9
MESA: info:         if %71 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %72 = phi b10: %171, b14: %117
MESA: info:             div 32     %73 = phi b10: %176, b14: %116
MESA: info:             div 32x3  %203 = phi b10: %204, b14: %219
MESA: info:             div 32x4  %212 = phi b10: %195, b14: %213
MESA: info:             div 32     %81 = phi b10: %64, b14: %139
MESA: info:             div 1      %82 = uge %72, %70
MESA: info:                              // succs: b12 b13
MESA: info:             if %82 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %83 = u2f32 %72
MESA: info:             div 32     %84 = u2f32 %65
MESA: info:             con 32     %86 = @load_const_ir3 (%29 (0x0)) (base=19)
MESA: info:             div 32     %87 = fmul %83, %86
MESA: info:             con 32     %89 = @load_const_ir3 (%29 (0x0)) (base=20)
MESA: info:             div 32     %90 = fmul %84, %89
MESA: info:             div 32     %91 = fmul %87, %34.x
MESA: info:             div 32     %92 = fmul %90, %34.y
MESA: info:             div 32     %93 = f2i32 %91
MESA: info:             div 32     %94 = f2i32 %92
MESA: info:             div 32x2   %95 = vec2 %93, %94
MESA: info:             con 32     %96 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %97 = (float32)txf %96 (texture_handle), %95 (coord), %29 (0x0) (lod), 0 (texture)
MESA: info:             div 32x3  %215 = fmin %203, %97.xyz
MESA: info:             div 32    %102 = fmin %212.x, %97.w
MESA: info:             div 32x3  %217 = fmax %212.yzw, %97.xyz
MESA: info:             div 32    %106 = fmax %81, %97.w
MESA: info:             div 32x3  %219 = icsel_eqz %73.xxx, %97.xyz, %215
MESA: info:             div 32    %143 = icsel_eqz %73, %97.w, %102
MESA: info:             div 32x3  %221 = icsel_eqz %73.xxx, %97.xyz, %217
MESA: info:             div 32    %139 = icsel_eqz %73, %97.w, %106
MESA: info:             con 32    %115 = load_const (0x00000001)
MESA: info:             div 32    %116 = iadd %73, %115 (0x1)
MESA: info:             div 32    %117 = iadd %72, %115 (0x1)
MESA: info:             div 32x4  %213 = vec4 %143, %221.x, %221.y, %221.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %229 = phi b12: %73
MESA: info:         div 32x3  %228 = phi b12: %203
MESA: info:         div 32x4  %227 = phi b12: %212
MESA: info:         div 32    %226 = phi b12: %81
MESA: info:         con 32    %118 = load_const (0x00000001)
MESA: info:         div 32    %119 = iadd %65, %118 (0x1)
MESA: info:         div 32x4  %184 = vec4 %229, %228.x, %228.y, %228.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %232 = phi b8: %182
MESA: info:     div 32x4  %231 = phi b8: %195
MESA: info:     div 32    %230 = phi b8: %64
MESA: info:     con 32     %32 = load_const (0x00000002)
MESA: info:     con 32x2  %222 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %223 = ishl %147.xx, %222 (0x5, 0x3)
MESA: info:     div 32    %224 = mov %223.x
MESA: info:     div 32    %225 = mov %223.y
MESA: info:     con 32    %122 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %123 = vec4 %232.y, %232.z, %232.w, %231.x
MESA: info:                      @store_ssbo_ir3 (%123, %122, %224, %225) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %124 = load_const (0x00000010 = 16)
MESA: info:     div 32    %125 = iadd %223.x, %124 (0x10)
MESA: info:     div 32x4  %126 = vec4 %231.y, %231.z, %231.w, %230
MESA: info:     div 32    %134 = ushr %125, %32 (0x2)
MESA: info:                      @store_ssbo_ir3 (%126, %122, %125, %134) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 60250246f9884bd36bbd3d2f5f703eb101f64687:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l111
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l109
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: add.u r5.x, r1.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: mul.f r4.w, (last)r4.w, c5.x
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: (nop1) mul.f r4.w, (last)r4.w, c10.y
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: isaml.base2 (f32)(xyzw)r5.y, r4.z, r40.x, s#0, t#0
MESA: info: (sy)min.f r1.z, (last)r1.z, r5.y
MESA: info: min.f r1.w, (last)r1.w, r5.z
MESA: info: min.f r2.x, (last)r2.x, r5.w
MESA: info: min.f r2.y, (last)r2.y, r6.x
MESA: info: max.f r2.z, (last)r2.z, r5.y
MESA: info: max.f r2.w, (last)r2.w, r5.z
MESA: info: max.f r3.x, (last)r3.x, r5.w
MESA: info: max.f r3.y, (last)r3.y, r6.x
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.y
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.z
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r5.w
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.x
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.y
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.z
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r5.w
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.x
MESA: info: mov.u32u32 r1.y, (last)r5.x
MESA: info: jump #l74
MESA: info: l109:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l111:
MESA: info: (jp)shl.b r6.y, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.y, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 63/1: 123 instr, 29 nops, 94 non-nops, 12 mov, 4 cov, 256 dwords
MESA: info: ; CL prog 63/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 63/1: 34 cat0, 16 cat1, 57 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 3 cat7
MESA: info: ; CL prog 63/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 63/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x80e0d0ab, 0xa71c272a, 0xa9f3c49e, 0x304a3447, 0x91610641, 0x656433a1, 0xf69c2d96, 0x495bff86}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %198 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %275 = f2u32 %198
MESA: info:             con 32    %276 = mov %275.x
MESA: info:             con 32    %277 = mov %275.y
MESA: info:                              @store_const_ir3 (%276) (base=16)
MESA: info:                              @store_const_ir3 (%277) (base=17)
MESA: info:             con 32     %10 = frcp %198.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %198.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %201 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %282 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %283 = iand %201.xxxx, %282 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %291 = ieq %283, %2 (0x0).xxxx
MESA: info:             con 32x4  %292 = b2i32 %291
MESA: info:             con 32    %293 = mov %292.w
MESA: info:             con 32    %290 = mov %292.z
MESA: info:             con 32    %286 = mov %292.x
MESA: info:             con 32    %287 = mov %292.y
MESA: info:                              @store_const_ir3 (%286) (base=20)
MESA: info:                              @store_const_ir3 (%287) (base=21)
MESA: info:                              @store_const_ir3 (%290) (base=22)
MESA: info:                              @store_const_ir3 (%293) (base=23)
MESA: info:             con 32x2  %204 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %274 = fsub %204.y, %204.x
MESA: info:             con 32     %30 = frcp %274
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %35 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%35)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %36 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %38 = load_const (0x00000002)
MESA: info:     con 32x2   %43 = @load_const_ir3 (%36 (0x0)) (base=40)
MESA: info:     con 32     %45 = @load_const_ir3 (%36 (0x0)) (base=16)
MESA: info:     con 32     %47 = @load_const_ir3 (%36 (0x0)) (base=17)
MESA: info:     con 32x3   %48 = @load_workgroup_id
MESA: info:     con 32x3   %49 = @load_base_workgroup_id
MESA: info:     con 32x2  %294 = iadd %48.xy, %49.xy
MESA: info:     con 32     %52 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %295 = umul_low %294, %52 (0xa).xx
MESA: info:     con 32x2  %296 = imadsh_mix16 %52 (0xa).xx, %294, %295
MESA: info:     div 32x3   %55 = @load_local_invocation_id
MESA: info:     div 32x2  %297 = iadd %296, %55.xy
MESA: info:     con 32     %58 = load_const (0x00000006)
MESA: info:     div 32x2  %298 = ishl %297, %58 (0x6).xx
MESA: info:     div 32    %299 = mov %298.x
MESA: info:     div 32    %300 = mov %298.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %61 = phi b6: %300, b30: %195
MESA: info:         con 32     %62 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %301 = iadd %298.yx, %62 (0x40).xx
MESA: info:         div 32     %65 = umin %47, %301.x
MESA: info:         div 32     %66 = umin %45, %301.y
MESA: info:         div 1      %67 = uge %61, %65
MESA: info:                          // succs: b8 b9
MESA: info:         if %67 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %68 = phi b10: %299, b29: %193
MESA: info:             div 1      %69 = uge %68, %66
MESA: info:                              // succs: b12 b13
MESA: info:             if %69 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %70 = u2f32 %68
MESA: info:             div 32     %71 = u2f32 %61
MESA: info:             con 32     %73 = @load_const_ir3 (%36 (0x0)) (base=18)
MESA: info:             div 32     %74 = fmul %70, %73
MESA: info:             con 32     %76 = @load_const_ir3 (%36 (0x0)) (base=19)
MESA: info:             div 32     %77 = fmul %71, %76
MESA: info:             div 32     %78 = fmul %74, %43.x
MESA: info:             div 32     %79 = fmul %77, %43.y
MESA: info:             div 32     %80 = f2i32 %78
MESA: info:             div 32     %81 = f2i32 %79
MESA: info:             div 32x2   %82 = vec2 %80, %81
MESA: info:             con 32     %83 = @bindless_resource_ir3 (%36 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %84 = (float32)txf %83 (texture_handle), %82 (coord), %36 (0x0) (lod), 0 (texture)
MESA: info:             con 32     %91 = @load_const_ir3 (%36 (0x0)) (base=32)
MESA: info:             con 32     %95 = @load_const_ir3 (%36 (0x0)) (base=20)
MESA: info:             con 32     %99 = @load_const_ir3 (%36 (0x0)) (base=21)
MESA: info:             con 32    %103 = @load_const_ir3 (%36 (0x0)) (base=22)
MESA: info:             con 32    %107 = @load_const_ir3 (%36 (0x0)) (base=23)
MESA: info:             con 32    %112 = @load_const_ir3 (%36 (0x0)) (base=34)
MESA: info:             con 32    %113 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32    %114 = fadd %112, %113 (1.000000)
MESA: info:             div 32    %252 = icsel_eqz %95, %84.x, %114
MESA: info:             div 32    %251 = icsel_eqz %99, %84.y, %114
MESA: info:             div 32    %250 = icsel_eqz %103, %84.z, %114
MESA: info:             div 32    %249 = icsel_eqz %107, %84.w, %114
MESA: info:             con 1     %134 = ine %91, %36 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %134 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 con 32x2  %137 = @load_const_ir3 (%36 (0x0)) (base=33)
MESA: info:                 div 32    %273 = fsub %252, %137.x
MESA: info:                 div 32    %272 = fsub %251, %137.x
MESA: info:                 div 32    %271 = fsub %250, %137.x
MESA: info:                 div 32    %270 = fsub %249, %137.x
MESA: info:                 con 32    %144 = @load_const_ir3 (%36 (0x0)) (base=24)
MESA: info:                 div 32    %145 = fmul %273, %144
MESA: info:                 div 32    %146 = fmul %272, %144
MESA: info:                 div 32    %147 = fmul %271, %144
MESA: info:                 div 32    %148 = fmul %270, %144
MESA: info:                 div 1     %149 = flt! %145, %36 (0.000000)
MESA: info:                 div 1     %150 = flt! %146, %36 (0.000000)
MESA: info:                 div 1     %151 = flt! %147, %36 (0.000000)
MESA: info:                 div 1     %152 = flt! %148, %36 (0.000000)
MESA: info:                 con 32    %153 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %154 = fmul %145, %153 (256.000000)
MESA: info:                 con 32    %155 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %156 = bcsel %149, %155 (0x44000000), %154
MESA: info:                 div 32    %157 = fmul %146, %153 (256.000000)
MESA: info:                 div 32    %158 = bcsel %150, %155 (0x44000000), %157
MESA: info:                 div 32    %159 = fmul %147, %153 (256.000000)
MESA: info:                 div 32    %160 = bcsel %151, %155 (0x44000000), %159
MESA: info:                 div 32    %161 = fmul %148, %153 (256.000000)
MESA: info:                 div 32    %162 = bcsel %152, %155 (0x44000000), %161
MESA: info:                 div 32    %163 = ffloor %156
MESA: info:                 div 32    %164 = ffloor %158
MESA: info:                 div 32    %165 = ffloor %160
MESA: info:                 div 32    %166 = ffloor %162
MESA: info:                 div 32    %167 = f2u32 %163
MESA: info:                 div 32    %168 = f2u32 %164
MESA: info:                 div 32    %169 = f2u32 %165
MESA: info:                 div 32    %170 = f2u32 %166
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %171 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %172 = phi b15: %170, b16: %171 (0x101)
MESA: info:             div 32    %173 = phi b15: %169, b16: %171 (0x101)
MESA: info:             div 32    %174 = phi b15: %168, b16: %171 (0x101)
MESA: info:             div 32    %175 = phi b15: %167, b16: %171 (0x101)
MESA: info:             con 32     %92 = load_const (0x00000001)
MESA: info:             con 32    %176 = load_const (0x00000100 = 256)
MESA: info:             div 1     %177 = ult %175, %176 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %177 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %178 = ishl %175, %38 (0x2)
MESA: info:                 con 32    %179 = @bindless_resource_ir3 (%36 (0x0)) (desc_set=3)
MESA: info:                 div 32    %208 = @ssbo_atomic_ir3 (%179, %178, %92 (0x1), %175) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %181 = ult %174, %176 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %181 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %182 = ishl %174, %38 (0x2)
MESA: info:                 con 32    %183 = @bindless_resource_ir3 (%36 (0x0)) (desc_set=3)
MESA: info:                 div 32    %212 = @ssbo_atomic_ir3 (%183, %182, %92 (0x1), %174) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %185 = ult %173, %176 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %185 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %186 = ishl %173, %38 (0x2)
MESA: info:                 con 32    %187 = @bindless_resource_ir3 (%36 (0x0)) (desc_set=3)
MESA: info:                 div 32    %216 = @ssbo_atomic_ir3 (%187, %186, %92 (0x1), %173) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %189 = ult %172, %176 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %189 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %190 = ishl %172, %38 (0x2)
MESA: info:                 con 32    %191 = @bindless_resource_ir3 (%36 (0x0)) (desc_set=3)
MESA: info:                 div 32    %220 = @ssbo_atomic_ir3 (%191, %190, %92 (0x1), %172) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %193 = iadd %68, %92 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %194 = load_const (0x00000001)
MESA: info:         div 32    %195 = iadd %61, %194 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 50d1660bec297d444652396a0ae12632b312ce3c:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l36
MESA: info: getone #l36
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.z, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.x, r48.w
MESA: info: cov.f32u32 r50.y, r49.x
MESA: info: add.f r49.w, r49.w, (neg)r49.z
MESA: info: and.b r50.z, r49.y, 1
MESA: info: and.b r51.x, r49.y, 2
MESA: info: and.b r51.z, r49.y, 4
MESA: info: and.b r51.w, r49.y, 8
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r49.w, r49.w
MESA: info: cmps.s.eq hr53.x, r50.z, 0
MESA: info: cmps.s.eq hr54.x, r51.x, 0
MESA: info: cov.u16s32 r50.w, hr53.x
MESA: info: cov.u16s32 r51.y, hr54.x
MESA: info: stc.u32 c[16], r50.x, 1
MESA: info: stc.u32 c[17], r50.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.z, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[24], r49.w, 1
MESA: info: stc.u32 c[20], r50.w, 1
MESA: info: stc.u32 c[21], r51.y, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l36:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l54:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l160
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l62:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l158
MESA: info: add.f r50.x, c8.z, (1.0)
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: mov.f32f32 r2.z, c5.x
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mul.f r2.y, (last)r2.y, c4.w
MESA: info: mov.f32f32 r2.w, c5.y
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: mov.f32f32 r3.x, c5.z
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: mov.f32f32 r3.y, c5.w
MESA: info: (nop3) cmps.s.ne p0.y, c8.x, 0
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: isaml.base2 (f32)(xyzw)r3.z, r2.x, r40.x, s#0, t#0
MESA: info: (sy)(ss)sel.b32 r2.z, r50.x, r2.z, (last)r3.z
MESA: info: sel.b32 r2.w, r50.x, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, r50.x, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, r50.x, r3.y, (last)r4.y
MESA: info: br !p0.y, #l116
MESA: info: add.f r2.z, (last)r2.z, (neg)c8.y
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: mul.f r2.z, (last)r2.z, c6.x
MESA: info: mul.f r2.w, (last)r2.w, c6.x
MESA: info: mul.f r3.x, (last)r3.x, c6.x
MESA: info: mul.f r3.y, (last)r3.y, c6.x
MESA: info: cmps.f.lt r4.z, r2.z, (0.0)
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: mul.f r2.z, (last)r2.z, c12.y
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: sel.b32 r4.z, c12.x, r4.z, (last)r2.z
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: floor.f r4.z, (last)r4.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: cov.f32u32 r4.z, (last)r4.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: jump #l120
MESA: info: l116:
MESA: info: mov.u32u32 r5.y, 257
MESA: info: mov.u32u32 r4.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: l120:
MESA: info: (nop3) cmps.u.lt p0.x, r4.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.z, 0
MESA: info: mov.u32u32 r5.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.z, r4.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.x, 0
MESA: info: mov.u32u32 r6.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.x, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.z, 0
MESA: info: mov.u32u32 r6.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.z, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.x, 0
MESA: info: mov.u32u32 r7.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.x, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l62
MESA: info: l158:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l54
MESA: info: l160:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 64/1: 199 instr, 87 nops, 112 non-nops, 19 mov, 8 cov, 352 dwords
MESA: info: ; CL prog 64/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 64/1: 102 cat0, 27 cat1, 54 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 3 cat7
MESA: info: ; CL prog 64/1: 5 sstall, 3 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 64/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 38 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xae08ee34, 0xc570208d, 0x8310da20, 0x98bc7f11, 0x20ac39cc, 0x58c88164, 0xd05657cd, 0xc65b491a}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %135 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %129 = @load_ubo_vec4 (%4, %135 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %163 = f2u32 %129
MESA: info:             con 32    %164 = mov %163.x
MESA: info:             con 32    %165 = mov %163.y
MESA: info:                              @store_const_ir3 (%164) (base=16)
MESA: info:                              @store_const_ir3 (%165) (base=17)
MESA: info:             con 32      %8 = u2f32 %163.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %129.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %129.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%19)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%21)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %24 = @load_local_invocation_id
MESA: info:     con 32x3   %25 = @load_workgroup_id
MESA: info:     con 32x3   %26 = @load_base_workgroup_id
MESA: info:     con 32x2  %166 = iadd %25.xy, %26.xy
MESA: info:     con 32     %29 = load_const (0x00000000)
MESA: info:     con 32x2   %34 = @load_const_ir3 (%29 (0x0)) (base=40)
MESA: info:     con 32     %36 = @load_const_ir3 (%29 (0x0)) (base=16)
MESA: info:     con 32     %38 = @load_const_ir3 (%29 (0x0)) (base=17)
MESA: info:     con 32     %39 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %167 = umul_low %166, %39 (0xa).xx
MESA: info:     con 32x2  %168 = imadsh_mix16 %39 (0xa).xx, %166, %167
MESA: info:     div 32x2  %169 = iadd %168, %24.xy
MESA: info:     con 32     %44 = load_const (0x00000006)
MESA: info:     div 32x2  %170 = ishl %169, %44 (0x6).xx
MESA: info:     div 32    %171 = mov %170.x
MESA: info:     div 32    %172 = mov %170.y
MESA: info:     div 32    %154 = umul_low %24.y, %39 (0xa)
MESA: info:     div 32    %156 = imadsh_mix16 %39 (0xa), %24.y, %154
MESA: info:     con 32     %50 = @load_const_ir3 (%29 (0x0)) (base=18)
MESA: info:     con 32    %151 = umul_low %166.y, %50
MESA: info:     con 32    %152 = imadsh_mix16 %166.y, %50, %151
MESA: info:     con 32    %153 = imadsh_mix16 %50, %166.y, %152
MESA: info:     con 32     %52 = iadd %153, %166.x
MESA: info:     con 32     %53 = load_const (0x00000064 = 100)
MESA: info:     con 32    %148 = umul_low %52, %53 (0x64)
MESA: info:     con 32    %150 = imadsh_mix16 %53 (0x64), %52, %148
MESA: info:     div 32    %147 = iadd3 %156, %24.x, %150
MESA: info:     con 32x4  %183 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %196 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %182 = phi b6: %183 (0x0, 0x0, 0x0, 0x0), b15: %184
MESA: info:         div 32x4  %195 = phi b6: %196 (0x0, 0x0, 0x0, 0x0), b15: %227
MESA: info:         div 32     %64 = phi b6: %29 (0x0), b15: %226
MESA: info:         div 32     %65 = phi b6: %172, b15: %119
MESA: info:         div 32x3  %204 = mov %182.yzw
MESA: info:         div 32    %176 = mov %182.x
MESA: info:         con 32     %66 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %199 = iadd %170.yx, %66 (0x40).xx
MESA: info:         div 32     %69 = umin %38, %199.x
MESA: info:         div 32     %70 = umin %36, %199.y
MESA: info:         div 1      %71 = uge %65, %69
MESA: info:                          // succs: b8 b9
MESA: info:         if %71 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %72 = phi b10: %171, b14: %117
MESA: info:             div 32     %73 = phi b10: %176, b14: %116
MESA: info:             div 32x3  %203 = phi b10: %204, b14: %219
MESA: info:             div 32x4  %212 = phi b10: %195, b14: %213
MESA: info:             div 32     %81 = phi b10: %64, b14: %139
MESA: info:             div 1      %82 = uge %72, %70
MESA: info:                              // succs: b12 b13
MESA: info:             if %82 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %83 = u2f32 %72
MESA: info:             div 32     %84 = u2f32 %65
MESA: info:             con 32     %86 = @load_const_ir3 (%29 (0x0)) (base=19)
MESA: info:             div 32     %87 = fmul %83, %86
MESA: info:             con 32     %89 = @load_const_ir3 (%29 (0x0)) (base=20)
MESA: info:             div 32     %90 = fmul %84, %89
MESA: info:             div 32     %91 = fmul %87, %34.x
MESA: info:             div 32     %92 = fmul %90, %34.y
MESA: info:             div 32     %93 = f2i32 %91
MESA: info:             div 32     %94 = f2i32 %92
MESA: info:             div 32x2   %95 = vec2 %93, %94
MESA: info:             con 32     %96 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %97 = (uint32)txf %96 (texture_handle), %95 (coord), %29 (0x0) (lod), 0 (texture)
MESA: info:             div 32x3  %215 = umin %203, %97.xyz
MESA: info:             div 32    %102 = umin %212.x, %97.w
MESA: info:             div 32x3  %217 = umax %212.yzw, %97.xyz
MESA: info:             div 32    %106 = umax %81, %97.w
MESA: info:             div 32x3  %219 = icsel_eqz %73.xxx, %97.xyz, %215
MESA: info:             div 32    %143 = icsel_eqz %73, %97.w, %102
MESA: info:             div 32x3  %221 = icsel_eqz %73.xxx, %97.xyz, %217
MESA: info:             div 32    %139 = icsel_eqz %73, %97.w, %106
MESA: info:             con 32    %115 = load_const (0x00000001)
MESA: info:             div 32    %116 = iadd %73, %115 (0x1)
MESA: info:             div 32    %117 = iadd %72, %115 (0x1)
MESA: info:             div 32x4  %213 = vec4 %143, %221.x, %221.y, %221.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %229 = phi b12: %73
MESA: info:         div 32x3  %228 = phi b12: %203
MESA: info:         div 32x4  %227 = phi b12: %212
MESA: info:         div 32    %226 = phi b12: %81
MESA: info:         con 32    %118 = load_const (0x00000001)
MESA: info:         div 32    %119 = iadd %65, %118 (0x1)
MESA: info:         div 32x4  %184 = vec4 %229, %228.x, %228.y, %228.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %232 = phi b8: %182
MESA: info:     div 32x4  %231 = phi b8: %195
MESA: info:     div 32    %230 = phi b8: %64
MESA: info:     con 32     %32 = load_const (0x00000002)
MESA: info:     con 32x2  %222 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %223 = ishl %147.xx, %222 (0x5, 0x3)
MESA: info:     div 32    %224 = mov %223.x
MESA: info:     div 32    %225 = mov %223.y
MESA: info:     con 32    %122 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %123 = vec4 %232.y, %232.z, %232.w, %231.x
MESA: info:                      @store_ssbo_ir3 (%123, %122, %224, %225) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %124 = load_const (0x00000010 = 16)
MESA: info:     div 32    %125 = iadd %223.x, %124 (0x10)
MESA: info:     div 32x4  %126 = vec4 %231.y, %231.z, %231.w, %230
MESA: info:     div 32    %134 = ushr %125, %32 (0x2)
MESA: info:                      @store_ssbo_ir3 (%126, %122, %125, %134) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 48907b4f049d4f03a5445562bcac6680c8b82bfc:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l111
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l109
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: add.u r5.x, r1.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: mul.f r4.w, (last)r4.w, c5.x
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: (nop1) mul.f r4.w, (last)r4.w, c10.y
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: isaml.base2 (u32)(xyzw)r5.y, r4.z, r40.x, s#0, t#0
MESA: info: (sy)min.u r1.z, (last)r1.z, r5.y
MESA: info: min.u r1.w, (last)r1.w, r5.z
MESA: info: min.u r2.x, (last)r2.x, r5.w
MESA: info: min.u r2.y, (last)r2.y, r6.x
MESA: info: max.u r2.z, (last)r2.z, r5.y
MESA: info: max.u r2.w, (last)r2.w, r5.z
MESA: info: max.u r3.x, (last)r3.x, r5.w
MESA: info: max.u r3.y, (last)r3.y, r6.x
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.y
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.z
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r5.w
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.x
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.y
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.z
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r5.w
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.x
MESA: info: mov.u32u32 r1.y, (last)r5.x
MESA: info: jump #l74
MESA: info: l109:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l111:
MESA: info: (jp)shl.b r6.y, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.y, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 65/1: 123 instr, 29 nops, 94 non-nops, 12 mov, 4 cov, 256 dwords
MESA: info: ; CL prog 65/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 65/1: 34 cat0, 16 cat1, 57 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 3 cat7
MESA: info: ; CL prog 65/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 65/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x9256d97a, 0x1270b07e, 0x5c9e46fd, 0xa8c316aa, 0x2469b16f, 0x2957550b, 0x8238a0ea, 0x0d5b3429}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %205 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %287 = f2u32 %205
MESA: info:             con 32    %288 = mov %287.x
MESA: info:             con 32    %289 = mov %287.y
MESA: info:                              @store_const_ir3 (%288) (base=16)
MESA: info:                              @store_const_ir3 (%289) (base=17)
MESA: info:             con 32     %10 = frcp %205.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %205.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %208 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %294 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %295 = iand %208.xxxx, %294 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %303 = ieq %295, %2 (0x0).xxxx
MESA: info:             con 32x4  %304 = b2i32 %303
MESA: info:             con 32    %305 = mov %304.w
MESA: info:             con 32    %302 = mov %304.z
MESA: info:             con 32    %298 = mov %304.x
MESA: info:             con 32    %299 = mov %304.y
MESA: info:                              @store_const_ir3 (%298) (base=20)
MESA: info:                              @store_const_ir3 (%299) (base=21)
MESA: info:                              @store_const_ir3 (%302) (base=22)
MESA: info:                              @store_const_ir3 (%305) (base=23)
MESA: info:             con 32    %211 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %28 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %29 = fadd %211, %28 (1.000000)
MESA: info:             con 32     %30 = f2u32 %29
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @store_const_ir3 (%30) (base=25)
MESA: info:                              @store_const_ir3 (%30) (base=26)
MESA: info:                              @store_const_ir3 (%30) (base=27)
MESA: info:             con 32x2  %223 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %286 = fsub %223.y, %223.x
MESA: info:             con 32     %46 = frcp %286
MESA: info:                              @store_const_ir3 (%46) (base=28)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %51 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%51)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %52 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %53 = load_const (0x00000002)
MESA: info:     con 32x2   %58 = @load_const_ir3 (%52 (0x0)) (base=40)
MESA: info:     con 32     %60 = @load_const_ir3 (%52 (0x0)) (base=16)
MESA: info:     con 32     %62 = @load_const_ir3 (%52 (0x0)) (base=17)
MESA: info:     con 32x3   %63 = @load_workgroup_id
MESA: info:     con 32x3   %64 = @load_base_workgroup_id
MESA: info:     con 32x2  %306 = iadd %63.xy, %64.xy
MESA: info:     con 32     %67 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %307 = umul_low %306, %67 (0xa).xx
MESA: info:     con 32x2  %308 = imadsh_mix16 %67 (0xa).xx, %306, %307
MESA: info:     div 32x3   %70 = @load_local_invocation_id
MESA: info:     div 32x2  %309 = iadd %308, %70.xy
MESA: info:     con 32     %73 = load_const (0x00000006)
MESA: info:     div 32x2  %310 = ishl %309, %73 (0x6).xx
MESA: info:     div 32    %311 = mov %310.x
MESA: info:     div 32    %312 = mov %310.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %76 = phi b6: %312, b30: %202
MESA: info:         con 32     %77 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %313 = iadd %310.yx, %77 (0x40).xx
MESA: info:         div 32     %80 = umin %62, %313.x
MESA: info:         div 32     %81 = umin %60, %313.y
MESA: info:         div 1      %82 = uge %76, %80
MESA: info:                          // succs: b8 b9
MESA: info:         if %82 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %83 = phi b10: %311, b29: %200
MESA: info:             div 1      %84 = uge %83, %81
MESA: info:                              // succs: b12 b13
MESA: info:             if %84 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %85 = u2f32 %83
MESA: info:             div 32     %86 = u2f32 %76
MESA: info:             con 32     %88 = @load_const_ir3 (%52 (0x0)) (base=18)
MESA: info:             div 32     %89 = fmul %85, %88
MESA: info:             con 32     %91 = @load_const_ir3 (%52 (0x0)) (base=19)
MESA: info:             div 32     %92 = fmul %86, %91
MESA: info:             div 32     %93 = fmul %89, %58.x
MESA: info:             div 32     %94 = fmul %92, %58.y
MESA: info:             div 32     %95 = f2i32 %93
MESA: info:             div 32     %96 = f2i32 %94
MESA: info:             div 32x2   %97 = vec2 %95, %96
MESA: info:             con 32     %98 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %99 = (uint32)txf %98 (texture_handle), %97 (coord), %52 (0x0) (lod), 0 (texture)
MESA: info:             con 32    %102 = @load_const_ir3 (%52 (0x0)) (base=32)
MESA: info:             con 32    %106 = @load_const_ir3 (%52 (0x0)) (base=20)
MESA: info:             con 32    %110 = @load_const_ir3 (%52 (0x0)) (base=21)
MESA: info:             con 32    %114 = @load_const_ir3 (%52 (0x0)) (base=22)
MESA: info:             con 32    %118 = @load_const_ir3 (%52 (0x0)) (base=23)
MESA: info:             con 32    %125 = @load_const_ir3 (%52 (0x0)) (base=24)
MESA: info:             div 32    %264 = icsel_eqz %106, %99.x, %125
MESA: info:             con 32    %129 = @load_const_ir3 (%52 (0x0)) (base=25)
MESA: info:             div 32    %263 = icsel_eqz %110, %99.y, %129
MESA: info:             con 32    %132 = @load_const_ir3 (%52 (0x0)) (base=26)
MESA: info:             div 32    %262 = icsel_eqz %114, %99.z, %132
MESA: info:             con 32    %135 = @load_const_ir3 (%52 (0x0)) (base=27)
MESA: info:             div 32    %261 = icsel_eqz %118, %99.w, %135
MESA: info:             con 1     %137 = ine %102, %52 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %137 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %138 = u2f32 %264
MESA: info:                 div 32    %139 = u2f32 %263
MESA: info:                 div 32    %140 = u2f32 %262
MESA: info:                 div 32    %141 = u2f32 %261
MESA: info:                 con 32x2  %144 = @load_const_ir3 (%52 (0x0)) (base=33)
MESA: info:                 div 32    %285 = fsub %138, %144.x
MESA: info:                 div 32    %284 = fsub %139, %144.x
MESA: info:                 div 32    %283 = fsub %140, %144.x
MESA: info:                 div 32    %282 = fsub %141, %144.x
MESA: info:                 con 32    %151 = @load_const_ir3 (%52 (0x0)) (base=28)
MESA: info:                 div 32    %152 = fmul %285, %151
MESA: info:                 div 32    %153 = fmul %284, %151
MESA: info:                 div 32    %154 = fmul %283, %151
MESA: info:                 div 32    %155 = fmul %282, %151
MESA: info:                 div 1     %156 = flt! %152, %52 (0.000000)
MESA: info:                 div 1     %157 = flt! %153, %52 (0.000000)
MESA: info:                 div 1     %158 = flt! %154, %52 (0.000000)
MESA: info:                 div 1     %159 = flt! %155, %52 (0.000000)
MESA: info:                 con 32    %160 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %161 = fmul %152, %160 (256.000000)
MESA: info:                 con 32    %162 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %163 = bcsel %156, %162 (0x44000000), %161
MESA: info:                 div 32    %164 = fmul %153, %160 (256.000000)
MESA: info:                 div 32    %165 = bcsel %157, %162 (0x44000000), %164
MESA: info:                 div 32    %166 = fmul %154, %160 (256.000000)
MESA: info:                 div 32    %167 = bcsel %158, %162 (0x44000000), %166
MESA: info:                 div 32    %168 = fmul %155, %160 (256.000000)
MESA: info:                 div 32    %169 = bcsel %159, %162 (0x44000000), %168
MESA: info:                 div 32    %170 = ffloor %163
MESA: info:                 div 32    %171 = ffloor %165
MESA: info:                 div 32    %172 = ffloor %167
MESA: info:                 div 32    %173 = ffloor %169
MESA: info:                 div 32    %174 = f2u32 %170
MESA: info:                 div 32    %175 = f2u32 %171
MESA: info:                 div 32    %176 = f2u32 %172
MESA: info:                 div 32    %177 = f2u32 %173
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %178 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %179 = phi b15: %177, b16: %178 (0x101)
MESA: info:             div 32    %180 = phi b15: %176, b16: %178 (0x101)
MESA: info:             div 32    %181 = phi b15: %175, b16: %178 (0x101)
MESA: info:             div 32    %182 = phi b15: %174, b16: %178 (0x101)
MESA: info:             con 32    %103 = load_const (0x00000001)
MESA: info:             con 32    %183 = load_const (0x00000100 = 256)
MESA: info:             div 1     %184 = ult %182, %183 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %184 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %185 = ishl %182, %53 (0x2)
MESA: info:                 con 32    %186 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %227 = @ssbo_atomic_ir3 (%186, %185, %103 (0x1), %182) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %188 = ult %181, %183 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %188 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %189 = ishl %181, %53 (0x2)
MESA: info:                 con 32    %190 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %231 = @ssbo_atomic_ir3 (%190, %189, %103 (0x1), %181) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %192 = ult %180, %183 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %192 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %193 = ishl %180, %53 (0x2)
MESA: info:                 con 32    %194 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %235 = @ssbo_atomic_ir3 (%194, %193, %103 (0x1), %180) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %196 = ult %179, %183 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %196 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %197 = ishl %179, %53 (0x2)
MESA: info:                 con 32    %198 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %239 = @ssbo_atomic_ir3 (%198, %197, %103 (0x1), %179) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %200 = iadd %83, %103 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %201 = load_const (0x00000001)
MESA: info:         div 32    %202 = iadd %76, %201 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 fd4e7c715b964fcee8aadabfa8065c7f5d8d84b3:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l43
MESA: info: getone #l43
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: cov.f32u32 r50.z, r49.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: and.b r50.w, r49.y, 1
MESA: info: and.b r51.y, r49.y, 2
MESA: info: and.b r51.w, r49.y, 4
MESA: info: and.b r52.x, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.z, r50.w, 0
MESA: info: cmps.s.eq hr54.z, r51.y, 0
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: cov.u16s32 r51.z, hr54.z
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[17], r50.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: stc.u32 c[27], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.w, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[28], r50.x, 1
MESA: info: stc.u32 c[20], r51.x, 1
MESA: info: stc.u32 c[21], r51.z, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l43:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l61:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l170
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l69:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l168
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: mov.f32f32 r2.z, c5.x
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mul.f r2.y, (last)r2.y, c4.w
MESA: info: mov.f32f32 r2.w, c5.y
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: mov.f32f32 r3.x, c5.z
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: mov.f32f32 r3.y, c5.w
MESA: info: (nop3) cmps.s.ne p0.y, c8.x, 0
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: isaml.base2 (u32)(xyzw)r3.z, r2.x, r40.x, s#0, t#0
MESA: info: (sy)sel.b32 r2.z, c6.x, r2.z, (last)r3.z
MESA: info: sel.b32 r2.w, c6.y, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, c6.z, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, c6.w, r3.y, (last)r4.y
MESA: info: br !p0.y, #l126
MESA: info: cov.u32f32 r2.z, (last)r2.z
MESA: info: cov.u32f32 r2.w, (last)r2.w
MESA: info: cov.u32f32 r3.x, (last)r3.x
MESA: info: cov.u32f32 r3.y, (last)r3.y
MESA: info: add.f r2.z, (last)r2.z, (neg)c8.y
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: mul.f r2.z, (last)r2.z, c7.x
MESA: info: mul.f r2.w, (last)r2.w, c7.x
MESA: info: mul.f r3.x, (last)r3.x, c7.x
MESA: info: mul.f r3.y, (last)r3.y, c7.x
MESA: info: cmps.f.lt r4.z, r2.z, (0.0)
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: mul.f r2.z, (last)r2.z, c12.y
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: sel.b32 r4.z, c12.x, r4.z, (last)r2.z
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: floor.f r4.z, (last)r4.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: cov.f32u32 r4.z, (last)r4.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: jump #l130
MESA: info: l126:
MESA: info: mov.u32u32 r5.y, 257
MESA: info: mov.u32u32 r4.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: l130:
MESA: info: (nop3) cmps.u.lt p0.x, r4.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.z, 0
MESA: info: mov.u32u32 r5.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.z, r4.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.x, 0
MESA: info: mov.u32u32 r6.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.x, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.z, 0
MESA: info: mov.u32u32 r6.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.z, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.x, 0
MESA: info: mov.u32u32 r7.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.x, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l69
MESA: info: l168:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l61
MESA: info: l170:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 66/1: 202 instr, 87 nops, 115 non-nops, 19 mov, 12 cov, 354 dwords
MESA: info: ; CL prog 66/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 66/1: 102 cat0, 31 cat1, 53 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 3 cat7
MESA: info: ; CL prog 66/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 66/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 45 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x8c47dff6, 0x9f74d03b, 0x1f1efa86, 0x521e8f62, 0x3dfef8fc, 0xf491f3ca, 0x2df6a1db, 0xd7b2836f}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %135 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %129 = @load_ubo_vec4 (%4, %135 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %163 = f2u32 %129
MESA: info:             con 32    %164 = mov %163.x
MESA: info:             con 32    %165 = mov %163.y
MESA: info:                              @store_const_ir3 (%164) (base=16)
MESA: info:                              @store_const_ir3 (%165) (base=17)
MESA: info:             con 32      %8 = u2f32 %163.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %129.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %129.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%19)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%21)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %24 = @load_local_invocation_id
MESA: info:     con 32x3   %25 = @load_workgroup_id
MESA: info:     con 32x3   %26 = @load_base_workgroup_id
MESA: info:     con 32x2  %166 = iadd %25.xy, %26.xy
MESA: info:     con 32     %29 = load_const (0x00000000)
MESA: info:     con 32x2   %34 = @load_const_ir3 (%29 (0x0)) (base=40)
MESA: info:     con 32     %36 = @load_const_ir3 (%29 (0x0)) (base=16)
MESA: info:     con 32     %38 = @load_const_ir3 (%29 (0x0)) (base=17)
MESA: info:     con 32     %39 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %167 = umul_low %166, %39 (0xa).xx
MESA: info:     con 32x2  %168 = imadsh_mix16 %39 (0xa).xx, %166, %167
MESA: info:     div 32x2  %169 = iadd %168, %24.xy
MESA: info:     con 32     %44 = load_const (0x00000006)
MESA: info:     div 32x2  %170 = ishl %169, %44 (0x6).xx
MESA: info:     div 32    %171 = mov %170.x
MESA: info:     div 32    %172 = mov %170.y
MESA: info:     div 32    %154 = umul_low %24.y, %39 (0xa)
MESA: info:     div 32    %156 = imadsh_mix16 %39 (0xa), %24.y, %154
MESA: info:     con 32     %50 = @load_const_ir3 (%29 (0x0)) (base=18)
MESA: info:     con 32    %151 = umul_low %166.y, %50
MESA: info:     con 32    %152 = imadsh_mix16 %166.y, %50, %151
MESA: info:     con 32    %153 = imadsh_mix16 %50, %166.y, %152
MESA: info:     con 32     %52 = iadd %153, %166.x
MESA: info:     con 32     %53 = load_const (0x00000064 = 100)
MESA: info:     con 32    %148 = umul_low %52, %53 (0x64)
MESA: info:     con 32    %150 = imadsh_mix16 %53 (0x64), %52, %148
MESA: info:     div 32    %147 = iadd3 %156, %24.x, %150
MESA: info:     con 32x4  %183 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %196 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %182 = phi b6: %183 (0x0, 0x0, 0x0, 0x0), b15: %184
MESA: info:         div 32x4  %195 = phi b6: %196 (0x0, 0x0, 0x0, 0x0), b15: %227
MESA: info:         div 32     %64 = phi b6: %29 (0x0), b15: %226
MESA: info:         div 32     %65 = phi b6: %172, b15: %119
MESA: info:         div 32x3  %204 = mov %182.yzw
MESA: info:         div 32    %176 = mov %182.x
MESA: info:         con 32     %66 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %199 = iadd %170.yx, %66 (0x40).xx
MESA: info:         div 32     %69 = umin %38, %199.x
MESA: info:         div 32     %70 = umin %36, %199.y
MESA: info:         div 1      %71 = uge %65, %69
MESA: info:                          // succs: b8 b9
MESA: info:         if %71 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %72 = phi b10: %171, b14: %117
MESA: info:             div 32     %73 = phi b10: %176, b14: %116
MESA: info:             div 32x3  %203 = phi b10: %204, b14: %219
MESA: info:             div 32x4  %212 = phi b10: %195, b14: %213
MESA: info:             div 32     %81 = phi b10: %64, b14: %139
MESA: info:             div 1      %82 = uge %72, %70
MESA: info:                              // succs: b12 b13
MESA: info:             if %82 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %83 = u2f32 %72
MESA: info:             div 32     %84 = u2f32 %65
MESA: info:             con 32     %86 = @load_const_ir3 (%29 (0x0)) (base=19)
MESA: info:             div 32     %87 = fmul %83, %86
MESA: info:             con 32     %89 = @load_const_ir3 (%29 (0x0)) (base=20)
MESA: info:             div 32     %90 = fmul %84, %89
MESA: info:             div 32     %91 = fmul %87, %34.x
MESA: info:             div 32     %92 = fmul %90, %34.y
MESA: info:             div 32     %93 = f2i32 %91
MESA: info:             div 32     %94 = f2i32 %92
MESA: info:             div 32x2   %95 = vec2 %93, %94
MESA: info:             con 32     %96 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %97 = (int32)txf %96 (texture_handle), %95 (coord), %29 (0x0) (lod), 0 (texture)
MESA: info:             div 32x3  %215 = imin %203, %97.xyz
MESA: info:             div 32    %102 = imin %212.x, %97.w
MESA: info:             div 32x3  %217 = imax %212.yzw, %97.xyz
MESA: info:             div 32    %106 = imax %81, %97.w
MESA: info:             div 32x3  %219 = icsel_eqz %73.xxx, %97.xyz, %215
MESA: info:             div 32    %143 = icsel_eqz %73, %97.w, %102
MESA: info:             div 32x3  %221 = icsel_eqz %73.xxx, %97.xyz, %217
MESA: info:             div 32    %139 = icsel_eqz %73, %97.w, %106
MESA: info:             con 32    %115 = load_const (0x00000001)
MESA: info:             div 32    %116 = iadd %73, %115 (0x1)
MESA: info:             div 32    %117 = iadd %72, %115 (0x1)
MESA: info:             div 32x4  %213 = vec4 %143, %221.x, %221.y, %221.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %229 = phi b12: %73
MESA: info:         div 32x3  %228 = phi b12: %203
MESA: info:         div 32x4  %227 = phi b12: %212
MESA: info:         div 32    %226 = phi b12: %81
MESA: info:         con 32    %118 = load_const (0x00000001)
MESA: info:         div 32    %119 = iadd %65, %118 (0x1)
MESA: info:         div 32x4  %184 = vec4 %229, %228.x, %228.y, %228.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %232 = phi b8: %182
MESA: info:     div 32x4  %231 = phi b8: %195
MESA: info:     div 32    %230 = phi b8: %64
MESA: info:     con 32     %32 = load_const (0x00000002)
MESA: info:     con 32x2  %222 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %223 = ishl %147.xx, %222 (0x5, 0x3)
MESA: info:     div 32    %224 = mov %223.x
MESA: info:     div 32    %225 = mov %223.y
MESA: info:     con 32    %122 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %123 = vec4 %232.y, %232.z, %232.w, %231.x
MESA: info:                      @store_ssbo_ir3 (%123, %122, %224, %225) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %124 = load_const (0x00000010 = 16)
MESA: info:     div 32    %125 = iadd %223.x, %124 (0x10)
MESA: info:     div 32x4  %126 = vec4 %231.y, %231.z, %231.w, %230
MESA: info:     div 32    %134 = ushr %125, %32 (0x2)
MESA: info:                      @store_ssbo_ir3 (%126, %122, %125, %134) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 1b791877b8434abd507138ec4ac0dc60c4ed99e6:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l111
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l109
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: add.u r5.x, r1.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: mul.f r4.w, (last)r4.w, c5.x
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: (nop1) mul.f r4.w, (last)r4.w, c10.y
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: isaml.base2 (s32)(xyzw)r5.y, r4.z, r40.x, s#0, t#0
MESA: info: (sy)min.s r1.z, (last)r1.z, r5.y
MESA: info: min.s r1.w, (last)r1.w, r5.z
MESA: info: min.s r2.x, (last)r2.x, r5.w
MESA: info: min.s r2.y, (last)r2.y, r6.x
MESA: info: max.s r2.z, (last)r2.z, r5.y
MESA: info: max.s r2.w, (last)r2.w, r5.z
MESA: info: max.s r3.x, (last)r3.x, r5.w
MESA: info: max.s r3.y, (last)r3.y, r6.x
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.y
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.z
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r5.w
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.x
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.y
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.z
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r5.w
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.x
MESA: info: mov.u32u32 r1.y, (last)r5.x
MESA: info: jump #l74
MESA: info: l109:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l111:
MESA: info: (jp)shl.b r6.y, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.y, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 67/1: 123 instr, 29 nops, 94 non-nops, 12 mov, 4 cov, 256 dwords
MESA: info: ; CL prog 67/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 67/1: 34 cat0, 16 cat1, 57 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 3 cat7
MESA: info: ; CL prog 67/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 67/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xdbd09800, 0x3e6a377e, 0xd4c010f6, 0xb8bec835, 0x965a8dc7, 0xb44728ba, 0x4ea9f52b, 0xf3509b9e}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %205 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %287 = f2u32 %205
MESA: info:             con 32    %288 = mov %287.x
MESA: info:             con 32    %289 = mov %287.y
MESA: info:                              @store_const_ir3 (%288) (base=16)
MESA: info:                              @store_const_ir3 (%289) (base=17)
MESA: info:             con 32     %10 = frcp %205.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %205.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %208 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %294 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %295 = iand %208.xxxx, %294 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %303 = ieq %295, %2 (0x0).xxxx
MESA: info:             con 32x4  %304 = b2i32 %303
MESA: info:             con 32    %305 = mov %304.w
MESA: info:             con 32    %302 = mov %304.z
MESA: info:             con 32    %298 = mov %304.x
MESA: info:             con 32    %299 = mov %304.y
MESA: info:                              @store_const_ir3 (%298) (base=20)
MESA: info:                              @store_const_ir3 (%299) (base=21)
MESA: info:                              @store_const_ir3 (%302) (base=22)
MESA: info:                              @store_const_ir3 (%305) (base=23)
MESA: info:             con 32    %211 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %28 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %29 = fadd %211, %28 (1.000000)
MESA: info:             con 32     %30 = f2i32 %29
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @store_const_ir3 (%30) (base=25)
MESA: info:                              @store_const_ir3 (%30) (base=26)
MESA: info:                              @store_const_ir3 (%30) (base=27)
MESA: info:             con 32x2  %223 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %286 = fsub %223.y, %223.x
MESA: info:             con 32     %46 = frcp %286
MESA: info:                              @store_const_ir3 (%46) (base=28)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %51 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%51)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %52 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %53 = load_const (0x00000002)
MESA: info:     con 32x2   %58 = @load_const_ir3 (%52 (0x0)) (base=40)
MESA: info:     con 32     %60 = @load_const_ir3 (%52 (0x0)) (base=16)
MESA: info:     con 32     %62 = @load_const_ir3 (%52 (0x0)) (base=17)
MESA: info:     con 32x3   %63 = @load_workgroup_id
MESA: info:     con 32x3   %64 = @load_base_workgroup_id
MESA: info:     con 32x2  %306 = iadd %63.xy, %64.xy
MESA: info:     con 32     %67 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %307 = umul_low %306, %67 (0xa).xx
MESA: info:     con 32x2  %308 = imadsh_mix16 %67 (0xa).xx, %306, %307
MESA: info:     div 32x3   %70 = @load_local_invocation_id
MESA: info:     div 32x2  %309 = iadd %308, %70.xy
MESA: info:     con 32     %73 = load_const (0x00000006)
MESA: info:     div 32x2  %310 = ishl %309, %73 (0x6).xx
MESA: info:     div 32    %311 = mov %310.x
MESA: info:     div 32    %312 = mov %310.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %76 = phi b6: %312, b30: %202
MESA: info:         con 32     %77 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %313 = iadd %310.yx, %77 (0x40).xx
MESA: info:         div 32     %80 = umin %62, %313.x
MESA: info:         div 32     %81 = umin %60, %313.y
MESA: info:         div 1      %82 = uge %76, %80
MESA: info:                          // succs: b8 b9
MESA: info:         if %82 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %83 = phi b10: %311, b29: %200
MESA: info:             div 1      %84 = uge %83, %81
MESA: info:                              // succs: b12 b13
MESA: info:             if %84 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %85 = u2f32 %83
MESA: info:             div 32     %86 = u2f32 %76
MESA: info:             con 32     %88 = @load_const_ir3 (%52 (0x0)) (base=18)
MESA: info:             div 32     %89 = fmul %85, %88
MESA: info:             con 32     %91 = @load_const_ir3 (%52 (0x0)) (base=19)
MESA: info:             div 32     %92 = fmul %86, %91
MESA: info:             div 32     %93 = fmul %89, %58.x
MESA: info:             div 32     %94 = fmul %92, %58.y
MESA: info:             div 32     %95 = f2i32 %93
MESA: info:             div 32     %96 = f2i32 %94
MESA: info:             div 32x2   %97 = vec2 %95, %96
MESA: info:             con 32     %98 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %99 = (int32)txf %98 (texture_handle), %97 (coord), %52 (0x0) (lod), 0 (texture)
MESA: info:             con 32    %102 = @load_const_ir3 (%52 (0x0)) (base=32)
MESA: info:             con 32    %106 = @load_const_ir3 (%52 (0x0)) (base=20)
MESA: info:             con 32    %110 = @load_const_ir3 (%52 (0x0)) (base=21)
MESA: info:             con 32    %114 = @load_const_ir3 (%52 (0x0)) (base=22)
MESA: info:             con 32    %118 = @load_const_ir3 (%52 (0x0)) (base=23)
MESA: info:             con 32    %125 = @load_const_ir3 (%52 (0x0)) (base=24)
MESA: info:             div 32    %264 = icsel_eqz %106, %99.x, %125
MESA: info:             con 32    %129 = @load_const_ir3 (%52 (0x0)) (base=25)
MESA: info:             div 32    %263 = icsel_eqz %110, %99.y, %129
MESA: info:             con 32    %132 = @load_const_ir3 (%52 (0x0)) (base=26)
MESA: info:             div 32    %262 = icsel_eqz %114, %99.z, %132
MESA: info:             con 32    %135 = @load_const_ir3 (%52 (0x0)) (base=27)
MESA: info:             div 32    %261 = icsel_eqz %118, %99.w, %135
MESA: info:             con 1     %137 = ine %102, %52 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %137 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %138 = i2f32 %264
MESA: info:                 div 32    %139 = i2f32 %263
MESA: info:                 div 32    %140 = i2f32 %262
MESA: info:                 div 32    %141 = i2f32 %261
MESA: info:                 con 32x2  %144 = @load_const_ir3 (%52 (0x0)) (base=33)
MESA: info:                 div 32    %285 = fsub %138, %144.x
MESA: info:                 div 32    %284 = fsub %139, %144.x
MESA: info:                 div 32    %283 = fsub %140, %144.x
MESA: info:                 div 32    %282 = fsub %141, %144.x
MESA: info:                 con 32    %151 = @load_const_ir3 (%52 (0x0)) (base=28)
MESA: info:                 div 32    %152 = fmul %285, %151
MESA: info:                 div 32    %153 = fmul %284, %151
MESA: info:                 div 32    %154 = fmul %283, %151
MESA: info:                 div 32    %155 = fmul %282, %151
MESA: info:                 div 1     %156 = flt! %152, %52 (0.000000)
MESA: info:                 div 1     %157 = flt! %153, %52 (0.000000)
MESA: info:                 div 1     %158 = flt! %154, %52 (0.000000)
MESA: info:                 div 1     %159 = flt! %155, %52 (0.000000)
MESA: info:                 con 32    %160 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %161 = fmul %152, %160 (256.000000)
MESA: info:                 con 32    %162 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %163 = bcsel %156, %162 (0x44000000), %161
MESA: info:                 div 32    %164 = fmul %153, %160 (256.000000)
MESA: info:                 div 32    %165 = bcsel %157, %162 (0x44000000), %164
MESA: info:                 div 32    %166 = fmul %154, %160 (256.000000)
MESA: info:                 div 32    %167 = bcsel %158, %162 (0x44000000), %166
MESA: info:                 div 32    %168 = fmul %155, %160 (256.000000)
MESA: info:                 div 32    %169 = bcsel %159, %162 (0x44000000), %168
MESA: info:                 div 32    %170 = ffloor %163
MESA: info:                 div 32    %171 = ffloor %165
MESA: info:                 div 32    %172 = ffloor %167
MESA: info:                 div 32    %173 = ffloor %169
MESA: info:                 div 32    %174 = f2u32 %170
MESA: info:                 div 32    %175 = f2u32 %171
MESA: info:                 div 32    %176 = f2u32 %172
MESA: info:                 div 32    %177 = f2u32 %173
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %178 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %179 = phi b15: %177, b16: %178 (0x101)
MESA: info:             div 32    %180 = phi b15: %176, b16: %178 (0x101)
MESA: info:             div 32    %181 = phi b15: %175, b16: %178 (0x101)
MESA: info:             div 32    %182 = phi b15: %174, b16: %178 (0x101)
MESA: info:             con 32    %103 = load_const (0x00000001)
MESA: info:             con 32    %183 = load_const (0x00000100 = 256)
MESA: info:             div 1     %184 = ult %182, %183 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %184 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %185 = ishl %182, %53 (0x2)
MESA: info:                 con 32    %186 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %227 = @ssbo_atomic_ir3 (%186, %185, %103 (0x1), %182) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %188 = ult %181, %183 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %188 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %189 = ishl %181, %53 (0x2)
MESA: info:                 con 32    %190 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %231 = @ssbo_atomic_ir3 (%190, %189, %103 (0x1), %181) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %192 = ult %180, %183 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %192 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %193 = ishl %180, %53 (0x2)
MESA: info:                 con 32    %194 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %235 = @ssbo_atomic_ir3 (%194, %193, %103 (0x1), %180) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %196 = ult %179, %183 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %196 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %197 = ishl %179, %53 (0x2)
MESA: info:                 con 32    %198 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %239 = @ssbo_atomic_ir3 (%198, %197, %103 (0x1), %179) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %200 = iadd %83, %103 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %201 = load_const (0x00000001)
MESA: info:         div 32    %202 = iadd %76, %201 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 eb3a2d811b5db7b39ec730f1c01f682de2f1a4f3:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l43
MESA: info: getone #l43
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: cov.f32u32 r50.z, r49.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: and.b r50.w, r49.y, 1
MESA: info: and.b r51.y, r49.y, 2
MESA: info: and.b r51.w, r49.y, 4
MESA: info: and.b r52.x, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32s32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.z, r50.w, 0
MESA: info: cmps.s.eq hr54.z, r51.y, 0
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: cov.u16s32 r51.z, hr54.z
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[17], r50.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: stc.u32 c[27], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.w, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[28], r50.x, 1
MESA: info: stc.u32 c[20], r51.x, 1
MESA: info: stc.u32 c[21], r51.z, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l43:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l61:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l170
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l69:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l168
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: mov.f32f32 r2.z, c5.x
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mul.f r2.y, (last)r2.y, c4.w
MESA: info: mov.f32f32 r2.w, c5.y
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: mov.f32f32 r3.x, c5.z
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: mov.f32f32 r3.y, c5.w
MESA: info: (nop3) cmps.s.ne p0.y, c8.x, 0
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: isaml.base2 (s32)(xyzw)r3.z, r2.x, r40.x, s#0, t#0
MESA: info: (sy)sel.b32 r2.z, c6.x, r2.z, (last)r3.z
MESA: info: sel.b32 r2.w, c6.y, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, c6.z, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, c6.w, r3.y, (last)r4.y
MESA: info: br !p0.y, #l126
MESA: info: cov.s32f32 r2.z, (last)r2.z
MESA: info: cov.s32f32 r2.w, (last)r2.w
MESA: info: cov.s32f32 r3.x, (last)r3.x
MESA: info: cov.s32f32 r3.y, (last)r3.y
MESA: info: add.f r2.z, (last)r2.z, (neg)c8.y
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: mul.f r2.z, (last)r2.z, c7.x
MESA: info: mul.f r2.w, (last)r2.w, c7.x
MESA: info: mul.f r3.x, (last)r3.x, c7.x
MESA: info: mul.f r3.y, (last)r3.y, c7.x
MESA: info: cmps.f.lt r4.z, r2.z, (0.0)
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: mul.f r2.z, (last)r2.z, c12.y
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: sel.b32 r4.z, c12.x, r4.z, (last)r2.z
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: floor.f r4.z, (last)r4.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: cov.f32u32 r4.z, (last)r4.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: jump #l130
MESA: info: l126:
MESA: info: mov.u32u32 r5.y, 257
MESA: info: mov.u32u32 r4.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: l130:
MESA: info: (nop3) cmps.u.lt p0.x, r4.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.z, 0
MESA: info: mov.u32u32 r5.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.z, r4.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.x, 0
MESA: info: mov.u32u32 r6.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.x, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.z, 0
MESA: info: mov.u32u32 r6.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.z, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.x, 0
MESA: info: mov.u32u32 r7.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.x, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l69
MESA: info: l168:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l61
MESA: info: l170:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 68/1: 202 instr, 87 nops, 115 non-nops, 19 mov, 12 cov, 354 dwords
MESA: info: ; CL prog 68/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 68/1: 102 cat0, 31 cat1, 53 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 3 cat7
MESA: info: ; CL prog 68/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 68/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 45 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xc4895ea3, 0xc79679ac, 0xd4647c95, 0xd2f74335, 0x525d1d1b, 0xf42bb5b4, 0x9a2a115e, 0x49980fff}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %127 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %121 = @load_ubo_vec4 (%4, %127 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %155 = f2u32 %121
MESA: info:             con 32    %156 = mov %155.x
MESA: info:             con 32    %157 = mov %155.y
MESA: info:                              @store_const_ir3 (%156) (base=16)
MESA: info:                              @store_const_ir3 (%157) (base=17)
MESA: info:             con 32      %8 = u2f32 %155.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %121.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %18 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%18)
MESA: info:             con 32     %20 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%20)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %23 = @load_local_invocation_id
MESA: info:     con 32x3   %24 = @load_workgroup_id
MESA: info:     con 32x3   %25 = @load_base_workgroup_id
MESA: info:     con 32x2  %158 = iadd %24.xy, %25.xy
MESA: info:     con 32     %28 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32x2   %33 = @load_const_ir3 (%28 (0x0)) (base=40)
MESA: info:     con 32     %35 = @load_const_ir3 (%28 (0x0)) (base=16)
MESA: info:     con 32     %37 = @load_const_ir3 (%28 (0x0)) (base=17)
MESA: info:     con 32     %38 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %159 = umul_low %158, %38 (0xa).xx
MESA: info:     con 32x2  %160 = imadsh_mix16 %38 (0xa).xx, %158, %159
MESA: info:     div 32x2  %161 = iadd %160, %23.xy
MESA: info:     con 32     %43 = load_const (0x00000006)
MESA: info:     div 32x2  %162 = ishl %161, %43 (0x6).xx
MESA: info:     div 32    %163 = mov %162.x
MESA: info:     div 32    %164 = mov %162.y
MESA: info:     div 32    %146 = umul_low %23.y, %38 (0xa)
MESA: info:     div 32    %148 = imadsh_mix16 %38 (0xa), %23.y, %146
MESA: info:     con 32     %49 = @load_const_ir3 (%28 (0x0)) (base=18)
MESA: info:     con 32    %143 = umul_low %158.y, %49
MESA: info:     con 32    %144 = imadsh_mix16 %158.y, %49, %143
MESA: info:     con 32    %145 = imadsh_mix16 %49, %158.y, %144
MESA: info:     con 32     %51 = iadd %145, %158.x
MESA: info:     con 32     %52 = load_const (0x00000064 = 100)
MESA: info:     con 32    %140 = umul_low %51, %52 (0x64)
MESA: info:     con 32    %142 = imadsh_mix16 %52 (0x64), %51, %140
MESA: info:     div 32    %139 = iadd3 %148, %23.x, %142
MESA: info:     con 32x4  %175 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:     con 32x4  %188 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %174 = phi b6: %175 (0x0, 0x0, 0x0, 0x0), b15: %176
MESA: info:         div 32x4  %187 = phi b6: %188 (0x0, 0x0, 0x0, 0x0), b15: %219
MESA: info:         div 32     %63 = phi b6: %28 (0x0), b15: %218
MESA: info:         div 32     %64 = phi b6: %164, b15: %111
MESA: info:         div 32x3  %196 = mov %174.yzw
MESA: info:         div 32    %168 = mov %174.x
MESA: info:         con 32     %65 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %191 = iadd %162.yx, %65 (0x40).xx
MESA: info:         div 32     %68 = umin %37, %191.x
MESA: info:         div 32     %69 = umin %35, %191.y
MESA: info:         div 1      %70 = uge %64, %68
MESA: info:                          // succs: b8 b9
MESA: info:         if %70 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %71 = phi b10: %163, b14: %109
MESA: info:             div 32     %72 = phi b10: %168, b14: %108
MESA: info:             div 32x3  %195 = phi b10: %196, b14: %211
MESA: info:             div 32x4  %204 = phi b10: %187, b14: %205
MESA: info:             div 32     %80 = phi b10: %63, b14: %131
MESA: info:             div 1      %81 = uge %71, %69
MESA: info:                              // succs: b12 b13
MESA: info:             if %81 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %82 = u2f32 %71
MESA: info:             con 32     %84 = @load_const_ir3 (%28 (0x0)) (base=19)
MESA: info:             div 32     %85 = fmul %82, %84
MESA: info:             div 32     %86 = fmul %85, %33.x
MESA: info:             div 32     %87 = f2i32 %86
MESA: info:             con 32     %88 = @bindless_resource_ir3 (%28 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %89 = (float32)txf %88 (texture_handle), %87 (coord), %28 (0x0) (lod), 0 (texture)
MESA: info:             div 32x3  %207 = fmin %195, %89.xyz
MESA: info:             div 32     %94 = fmin %204.x, %89.w
MESA: info:             div 32x3  %209 = fmax %204.yzw, %89.xyz
MESA: info:             div 32     %98 = fmax %80, %89.w
MESA: info:             div 32x3  %211 = icsel_eqz %72.xxx, %89.xyz, %207
MESA: info:             div 32    %135 = icsel_eqz %72, %89.w, %94
MESA: info:             div 32x3  %213 = icsel_eqz %72.xxx, %89.xyz, %209
MESA: info:             div 32    %131 = icsel_eqz %72, %89.w, %98
MESA: info:             con 32    %107 = load_const (0x00000001)
MESA: info:             div 32    %108 = iadd %72, %107 (0x1)
MESA: info:             div 32    %109 = iadd %71, %107 (0x1)
MESA: info:             div 32x4  %205 = vec4 %135, %213.x, %213.y, %213.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %221 = phi b12: %72
MESA: info:         div 32x3  %220 = phi b12: %195
MESA: info:         div 32x4  %219 = phi b12: %204
MESA: info:         div 32    %218 = phi b12: %80
MESA: info:         con 32    %110 = load_const (0x00000001)
MESA: info:         div 32    %111 = iadd %64, %110 (0x1)
MESA: info:         div 32x4  %176 = vec4 %221, %220.x, %220.y, %220.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %224 = phi b8: %174
MESA: info:     div 32x4  %223 = phi b8: %187
MESA: info:     div 32    %222 = phi b8: %63
MESA: info:     con 32     %31 = load_const (0x00000002)
MESA: info:     con 32x2  %214 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %215 = ishl %139.xx, %214 (0x5, 0x3)
MESA: info:     div 32    %216 = mov %215.x
MESA: info:     div 32    %217 = mov %215.y
MESA: info:     con 32    %114 = @bindless_resource_ir3 (%28 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %115 = vec4 %224.y, %224.z, %224.w, %223.x
MESA: info:                      @store_ssbo_ir3 (%115, %114, %216, %217) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %116 = load_const (0x00000010 = 16)
MESA: info:     div 32    %117 = iadd %215.x, %116 (0x10)
MESA: info:     div 32x4  %118 = vec4 %223.y, %223.z, %223.w, %222
MESA: info:     div 32    %126 = ushr %117, %31 (0x2)
MESA: info:                      @store_ssbo_ir3 (%118, %114, %117, %126) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 c96db41ffdb6bba905eb210f92882a3b21ba1e2a:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l20
MESA: info: getone #l20
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.x, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.x, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l20:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.z, r48.y, 16
MESA: info: mull.u r50.w, r48.y, 10
MESA: info: mull.u r50.z, 10, r50.z
MESA: info: shl.b r50.z, r50.z, 16
MESA: info: add.u r50.z, r50.z, r50.w
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.x, r48.x, 16
MESA: info: mull.u r50.y, r48.x, 10
MESA: info: mull.u r50.x, 10, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: add.u r50.x, r50.x, r50.y
MESA: info: shr.b r49.w, c4.z, 16
MESA: info: mull.u r51.x, r48.y, c4.z
MESA: info: mull.u r49.w, r48.y, r49.w
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r49.w, r49.w, r51.x
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r49.w
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.y, r48.y, 16
MESA: info: mull.u r51.y, 100, r51.y
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.z, (last)r0.y
MESA: info: add.u r1.x, r50.x, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.y
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l64:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l105
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l72:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l103
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: add.u r4.w, r1.y, 1
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: (nop2) mul.f r4.z, (last)r4.z, c4.w
MESA: info: (nop2) mul.f r4.z, (last)r4.z, c10.x
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r4.w, (0x0)
MESA: info: isaml.base2 (f32)(xyzw)r5.x, r4.z, r4.w, s#0, t#0
MESA: info: (sy)min.f r1.z, (last)r1.z, r5.x
MESA: info: min.f r1.w, (last)r1.w, r5.y
MESA: info: min.f r2.x, (last)r2.x, r5.z
MESA: info: min.f r2.y, (last)r2.y, r5.w
MESA: info: max.f r2.z, (last)r2.z, r5.x
MESA: info: max.f r2.w, (last)r2.w, r5.y
MESA: info: max.f r3.x, (last)r3.x, r5.z
MESA: info: max.f r3.y, (last)r3.y, r5.w
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.x
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.y
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r5.z
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r5.w
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.x
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.y
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r5.z
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r5.w
MESA: info: mov.u32u32 r1.y, (last)r4.w
MESA: info: jump #l72
MESA: info: l103:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l64
MESA: info: l105:
MESA: info: (jp)shl.b r6.x, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.x, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 69/1: 122 instr, 32 nops, 90 non-nops, 12 mov, 2 cov, 256 dwords
MESA: info: ; CL prog 69/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 69/1: 37 cat0, 14 cat1, 55 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 3 cat7
MESA: info: ; CL prog 69/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 69/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 20 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xb517e652, 0xddb27a80, 0x93bf471c, 0x0ce01191, 0x6a2d9e82, 0xffc4346c, 0xef61381c, 0xc2011a0c}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %190 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %267 = f2u32 %190
MESA: info:             con 32    %268 = mov %267.x
MESA: info:             con 32    %269 = mov %267.y
MESA: info:                              @store_const_ir3 (%268) (base=16)
MESA: info:                              @store_const_ir3 (%269) (base=17)
MESA: info:             con 32     %10 = frcp %190.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32    %193 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %274 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %275 = iand %193.xxxx, %274 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %283 = ieq %275, %2 (0x0).xxxx
MESA: info:             con 32x4  %284 = b2i32 %283
MESA: info:             con 32    %285 = mov %284.w
MESA: info:             con 32    %282 = mov %284.z
MESA: info:             con 32    %278 = mov %284.x
MESA: info:             con 32    %279 = mov %284.y
MESA: info:                              @store_const_ir3 (%278) (base=19)
MESA: info:                              @store_const_ir3 (%279) (base=20)
MESA: info:                              @store_const_ir3 (%282) (base=21)
MESA: info:                              @store_const_ir3 (%285) (base=22)
MESA: info:             con 32x2  %196 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %266 = fsub %196.y, %196.x
MESA: info:             con 32     %29 = frcp %266
MESA: info:                              @store_const_ir3 (%29) (base=23)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %34 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%34)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %35 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %37 = load_const (0x00000002)
MESA: info:     con 32x2   %42 = @load_const_ir3 (%35 (0x0)) (base=40)
MESA: info:     con 32     %44 = @load_const_ir3 (%35 (0x0)) (base=16)
MESA: info:     con 32     %46 = @load_const_ir3 (%35 (0x0)) (base=17)
MESA: info:     con 32x3   %47 = @load_workgroup_id
MESA: info:     con 32x3   %48 = @load_base_workgroup_id
MESA: info:     con 32x2  %286 = iadd %47.xy, %48.xy
MESA: info:     con 32     %51 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %287 = umul_low %286, %51 (0xa).xx
MESA: info:     con 32x2  %288 = imadsh_mix16 %51 (0xa).xx, %286, %287
MESA: info:     div 32x3   %54 = @load_local_invocation_id
MESA: info:     div 32x2  %289 = iadd %288, %54.xy
MESA: info:     con 32     %57 = load_const (0x00000006)
MESA: info:     div 32x2  %290 = ishl %289, %57 (0x6).xx
MESA: info:     div 32    %291 = mov %290.x
MESA: info:     div 32    %292 = mov %290.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %60 = phi b6: %292, b30: %187
MESA: info:         con 32     %61 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %293 = iadd %290.yx, %61 (0x40).xx
MESA: info:         div 32     %64 = umin %46, %293.x
MESA: info:         div 32     %65 = umin %44, %293.y
MESA: info:         div 1      %66 = uge %60, %64
MESA: info:                          // succs: b8 b9
MESA: info:         if %66 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %67 = phi b10: %291, b29: %185
MESA: info:             div 1      %68 = uge %67, %65
MESA: info:                              // succs: b12 b13
MESA: info:             if %68 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %69 = u2f32 %67
MESA: info:             con 32     %71 = @load_const_ir3 (%35 (0x0)) (base=18)
MESA: info:             div 32     %72 = fmul %69, %71
MESA: info:             div 32     %73 = fmul %72, %42.x
MESA: info:             div 32     %74 = f2i32 %73
MESA: info:             con 32     %75 = @bindless_resource_ir3 (%35 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %76 = (float32)txf %75 (texture_handle), %74 (coord), %35 (0x0) (lod), 0 (texture)
MESA: info:             con 32     %83 = @load_const_ir3 (%35 (0x0)) (base=32)
MESA: info:             con 32     %87 = @load_const_ir3 (%35 (0x0)) (base=19)
MESA: info:             con 32     %91 = @load_const_ir3 (%35 (0x0)) (base=20)
MESA: info:             con 32     %95 = @load_const_ir3 (%35 (0x0)) (base=21)
MESA: info:             con 32     %99 = @load_const_ir3 (%35 (0x0)) (base=22)
MESA: info:             con 32    %104 = @load_const_ir3 (%35 (0x0)) (base=34)
MESA: info:             con 32    %105 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32    %106 = fadd %104, %105 (1.000000)
MESA: info:             div 32    %244 = icsel_eqz %87, %76.x, %106
MESA: info:             div 32    %243 = icsel_eqz %91, %76.y, %106
MESA: info:             div 32    %242 = icsel_eqz %95, %76.z, %106
MESA: info:             div 32    %241 = icsel_eqz %99, %76.w, %106
MESA: info:             con 1     %126 = ine %83, %35 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %126 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 con 32x2  %129 = @load_const_ir3 (%35 (0x0)) (base=33)
MESA: info:                 div 32    %265 = fsub %244, %129.x
MESA: info:                 div 32    %264 = fsub %243, %129.x
MESA: info:                 div 32    %263 = fsub %242, %129.x
MESA: info:                 div 32    %262 = fsub %241, %129.x
MESA: info:                 con 32    %136 = @load_const_ir3 (%35 (0x0)) (base=23)
MESA: info:                 div 32    %137 = fmul %265, %136
MESA: info:                 div 32    %138 = fmul %264, %136
MESA: info:                 div 32    %139 = fmul %263, %136
MESA: info:                 div 32    %140 = fmul %262, %136
MESA: info:                 div 1     %141 = flt! %137, %35 (0.000000)
MESA: info:                 div 1     %142 = flt! %138, %35 (0.000000)
MESA: info:                 div 1     %143 = flt! %139, %35 (0.000000)
MESA: info:                 div 1     %144 = flt! %140, %35 (0.000000)
MESA: info:                 con 32    %145 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %146 = fmul %137, %145 (256.000000)
MESA: info:                 con 32    %147 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %148 = bcsel %141, %147 (0x44000000), %146
MESA: info:                 div 32    %149 = fmul %138, %145 (256.000000)
MESA: info:                 div 32    %150 = bcsel %142, %147 (0x44000000), %149
MESA: info:                 div 32    %151 = fmul %139, %145 (256.000000)
MESA: info:                 div 32    %152 = bcsel %143, %147 (0x44000000), %151
MESA: info:                 div 32    %153 = fmul %140, %145 (256.000000)
MESA: info:                 div 32    %154 = bcsel %144, %147 (0x44000000), %153
MESA: info:                 div 32    %155 = ffloor %148
MESA: info:                 div 32    %156 = ffloor %150
MESA: info:                 div 32    %157 = ffloor %152
MESA: info:                 div 32    %158 = ffloor %154
MESA: info:                 div 32    %159 = f2u32 %155
MESA: info:                 div 32    %160 = f2u32 %156
MESA: info:                 div 32    %161 = f2u32 %157
MESA: info:                 div 32    %162 = f2u32 %158
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %163 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %164 = phi b15: %162, b16: %163 (0x101)
MESA: info:             div 32    %165 = phi b15: %161, b16: %163 (0x101)
MESA: info:             div 32    %166 = phi b15: %160, b16: %163 (0x101)
MESA: info:             div 32    %167 = phi b15: %159, b16: %163 (0x101)
MESA: info:             con 32     %84 = load_const (0x00000001)
MESA: info:             con 32    %168 = load_const (0x00000100 = 256)
MESA: info:             div 1     %169 = ult %167, %168 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %169 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %170 = ishl %167, %37 (0x2)
MESA: info:                 con 32    %171 = @bindless_resource_ir3 (%35 (0x0)) (desc_set=3)
MESA: info:                 div 32    %200 = @ssbo_atomic_ir3 (%171, %170, %84 (0x1), %167) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %173 = ult %166, %168 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %173 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %174 = ishl %166, %37 (0x2)
MESA: info:                 con 32    %175 = @bindless_resource_ir3 (%35 (0x0)) (desc_set=3)
MESA: info:                 div 32    %204 = @ssbo_atomic_ir3 (%175, %174, %84 (0x1), %166) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %177 = ult %165, %168 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %177 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %178 = ishl %165, %37 (0x2)
MESA: info:                 con 32    %179 = @bindless_resource_ir3 (%35 (0x0)) (desc_set=3)
MESA: info:                 div 32    %208 = @ssbo_atomic_ir3 (%179, %178, %84 (0x1), %165) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %181 = ult %164, %168 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %181 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %182 = ishl %164, %37 (0x2)
MESA: info:                 con 32    %183 = @bindless_resource_ir3 (%35 (0x0)) (desc_set=3)
MESA: info:                 div 32    %212 = @ssbo_atomic_ir3 (%183, %182, %84 (0x1), %164) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %185 = iadd %67, %84 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %186 = load_const (0x00000001)
MESA: info:         div 32    %187 = iadd %60, %186 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 6655b0d5b2461d6043d8060f6fa857bc428ff4da:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l34
MESA: info: getone #l34
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.z, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.x, r48.w
MESA: info: add.f r49.w, r49.w, (neg)r49.z
MESA: info: cov.f32u32 r49.x, r49.x
MESA: info: and.b r50.y, r49.y, 1
MESA: info: and.b r50.w, r49.y, 2
MESA: info: and.b r51.y, r49.y, 4
MESA: info: and.b r51.z, r49.y, 8
MESA: info: (rpt1)cmps.s.eq hr55.z, (r)r51.y, 0
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.w, r49.w
MESA: info: cmps.s.eq hr52.z, r50.y, 0
MESA: info: cmps.s.eq hr53.z, r50.w, 0
MESA: info: cov.u16s32 r50.z, hr52.z
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: stc.u32 c[17], r49.x, 1
MESA: info: stc.u32 c[16], r50.x, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cov.u16s32 r48.w, (r)hr55.z
MESA: info: stc.u32 c[23], r49.w, 1
MESA: info: stc.u32 c[19], r50.z, 1
MESA: info: stc.u32 c[20], r51.x, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[21], r48.w, 1
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l34:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.z, r48.y, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.y, r48.x, 16
MESA: info: mull.u r49.y, 10, r49.y
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.y, r49.y, 16
MESA: info: add.u r49.y, r49.y, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.z, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.y, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l52:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l155
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l60:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l153
MESA: info: add.f r49.w, c8.z, (1.0)
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: mov.f32f32 r2.y, c4.w
MESA: info: mov.f32f32 r2.z, c5.x
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mov.f32f32 r2.w, c5.y
MESA: info: mov.f32f32 r3.x, c5.z
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: (nop1) cmps.s.ne p0.y, c8.x, 0
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r2.y, (0x0)
MESA: info: isaml.base2 (f32)(xyzw)r3.y, r2.x, r2.y, s#0, t#0
MESA: info: (sy)(ss)sel.b32 r2.y, r49.w, r2.y, (last)r3.y
MESA: info: sel.b32 r2.z, r49.w, r2.z, (last)r3.z
MESA: info: sel.b32 r2.w, r49.w, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, r49.w, r3.x, (last)r4.x
MESA: info: br !p0.y, #l111
MESA: info: add.f r2.y, (last)r2.y, (neg)c8.y
MESA: info: add.f r2.z, (last)r2.z, (neg)c8.y
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: mul.f r2.y, (last)r2.y, c5.w
MESA: info: mul.f r2.z, (last)r2.z, c5.w
MESA: info: mul.f r2.w, (last)r2.w, c5.w
MESA: info: mul.f r3.x, (last)r3.x, c5.w
MESA: info: cmps.f.lt r4.y, r2.y, (0.0)
MESA: info: cmps.f.lt r4.z, r2.z, (0.0)
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: mul.f r2.y, (last)r2.y, c12.y
MESA: info: mul.f r2.z, (last)r2.z, c12.y
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: sel.b32 r4.y, c12.x, r4.y, (last)r2.y
MESA: info: sel.b32 r4.z, c12.x, r4.z, (last)r2.z
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: floor.f r4.y, (last)r4.y
MESA: info: floor.f r4.z, (last)r4.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: cov.f32u32 r4.y, (last)r4.y
MESA: info: cov.f32u32 r4.z, (last)r4.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: jump #l115
MESA: info: l111:
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r4.y, 257
MESA: info: mov.u32u32 r4.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: l115:
MESA: info: (nop3) cmps.u.lt p0.x, r4.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.y, 0
MESA: info: mov.u32u32 r5.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.y, r4.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r4.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r6.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.w, r4.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.y, 0
MESA: info: mov.u32u32 r6.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.y, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.w, 0
MESA: info: mov.u32u32 r7.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.w, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l60
MESA: info: l153:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l52
MESA: info: l155:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 70/1: 198 instr, 90 nops, 108 non-nops, 19 mov, 6 cov, 324 dwords
MESA: info: ; CL prog 70/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 70/1: 105 cat0, 25 cat1, 52 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 3 cat7
MESA: info: ; CL prog 70/1: 5 sstall, 3 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 70/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 36 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x7e76a3d9, 0x2c6dd73d, 0xc14f5637, 0x77123e97, 0xe1f39915, 0x16408ff8, 0x5fc9aba5, 0xc4db822c}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %127 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %121 = @load_ubo_vec4 (%4, %127 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %155 = f2u32 %121
MESA: info:             con 32    %156 = mov %155.x
MESA: info:             con 32    %157 = mov %155.y
MESA: info:                              @store_const_ir3 (%156) (base=16)
MESA: info:                              @store_const_ir3 (%157) (base=17)
MESA: info:             con 32      %8 = u2f32 %155.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %121.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %18 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%18)
MESA: info:             con 32     %20 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%20)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %23 = @load_local_invocation_id
MESA: info:     con 32x3   %24 = @load_workgroup_id
MESA: info:     con 32x3   %25 = @load_base_workgroup_id
MESA: info:     con 32x2  %158 = iadd %24.xy, %25.xy
MESA: info:     con 32     %28 = load_const (0x00000000)
MESA: info:     con 32x2   %33 = @load_const_ir3 (%28 (0x0)) (base=40)
MESA: info:     con 32     %35 = @load_const_ir3 (%28 (0x0)) (base=16)
MESA: info:     con 32     %37 = @load_const_ir3 (%28 (0x0)) (base=17)
MESA: info:     con 32     %38 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %159 = umul_low %158, %38 (0xa).xx
MESA: info:     con 32x2  %160 = imadsh_mix16 %38 (0xa).xx, %158, %159
MESA: info:     div 32x2  %161 = iadd %160, %23.xy
MESA: info:     con 32     %43 = load_const (0x00000006)
MESA: info:     div 32x2  %162 = ishl %161, %43 (0x6).xx
MESA: info:     div 32    %163 = mov %162.x
MESA: info:     div 32    %164 = mov %162.y
MESA: info:     div 32    %146 = umul_low %23.y, %38 (0xa)
MESA: info:     div 32    %148 = imadsh_mix16 %38 (0xa), %23.y, %146
MESA: info:     con 32     %49 = @load_const_ir3 (%28 (0x0)) (base=18)
MESA: info:     con 32    %143 = umul_low %158.y, %49
MESA: info:     con 32    %144 = imadsh_mix16 %158.y, %49, %143
MESA: info:     con 32    %145 = imadsh_mix16 %49, %158.y, %144
MESA: info:     con 32     %51 = iadd %145, %158.x
MESA: info:     con 32     %52 = load_const (0x00000064 = 100)
MESA: info:     con 32    %140 = umul_low %51, %52 (0x64)
MESA: info:     con 32    %142 = imadsh_mix16 %52 (0x64), %51, %140
MESA: info:     div 32    %139 = iadd3 %148, %23.x, %142
MESA: info:     con 32x4  %175 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %188 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %174 = phi b6: %175 (0x0, 0x0, 0x0, 0x0), b15: %176
MESA: info:         div 32x4  %187 = phi b6: %188 (0x0, 0x0, 0x0, 0x0), b15: %219
MESA: info:         div 32     %63 = phi b6: %28 (0x0), b15: %218
MESA: info:         div 32     %64 = phi b6: %164, b15: %111
MESA: info:         div 32x3  %196 = mov %174.yzw
MESA: info:         div 32    %168 = mov %174.x
MESA: info:         con 32     %65 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %191 = iadd %162.yx, %65 (0x40).xx
MESA: info:         div 32     %68 = umin %37, %191.x
MESA: info:         div 32     %69 = umin %35, %191.y
MESA: info:         div 1      %70 = uge %64, %68
MESA: info:                          // succs: b8 b9
MESA: info:         if %70 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %71 = phi b10: %163, b14: %109
MESA: info:             div 32     %72 = phi b10: %168, b14: %108
MESA: info:             div 32x3  %195 = phi b10: %196, b14: %211
MESA: info:             div 32x4  %204 = phi b10: %187, b14: %205
MESA: info:             div 32     %80 = phi b10: %63, b14: %131
MESA: info:             div 1      %81 = uge %71, %69
MESA: info:                              // succs: b12 b13
MESA: info:             if %81 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %82 = u2f32 %71
MESA: info:             con 32     %84 = @load_const_ir3 (%28 (0x0)) (base=19)
MESA: info:             div 32     %85 = fmul %82, %84
MESA: info:             div 32     %86 = fmul %85, %33.x
MESA: info:             div 32     %87 = f2i32 %86
MESA: info:             con 32     %88 = @bindless_resource_ir3 (%28 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %89 = (uint32)txf %88 (texture_handle), %87 (coord), %28 (0x0) (lod), 0 (texture)
MESA: info:             div 32x3  %207 = umin %195, %89.xyz
MESA: info:             div 32     %94 = umin %204.x, %89.w
MESA: info:             div 32x3  %209 = umax %204.yzw, %89.xyz
MESA: info:             div 32     %98 = umax %80, %89.w
MESA: info:             div 32x3  %211 = icsel_eqz %72.xxx, %89.xyz, %207
MESA: info:             div 32    %135 = icsel_eqz %72, %89.w, %94
MESA: info:             div 32x3  %213 = icsel_eqz %72.xxx, %89.xyz, %209
MESA: info:             div 32    %131 = icsel_eqz %72, %89.w, %98
MESA: info:             con 32    %107 = load_const (0x00000001)
MESA: info:             div 32    %108 = iadd %72, %107 (0x1)
MESA: info:             div 32    %109 = iadd %71, %107 (0x1)
MESA: info:             div 32x4  %205 = vec4 %135, %213.x, %213.y, %213.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %221 = phi b12: %72
MESA: info:         div 32x3  %220 = phi b12: %195
MESA: info:         div 32x4  %219 = phi b12: %204
MESA: info:         div 32    %218 = phi b12: %80
MESA: info:         con 32    %110 = load_const (0x00000001)
MESA: info:         div 32    %111 = iadd %64, %110 (0x1)
MESA: info:         div 32x4  %176 = vec4 %221, %220.x, %220.y, %220.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %224 = phi b8: %174
MESA: info:     div 32x4  %223 = phi b8: %187
MESA: info:     div 32    %222 = phi b8: %63
MESA: info:     con 32     %31 = load_const (0x00000002)
MESA: info:     con 32x2  %214 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %215 = ishl %139.xx, %214 (0x5, 0x3)
MESA: info:     div 32    %216 = mov %215.x
MESA: info:     div 32    %217 = mov %215.y
MESA: info:     con 32    %114 = @bindless_resource_ir3 (%28 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %115 = vec4 %224.y, %224.z, %224.w, %223.x
MESA: info:                      @store_ssbo_ir3 (%115, %114, %216, %217) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %116 = load_const (0x00000010 = 16)
MESA: info:     div 32    %117 = iadd %215.x, %116 (0x10)
MESA: info:     div 32x4  %118 = vec4 %223.y, %223.z, %223.w, %222
MESA: info:     div 32    %126 = ushr %117, %31 (0x2)
MESA: info:                      @store_ssbo_ir3 (%118, %114, %117, %126) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 511c9e0bf5d949cffb3e8a5d8b6600d931a747f9:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l20
MESA: info: getone #l20
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.x, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.x, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l20:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.z, r48.y, 16
MESA: info: mull.u r50.w, r48.y, 10
MESA: info: mull.u r50.z, 10, r50.z
MESA: info: shl.b r50.z, r50.z, 16
MESA: info: add.u r50.z, r50.z, r50.w
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.x, r48.x, 16
MESA: info: mull.u r50.y, r48.x, 10
MESA: info: mull.u r50.x, 10, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: add.u r50.x, r50.x, r50.y
MESA: info: shr.b r49.w, c4.z, 16
MESA: info: mull.u r51.x, r48.y, c4.z
MESA: info: mull.u r49.w, r48.y, r49.w
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r49.w, r49.w, r51.x
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r49.w
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.y, r48.y, 16
MESA: info: mull.u r51.y, 100, r51.y
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.z, (last)r0.y
MESA: info: add.u r1.x, r50.x, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.y
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l64:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l105
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l72:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l103
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: add.u r4.w, r1.y, 1
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: (nop2) mul.f r4.z, (last)r4.z, c4.w
MESA: info: (nop2) mul.f r4.z, (last)r4.z, c10.x
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r4.w, (0x0)
MESA: info: isaml.base2 (u32)(xyzw)r5.x, r4.z, r4.w, s#0, t#0
MESA: info: (sy)min.u r1.z, (last)r1.z, r5.x
MESA: info: min.u r1.w, (last)r1.w, r5.y
MESA: info: min.u r2.x, (last)r2.x, r5.z
MESA: info: min.u r2.y, (last)r2.y, r5.w
MESA: info: max.u r2.z, (last)r2.z, r5.x
MESA: info: max.u r2.w, (last)r2.w, r5.y
MESA: info: max.u r3.x, (last)r3.x, r5.z
MESA: info: max.u r3.y, (last)r3.y, r5.w
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.x
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.y
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r5.z
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r5.w
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.x
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.y
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r5.z
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r5.w
MESA: info: mov.u32u32 r1.y, (last)r4.w
MESA: info: jump #l72
MESA: info: l103:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l64
MESA: info: l105:
MESA: info: (jp)shl.b r6.x, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.x, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 71/1: 122 instr, 32 nops, 90 non-nops, 12 mov, 2 cov, 256 dwords
MESA: info: ; CL prog 71/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 71/1: 37 cat0, 14 cat1, 55 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 3 cat7
MESA: info: ; CL prog 71/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 71/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 20 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x273dfdb7, 0x3721a2b1, 0x9ccb5d10, 0xe1b74d14, 0x9d1bf4a9, 0xf4d092a0, 0x54d47da7, 0x5011de82}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %197 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %279 = f2u32 %197
MESA: info:             con 32    %280 = mov %279.x
MESA: info:             con 32    %281 = mov %279.y
MESA: info:                              @store_const_ir3 (%280) (base=16)
MESA: info:                              @store_const_ir3 (%281) (base=17)
MESA: info:             con 32     %10 = frcp %197.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32    %200 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %286 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %287 = iand %200.xxxx, %286 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %295 = ieq %287, %2 (0x0).xxxx
MESA: info:             con 32x4  %296 = b2i32 %295
MESA: info:             con 32    %297 = mov %296.w
MESA: info:             con 32    %294 = mov %296.z
MESA: info:             con 32    %290 = mov %296.x
MESA: info:             con 32    %291 = mov %296.y
MESA: info:                              @store_const_ir3 (%290) (base=19)
MESA: info:                              @store_const_ir3 (%291) (base=20)
MESA: info:                              @store_const_ir3 (%294) (base=21)
MESA: info:                              @store_const_ir3 (%297) (base=22)
MESA: info:             con 32    %203 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %27 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %28 = fadd %203, %27 (1.000000)
MESA: info:             con 32     %29 = f2u32 %28
MESA: info:                              @store_const_ir3 (%29) (base=23)
MESA: info:                              @store_const_ir3 (%29) (base=24)
MESA: info:                              @store_const_ir3 (%29) (base=25)
MESA: info:                              @store_const_ir3 (%29) (base=26)
MESA: info:             con 32x2  %215 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %278 = fsub %215.y, %215.x
MESA: info:             con 32     %45 = frcp %278
MESA: info:                              @store_const_ir3 (%45) (base=27)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %50 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%50)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %51 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %52 = load_const (0x00000002)
MESA: info:     con 32x2   %57 = @load_const_ir3 (%51 (0x0)) (base=40)
MESA: info:     con 32     %59 = @load_const_ir3 (%51 (0x0)) (base=16)
MESA: info:     con 32     %61 = @load_const_ir3 (%51 (0x0)) (base=17)
MESA: info:     con 32x3   %62 = @load_workgroup_id
MESA: info:     con 32x3   %63 = @load_base_workgroup_id
MESA: info:     con 32x2  %298 = iadd %62.xy, %63.xy
MESA: info:     con 32     %66 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %299 = umul_low %298, %66 (0xa).xx
MESA: info:     con 32x2  %300 = imadsh_mix16 %66 (0xa).xx, %298, %299
MESA: info:     div 32x3   %69 = @load_local_invocation_id
MESA: info:     div 32x2  %301 = iadd %300, %69.xy
MESA: info:     con 32     %72 = load_const (0x00000006)
MESA: info:     div 32x2  %302 = ishl %301, %72 (0x6).xx
MESA: info:     div 32    %303 = mov %302.x
MESA: info:     div 32    %304 = mov %302.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %75 = phi b6: %304, b30: %194
MESA: info:         con 32     %76 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %305 = iadd %302.yx, %76 (0x40).xx
MESA: info:         div 32     %79 = umin %61, %305.x
MESA: info:         div 32     %80 = umin %59, %305.y
MESA: info:         div 1      %81 = uge %75, %79
MESA: info:                          // succs: b8 b9
MESA: info:         if %81 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %82 = phi b10: %303, b29: %192
MESA: info:             div 1      %83 = uge %82, %80
MESA: info:                              // succs: b12 b13
MESA: info:             if %83 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %84 = u2f32 %82
MESA: info:             con 32     %86 = @load_const_ir3 (%51 (0x0)) (base=18)
MESA: info:             div 32     %87 = fmul %84, %86
MESA: info:             div 32     %88 = fmul %87, %57.x
MESA: info:             div 32     %89 = f2i32 %88
MESA: info:             con 32     %90 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %91 = (uint32)txf %90 (texture_handle), %89 (coord), %51 (0x0) (lod), 0 (texture)
MESA: info:             con 32     %94 = @load_const_ir3 (%51 (0x0)) (base=32)
MESA: info:             con 32     %98 = @load_const_ir3 (%51 (0x0)) (base=19)
MESA: info:             con 32    %102 = @load_const_ir3 (%51 (0x0)) (base=20)
MESA: info:             con 32    %106 = @load_const_ir3 (%51 (0x0)) (base=21)
MESA: info:             con 32    %110 = @load_const_ir3 (%51 (0x0)) (base=22)
MESA: info:             con 32    %117 = @load_const_ir3 (%51 (0x0)) (base=23)
MESA: info:             div 32    %256 = icsel_eqz %98, %91.x, %117
MESA: info:             con 32    %121 = @load_const_ir3 (%51 (0x0)) (base=24)
MESA: info:             div 32    %255 = icsel_eqz %102, %91.y, %121
MESA: info:             con 32    %124 = @load_const_ir3 (%51 (0x0)) (base=25)
MESA: info:             div 32    %254 = icsel_eqz %106, %91.z, %124
MESA: info:             con 32    %127 = @load_const_ir3 (%51 (0x0)) (base=26)
MESA: info:             div 32    %253 = icsel_eqz %110, %91.w, %127
MESA: info:             con 1     %129 = ine %94, %51 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %129 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %130 = u2f32 %256
MESA: info:                 div 32    %131 = u2f32 %255
MESA: info:                 div 32    %132 = u2f32 %254
MESA: info:                 div 32    %133 = u2f32 %253
MESA: info:                 con 32x2  %136 = @load_const_ir3 (%51 (0x0)) (base=33)
MESA: info:                 div 32    %277 = fsub %130, %136.x
MESA: info:                 div 32    %276 = fsub %131, %136.x
MESA: info:                 div 32    %275 = fsub %132, %136.x
MESA: info:                 div 32    %274 = fsub %133, %136.x
MESA: info:                 con 32    %143 = @load_const_ir3 (%51 (0x0)) (base=27)
MESA: info:                 div 32    %144 = fmul %277, %143
MESA: info:                 div 32    %145 = fmul %276, %143
MESA: info:                 div 32    %146 = fmul %275, %143
MESA: info:                 div 32    %147 = fmul %274, %143
MESA: info:                 div 1     %148 = flt! %144, %51 (0.000000)
MESA: info:                 div 1     %149 = flt! %145, %51 (0.000000)
MESA: info:                 div 1     %150 = flt! %146, %51 (0.000000)
MESA: info:                 div 1     %151 = flt! %147, %51 (0.000000)
MESA: info:                 con 32    %152 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %153 = fmul %144, %152 (256.000000)
MESA: info:                 con 32    %154 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %155 = bcsel %148, %154 (0x44000000), %153
MESA: info:                 div 32    %156 = fmul %145, %152 (256.000000)
MESA: info:                 div 32    %157 = bcsel %149, %154 (0x44000000), %156
MESA: info:                 div 32    %158 = fmul %146, %152 (256.000000)
MESA: info:                 div 32    %159 = bcsel %150, %154 (0x44000000), %158
MESA: info:                 div 32    %160 = fmul %147, %152 (256.000000)
MESA: info:                 div 32    %161 = bcsel %151, %154 (0x44000000), %160
MESA: info:                 div 32    %162 = ffloor %155
MESA: info:                 div 32    %163 = ffloor %157
MESA: info:                 div 32    %164 = ffloor %159
MESA: info:                 div 32    %165 = ffloor %161
MESA: info:                 div 32    %166 = f2u32 %162
MESA: info:                 div 32    %167 = f2u32 %163
MESA: info:                 div 32    %168 = f2u32 %164
MESA: info:                 div 32    %169 = f2u32 %165
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %170 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %171 = phi b15: %169, b16: %170 (0x101)
MESA: info:             div 32    %172 = phi b15: %168, b16: %170 (0x101)
MESA: info:             div 32    %173 = phi b15: %167, b16: %170 (0x101)
MESA: info:             div 32    %174 = phi b15: %166, b16: %170 (0x101)
MESA: info:             con 32     %95 = load_const (0x00000001)
MESA: info:             con 32    %175 = load_const (0x00000100 = 256)
MESA: info:             div 1     %176 = ult %174, %175 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %176 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %177 = ishl %174, %52 (0x2)
MESA: info:                 con 32    %178 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %219 = @ssbo_atomic_ir3 (%178, %177, %95 (0x1), %174) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %180 = ult %173, %175 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %180 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %181 = ishl %173, %52 (0x2)
MESA: info:                 con 32    %182 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %223 = @ssbo_atomic_ir3 (%182, %181, %95 (0x1), %173) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %184 = ult %172, %175 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %184 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %185 = ishl %172, %52 (0x2)
MESA: info:                 con 32    %186 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %227 = @ssbo_atomic_ir3 (%186, %185, %95 (0x1), %172) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %188 = ult %171, %175 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %188 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %189 = ishl %171, %52 (0x2)
MESA: info:                 con 32    %190 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %231 = @ssbo_atomic_ir3 (%190, %189, %95 (0x1), %171) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %192 = iadd %82, %95 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %193 = load_const (0x00000001)
MESA: info:         div 32    %194 = iadd %75, %193 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 08fdd275eeef4de90ac99574abcc3238926662b3:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l42
MESA: info: getone #l42
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: cov.f32u32 r49.x, r49.x
MESA: info: and.b r50.z, r49.y, 1
MESA: info: and.b r51.x, r49.y, 2
MESA: info: and.b r51.z, r49.y, 4
MESA: info: and.b r51.w, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.x, r50.z, 0
MESA: info: cmps.s.eq hr54.x, r51.x, 0
MESA: info: cov.u16s32 r50.w, hr53.x
MESA: info: cov.u16s32 r51.y, hr54.x
MESA: info: stc.u32 c[17], r49.x, 1
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[23], r49.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.z, 0
MESA: info: cov.u16s32 r49.x, hr49.z
MESA: info: cov.u16s32 r49.y, hr49.w
MESA: info: stc.u32 c[27], r50.x, 1
MESA: info: stc.u32 c[19], r50.w, 1
MESA: info: stc.u32 c[20], r51.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[21], r49.x, 1
MESA: info: stc.u32 c[22], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l42:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l60:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l166
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l68:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l164
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: mov.f32f32 r2.y, c4.w
MESA: info: mov.f32f32 r2.z, c5.x
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mov.f32f32 r2.w, c5.y
MESA: info: mov.f32f32 r3.x, c5.z
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: (nop1) cmps.s.ne p0.y, c8.x, 0
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r2.y, (0x0)
MESA: info: isaml.base2 (u32)(xyzw)r3.y, r2.x, r2.y, s#0, t#0
MESA: info: (sy)sel.b32 r2.y, c5.w, r2.y, (last)r3.y
MESA: info: sel.b32 r2.z, c6.x, r2.z, (last)r3.z
MESA: info: sel.b32 r2.w, c6.y, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, c6.z, r3.x, (last)r4.x
MESA: info: br !p0.y, #l122
MESA: info: cov.u32f32 r2.y, (last)r2.y
MESA: info: cov.u32f32 r2.z, (last)r2.z
MESA: info: cov.u32f32 r2.w, (last)r2.w
MESA: info: cov.u32f32 r3.x, (last)r3.x
MESA: info: add.f r2.y, (last)r2.y, (neg)c8.y
MESA: info: add.f r2.z, (last)r2.z, (neg)c8.y
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: mul.f r2.y, (last)r2.y, c6.w
MESA: info: mul.f r2.z, (last)r2.z, c6.w
MESA: info: mul.f r2.w, (last)r2.w, c6.w
MESA: info: mul.f r3.x, (last)r3.x, c6.w
MESA: info: cmps.f.lt r4.y, r2.y, (0.0)
MESA: info: cmps.f.lt r4.z, r2.z, (0.0)
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: mul.f r2.y, (last)r2.y, c12.y
MESA: info: mul.f r2.z, (last)r2.z, c12.y
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: sel.b32 r4.y, c12.x, r4.y, (last)r2.y
MESA: info: sel.b32 r4.z, c12.x, r4.z, (last)r2.z
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: floor.f r4.y, (last)r4.y
MESA: info: floor.f r4.z, (last)r4.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: cov.f32u32 r4.y, (last)r4.y
MESA: info: cov.f32u32 r4.z, (last)r4.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: jump #l126
MESA: info: l122:
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r4.y, 257
MESA: info: mov.u32u32 r4.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: l126:
MESA: info: (nop3) cmps.u.lt p0.x, r4.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.y, 0
MESA: info: mov.u32u32 r5.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.y, r4.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r4.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r6.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.w, r4.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.y, 0
MESA: info: mov.u32u32 r6.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.y, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.w, 0
MESA: info: mov.u32u32 r7.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.w, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l68
MESA: info: l164:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l60
MESA: info: l166:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 72/1: 201 instr, 90 nops, 111 non-nops, 19 mov, 10 cov, 352 dwords
MESA: info: ; CL prog 72/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 72/1: 105 cat0, 29 cat1, 51 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 3 cat7
MESA: info: ; CL prog 72/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 72/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 43 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x8e528bcb, 0x6f03bdb4, 0x21428fc9, 0x336c2f28, 0x3433aec7, 0xbf5313eb, 0x5864eb54, 0xb138bd02}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %127 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %121 = @load_ubo_vec4 (%4, %127 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %155 = f2u32 %121
MESA: info:             con 32    %156 = mov %155.x
MESA: info:             con 32    %157 = mov %155.y
MESA: info:                              @store_const_ir3 (%156) (base=16)
MESA: info:                              @store_const_ir3 (%157) (base=17)
MESA: info:             con 32      %8 = u2f32 %155.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %121.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %18 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%18)
MESA: info:             con 32     %20 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%20)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %23 = @load_local_invocation_id
MESA: info:     con 32x3   %24 = @load_workgroup_id
MESA: info:     con 32x3   %25 = @load_base_workgroup_id
MESA: info:     con 32x2  %158 = iadd %24.xy, %25.xy
MESA: info:     con 32     %28 = load_const (0x00000000)
MESA: info:     con 32x2   %33 = @load_const_ir3 (%28 (0x0)) (base=40)
MESA: info:     con 32     %35 = @load_const_ir3 (%28 (0x0)) (base=16)
MESA: info:     con 32     %37 = @load_const_ir3 (%28 (0x0)) (base=17)
MESA: info:     con 32     %38 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %159 = umul_low %158, %38 (0xa).xx
MESA: info:     con 32x2  %160 = imadsh_mix16 %38 (0xa).xx, %158, %159
MESA: info:     div 32x2  %161 = iadd %160, %23.xy
MESA: info:     con 32     %43 = load_const (0x00000006)
MESA: info:     div 32x2  %162 = ishl %161, %43 (0x6).xx
MESA: info:     div 32    %163 = mov %162.x
MESA: info:     div 32    %164 = mov %162.y
MESA: info:     div 32    %146 = umul_low %23.y, %38 (0xa)
MESA: info:     div 32    %148 = imadsh_mix16 %38 (0xa), %23.y, %146
MESA: info:     con 32     %49 = @load_const_ir3 (%28 (0x0)) (base=18)
MESA: info:     con 32    %143 = umul_low %158.y, %49
MESA: info:     con 32    %144 = imadsh_mix16 %158.y, %49, %143
MESA: info:     con 32    %145 = imadsh_mix16 %49, %158.y, %144
MESA: info:     con 32     %51 = iadd %145, %158.x
MESA: info:     con 32     %52 = load_const (0x00000064 = 100)
MESA: info:     con 32    %140 = umul_low %51, %52 (0x64)
MESA: info:     con 32    %142 = imadsh_mix16 %52 (0x64), %51, %140
MESA: info:     div 32    %139 = iadd3 %148, %23.x, %142
MESA: info:     con 32x4  %175 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %188 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %174 = phi b6: %175 (0x0, 0x0, 0x0, 0x0), b15: %176
MESA: info:         div 32x4  %187 = phi b6: %188 (0x0, 0x0, 0x0, 0x0), b15: %219
MESA: info:         div 32     %63 = phi b6: %28 (0x0), b15: %218
MESA: info:         div 32     %64 = phi b6: %164, b15: %111
MESA: info:         div 32x3  %196 = mov %174.yzw
MESA: info:         div 32    %168 = mov %174.x
MESA: info:         con 32     %65 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %191 = iadd %162.yx, %65 (0x40).xx
MESA: info:         div 32     %68 = umin %37, %191.x
MESA: info:         div 32     %69 = umin %35, %191.y
MESA: info:         div 1      %70 = uge %64, %68
MESA: info:                          // succs: b8 b9
MESA: info:         if %70 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %71 = phi b10: %163, b14: %109
MESA: info:             div 32     %72 = phi b10: %168, b14: %108
MESA: info:             div 32x3  %195 = phi b10: %196, b14: %211
MESA: info:             div 32x4  %204 = phi b10: %187, b14: %205
MESA: info:             div 32     %80 = phi b10: %63, b14: %131
MESA: info:             div 1      %81 = uge %71, %69
MESA: info:                              // succs: b12 b13
MESA: info:             if %81 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %82 = u2f32 %71
MESA: info:             con 32     %84 = @load_const_ir3 (%28 (0x0)) (base=19)
MESA: info:             div 32     %85 = fmul %82, %84
MESA: info:             div 32     %86 = fmul %85, %33.x
MESA: info:             div 32     %87 = f2i32 %86
MESA: info:             con 32     %88 = @bindless_resource_ir3 (%28 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %89 = (int32)txf %88 (texture_handle), %87 (coord), %28 (0x0) (lod), 0 (texture)
MESA: info:             div 32x3  %207 = imin %195, %89.xyz
MESA: info:             div 32     %94 = imin %204.x, %89.w
MESA: info:             div 32x3  %209 = imax %204.yzw, %89.xyz
MESA: info:             div 32     %98 = imax %80, %89.w
MESA: info:             div 32x3  %211 = icsel_eqz %72.xxx, %89.xyz, %207
MESA: info:             div 32    %135 = icsel_eqz %72, %89.w, %94
MESA: info:             div 32x3  %213 = icsel_eqz %72.xxx, %89.xyz, %209
MESA: info:             div 32    %131 = icsel_eqz %72, %89.w, %98
MESA: info:             con 32    %107 = load_const (0x00000001)
MESA: info:             div 32    %108 = iadd %72, %107 (0x1)
MESA: info:             div 32    %109 = iadd %71, %107 (0x1)
MESA: info:             div 32x4  %205 = vec4 %135, %213.x, %213.y, %213.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %221 = phi b12: %72
MESA: info:         div 32x3  %220 = phi b12: %195
MESA: info:         div 32x4  %219 = phi b12: %204
MESA: info:         div 32    %218 = phi b12: %80
MESA: info:         con 32    %110 = load_const (0x00000001)
MESA: info:         div 32    %111 = iadd %64, %110 (0x1)
MESA: info:         div 32x4  %176 = vec4 %221, %220.x, %220.y, %220.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %224 = phi b8: %174
MESA: info:     div 32x4  %223 = phi b8: %187
MESA: info:     div 32    %222 = phi b8: %63
MESA: info:     con 32     %31 = load_const (0x00000002)
MESA: info:     con 32x2  %214 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %215 = ishl %139.xx, %214 (0x5, 0x3)
MESA: info:     div 32    %216 = mov %215.x
MESA: info:     div 32    %217 = mov %215.y
MESA: info:     con 32    %114 = @bindless_resource_ir3 (%28 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %115 = vec4 %224.y, %224.z, %224.w, %223.x
MESA: info:                      @store_ssbo_ir3 (%115, %114, %216, %217) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %116 = load_const (0x00000010 = 16)
MESA: info:     div 32    %117 = iadd %215.x, %116 (0x10)
MESA: info:     div 32x4  %118 = vec4 %223.y, %223.z, %223.w, %222
MESA: info:     div 32    %126 = ushr %117, %31 (0x2)
MESA: info:                      @store_ssbo_ir3 (%118, %114, %117, %126) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 8b1ed6d0e96627a1fbeb48074a14bc2c4c6fb68b:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l20
MESA: info: getone #l20
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.x, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.x, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l20:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.z, r48.y, 16
MESA: info: mull.u r50.w, r48.y, 10
MESA: info: mull.u r50.z, 10, r50.z
MESA: info: shl.b r50.z, r50.z, 16
MESA: info: add.u r50.z, r50.z, r50.w
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.x, r48.x, 16
MESA: info: mull.u r50.y, r48.x, 10
MESA: info: mull.u r50.x, 10, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: add.u r50.x, r50.x, r50.y
MESA: info: shr.b r49.w, c4.z, 16
MESA: info: mull.u r51.x, r48.y, c4.z
MESA: info: mull.u r49.w, r48.y, r49.w
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r49.w, r49.w, r51.x
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r49.w
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.y, r48.y, 16
MESA: info: mull.u r51.y, 100, r51.y
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.z, (last)r0.y
MESA: info: add.u r1.x, r50.x, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.y
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l64:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l105
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l72:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l103
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: add.u r4.w, r1.y, 1
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: (nop2) mul.f r4.z, (last)r4.z, c4.w
MESA: info: (nop2) mul.f r4.z, (last)r4.z, c10.x
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r4.w, (0x0)
MESA: info: isaml.base2 (s32)(xyzw)r5.x, r4.z, r4.w, s#0, t#0
MESA: info: (sy)min.s r1.z, (last)r1.z, r5.x
MESA: info: min.s r1.w, (last)r1.w, r5.y
MESA: info: min.s r2.x, (last)r2.x, r5.z
MESA: info: min.s r2.y, (last)r2.y, r5.w
MESA: info: max.s r2.z, (last)r2.z, r5.x
MESA: info: max.s r2.w, (last)r2.w, r5.y
MESA: info: max.s r3.x, (last)r3.x, r5.z
MESA: info: max.s r3.y, (last)r3.y, r5.w
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.x
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.y
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r5.z
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r5.w
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.x
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.y
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r5.z
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r5.w
MESA: info: mov.u32u32 r1.y, (last)r4.w
MESA: info: jump #l72
MESA: info: l103:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l64
MESA: info: l105:
MESA: info: (jp)shl.b r6.x, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.x, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 73/1: 122 instr, 32 nops, 90 non-nops, 12 mov, 2 cov, 256 dwords
MESA: info: ; CL prog 73/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 73/1: 37 cat0, 14 cat1, 55 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 3 cat7
MESA: info: ; CL prog 73/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 73/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 20 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x6f26dc6a, 0x0641af14, 0x3c16d595, 0x349123bb, 0x22437182, 0xf50ad6cb, 0x418df0bf, 0xe1b914fe}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %197 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %279 = f2u32 %197
MESA: info:             con 32    %280 = mov %279.x
MESA: info:             con 32    %281 = mov %279.y
MESA: info:                              @store_const_ir3 (%280) (base=16)
MESA: info:                              @store_const_ir3 (%281) (base=17)
MESA: info:             con 32     %10 = frcp %197.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32    %200 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %286 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %287 = iand %200.xxxx, %286 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %295 = ieq %287, %2 (0x0).xxxx
MESA: info:             con 32x4  %296 = b2i32 %295
MESA: info:             con 32    %297 = mov %296.w
MESA: info:             con 32    %294 = mov %296.z
MESA: info:             con 32    %290 = mov %296.x
MESA: info:             con 32    %291 = mov %296.y
MESA: info:                              @store_const_ir3 (%290) (base=19)
MESA: info:                              @store_const_ir3 (%291) (base=20)
MESA: info:                              @store_const_ir3 (%294) (base=21)
MESA: info:                              @store_const_ir3 (%297) (base=22)
MESA: info:             con 32    %203 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %27 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %28 = fadd %203, %27 (1.000000)
MESA: info:             con 32     %29 = f2i32 %28
MESA: info:                              @store_const_ir3 (%29) (base=23)
MESA: info:                              @store_const_ir3 (%29) (base=24)
MESA: info:                              @store_const_ir3 (%29) (base=25)
MESA: info:                              @store_const_ir3 (%29) (base=26)
MESA: info:             con 32x2  %215 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %278 = fsub %215.y, %215.x
MESA: info:             con 32     %45 = frcp %278
MESA: info:                              @store_const_ir3 (%45) (base=27)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %50 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%50)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %51 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %52 = load_const (0x00000002)
MESA: info:     con 32x2   %57 = @load_const_ir3 (%51 (0x0)) (base=40)
MESA: info:     con 32     %59 = @load_const_ir3 (%51 (0x0)) (base=16)
MESA: info:     con 32     %61 = @load_const_ir3 (%51 (0x0)) (base=17)
MESA: info:     con 32x3   %62 = @load_workgroup_id
MESA: info:     con 32x3   %63 = @load_base_workgroup_id
MESA: info:     con 32x2  %298 = iadd %62.xy, %63.xy
MESA: info:     con 32     %66 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %299 = umul_low %298, %66 (0xa).xx
MESA: info:     con 32x2  %300 = imadsh_mix16 %66 (0xa).xx, %298, %299
MESA: info:     div 32x3   %69 = @load_local_invocation_id
MESA: info:     div 32x2  %301 = iadd %300, %69.xy
MESA: info:     con 32     %72 = load_const (0x00000006)
MESA: info:     div 32x2  %302 = ishl %301, %72 (0x6).xx
MESA: info:     div 32    %303 = mov %302.x
MESA: info:     div 32    %304 = mov %302.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %75 = phi b6: %304, b30: %194
MESA: info:         con 32     %76 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %305 = iadd %302.yx, %76 (0x40).xx
MESA: info:         div 32     %79 = umin %61, %305.x
MESA: info:         div 32     %80 = umin %59, %305.y
MESA: info:         div 1      %81 = uge %75, %79
MESA: info:                          // succs: b8 b9
MESA: info:         if %81 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %82 = phi b10: %303, b29: %192
MESA: info:             div 1      %83 = uge %82, %80
MESA: info:                              // succs: b12 b13
MESA: info:             if %83 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %84 = u2f32 %82
MESA: info:             con 32     %86 = @load_const_ir3 (%51 (0x0)) (base=18)
MESA: info:             div 32     %87 = fmul %84, %86
MESA: info:             div 32     %88 = fmul %87, %57.x
MESA: info:             div 32     %89 = f2i32 %88
MESA: info:             con 32     %90 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %91 = (int32)txf %90 (texture_handle), %89 (coord), %51 (0x0) (lod), 0 (texture)
MESA: info:             con 32     %94 = @load_const_ir3 (%51 (0x0)) (base=32)
MESA: info:             con 32     %98 = @load_const_ir3 (%51 (0x0)) (base=19)
MESA: info:             con 32    %102 = @load_const_ir3 (%51 (0x0)) (base=20)
MESA: info:             con 32    %106 = @load_const_ir3 (%51 (0x0)) (base=21)
MESA: info:             con 32    %110 = @load_const_ir3 (%51 (0x0)) (base=22)
MESA: info:             con 32    %117 = @load_const_ir3 (%51 (0x0)) (base=23)
MESA: info:             div 32    %256 = icsel_eqz %98, %91.x, %117
MESA: info:             con 32    %121 = @load_const_ir3 (%51 (0x0)) (base=24)
MESA: info:             div 32    %255 = icsel_eqz %102, %91.y, %121
MESA: info:             con 32    %124 = @load_const_ir3 (%51 (0x0)) (base=25)
MESA: info:             div 32    %254 = icsel_eqz %106, %91.z, %124
MESA: info:             con 32    %127 = @load_const_ir3 (%51 (0x0)) (base=26)
MESA: info:             div 32    %253 = icsel_eqz %110, %91.w, %127
MESA: info:             con 1     %129 = ine %94, %51 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %129 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %130 = i2f32 %256
MESA: info:                 div 32    %131 = i2f32 %255
MESA: info:                 div 32    %132 = i2f32 %254
MESA: info:                 div 32    %133 = i2f32 %253
MESA: info:                 con 32x2  %136 = @load_const_ir3 (%51 (0x0)) (base=33)
MESA: info:                 div 32    %277 = fsub %130, %136.x
MESA: info:                 div 32    %276 = fsub %131, %136.x
MESA: info:                 div 32    %275 = fsub %132, %136.x
MESA: info:                 div 32    %274 = fsub %133, %136.x
MESA: info:                 con 32    %143 = @load_const_ir3 (%51 (0x0)) (base=27)
MESA: info:                 div 32    %144 = fmul %277, %143
MESA: info:                 div 32    %145 = fmul %276, %143
MESA: info:                 div 32    %146 = fmul %275, %143
MESA: info:                 div 32    %147 = fmul %274, %143
MESA: info:                 div 1     %148 = flt! %144, %51 (0.000000)
MESA: info:                 div 1     %149 = flt! %145, %51 (0.000000)
MESA: info:                 div 1     %150 = flt! %146, %51 (0.000000)
MESA: info:                 div 1     %151 = flt! %147, %51 (0.000000)
MESA: info:                 con 32    %152 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %153 = fmul %144, %152 (256.000000)
MESA: info:                 con 32    %154 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %155 = bcsel %148, %154 (0x44000000), %153
MESA: info:                 div 32    %156 = fmul %145, %152 (256.000000)
MESA: info:                 div 32    %157 = bcsel %149, %154 (0x44000000), %156
MESA: info:                 div 32    %158 = fmul %146, %152 (256.000000)
MESA: info:                 div 32    %159 = bcsel %150, %154 (0x44000000), %158
MESA: info:                 div 32    %160 = fmul %147, %152 (256.000000)
MESA: info:                 div 32    %161 = bcsel %151, %154 (0x44000000), %160
MESA: info:                 div 32    %162 = ffloor %155
MESA: info:                 div 32    %163 = ffloor %157
MESA: info:                 div 32    %164 = ffloor %159
MESA: info:                 div 32    %165 = ffloor %161
MESA: info:                 div 32    %166 = f2u32 %162
MESA: info:                 div 32    %167 = f2u32 %163
MESA: info:                 div 32    %168 = f2u32 %164
MESA: info:                 div 32    %169 = f2u32 %165
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %170 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %171 = phi b15: %169, b16: %170 (0x101)
MESA: info:             div 32    %172 = phi b15: %168, b16: %170 (0x101)
MESA: info:             div 32    %173 = phi b15: %167, b16: %170 (0x101)
MESA: info:             div 32    %174 = phi b15: %166, b16: %170 (0x101)
MESA: info:             con 32     %95 = load_const (0x00000001)
MESA: info:             con 32    %175 = load_const (0x00000100 = 256)
MESA: info:             div 1     %176 = ult %174, %175 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %176 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %177 = ishl %174, %52 (0x2)
MESA: info:                 con 32    %178 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %219 = @ssbo_atomic_ir3 (%178, %177, %95 (0x1), %174) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %180 = ult %173, %175 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %180 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %181 = ishl %173, %52 (0x2)
MESA: info:                 con 32    %182 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %223 = @ssbo_atomic_ir3 (%182, %181, %95 (0x1), %173) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %184 = ult %172, %175 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %184 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %185 = ishl %172, %52 (0x2)
MESA: info:                 con 32    %186 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %227 = @ssbo_atomic_ir3 (%186, %185, %95 (0x1), %172) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %188 = ult %171, %175 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %188 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %189 = ishl %171, %52 (0x2)
MESA: info:                 con 32    %190 = @bindless_resource_ir3 (%51 (0x0)) (desc_set=3)
MESA: info:                 div 32    %231 = @ssbo_atomic_ir3 (%190, %189, %95 (0x1), %171) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %192 = iadd %82, %95 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %193 = load_const (0x00000001)
MESA: info:         div 32    %194 = iadd %75, %193 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 acf5dd7e06c349b23a977f48d67bb4726dba7b16:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l42
MESA: info: getone #l42
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: cov.f32u32 r49.x, r49.x
MESA: info: and.b r50.z, r49.y, 1
MESA: info: and.b r51.x, r49.y, 2
MESA: info: and.b r51.z, r49.y, 4
MESA: info: and.b r51.w, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32s32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.x, r50.z, 0
MESA: info: cmps.s.eq hr54.x, r51.x, 0
MESA: info: cov.u16s32 r50.w, hr53.x
MESA: info: cov.u16s32 r51.y, hr54.x
MESA: info: stc.u32 c[17], r49.x, 1
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[23], r49.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.z, 0
MESA: info: cov.u16s32 r49.x, hr49.z
MESA: info: cov.u16s32 r49.y, hr49.w
MESA: info: stc.u32 c[27], r50.x, 1
MESA: info: stc.u32 c[19], r50.w, 1
MESA: info: stc.u32 c[20], r51.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[21], r49.x, 1
MESA: info: stc.u32 c[22], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l42:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l60:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l166
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l68:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l164
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: mov.f32f32 r2.y, c4.w
MESA: info: mov.f32f32 r2.z, c5.x
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mov.f32f32 r2.w, c5.y
MESA: info: mov.f32f32 r3.x, c5.z
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: (nop1) cmps.s.ne p0.y, c8.x, 0
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r2.y, (0x0)
MESA: info: isaml.base2 (s32)(xyzw)r3.y, r2.x, r2.y, s#0, t#0
MESA: info: (sy)sel.b32 r2.y, c5.w, r2.y, (last)r3.y
MESA: info: sel.b32 r2.z, c6.x, r2.z, (last)r3.z
MESA: info: sel.b32 r2.w, c6.y, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, c6.z, r3.x, (last)r4.x
MESA: info: br !p0.y, #l122
MESA: info: cov.s32f32 r2.y, (last)r2.y
MESA: info: cov.s32f32 r2.z, (last)r2.z
MESA: info: cov.s32f32 r2.w, (last)r2.w
MESA: info: cov.s32f32 r3.x, (last)r3.x
MESA: info: add.f r2.y, (last)r2.y, (neg)c8.y
MESA: info: add.f r2.z, (last)r2.z, (neg)c8.y
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: mul.f r2.y, (last)r2.y, c6.w
MESA: info: mul.f r2.z, (last)r2.z, c6.w
MESA: info: mul.f r2.w, (last)r2.w, c6.w
MESA: info: mul.f r3.x, (last)r3.x, c6.w
MESA: info: cmps.f.lt r4.y, r2.y, (0.0)
MESA: info: cmps.f.lt r4.z, r2.z, (0.0)
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: mul.f r2.y, (last)r2.y, c12.y
MESA: info: mul.f r2.z, (last)r2.z, c12.y
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: sel.b32 r4.y, c12.x, r4.y, (last)r2.y
MESA: info: sel.b32 r4.z, c12.x, r4.z, (last)r2.z
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: floor.f r4.y, (last)r4.y
MESA: info: floor.f r4.z, (last)r4.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: cov.f32u32 r4.y, (last)r4.y
MESA: info: cov.f32u32 r4.z, (last)r4.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: jump #l126
MESA: info: l122:
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r4.y, 257
MESA: info: mov.u32u32 r4.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: l126:
MESA: info: (nop3) cmps.u.lt p0.x, r4.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.y, 0
MESA: info: mov.u32u32 r5.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.y, r4.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r4.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r6.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.w, r4.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.y, 0
MESA: info: mov.u32u32 r6.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.y, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.w, 0
MESA: info: mov.u32u32 r7.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.w, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l68
MESA: info: l164:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l60
MESA: info: l166:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 74/1: 201 instr, 90 nops, 111 non-nops, 19 mov, 10 cov, 352 dwords
MESA: info: ; CL prog 74/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 74/1: 105 cat0, 29 cat1, 51 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 3 cat7
MESA: info: ; CL prog 74/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 74/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 43 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x439fd420, 0x3343a48a, 0xbac2ed01, 0xeab8d898, 0xc622ebee, 0xe4ca118e, 0x263873aa, 0x39dc57f4}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %431 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %425 = @load_ubo_vec4 (%4, %431 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %461 = f2u32 %425
MESA: info:             con 32    %462 = mov %461.x
MESA: info:             con 32    %463 = mov %461.y
MESA: info:                              @store_const_ir3 (%462) (base=16)
MESA: info:                              @store_const_ir3 (%463) (base=17)
MESA: info:             con 32      %8 = u2f32 %461.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %425.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %425.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%19)
MESA: info:             con 32     %81 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%81)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %84 = @load_local_invocation_id
MESA: info:     con 32x3   %85 = @load_workgroup_id
MESA: info:     con 32x3   %86 = @load_base_workgroup_id
MESA: info:     con 32x2  %464 = iadd %85.xy, %86.xy
MESA: info:     con 32     %89 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %90 = load_const (0x00000008)
MESA: info:     con 32     %91 = load_const (0x00000002)
MESA: info:     con 32x2   %96 = @load_const_ir3 (%89 (0x0)) (base=40)
MESA: info:     con 32     %97 = load_const (0x00000009)
MESA: info:     con 32     %99 = @load_const_ir3 (%89 (0x0)) (base=16)
MESA: info:     con 32    %101 = @load_const_ir3 (%89 (0x0)) (base=17)
MESA: info:     con 32    %102 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %465 = umul_low %464, %102 (0xa).xx
MESA: info:     con 32x2  %466 = imadsh_mix16 %102 (0xa).xx, %464, %465
MESA: info:     div 32x2  %467 = iadd %466, %84.xy
MESA: info:     con 32    %107 = load_const (0x00000006)
MESA: info:     div 32x2  %468 = ishl %467, %107 (0x6).xx
MESA: info:     div 32    %469 = mov %468.x
MESA: info:     div 32    %470 = mov %468.y
MESA: info:     div 32    %452 = umul_low %84.y, %102 (0xa)
MESA: info:     div 32    %454 = imadsh_mix16 %102 (0xa), %84.y, %452
MESA: info:     con 32    %113 = @load_const_ir3 (%89 (0x0)) (base=18)
MESA: info:     con 32    %449 = umul_low %464.y, %113
MESA: info:     con 32    %450 = imadsh_mix16 %464.y, %113, %449
MESA: info:     con 32    %451 = imadsh_mix16 %113, %464.y, %450
MESA: info:     con 32    %115 = iadd %451, %464.x
MESA: info:     con 32    %116 = load_const (0x00000064 = 100)
MESA: info:     con 32    %446 = umul_low %115, %116 (0x64)
MESA: info:     con 32    %448 = imadsh_mix16 %116 (0x64), %115, %446
MESA: info:     div 32    %445 = iadd3 %454, %84.x, %448
MESA: info:     con 32x4  %481 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:     con 32x4  %494 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b30
MESA: info:         div 32x4  %480 = phi b6: %481 (0x0, 0x0, 0x0, 0x0), b30: %482
MESA: info:         div 32x4  %493 = phi b6: %494 (0x0, 0x0, 0x0, 0x0), b30: %698
MESA: info:         div 32    %127 = phi b6: %89 (0x0), b30: %697
MESA: info:         div 32    %128 = phi b6: %470, b30: %415
MESA: info:         div 32x3  %502 = mov %480.yzw
MESA: info:         div 32    %474 = mov %480.x
MESA: info:         con 32    %129 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %497 = iadd %468.yx, %129 (0x40).xx
MESA: info:         div 32    %132 = umin %101, %497.x
MESA: info:         div 32    %133 = umin %99, %497.y
MESA: info:         div 1     %134 = uge %128, %132
MESA: info:                          // succs: b8 b9
MESA: info:         if %134 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32    %135 = phi b10: %469, b29: %413
MESA: info:             div 32    %136 = phi b10: %474, b29: %412
MESA: info:             div 32x3  %501 = phi b10: %502, b29: %690
MESA: info:             div 32x4  %510 = phi b10: %493, b29: %511
MESA: info:             div 32    %144 = phi b10: %127, b29: %437
MESA: info:             div 1     %145 = uge %135, %133
MESA: info:                              // succs: b12 b13
MESA: info:             if %145 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32    %146 = u2f32 %135
MESA: info:             div 32    %147 = u2f32 %128
MESA: info:             con 32    %149 = @load_const_ir3 (%89 (0x0)) (base=19)
MESA: info:             div 32    %150 = fmul %146, %149
MESA: info:             con 32    %152 = @load_const_ir3 (%89 (0x0)) (base=20)
MESA: info:             div 32    %153 = fmul %147, %152
MESA: info:             con 32    %157 = @load_const_ir3 (%89 (0x0)) (base=38)
MESA: info:             con 1     %158 = ilt %157, %89 (0x0)
MESA: info:                              // succs: b15 b28
MESA: info:             if %158 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 con 32x4  %519 = load_const (0xfffffffe, 0xfffffffc, 0xfffffff8, 0xfffffff0) = (-2, -4, -8, -16) = (4294967294, 4294967292, 4294967288, 4294967280)
MESA: info:                 con 1x4   %520 = ieq %157.xxxx, %519 (0xfffffffe, 0xfffffffc, 0xfffffff8, 0xfffffff0)
MESA: info:                 con 1     %521 = mov %520.w
MESA: info:                 con 1     %518 = mov %520.z
MESA: info:                 con 1     %514 = mov %520.x
MESA: info:                 con 1     %515 = mov %520.y
MESA: info:                                  // succs: b16 b17
MESA: info:                 if %514 {
MESA: info:                     div block b16:       // preds: b15
MESA: info:                     div 32    %167 = fmul %150, %96.x
MESA: info:                     div 32    %168 = fmul %153, %96.y
MESA: info:                     div 32    %169 = f2i32 %167
MESA: info:                     div 32    %170 = f2i32 %168
MESA: info:                     div 32x2  %171 = vec2 %169, %170
MESA: info:                     con 32    %172 = @bindless_resource_ir3 (%89 (0x0)) (desc_set=2)
MESA: info:                     div 32x4  %173 = (float32)txf_ms %172 (texture_handle), %171 (coord), %89 (0x0) (ms_index), 0 (texture)
MESA: info:                     con 32    %174 = load_const (0x00000001)
MESA: info:                     div 32x4  %175 = (float32)txf_ms %172 (texture_handle), %171 (coord), %174 (0x1) (ms_index), 0 (texture)
MESA: info:                     div 32x4  %524 = fadd %173, %175
MESA: info:                     con 32    %180 = load_const (0x3f000000 = 0.500000)
MESA: info:                     div 32x4  %530 = fmul %180 (0.500000).xxxx, %524
MESA: info:                     div 32x4  %675 = mov %530.wzyx
MESA: info:                                      // succs: b27
MESA: info:                 } else {
MESA: info:                     div block b17:  // preds: b15, succs: b18 b19
MESA: info:                     if %515 {
MESA: info:                         div block b18:       // preds: b17
MESA: info:                         div 32    %185 = fmul %150, %96.x
MESA: info:                         div 32    %186 = fmul %153, %96.y
MESA: info:                         div 32    %187 = f2i32 %185
MESA: info:                         div 32    %188 = f2i32 %186
MESA: info:                         div 32x2  %189 = vec2 %187, %188
MESA: info:                         con 32    %190 = @bindless_resource_ir3 (%89 (0x0)) (desc_set=2)
MESA: info:                         div 32x4  %191 = (float32)txf_ms %190 (texture_handle), %189 (coord), %89 (0x0) (ms_index), 0 (texture)
MESA: info:                         con 32    %192 = load_const (0x00000001)
MESA: info:                         div 32x4  %193 = (float32)txf_ms %190 (texture_handle), %189 (coord), %192 (0x1) (ms_index), 0 (texture)
MESA: info:                         div 32x4  %534 = fadd %191, %193
MESA: info:                         div 32x4  %198 = (float32)txf_ms %190 (texture_handle), %189 (coord), %91 (0x2) (ms_index), 0 (texture)
MESA: info:                         div 32x4  %537 = fadd %534, %198
MESA: info:                         con 32    %203 = load_const (0x00000003)
MESA: info:                         div 32x4  %204 = (float32)txf_ms %190 (texture_handle), %189 (coord), %203 (0x3) (ms_index), 0 (texture)
MESA: info:                         div 32x4  %540 = fadd %537, %204
MESA: info:                         con 32    %209 = load_const (0x3e800000 = 0.250000)
MESA: info:                         div 32x4  %546 = fmul %209 (0.250000).xxxx, %540
MESA: info:                         div 32x4  %663 = mov %546.wzyx
MESA: info:                                          // succs: b26
MESA: info:                     } else {
MESA: info:                         div block b19:  // preds: b17, succs: b20 b21
MESA: info:                         if %518 {
MESA: info:                             div block b20:       // preds: b19
MESA: info:                             div 32    %214 = fmul %150, %96.x
MESA: info:                             div 32    %215 = fmul %153, %96.y
MESA: info:                             div 32    %216 = f2i32 %214
MESA: info:                             div 32    %217 = f2i32 %215
MESA: info:                             div 32x2  %218 = vec2 %216, %217
MESA: info:                             con 32    %219 = @bindless_resource_ir3 (%89 (0x0)) (desc_set=2)
MESA: info:                             div 32x4  %220 = (float32)txf_ms %219 (texture_handle), %218 (coord), %89 (0x0) (ms_index), 0 (texture)
MESA: info:                             con 32    %221 = load_const (0x00000001)
MESA: info:                             div 32x4  %222 = (float32)txf_ms %219 (texture_handle), %218 (coord), %221 (0x1) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %550 = fadd %220, %222
MESA: info:                             div 32x4  %227 = (float32)txf_ms %219 (texture_handle), %218 (coord), %91 (0x2) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %553 = fadd %550, %227
MESA: info:                             con 32    %232 = load_const (0x00000003)
MESA: info:                             div 32x4  %233 = (float32)txf_ms %219 (texture_handle), %218 (coord), %232 (0x3) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %556 = fadd %553, %233
MESA: info:                             con 32    %238 = load_const (0x00000004)
MESA: info:                             div 32x4  %239 = (float32)txf_ms %219 (texture_handle), %218 (coord), %238 (0x4) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %559 = fadd %556, %239
MESA: info:                             con 32    %244 = load_const (0x00000005)
MESA: info:                             div 32x4  %245 = (float32)txf_ms %219 (texture_handle), %218 (coord), %244 (0x5) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %562 = fadd %559, %245
MESA: info:                             div 32x4  %250 = (float32)txf_ms %219 (texture_handle), %218 (coord), %107 (0x6) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %565 = fadd %562, %250
MESA: info:                             con 32    %255 = load_const (0x00000007)
MESA: info:                             div 32x4  %256 = (float32)txf_ms %219 (texture_handle), %218 (coord), %255 (0x7) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %568 = fadd %565, %256
MESA: info:                             con 32    %261 = load_const (0x3e000000 = 0.125000)
MESA: info:                             div 32x4  %574 = fmul %261 (0.125000).xxxx, %568
MESA: info:                             div 32x4  %651 = mov %574.wzyx
MESA: info:                                              // succs: b25
MESA: info:                         } else {
MESA: info:                             div block b21:  // preds: b19, succs: b22 b23
MESA: info:                             if %521 {
MESA: info:                                 div block b22:       // preds: b21
MESA: info:                                 div 32    %266 = fmul %150, %96.x
MESA: info:                                 div 32    %267 = fmul %153, %96.y
MESA: info:                                 div 32    %268 = f2i32 %266
MESA: info:                                 div 32    %269 = f2i32 %267
MESA: info:                                 div 32x2  %270 = vec2 %268, %269
MESA: info:                                 con 32    %271 = @bindless_resource_ir3 (%89 (0x0)) (desc_set=2)
MESA: info:                                 div 32x4  %272 = (float32)txf_ms %271 (texture_handle), %270 (coord), %89 (0x0) (ms_index), 0 (texture)
MESA: info:                                 con 32    %273 = load_const (0x00000001)
MESA: info:                                 div 32x4  %274 = (float32)txf_ms %271 (texture_handle), %270 (coord), %273 (0x1) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %578 = fadd %272, %274
MESA: info:                                 div 32x4  %279 = (float32)txf_ms %271 (texture_handle), %270 (coord), %91 (0x2) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %581 = fadd %578, %279
MESA: info:                                 con 32    %284 = load_const (0x00000003)
MESA: info:                                 div 32x4  %285 = (float32)txf_ms %271 (texture_handle), %270 (coord), %284 (0x3) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %584 = fadd %581, %285
MESA: info:                                 con 32    %290 = load_const (0x00000004)
MESA: info:                                 div 32x4  %291 = (float32)txf_ms %271 (texture_handle), %270 (coord), %290 (0x4) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %587 = fadd %584, %291
MESA: info:                                 con 32    %296 = load_const (0x00000005)
MESA: info:                                 div 32x4  %297 = (float32)txf_ms %271 (texture_handle), %270 (coord), %296 (0x5) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %590 = fadd %587, %297
MESA: info:                                 div 32x4  %302 = (float32)txf_ms %271 (texture_handle), %270 (coord), %107 (0x6) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %593 = fadd %590, %302
MESA: info:                                 con 32    %307 = load_const (0x00000007)
MESA: info:                                 div 32x4  %308 = (float32)txf_ms %271 (texture_handle), %270 (coord), %307 (0x7) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %596 = fadd %593, %308
MESA: info:                                 div 32x4  %313 = (float32)txf_ms %271 (texture_handle), %270 (coord), %90 (0x8) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %599 = fadd %596, %313
MESA: info:                                 div 32x4  %318 = (float32)txf_ms %271 (texture_handle), %270 (coord), %97 (0x9) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %602 = fadd %599, %318
MESA: info:                                 div 32x4  %323 = (float32)txf_ms %271 (texture_handle), %270 (coord), %102 (0xa) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %605 = fadd %602, %323
MESA: info:                                 con 32    %328 = load_const (0x0000000b = 11)
MESA: info:                                 div 32x4  %329 = (float32)txf_ms %271 (texture_handle), %270 (coord), %328 (0xb) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %608 = fadd %605, %329
MESA: info:                                 con 32    %334 = load_const (0x0000000c = 12)
MESA: info:                                 div 32x4  %335 = (float32)txf_ms %271 (texture_handle), %270 (coord), %334 (0xc) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %611 = fadd %608, %335
MESA: info:                                 con 32    %340 = load_const (0x0000000d = 13)
MESA: info:                                 div 32x4  %341 = (float32)txf_ms %271 (texture_handle), %270 (coord), %340 (0xd) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %614 = fadd %611, %341
MESA: info:                                 con 32    %346 = load_const (0x0000000e = 14)
MESA: info:                                 div 32x4  %347 = (float32)txf_ms %271 (texture_handle), %270 (coord), %346 (0xe) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %617 = fadd %614, %347
MESA: info:                                 con 32    %352 = load_const (0x0000000f = 15)
MESA: info:                                 div 32x4  %353 = (float32)txf_ms %271 (texture_handle), %270 (coord), %352 (0xf) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %620 = fadd %617, %353
MESA: info:                                 con 32    %358 = load_const (0x3d800000 = 0.062500)
MESA: info:                                 div 32x4  %626 = fmul %358 (0.062500).xxxx, %620
MESA: info:                                 div 32x4  %638 = mov %626.wzyx
MESA: info:                                                  // succs: b24
MESA: info:                             } else {
MESA: info:                                 div block b23:       // preds: b21
MESA: info:                                 con 32x4  %639 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                                                  // succs: b24
MESA: info:                             }
MESA: info:                             div block b24:       // preds: b22 b23
MESA: info:                             div 32x4  %637 = phi b22: %638, b23: %639 (0x0, 0x0, 0x0, 0x0)
MESA: info:                                              // succs: b25
MESA: info:                         }
MESA: info:                         div block b25:       // preds: b20 b24
MESA: info:                         div 32x4  %650 = phi b20: %651, b24: %637
MESA: info:                                          // succs: b26
MESA: info:                     }
MESA: info:                     div block b26:       // preds: b18 b25
MESA: info:                     div 32x4  %662 = phi b18: %663, b25: %650
MESA: info:                                      // succs: b27
MESA: info:                 }
MESA: info:                 div block b27:       // preds: b16 b26
MESA: info:                 div 32x4  %674 = phi b16: %675, b26: %662
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:       // preds: b14
MESA: info:                 div 32    %379 = fmul %150, %96.x
MESA: info:                 div 32    %380 = fmul %153, %96.y
MESA: info:                 div 32    %381 = f2i32 %379
MESA: info:                 div 32    %382 = f2i32 %380
MESA: info:                 div 32x2  %383 = vec2 %381, %382
MESA: info:                 con 32    %384 = @bindless_resource_ir3 (%89 (0x0)) (desc_set=2)
MESA: info:                 div 32x4  %385 = (float32)txf_ms %384 (texture_handle), %383 (coord), %157 (ms_index), 0 (texture)
MESA: info:                 div 32x4  %684 = mov %385.wzyx
MESA: info:                                  // succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32x4  %683 = phi b27: %674, b28: %684
MESA: info:             div 32x3  %686 = fmin %501, %683.wzy
MESA: info:             div 32    %398 = fmin %510.x, %683.x
MESA: info:             div 32x3  %688 = fmax %510.yzw, %683.wzy
MESA: info:             div 32    %402 = fmax %144, %683.x
MESA: info:             div 32x3  %690 = icsel_eqz %136.xxx, %683.wzy, %686
MESA: info:             div 32    %441 = icsel_eqz %136, %683.x, %398
MESA: info:             div 32x3  %692 = icsel_eqz %136.xxx, %683.wzy, %688
MESA: info:             div 32    %437 = icsel_eqz %136, %683.x, %402
MESA: info:             con 32    %411 = load_const (0x00000001)
MESA: info:             div 32    %412 = iadd %136, %411 (0x1)
MESA: info:             div 32    %413 = iadd %135, %411 (0x1)
MESA: info:             div 32x4  %511 = vec4 %441, %692.x, %692.y, %692.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         div 32    %700 = phi b12: %136
MESA: info:         div 32x3  %699 = phi b12: %501
MESA: info:         div 32x4  %698 = phi b12: %510
MESA: info:         div 32    %697 = phi b12: %144
MESA: info:         con 32    %414 = load_const (0x00000001)
MESA: info:         div 32    %415 = iadd %128, %414 (0x1)
MESA: info:         div 32x4  %482 = vec4 %700, %699.x, %699.y, %699.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:       // preds: b8
MESA: info:     div 32x4  %703 = phi b8: %480
MESA: info:     div 32x4  %702 = phi b8: %493
MESA: info:     div 32    %701 = phi b8: %127
MESA: info:     con 32x2  %693 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %694 = ishl %445.xx, %693 (0x5, 0x3)
MESA: info:     div 32    %695 = mov %694.x
MESA: info:     div 32    %696 = mov %694.y
MESA: info:     con 32    %418 = @bindless_resource_ir3 (%89 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %419 = vec4 %703.y, %703.z, %703.w, %702.x
MESA: info:                      @store_ssbo_ir3 (%419, %418, %695, %696) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %420 = load_const (0x00000010 = 16)
MESA: info:     div 32    %421 = iadd %694.x, %420 (0x10)
MESA: info:     div 32x4  %422 = vec4 %702.y, %702.z, %702.w, %701
MESA: info:     div 32    %430 = ushr %421, %91 (0x2)
MESA: info:                      @store_ssbo_ir3 (%422, %418, %421, %430) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 b37b430563d2243760d717663f58c8b994d8faa6:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0x3e800000, 0x3e000000
MESA: info: @const(c13.x)	0x3d800000, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l251
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l249
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: cmps.s.lt p0.x, c9.z, 0
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: (nop3) mul.f r4.w, (last)r4.w, c5.x
MESA: info: br !p0.x, #l222
MESA: info: cmps.s.eq p0.x, c9.z, -2
MESA: info: cmps.s.eq p0.y, c9.z, -4
MESA: info: cmps.s.eq p0.z, c9.z, -8
MESA: info: (nop2) cmps.s.eq p0.w, c9.z, -16
MESA: info: br !p0.x, #l101
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: (nop1) mul.f r4.w, (last)r4.w, c10.y
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r5.x, (0x0)
MESA: info: isamm.base2 (f32)(xyzw)r5.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.0 r5.x, (0x1)
MESA: info: isamm.base2 (f32)(xyzw)r6.x, r4.z, s#0, t#0
MESA: info: (sy)(rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r6.x
MESA: info: (rpt3)mul.f r7.x, (0.5), (last)(r)r5.x
MESA: info: jump #l229
MESA: info: l101:
MESA: info: nop
MESA: info: br !p0.y, #l121
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: (nop1) mul.f r4.w, (last)r4.w, c10.y
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r5.x, (0x0)
MESA: info: isamm.base2 (f32)(xyzw)r8.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.0 r5.x, (0x1)
MESA: info: isamm.base2 (f32)(xyzw)r9.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.0 r5.x, (0x2)
MESA: info: isamm.base2 (f32)(xyzw)r10.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.0 r5.x, (0x3)
MESA: info: isamm.base2 (f32)(xyzw)r11.x, r4.z, s#0, t#0
MESA: info: (sy)(rpt3)add.f r8.x, (last)(r)r8.x, (last)(r)r9.x
MESA: info: (rpt3)add.f r8.x, (last)(r)r8.x, (last)(r)r10.x
MESA: info: (rpt3)add.f r8.x, (last)(r)r8.x, (last)(r)r11.x
MESA: info: (rpt3)mul.f r7.x, c12.z, (last)(r)r8.x
MESA: info: jump #l229
MESA: info: l121:
MESA: info: nop
MESA: info: br !p0.z, #l153
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: (nop1) mul.f r4.w, (last)r4.w, c10.y
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r5.x, (0x0)
MESA: info: isamm.base2 (f32)(xyzw)r12.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.0 r5.x, (0x1)
MESA: info: isamm.base2 (f32)(xyzw)r5.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.0 r5.x, (0x2)
MESA: info: isamm.base2 (f32)(xyzw)r6.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.0 r5.x, (0x3)
MESA: info: isamm.base2 (f32)(xyzw)r7.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.0 r5.x, (0x4)
MESA: info: isamm.base2 (f32)(xyzw)r8.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.0 r5.x, (0x5)
MESA: info: isamm.base2 (f32)(xyzw)r9.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.0 r5.x, (0x6)
MESA: info: isamm.base2 (f32)(xyzw)r10.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.0 r5.x, (0x7)
MESA: info: isamm.base2 (f32)(xyzw)r11.x, r4.z, s#0, t#0
MESA: info: (sy)(rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r5.x
MESA: info: (rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r6.x
MESA: info: (rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r7.x
MESA: info: (rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r8.x
MESA: info: (rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r9.x
MESA: info: (rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r10.x
MESA: info: (rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r11.x
MESA: info: (rpt3)mul.f r7.x, c12.w, (last)(r)r12.x
MESA: info: jump #l229
MESA: info: l153:
MESA: info: nop
MESA: info: br !p0.w, #l212
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: mul.f r4.w, (last)r4.w, c10.y
MESA: info: mov.u32u32 r0.x, (last)r4.x
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: mov.u32u32 r0.z, (last)r4.y
MESA: info: (rpt3)nop
MESA: info: alias.tex.b32.0 r5.x, (0x0)
MESA: info: isamm.base2 (f32)(xyzw)r12.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.0 r5.x, (0x1)
MESA: info: isamm.base2 (f32)(xyzw)r5.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.0 r5.x, (0x2)
MESA: info: isamm.base2 (f32)(xyzw)r6.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.0 r5.x, (0x3)
MESA: info: isamm.base2 (f32)(xyzw)r7.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.0 r5.x, (0x4)
MESA: info: isamm.base2 (f32)(xyzw)r8.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.0 r5.x, (0x5)
MESA: info: isamm.base2 (f32)(xyzw)r9.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.0 r5.x, (0x6)
MESA: info: isamm.base2 (f32)(xyzw)r10.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.0 r5.x, (0x7)
MESA: info: isamm.base2 (f32)(xyzw)r11.x, r4.z, s#0, t#0
MESA: info: (sy)(rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r5.x
MESA: info: alias.tex.b32.0 r5.x, (0x8)
MESA: info: isamm.base2 (f32)(xyzw)r5.x, r4.z, s#0, t#0
MESA: info: (rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r6.x
MESA: info: alias.tex.b32.0 r5.x, (0x9)
MESA: info: isamm.base2 (f32)(xyzw)r6.x, r4.z, s#0, t#0
MESA: info: (rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r7.x
MESA: info: alias.tex.b32.0 r5.x, (0xa)
MESA: info: isamm.base2 (f32)(xyzw)r7.x, r4.z, s#0, t#0
MESA: info: (rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r8.x
MESA: info: alias.tex.b32.0 r5.x, (0xb)
MESA: info: isamm.base2 (f32)(xyzw)r8.x, r4.z, s#0, t#0
MESA: info: (rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r9.x
MESA: info: alias.tex.b32.0 r5.x, (0xc)
MESA: info: isamm.base2 (f32)(xyzw)r9.x, r4.z, s#0, t#0
MESA: info: (rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r10.x
MESA: info: alias.tex.b32.0 r5.x, (0xd)
MESA: info: isamm.base2 (f32)(xyzw)r10.x, r4.z, s#0, t#0
MESA: info: (rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r11.x
MESA: info: alias.tex.b32.0 r5.x, (0xe)
MESA: info: isamm.base2 (f32)(xyzw)r11.x, r4.z, s#0, t#0
MESA: info: (ss)nop
MESA: info: alias.tex.b32.0 r5.x, (0xf)
MESA: info: isamm.base2 (f32)(xyzw)r3.w, r4.z, s#0, t#0
MESA: info: (sy)(rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r5.x
MESA: info: (rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r6.x
MESA: info: (rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r7.x
MESA: info: (rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r8.x
MESA: info: (rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r9.x
MESA: info: (rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r10.x
MESA: info: (rpt3)add.f r12.x, (last)(r)r12.x, (last)(r)r11.x
MESA: info: (rpt3)add.f r12.x, (last)(r)r12.x, (r)r3.w
MESA: info: (rpt3)mul.f r7.x, c13.x, (last)(r)r12.x
MESA: info: jump #l218
MESA: info: l212:
MESA: info: mov.u32u32 r7.w, 0
MESA: info: mov.u32u32 r7.x, 0
MESA: info: mov.u32u32 r7.y, 0
MESA: info: mov.u32u32 r7.z, 0
MESA: info: mov.u32u32 r0.x, (last)r4.x
MESA: info: mov.u32u32 r0.z, (last)r4.y
MESA: info: l218:
MESA: info: nop
MESA: info: mov.u32u32 r4.x, (last)r0.x
MESA: info: mov.u32u32 r4.y, (last)r0.z
MESA: info: jump #l229
MESA: info: l222:
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: (nop1) mul.f r4.w, (last)r4.w, c10.y
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r5.x, c9.z
MESA: info: isamm.base2 (f32)(xyzw)r7.x, r4.z, s#0, t#0
MESA: info: l229:
MESA: info: (rpt1)nop
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: (sy)min.f r1.z, (last)r1.z, r7.x
MESA: info: min.f r1.w, (last)r1.w, r7.y
MESA: info: min.f r2.x, (last)r2.x, r7.z
MESA: info: min.f r2.y, (last)r2.y, r7.w
MESA: info: max.f r2.z, (last)r2.z, r7.x
MESA: info: max.f r2.w, (last)r2.w, r7.y
MESA: info: max.f r3.x, (last)r3.x, r7.z
MESA: info: max.f r3.y, (last)r3.y, r7.w
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r7.x
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r7.y
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r7.z
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r7.w
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r7.x
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r7.y
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r7.z
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r7.w
MESA: info: add.u r1.y, (last)r1.y, 1
MESA: info: jump #l74
MESA: info: l249:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l251:
MESA: info: (jp)shl.b r12.x, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r12.x, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 75/1: 377 instr, 63 nops, 314 non-nops, 21 mov, 12 cov, 544 dwords
MESA: info: ; CL prog 75/1: 0 last-baryf, 0 last-helper, 0 half, 13 full, 16 constlen
MESA: info: ; CL prog 75/1: 78 cat0, 33 cat1, 190 cat2, 10 cat3, 0 cat4, 31 cat5, 2 cat6, 33 cat7
MESA: info: ; CL prog 75/1: 0 sstall, 3 (ss), 231 systall, 7 (sy), 2 loops
MESA: info: ; CL prog 75/1: 14 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xaa06601b, 0x26e23897, 0x0ffab850, 0x73be7e65, 0xdeb39488, 0x613fe029, 0x8a92c78e, 0x2b096f78}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %488 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %567 = f2u32 %488
MESA: info:             con 32    %568 = mov %567.x
MESA: info:             con 32    %569 = mov %567.y
MESA: info:                              @store_const_ir3 (%568) (base=16)
MESA: info:                              @store_const_ir3 (%569) (base=17)
MESA: info:             con 32     %10 = frcp %488.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %488.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %491 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %574 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %575 = iand %491.xxxx, %574 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %583 = ieq %575, %2 (0x0).xxxx
MESA: info:             con 32x4  %584 = b2i32 %583
MESA: info:             con 32    %585 = mov %584.w
MESA: info:             con 32    %582 = mov %584.z
MESA: info:             con 32    %578 = mov %584.x
MESA: info:             con 32    %579 = mov %584.y
MESA: info:                              @store_const_ir3 (%578) (base=20)
MESA: info:                              @store_const_ir3 (%579) (base=21)
MESA: info:                              @store_const_ir3 (%582) (base=22)
MESA: info:                              @store_const_ir3 (%585) (base=23)
MESA: info:             con 32x2  %494 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %566 = fsub %494.y, %494.x
MESA: info:             con 32     %30 = frcp %566
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %35 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%35)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %96 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %97 = load_const (0x00000008)
MESA: info:     con 32     %98 = load_const (0x00000002)
MESA: info:     con 32x2  %103 = @load_const_ir3 (%96 (0x0)) (base=40)
MESA: info:     con 32    %104 = load_const (0x00000009)
MESA: info:     con 32    %106 = @load_const_ir3 (%96 (0x0)) (base=16)
MESA: info:     con 32    %108 = @load_const_ir3 (%96 (0x0)) (base=17)
MESA: info:     con 32x3  %109 = @load_workgroup_id
MESA: info:     con 32x3  %110 = @load_base_workgroup_id
MESA: info:     con 32x2  %586 = iadd %109.xy, %110.xy
MESA: info:     con 32    %113 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %587 = umul_low %586, %113 (0xa).xx
MESA: info:     con 32x2  %588 = imadsh_mix16 %113 (0xa).xx, %586, %587
MESA: info:     div 32x3  %116 = @load_local_invocation_id
MESA: info:     div 32x2  %589 = iadd %588, %116.xy
MESA: info:     con 32    %119 = load_const (0x00000006)
MESA: info:     div 32x2  %590 = ishl %589, %119 (0x6).xx
MESA: info:     div 32    %591 = mov %590.x
MESA: info:     div 32    %592 = mov %590.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b45
MESA: info:         div 32    %122 = phi b6: %592, b45: %485
MESA: info:         con 32    %123 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %593 = iadd %590.yx, %123 (0x40).xx
MESA: info:         div 32    %126 = umin %108, %593.x
MESA: info:         div 32    %127 = umin %106, %593.y
MESA: info:         div 1     %128 = uge %122, %126
MESA: info:                          // succs: b8 b9
MESA: info:         if %128 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b46
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b44
MESA: info:             div 32    %129 = phi b10: %591, b44: %483
MESA: info:             div 1     %130 = uge %129, %127
MESA: info:                              // succs: b12 b13
MESA: info:             if %130 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b45
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32    %131 = u2f32 %129
MESA: info:             div 32    %132 = u2f32 %122
MESA: info:             con 32    %134 = @load_const_ir3 (%96 (0x0)) (base=18)
MESA: info:             div 32    %135 = fmul %131, %134
MESA: info:             con 32    %137 = @load_const_ir3 (%96 (0x0)) (base=19)
MESA: info:             div 32    %138 = fmul %132, %137
MESA: info:             con 32    %142 = @load_const_ir3 (%96 (0x0)) (base=38)
MESA: info:             con 1     %143 = ilt %142, %96 (0x0)
MESA: info:                              // succs: b15 b28
MESA: info:             if %143 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 con 32x4  %601 = load_const (0xfffffffe, 0xfffffffc, 0xfffffff8, 0xfffffff0) = (-2, -4, -8, -16) = (4294967294, 4294967292, 4294967288, 4294967280)
MESA: info:                 con 1x4   %602 = ieq %142.xxxx, %601 (0xfffffffe, 0xfffffffc, 0xfffffff8, 0xfffffff0)
MESA: info:                 con 1     %603 = mov %602.w
MESA: info:                 con 1     %600 = mov %602.z
MESA: info:                 con 1     %596 = mov %602.x
MESA: info:                 con 1     %597 = mov %602.y
MESA: info:                                  // succs: b16 b17
MESA: info:                 if %596 {
MESA: info:                     div block b16:       // preds: b15
MESA: info:                     div 32    %152 = fmul %135, %103.x
MESA: info:                     div 32    %153 = fmul %138, %103.y
MESA: info:                     div 32    %154 = f2i32 %152
MESA: info:                     div 32    %155 = f2i32 %153
MESA: info:                     div 32x2  %156 = vec2 %154, %155
MESA: info:                     con 32    %157 = @bindless_resource_ir3 (%96 (0x0)) (desc_set=2)
MESA: info:                     div 32x4  %158 = (float32)txf_ms %157 (texture_handle), %156 (coord), %96 (0x0) (ms_index), 0 (texture)
MESA: info:                     con 32    %159 = load_const (0x00000001)
MESA: info:                     div 32x4  %160 = (float32)txf_ms %157 (texture_handle), %156 (coord), %159 (0x1) (ms_index), 0 (texture)
MESA: info:                     div 32x4  %606 = fadd %158, %160
MESA: info:                     con 32    %165 = load_const (0x3f000000 = 0.500000)
MESA: info:                     div 32x4  %612 = fmul %165 (0.500000).xxxx, %606
MESA: info:                     div 32x4  %757 = mov %612.wzyx
MESA: info:                                      // succs: b27
MESA: info:                 } else {
MESA: info:                     div block b17:  // preds: b15, succs: b18 b19
MESA: info:                     if %597 {
MESA: info:                         div block b18:       // preds: b17
MESA: info:                         div 32    %170 = fmul %135, %103.x
MESA: info:                         div 32    %171 = fmul %138, %103.y
MESA: info:                         div 32    %172 = f2i32 %170
MESA: info:                         div 32    %173 = f2i32 %171
MESA: info:                         div 32x2  %174 = vec2 %172, %173
MESA: info:                         con 32    %175 = @bindless_resource_ir3 (%96 (0x0)) (desc_set=2)
MESA: info:                         div 32x4  %176 = (float32)txf_ms %175 (texture_handle), %174 (coord), %96 (0x0) (ms_index), 0 (texture)
MESA: info:                         con 32    %177 = load_const (0x00000001)
MESA: info:                         div 32x4  %178 = (float32)txf_ms %175 (texture_handle), %174 (coord), %177 (0x1) (ms_index), 0 (texture)
MESA: info:                         div 32x4  %616 = fadd %176, %178
MESA: info:                         div 32x4  %183 = (float32)txf_ms %175 (texture_handle), %174 (coord), %98 (0x2) (ms_index), 0 (texture)
MESA: info:                         div 32x4  %619 = fadd %616, %183
MESA: info:                         con 32    %188 = load_const (0x00000003)
MESA: info:                         div 32x4  %189 = (float32)txf_ms %175 (texture_handle), %174 (coord), %188 (0x3) (ms_index), 0 (texture)
MESA: info:                         div 32x4  %622 = fadd %619, %189
MESA: info:                         con 32    %194 = load_const (0x3e800000 = 0.250000)
MESA: info:                         div 32x4  %628 = fmul %194 (0.250000).xxxx, %622
MESA: info:                         div 32x4  %745 = mov %628.wzyx
MESA: info:                                          // succs: b26
MESA: info:                     } else {
MESA: info:                         div block b19:  // preds: b17, succs: b20 b21
MESA: info:                         if %600 {
MESA: info:                             div block b20:       // preds: b19
MESA: info:                             div 32    %199 = fmul %135, %103.x
MESA: info:                             div 32    %200 = fmul %138, %103.y
MESA: info:                             div 32    %201 = f2i32 %199
MESA: info:                             div 32    %202 = f2i32 %200
MESA: info:                             div 32x2  %203 = vec2 %201, %202
MESA: info:                             con 32    %204 = @bindless_resource_ir3 (%96 (0x0)) (desc_set=2)
MESA: info:                             div 32x4  %205 = (float32)txf_ms %204 (texture_handle), %203 (coord), %96 (0x0) (ms_index), 0 (texture)
MESA: info:                             con 32    %206 = load_const (0x00000001)
MESA: info:                             div 32x4  %207 = (float32)txf_ms %204 (texture_handle), %203 (coord), %206 (0x1) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %632 = fadd %205, %207
MESA: info:                             div 32x4  %212 = (float32)txf_ms %204 (texture_handle), %203 (coord), %98 (0x2) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %635 = fadd %632, %212
MESA: info:                             con 32    %217 = load_const (0x00000003)
MESA: info:                             div 32x4  %218 = (float32)txf_ms %204 (texture_handle), %203 (coord), %217 (0x3) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %638 = fadd %635, %218
MESA: info:                             con 32    %223 = load_const (0x00000004)
MESA: info:                             div 32x4  %224 = (float32)txf_ms %204 (texture_handle), %203 (coord), %223 (0x4) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %641 = fadd %638, %224
MESA: info:                             con 32    %229 = load_const (0x00000005)
MESA: info:                             div 32x4  %230 = (float32)txf_ms %204 (texture_handle), %203 (coord), %229 (0x5) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %644 = fadd %641, %230
MESA: info:                             div 32x4  %235 = (float32)txf_ms %204 (texture_handle), %203 (coord), %119 (0x6) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %647 = fadd %644, %235
MESA: info:                             con 32    %240 = load_const (0x00000007)
MESA: info:                             div 32x4  %241 = (float32)txf_ms %204 (texture_handle), %203 (coord), %240 (0x7) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %650 = fadd %647, %241
MESA: info:                             con 32    %246 = load_const (0x3e000000 = 0.125000)
MESA: info:                             div 32x4  %656 = fmul %246 (0.125000).xxxx, %650
MESA: info:                             div 32x4  %733 = mov %656.wzyx
MESA: info:                                              // succs: b25
MESA: info:                         } else {
MESA: info:                             div block b21:  // preds: b19, succs: b22 b23
MESA: info:                             if %603 {
MESA: info:                                 div block b22:       // preds: b21
MESA: info:                                 div 32    %251 = fmul %135, %103.x
MESA: info:                                 div 32    %252 = fmul %138, %103.y
MESA: info:                                 div 32    %253 = f2i32 %251
MESA: info:                                 div 32    %254 = f2i32 %252
MESA: info:                                 div 32x2  %255 = vec2 %253, %254
MESA: info:                                 con 32    %256 = @bindless_resource_ir3 (%96 (0x0)) (desc_set=2)
MESA: info:                                 div 32x4  %257 = (float32)txf_ms %256 (texture_handle), %255 (coord), %96 (0x0) (ms_index), 0 (texture)
MESA: info:                                 con 32    %258 = load_const (0x00000001)
MESA: info:                                 div 32x4  %259 = (float32)txf_ms %256 (texture_handle), %255 (coord), %258 (0x1) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %660 = fadd %257, %259
MESA: info:                                 div 32x4  %264 = (float32)txf_ms %256 (texture_handle), %255 (coord), %98 (0x2) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %663 = fadd %660, %264
MESA: info:                                 con 32    %269 = load_const (0x00000003)
MESA: info:                                 div 32x4  %270 = (float32)txf_ms %256 (texture_handle), %255 (coord), %269 (0x3) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %666 = fadd %663, %270
MESA: info:                                 con 32    %275 = load_const (0x00000004)
MESA: info:                                 div 32x4  %276 = (float32)txf_ms %256 (texture_handle), %255 (coord), %275 (0x4) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %669 = fadd %666, %276
MESA: info:                                 con 32    %281 = load_const (0x00000005)
MESA: info:                                 div 32x4  %282 = (float32)txf_ms %256 (texture_handle), %255 (coord), %281 (0x5) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %672 = fadd %669, %282
MESA: info:                                 div 32x4  %287 = (float32)txf_ms %256 (texture_handle), %255 (coord), %119 (0x6) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %675 = fadd %672, %287
MESA: info:                                 con 32    %292 = load_const (0x00000007)
MESA: info:                                 div 32x4  %293 = (float32)txf_ms %256 (texture_handle), %255 (coord), %292 (0x7) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %678 = fadd %675, %293
MESA: info:                                 div 32x4  %298 = (float32)txf_ms %256 (texture_handle), %255 (coord), %97 (0x8) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %681 = fadd %678, %298
MESA: info:                                 div 32x4  %303 = (float32)txf_ms %256 (texture_handle), %255 (coord), %104 (0x9) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %684 = fadd %681, %303
MESA: info:                                 div 32x4  %308 = (float32)txf_ms %256 (texture_handle), %255 (coord), %113 (0xa) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %687 = fadd %684, %308
MESA: info:                                 con 32    %313 = load_const (0x0000000b = 11)
MESA: info:                                 div 32x4  %314 = (float32)txf_ms %256 (texture_handle), %255 (coord), %313 (0xb) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %690 = fadd %687, %314
MESA: info:                                 con 32    %319 = load_const (0x0000000c = 12)
MESA: info:                                 div 32x4  %320 = (float32)txf_ms %256 (texture_handle), %255 (coord), %319 (0xc) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %693 = fadd %690, %320
MESA: info:                                 con 32    %325 = load_const (0x0000000d = 13)
MESA: info:                                 div 32x4  %326 = (float32)txf_ms %256 (texture_handle), %255 (coord), %325 (0xd) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %696 = fadd %693, %326
MESA: info:                                 con 32    %331 = load_const (0x0000000e = 14)
MESA: info:                                 div 32x4  %332 = (float32)txf_ms %256 (texture_handle), %255 (coord), %331 (0xe) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %699 = fadd %696, %332
MESA: info:                                 con 32    %337 = load_const (0x0000000f = 15)
MESA: info:                                 div 32x4  %338 = (float32)txf_ms %256 (texture_handle), %255 (coord), %337 (0xf) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %702 = fadd %699, %338
MESA: info:                                 con 32    %343 = load_const (0x3d800000 = 0.062500)
MESA: info:                                 div 32x4  %708 = fmul %343 (0.062500).xxxx, %702
MESA: info:                                 div 32x4  %720 = mov %708.wzyx
MESA: info:                                                  // succs: b24
MESA: info:                             } else {
MESA: info:                                 div block b23:       // preds: b21
MESA: info:                                 con 32x4  %721 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                                                  // succs: b24
MESA: info:                             }
MESA: info:                             div block b24:       // preds: b22 b23
MESA: info:                             div 32x4  %719 = phi b22: %720, b23: %721 (0x0, 0x0, 0x0, 0x0)
MESA: info:                                              // succs: b25
MESA: info:                         }
MESA: info:                         div block b25:       // preds: b20 b24
MESA: info:                         div 32x4  %732 = phi b20: %733, b24: %719
MESA: info:                                          // succs: b26
MESA: info:                     }
MESA: info:                     div block b26:       // preds: b18 b25
MESA: info:                     div 32x4  %744 = phi b18: %745, b25: %732
MESA: info:                                      // succs: b27
MESA: info:                 }
MESA: info:                 div block b27:       // preds: b16 b26
MESA: info:                 div 32x4  %756 = phi b16: %757, b26: %744
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:       // preds: b14
MESA: info:                 div 32    %364 = fmul %135, %103.x
MESA: info:                 div 32    %365 = fmul %138, %103.y
MESA: info:                 div 32    %366 = f2i32 %364
MESA: info:                 div 32    %367 = f2i32 %365
MESA: info:                 div 32x2  %368 = vec2 %366, %367
MESA: info:                 con 32    %369 = @bindless_resource_ir3 (%96 (0x0)) (desc_set=2)
MESA: info:                 div 32x4  %370 = (float32)txf_ms %369 (texture_handle), %368 (coord), %142 (ms_index), 0 (texture)
MESA: info:                 div 32x4  %766 = mov %370.wzyx
MESA: info:                                  // succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32x4  %765 = phi b27: %756, b28: %766
MESA: info:             con 32    %381 = @load_const_ir3 (%96 (0x0)) (base=32)
MESA: info:             con 32    %385 = @load_const_ir3 (%96 (0x0)) (base=20)
MESA: info:             con 32    %389 = @load_const_ir3 (%96 (0x0)) (base=21)
MESA: info:             con 32    %393 = @load_const_ir3 (%96 (0x0)) (base=22)
MESA: info:             con 32    %397 = @load_const_ir3 (%96 (0x0)) (base=23)
MESA: info:             con 32    %402 = @load_const_ir3 (%96 (0x0)) (base=34)
MESA: info:             con 32    %403 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32    %404 = fadd %402, %403 (1.000000)
MESA: info:             div 32    %544 = icsel_eqz %385, %765.w, %404
MESA: info:             div 32    %543 = icsel_eqz %389, %765.z, %404
MESA: info:             div 32    %542 = icsel_eqz %393, %765.y, %404
MESA: info:             div 32    %541 = icsel_eqz %397, %765.x, %404
MESA: info:             con 1     %424 = ine %381, %96 (0x0)
MESA: info:                              // succs: b30 b31
MESA: info:             if %424 {
MESA: info:                 div block b30:       // preds: b29
MESA: info:                 con 32x2  %427 = @load_const_ir3 (%96 (0x0)) (base=33)
MESA: info:                 div 32    %565 = fsub %544, %427.x
MESA: info:                 div 32    %564 = fsub %543, %427.x
MESA: info:                 div 32    %563 = fsub %542, %427.x
MESA: info:                 div 32    %562 = fsub %541, %427.x
MESA: info:                 con 32    %434 = @load_const_ir3 (%96 (0x0)) (base=24)
MESA: info:                 div 32    %435 = fmul %565, %434
MESA: info:                 div 32    %436 = fmul %564, %434
MESA: info:                 div 32    %437 = fmul %563, %434
MESA: info:                 div 32    %438 = fmul %562, %434
MESA: info:                 div 1     %439 = flt! %435, %96 (0.000000)
MESA: info:                 div 1     %440 = flt! %436, %96 (0.000000)
MESA: info:                 div 1     %441 = flt! %437, %96 (0.000000)
MESA: info:                 div 1     %442 = flt! %438, %96 (0.000000)
MESA: info:                 con 32    %443 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %444 = fmul %435, %443 (256.000000)
MESA: info:                 con 32    %445 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %446 = bcsel %439, %445 (0x44000000), %444
MESA: info:                 div 32    %447 = fmul %436, %443 (256.000000)
MESA: info:                 div 32    %448 = bcsel %440, %445 (0x44000000), %447
MESA: info:                 div 32    %449 = fmul %437, %443 (256.000000)
MESA: info:                 div 32    %450 = bcsel %441, %445 (0x44000000), %449
MESA: info:                 div 32    %451 = fmul %438, %443 (256.000000)
MESA: info:                 div 32    %452 = bcsel %442, %445 (0x44000000), %451
MESA: info:                 div 32    %453 = ffloor %446
MESA: info:                 div 32    %454 = ffloor %448
MESA: info:                 div 32    %455 = ffloor %450
MESA: info:                 div 32    %456 = ffloor %452
MESA: info:                 div 32    %457 = f2u32 %453
MESA: info:                 div 32    %458 = f2u32 %454
MESA: info:                 div 32    %459 = f2u32 %455
MESA: info:                 div 32    %460 = f2u32 %456
MESA: info:                                  // succs: b32
MESA: info:             } else {
MESA: info:                 div block b31:       // preds: b29
MESA: info:                 con 32    %461 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b32
MESA: info:             }
MESA: info:             div block b32:       // preds: b30 b31
MESA: info:             div 32    %462 = phi b30: %460, b31: %461 (0x101)
MESA: info:             div 32    %463 = phi b30: %459, b31: %461 (0x101)
MESA: info:             div 32    %464 = phi b30: %458, b31: %461 (0x101)
MESA: info:             div 32    %465 = phi b30: %457, b31: %461 (0x101)
MESA: info:             con 32    %382 = load_const (0x00000001)
MESA: info:             con 32    %466 = load_const (0x00000100 = 256)
MESA: info:             div 1     %467 = ult %465, %466 (0x100)
MESA: info:                              // succs: b33 b34
MESA: info:             if %467 {
MESA: info:                 div block b33:       // preds: b32
MESA: info:                 div 32    %468 = ishl %465, %98 (0x2)
MESA: info:                 con 32    %469 = @bindless_resource_ir3 (%96 (0x0)) (desc_set=3)
MESA: info:                 div 32    %498 = @ssbo_atomic_ir3 (%469, %468, %382 (0x1), %465) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b35
MESA: info:             } else {
MESA: info:                 div block b34:  // preds: b32, succs: b35
MESA: info:             }
MESA: info:             div block b35:       // preds: b33 b34
MESA: info:             div 1     %471 = ult %464, %466 (0x100)
MESA: info:                              // succs: b36 b37
MESA: info:             if %471 {
MESA: info:                 div block b36:       // preds: b35
MESA: info:                 div 32    %472 = ishl %464, %98 (0x2)
MESA: info:                 con 32    %473 = @bindless_resource_ir3 (%96 (0x0)) (desc_set=3)
MESA: info:                 div 32    %502 = @ssbo_atomic_ir3 (%473, %472, %382 (0x1), %464) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b38
MESA: info:             } else {
MESA: info:                 div block b37:  // preds: b35, succs: b38
MESA: info:             }
MESA: info:             div block b38:       // preds: b36 b37
MESA: info:             div 1     %475 = ult %463, %466 (0x100)
MESA: info:                              // succs: b39 b40
MESA: info:             if %475 {
MESA: info:                 div block b39:       // preds: b38
MESA: info:                 div 32    %476 = ishl %463, %98 (0x2)
MESA: info:                 con 32    %477 = @bindless_resource_ir3 (%96 (0x0)) (desc_set=3)
MESA: info:                 div 32    %506 = @ssbo_atomic_ir3 (%477, %476, %382 (0x1), %463) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b41
MESA: info:             } else {
MESA: info:                 div block b40:  // preds: b38, succs: b41
MESA: info:             }
MESA: info:             div block b41:       // preds: b39 b40
MESA: info:             div 1     %479 = ult %462, %466 (0x100)
MESA: info:                              // succs: b42 b43
MESA: info:             if %479 {
MESA: info:                 div block b42:       // preds: b41
MESA: info:                 div 32    %480 = ishl %462, %98 (0x2)
MESA: info:                 con 32    %481 = @bindless_resource_ir3 (%96 (0x0)) (desc_set=3)
MESA: info:                 div 32    %510 = @ssbo_atomic_ir3 (%481, %480, %382 (0x1), %462) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b44
MESA: info:             } else {
MESA: info:                 div block b43:  // preds: b41, succs: b44
MESA: info:             }
MESA: info:             div block b44:       // preds: b42 b43
MESA: info:             div 32    %483 = iadd %129, %382 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b45:       // preds: b12
MESA: info:         con 32    %484 = load_const (0x00000001)
MESA: info:         div 32    %485 = iadd %122, %484 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b46:  // preds: b8, succs: b47
MESA: info:     block b47:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 3747142be0d5b9f493074b32e1ab1c2ee4d4f0b3:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x3e800000, 0x3e000000, 0x3d800000
MESA: info: @const(c13.x)	0x43800000, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l36
MESA: info: getone #l36
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.z, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.x, r48.w
MESA: info: cov.f32u32 r50.y, r49.x
MESA: info: add.f r49.w, r49.w, (neg)r49.z
MESA: info: and.b r50.z, r49.y, 1
MESA: info: and.b r51.x, r49.y, 2
MESA: info: and.b r51.z, r49.y, 4
MESA: info: and.b r51.w, r49.y, 8
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r49.w, r49.w
MESA: info: cmps.s.eq hr53.x, r50.z, 0
MESA: info: cmps.s.eq hr54.x, r51.x, 0
MESA: info: cov.u16s32 r50.w, hr53.x
MESA: info: cov.u16s32 r51.y, hr54.x
MESA: info: stc.u32 c[16], r50.x, 1
MESA: info: stc.u32 c[17], r50.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.z, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[24], r49.w, 1
MESA: info: stc.u32 c[20], r50.w, 1
MESA: info: stc.u32 c[21], r51.y, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l36:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l54:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l295
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l62:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l293
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: cmps.s.lt p0.y, c9.z, 0
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: (nop3) mul.f r2.y, (last)r2.y, c4.w
MESA: info: br !p0.y, #l204
MESA: info: cmps.s.eq p0.y, c9.z, -2
MESA: info: cmps.s.eq p0.z, c9.z, -4
MESA: info: cmps.s.eq p0.w, c9.z, -8
MESA: info: (nop2) cmps.s.eq p0.x, c9.z, -16
MESA: info: br !p0.y, #l89
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: (nop1) mul.f r2.y, (last)r2.y, c10.y
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r2.z, (0x0)
MESA: info: isamm.base2 (f32)(xyzw)r2.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.0 r2.z, (0x1)
MESA: info: isamm.base2 (f32)(xyzw)r3.z, r2.x, s#0, t#0
MESA: info: (sy)(rpt3)add.f r2.z, (last)(r)r2.z, (last)(r)r3.z
MESA: info: (rpt3)mul.f r4.z, (0.5), (last)(r)r2.z
MESA: info: jump #l211
MESA: info: l89:
MESA: info: nop
MESA: info: br !p0.z, #l110
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: (nop1) mul.f r2.y, (last)r2.y, c10.y
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r2.z, (0x0)
MESA: info: isamm.base2 (f32)(xyzw)r5.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.0 r2.z, (0x1)
MESA: info: isamm.base2 (f32)(xyzw)r6.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.0 r2.z, (0x2)
MESA: info: isamm.base2 (f32)(xyzw)r7.z, r2.x, s#0, t#0
MESA: info: (ss)nop
MESA: info: alias.tex.b32.0 r2.z, (0x3)
MESA: info: isamm.base2 (f32)(xyzw)r8.z, r2.x, s#0, t#0
MESA: info: (sy)(rpt3)add.f r5.z, (last)(r)r5.z, (last)(r)r6.z
MESA: info: (rpt3)add.f r5.z, (last)(r)r5.z, (last)(r)r7.z
MESA: info: (rpt3)add.f r5.z, (last)(r)r5.z, (last)(r)r8.z
MESA: info: (rpt3)mul.f r4.z, c12.y, (last)(r)r5.z
MESA: info: jump #l211
MESA: info: l110:
MESA: info: nop
MESA: info: br !p0.w, #l142
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: (nop1) mul.f r2.y, (last)r2.y, c10.y
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r2.z, (0x0)
MESA: info: (sy)isamm.base2 (f32)(xyzw)r9.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.0 r2.z, (0x1)
MESA: info: isamm.base2 (f32)(xyzw)r10.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.0 r2.z, (0x2)
MESA: info: isamm.base2 (f32)(xyzw)r2.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.0 r2.z, (0x3)
MESA: info: isamm.base2 (f32)(xyzw)r3.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.0 r2.z, (0x4)
MESA: info: isamm.base2 (f32)(xyzw)r4.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.0 r2.z, (0x5)
MESA: info: isamm.base2 (f32)(xyzw)r5.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.0 r2.z, (0x6)
MESA: info: isamm.base2 (f32)(xyzw)r6.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.0 r2.z, (0x7)
MESA: info: isamm.base2 (f32)(xyzw)r7.z, r2.x, s#0, t#0
MESA: info: (sy)(rpt3)add.f r9.z, (last)(r)r9.z, (last)(r)r10.z
MESA: info: (rpt3)add.f r9.z, (last)(r)r9.z, (last)(r)r2.z
MESA: info: (rpt3)add.f r9.z, (last)(r)r9.z, (last)(r)r3.z
MESA: info: (rpt3)add.f r9.z, (last)(r)r9.z, (last)(r)r4.z
MESA: info: (rpt3)add.f r9.z, (last)(r)r9.z, (last)(r)r5.z
MESA: info: (rpt3)add.f r9.z, (last)(r)r9.z, (last)(r)r6.z
MESA: info: (rpt3)add.f r9.z, (last)(r)r9.z, (last)(r)r7.z
MESA: info: (rpt3)mul.f r4.z, c12.z, (last)(r)r9.z
MESA: info: jump #l211
MESA: info: l142:
MESA: info: nop
MESA: info: br !p0.x, #l199
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: (nop1) mul.f r2.y, (last)r2.y, c10.y
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: (ss)nop
MESA: info: alias.tex.b32.0 r2.z, (0x0)
MESA: info: isamm.base2 (f32)(xyzw)r8.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.0 r2.z, (0x1)
MESA: info: (sy)isamm.base2 (f32)(xyzw)r9.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.0 r2.z, (0x2)
MESA: info: isamm.base2 (f32)(xyzw)r10.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.0 r2.z, (0x3)
MESA: info: isamm.base2 (f32)(xyzw)r2.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.0 r2.z, (0x4)
MESA: info: isamm.base2 (f32)(xyzw)r3.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.0 r2.z, (0x5)
MESA: info: isamm.base2 (f32)(xyzw)r4.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.0 r2.z, (0x6)
MESA: info: isamm.base2 (f32)(xyzw)r5.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.0 r2.z, (0x7)
MESA: info: isamm.base2 (f32)(xyzw)r6.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.0 r2.z, (0x8)
MESA: info: isamm.base2 (f32)(xyzw)r7.z, r2.x, s#0, t#0
MESA: info: (sy)(rpt3)add.f r8.z, (last)(r)r8.z, (last)(r)r9.z
MESA: info: alias.tex.b32.0 r2.z, (0x9)
MESA: info: isamm.base2 (f32)(xyzw)r9.z, r2.x, s#0, t#0
MESA: info: (rpt3)add.f r8.z, (last)(r)r8.z, (last)(r)r10.z
MESA: info: alias.tex.b32.0 r2.z, (0xa)
MESA: info: isamm.base2 (f32)(xyzw)r10.z, r2.x, s#0, t#0
MESA: info: (rpt3)add.f r8.z, (last)(r)r8.z, (last)(r)r2.z
MESA: info: alias.tex.b32.0 r2.z, (0xb)
MESA: info: isamm.base2 (f32)(xyzw)r2.z, r2.x, s#0, t#0
MESA: info: (rpt3)add.f r8.z, (last)(r)r8.z, (last)(r)r3.z
MESA: info: alias.tex.b32.0 r2.z, (0xc)
MESA: info: isamm.base2 (f32)(xyzw)r3.z, r2.x, s#0, t#0
MESA: info: (rpt3)add.f r8.z, (last)(r)r8.z, (last)(r)r4.z
MESA: info: alias.tex.b32.0 r2.z, (0xd)
MESA: info: isamm.base2 (f32)(xyzw)r4.z, r2.x, s#0, t#0
MESA: info: (rpt3)add.f r8.z, (last)(r)r8.z, (last)(r)r5.z
MESA: info: alias.tex.b32.0 r2.z, (0xe)
MESA: info: isamm.base2 (f32)(xyzw)r5.z, r2.x, s#0, t#0
MESA: info: (rpt3)add.f r8.z, (last)(r)r8.z, (last)(r)r6.z
MESA: info: alias.tex.b32.0 r2.z, (0xf)
MESA: info: isamm.base2 (f32)(xyzw)r6.z, r2.x, s#0, t#0
MESA: info: (rpt3)add.f r8.z, (last)(r)r8.z, (last)(r)r7.z
MESA: info: (sy)(rpt3)add.f r8.z, (last)(r)r8.z, (last)(r)r9.z
MESA: info: (rpt3)add.f r8.z, (last)(r)r8.z, (last)(r)r10.z
MESA: info: (rpt3)add.f r8.z, (last)(r)r8.z, (last)(r)r2.z
MESA: info: (rpt3)add.f r8.z, (last)(r)r8.z, (last)(r)r3.z
MESA: info: (rpt3)add.f r8.z, (last)(r)r8.z, (last)(r)r4.z
MESA: info: (rpt3)add.f r8.z, (last)(r)r8.z, (last)(r)r5.z
MESA: info: (rpt3)add.f r8.z, (last)(r)r8.z, (last)(r)r6.z
MESA: info: (rpt3)mul.f r4.z, c12.w, (last)(r)r8.z
MESA: info: jump #l211
MESA: info: l199:
MESA: info: mov.u32u32 r5.y, 0
MESA: info: mov.u32u32 r4.z, 0
MESA: info: mov.u32u32 r4.w, 0
MESA: info: mov.u32u32 r5.x, 0
MESA: info: jump #l211
MESA: info: l204:
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: (nop1) mul.f r2.y, (last)r2.y, c10.y
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r2.z, c9.z
MESA: info: isamm.base2 (f32)(xyzw)r4.z, r2.x, s#0, t#0
MESA: info: l211:
MESA: info: add.f r50.x, c8.z, (1.0)
MESA: info: mov.f32f32 r7.z, c5.x
MESA: info: mov.f32f32 r7.w, c5.y
MESA: info: mov.f32f32 r8.x, c5.z
MESA: info: mov.f32f32 r8.y, c5.w
MESA: info: cmps.s.ne p0.y, c8.x, 0
MESA: info: (sy)(ss)sel.b32 r7.z, r50.x, r7.z, (last)r4.z
MESA: info: sel.b32 r7.w, r50.x, r7.w, (last)r4.w
MESA: info: sel.b32 r8.x, r50.x, r8.x, (last)r5.x
MESA: info: (nop1) sel.b32 r8.y, r50.x, r8.y, (last)r5.y
MESA: info: br !p0.y, #l251
MESA: info: add.f r7.z, (last)r7.z, (neg)c8.y
MESA: info: add.f r7.w, (last)r7.w, (neg)c8.y
MESA: info: add.f r8.x, (last)r8.x, (neg)c8.y
MESA: info: add.f r8.y, (last)r8.y, (neg)c8.y
MESA: info: mul.f r7.z, (last)r7.z, c6.x
MESA: info: mul.f r7.w, (last)r7.w, c6.x
MESA: info: mul.f r8.x, (last)r8.x, c6.x
MESA: info: mul.f r8.y, (last)r8.y, c6.x
MESA: info: cmps.f.lt r8.z, r7.z, (0.0)
MESA: info: cmps.f.lt r8.w, r7.w, (0.0)
MESA: info: cmps.f.lt r9.x, r8.x, (0.0)
MESA: info: cmps.f.lt r9.y, r8.y, (0.0)
MESA: info: mul.f r7.z, (last)r7.z, c13.x
MESA: info: mul.f r7.w, (last)r7.w, c13.x
MESA: info: mul.f r8.x, (last)r8.x, c13.x
MESA: info: mul.f r8.y, (last)r8.y, c13.x
MESA: info: sel.b32 r8.z, c12.x, r8.z, (last)r7.z
MESA: info: sel.b32 r8.w, c12.x, r8.w, (last)r7.w
MESA: info: sel.b32 r9.x, c12.x, r9.x, (last)r8.x
MESA: info: sel.b32 r9.y, c12.x, r9.y, (last)r8.y
MESA: info: floor.f r8.z, (last)r8.z
MESA: info: floor.f r8.w, (last)r8.w
MESA: info: floor.f r9.x, (last)r9.x
MESA: info: floor.f r9.y, (last)r9.y
MESA: info: cov.f32u32 r8.z, (last)r8.z
MESA: info: cov.f32u32 r8.w, (last)r8.w
MESA: info: cov.f32u32 r9.x, (last)r9.x
MESA: info: cov.f32u32 r9.y, (last)r9.y
MESA: info: jump #l255
MESA: info: l251:
MESA: info: mov.u32u32 r9.y, 257
MESA: info: mov.u32u32 r8.z, 257
MESA: info: mov.u32u32 r8.w, 257
MESA: info: mov.u32u32 r9.x, 257
MESA: info: l255:
MESA: info: (nop3) cmps.u.lt p0.x, r8.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r9.z, 0
MESA: info: mov.u32u32 r9.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r9.z, r8.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r8.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r10.x, 0
MESA: info: mov.u32u32 r10.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r10.x, r8.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r9.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r10.z, 0
MESA: info: mov.u32u32 r10.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r10.z, r9.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r9.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r11.x, 0
MESA: info: mov.u32u32 r11.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r11.x, r9.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l62
MESA: info: l293:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l54
MESA: info: l295:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 76/1: 452 instr, 125 nops, 327 non-nops, 23 mov, 16 cov, 608 dwords
MESA: info: ; CL prog 76/1: 0 last-baryf, 0 last-helper, 0 half, 12 full, 16 constlen
MESA: info: ; CL prog 76/1: 150 cat0, 39 cat1, 187 cat2, 8 cat3, 0 cat4, 31 cat5, 4 cat6, 33 cat7
MESA: info: ; CL prog 76/1: 6 sstall, 5 (ss), 262 systall, 9 (sy), 2 loops
MESA: info: ; CL prog 76/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 38 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xbd39e3fe, 0x627f8ccf, 0x358133ec, 0x90c37d1a, 0x66d3851e, 0x8ca20084, 0xbd4f39b9, 0x673a83bd}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %140 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %134 = @load_ubo_vec4 (%4, %140 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %170 = f2u32 %134
MESA: info:             con 32    %171 = mov %170.x
MESA: info:             con 32    %172 = mov %170.y
MESA: info:                              @store_const_ir3 (%171) (base=16)
MESA: info:                              @store_const_ir3 (%172) (base=17)
MESA: info:             con 32      %8 = u2f32 %170.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %134.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %134.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%19)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%21)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %24 = @load_local_invocation_id
MESA: info:     con 32x3   %25 = @load_workgroup_id
MESA: info:     con 32x3   %26 = @load_base_workgroup_id
MESA: info:     con 32x2  %173 = iadd %25.xy, %26.xy
MESA: info:     con 32     %29 = load_const (0x00000000)
MESA: info:     con 32x2   %34 = @load_const_ir3 (%29 (0x0)) (base=40)
MESA: info:     con 32     %36 = @load_const_ir3 (%29 (0x0)) (base=16)
MESA: info:     con 32     %38 = @load_const_ir3 (%29 (0x0)) (base=17)
MESA: info:     con 32     %39 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %174 = umul_low %173, %39 (0xa).xx
MESA: info:     con 32x2  %175 = imadsh_mix16 %39 (0xa).xx, %173, %174
MESA: info:     div 32x2  %176 = iadd %175, %24.xy
MESA: info:     con 32     %44 = load_const (0x00000006)
MESA: info:     div 32x2  %177 = ishl %176, %44 (0x6).xx
MESA: info:     div 32    %178 = mov %177.x
MESA: info:     div 32    %179 = mov %177.y
MESA: info:     div 32    %161 = umul_low %24.y, %39 (0xa)
MESA: info:     div 32    %163 = imadsh_mix16 %39 (0xa), %24.y, %161
MESA: info:     con 32     %50 = @load_const_ir3 (%29 (0x0)) (base=18)
MESA: info:     con 32    %158 = umul_low %173.y, %50
MESA: info:     con 32    %159 = imadsh_mix16 %173.y, %50, %158
MESA: info:     con 32    %160 = imadsh_mix16 %50, %173.y, %159
MESA: info:     con 32     %52 = iadd %160, %173.x
MESA: info:     con 32     %53 = load_const (0x00000064 = 100)
MESA: info:     con 32    %155 = umul_low %52, %53 (0x64)
MESA: info:     con 32    %157 = imadsh_mix16 %53 (0x64), %52, %155
MESA: info:     div 32    %154 = iadd3 %163, %24.x, %157
MESA: info:     con 32x4  %190 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %203 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %189 = phi b6: %190 (0x0, 0x0, 0x0, 0x0), b15: %191
MESA: info:         div 32x4  %202 = phi b6: %203 (0x0, 0x0, 0x0, 0x0), b15: %234
MESA: info:         div 32     %64 = phi b6: %29 (0x0), b15: %233
MESA: info:         div 32     %65 = phi b6: %179, b15: %124
MESA: info:         div 32x3  %211 = mov %189.yzw
MESA: info:         div 32    %183 = mov %189.x
MESA: info:         con 32     %66 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %206 = iadd %177.yx, %66 (0x40).xx
MESA: info:         div 32     %69 = umin %38, %206.x
MESA: info:         div 32     %70 = umin %36, %206.y
MESA: info:         div 1      %71 = uge %65, %69
MESA: info:                          // succs: b8 b9
MESA: info:         if %71 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %72 = phi b10: %178, b14: %122
MESA: info:             div 32     %73 = phi b10: %183, b14: %121
MESA: info:             div 32x3  %210 = phi b10: %211, b14: %226
MESA: info:             div 32x4  %219 = phi b10: %202, b14: %220
MESA: info:             div 32     %81 = phi b10: %64, b14: %146
MESA: info:             div 1      %82 = uge %72, %70
MESA: info:                              // succs: b12 b13
MESA: info:             if %82 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %83 = u2f32 %72
MESA: info:             div 32     %84 = u2f32 %65
MESA: info:             con 32     %86 = @load_const_ir3 (%29 (0x0)) (base=19)
MESA: info:             div 32     %87 = fmul %83, %86
MESA: info:             con 32     %89 = @load_const_ir3 (%29 (0x0)) (base=20)
MESA: info:             div 32     %90 = fmul %84, %89
MESA: info:             con 32     %94 = @load_const_ir3 (%29 (0x0)) (base=38)
MESA: info:             con 32     %95 = imax %94, %29 (0x0)
MESA: info:             div 32     %96 = fmul %87, %34.x
MESA: info:             div 32     %97 = fmul %90, %34.y
MESA: info:             div 32     %98 = f2i32 %96
MESA: info:             div 32     %99 = f2i32 %97
MESA: info:             div 32x2  %100 = vec2 %98, %99
MESA: info:             con 32    %101 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %102 = (uint32)txf_ms %101 (texture_handle), %100 (coord), %95 (ms_index), 0 (texture)
MESA: info:             div 32x3  %222 = umin %210, %102.xyz
MESA: info:             div 32    %107 = umin %219.x, %102.w
MESA: info:             div 32x3  %224 = umax %219.yzw, %102.xyz
MESA: info:             div 32    %111 = umax %81, %102.w
MESA: info:             div 32x3  %226 = icsel_eqz %73.xxx, %102.xyz, %222
MESA: info:             div 32    %150 = icsel_eqz %73, %102.w, %107
MESA: info:             div 32x3  %228 = icsel_eqz %73.xxx, %102.xyz, %224
MESA: info:             div 32    %146 = icsel_eqz %73, %102.w, %111
MESA: info:             con 32    %120 = load_const (0x00000001)
MESA: info:             div 32    %121 = iadd %73, %120 (0x1)
MESA: info:             div 32    %122 = iadd %72, %120 (0x1)
MESA: info:             div 32x4  %220 = vec4 %150, %228.x, %228.y, %228.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %236 = phi b12: %73
MESA: info:         div 32x3  %235 = phi b12: %210
MESA: info:         div 32x4  %234 = phi b12: %219
MESA: info:         div 32    %233 = phi b12: %81
MESA: info:         con 32    %123 = load_const (0x00000001)
MESA: info:         div 32    %124 = iadd %65, %123 (0x1)
MESA: info:         div 32x4  %191 = vec4 %236, %235.x, %235.y, %235.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %239 = phi b8: %189
MESA: info:     div 32x4  %238 = phi b8: %202
MESA: info:     div 32    %237 = phi b8: %64
MESA: info:     con 32     %32 = load_const (0x00000002)
MESA: info:     con 32x2  %229 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %230 = ishl %154.xx, %229 (0x5, 0x3)
MESA: info:     div 32    %231 = mov %230.x
MESA: info:     div 32    %232 = mov %230.y
MESA: info:     con 32    %127 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %128 = vec4 %239.y, %239.z, %239.w, %238.x
MESA: info:                      @store_ssbo_ir3 (%128, %127, %231, %232) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %129 = load_const (0x00000010 = 16)
MESA: info:     div 32    %130 = iadd %230.x, %129 (0x10)
MESA: info:     div 32x4  %131 = vec4 %238.y, %238.z, %238.w, %237
MESA: info:     div 32    %139 = ushr %130, %32 (0x2)
MESA: info:                      @store_ssbo_ir3 (%131, %127, %130, %139) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 aa5b14ad1df7b01c4ece7c9577d77516eac9d1c9:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l111
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l109
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: max.s r5.x, c9.z, 0
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: mul.f r4.w, (last)r4.w, c5.x
MESA: info: add.u r5.y, r1.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: mul.f r4.w, (last)r4.w, c10.y
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: isamm.base2 (u32)(xyzw)r5.z, r4.z, s#0, t#0
MESA: info: (sy)min.u r1.z, (last)r1.z, r5.z
MESA: info: min.u r1.w, (last)r1.w, r5.w
MESA: info: min.u r2.x, (last)r2.x, r6.x
MESA: info: min.u r2.y, (last)r2.y, r6.y
MESA: info: max.u r2.z, (last)r2.z, r5.z
MESA: info: max.u r2.w, (last)r2.w, r5.w
MESA: info: max.u r3.x, (last)r3.x, r6.x
MESA: info: max.u r3.y, (last)r3.y, r6.y
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.z
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.w
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r6.x
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.y
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.z
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.w
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r6.x
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.y
MESA: info: mov.u32u32 r1.y, (last)r5.y
MESA: info: jump #l74
MESA: info: l109:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l111:
MESA: info: (jp)shl.b r6.z, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.z, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 77/1: 122 instr, 28 nops, 94 non-nops, 12 mov, 4 cov, 256 dwords
MESA: info: ; CL prog 77/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 77/1: 33 cat0, 16 cat1, 58 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 2 cat7
MESA: info: ; CL prog 77/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 77/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xb994b6d4, 0xad09c46b, 0x042ae5be, 0x0f609e6a, 0xb5a8d377, 0xf4d8dc86, 0xb794a0e6, 0x55454a88}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %210 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %294 = f2u32 %210
MESA: info:             con 32    %295 = mov %294.x
MESA: info:             con 32    %296 = mov %294.y
MESA: info:                              @store_const_ir3 (%295) (base=16)
MESA: info:                              @store_const_ir3 (%296) (base=17)
MESA: info:             con 32     %10 = frcp %210.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %210.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %213 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %301 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %302 = iand %213.xxxx, %301 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %310 = ieq %302, %2 (0x0).xxxx
MESA: info:             con 32x4  %311 = b2i32 %310
MESA: info:             con 32    %312 = mov %311.w
MESA: info:             con 32    %309 = mov %311.z
MESA: info:             con 32    %305 = mov %311.x
MESA: info:             con 32    %306 = mov %311.y
MESA: info:                              @store_const_ir3 (%305) (base=20)
MESA: info:                              @store_const_ir3 (%306) (base=21)
MESA: info:                              @store_const_ir3 (%309) (base=22)
MESA: info:                              @store_const_ir3 (%312) (base=23)
MESA: info:             con 32    %216 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %28 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %29 = fadd %216, %28 (1.000000)
MESA: info:             con 32     %30 = f2u32 %29
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @store_const_ir3 (%30) (base=25)
MESA: info:                              @store_const_ir3 (%30) (base=26)
MESA: info:                              @store_const_ir3 (%30) (base=27)
MESA: info:             con 32x2  %228 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %293 = fsub %228.y, %228.x
MESA: info:             con 32     %46 = frcp %293
MESA: info:                              @store_const_ir3 (%46) (base=28)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %51 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%51)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %52 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %53 = load_const (0x00000002)
MESA: info:     con 32x2   %58 = @load_const_ir3 (%52 (0x0)) (base=40)
MESA: info:     con 32     %60 = @load_const_ir3 (%52 (0x0)) (base=16)
MESA: info:     con 32     %62 = @load_const_ir3 (%52 (0x0)) (base=17)
MESA: info:     con 32x3   %63 = @load_workgroup_id
MESA: info:     con 32x3   %64 = @load_base_workgroup_id
MESA: info:     con 32x2  %313 = iadd %63.xy, %64.xy
MESA: info:     con 32     %67 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %314 = umul_low %313, %67 (0xa).xx
MESA: info:     con 32x2  %315 = imadsh_mix16 %67 (0xa).xx, %313, %314
MESA: info:     div 32x3   %70 = @load_local_invocation_id
MESA: info:     div 32x2  %316 = iadd %315, %70.xy
MESA: info:     con 32     %73 = load_const (0x00000006)
MESA: info:     div 32x2  %317 = ishl %316, %73 (0x6).xx
MESA: info:     div 32    %318 = mov %317.x
MESA: info:     div 32    %319 = mov %317.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %76 = phi b6: %319, b30: %207
MESA: info:         con 32     %77 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %320 = iadd %317.yx, %77 (0x40).xx
MESA: info:         div 32     %80 = umin %62, %320.x
MESA: info:         div 32     %81 = umin %60, %320.y
MESA: info:         div 1      %82 = uge %76, %80
MESA: info:                          // succs: b8 b9
MESA: info:         if %82 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %83 = phi b10: %318, b29: %205
MESA: info:             div 1      %84 = uge %83, %81
MESA: info:                              // succs: b12 b13
MESA: info:             if %84 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %85 = u2f32 %83
MESA: info:             div 32     %86 = u2f32 %76
MESA: info:             con 32     %88 = @load_const_ir3 (%52 (0x0)) (base=18)
MESA: info:             div 32     %89 = fmul %85, %88
MESA: info:             con 32     %91 = @load_const_ir3 (%52 (0x0)) (base=19)
MESA: info:             div 32     %92 = fmul %86, %91
MESA: info:             con 32     %96 = @load_const_ir3 (%52 (0x0)) (base=38)
MESA: info:             con 32     %97 = imax %96, %52 (0x0)
MESA: info:             div 32     %98 = fmul %89, %58.x
MESA: info:             div 32     %99 = fmul %92, %58.y
MESA: info:             div 32    %100 = f2i32 %98
MESA: info:             div 32    %101 = f2i32 %99
MESA: info:             div 32x2  %102 = vec2 %100, %101
MESA: info:             con 32    %103 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %104 = (uint32)txf_ms %103 (texture_handle), %102 (coord), %97 (ms_index), 0 (texture)
MESA: info:             con 32    %107 = @load_const_ir3 (%52 (0x0)) (base=32)
MESA: info:             con 32    %111 = @load_const_ir3 (%52 (0x0)) (base=20)
MESA: info:             con 32    %115 = @load_const_ir3 (%52 (0x0)) (base=21)
MESA: info:             con 32    %119 = @load_const_ir3 (%52 (0x0)) (base=22)
MESA: info:             con 32    %123 = @load_const_ir3 (%52 (0x0)) (base=23)
MESA: info:             con 32    %130 = @load_const_ir3 (%52 (0x0)) (base=24)
MESA: info:             div 32    %271 = icsel_eqz %111, %104.x, %130
MESA: info:             con 32    %134 = @load_const_ir3 (%52 (0x0)) (base=25)
MESA: info:             div 32    %270 = icsel_eqz %115, %104.y, %134
MESA: info:             con 32    %137 = @load_const_ir3 (%52 (0x0)) (base=26)
MESA: info:             div 32    %269 = icsel_eqz %119, %104.z, %137
MESA: info:             con 32    %140 = @load_const_ir3 (%52 (0x0)) (base=27)
MESA: info:             div 32    %268 = icsel_eqz %123, %104.w, %140
MESA: info:             con 1     %142 = ine %107, %52 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %142 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %143 = u2f32 %271
MESA: info:                 div 32    %144 = u2f32 %270
MESA: info:                 div 32    %145 = u2f32 %269
MESA: info:                 div 32    %146 = u2f32 %268
MESA: info:                 con 32x2  %149 = @load_const_ir3 (%52 (0x0)) (base=33)
MESA: info:                 div 32    %292 = fsub %143, %149.x
MESA: info:                 div 32    %291 = fsub %144, %149.x
MESA: info:                 div 32    %290 = fsub %145, %149.x
MESA: info:                 div 32    %289 = fsub %146, %149.x
MESA: info:                 con 32    %156 = @load_const_ir3 (%52 (0x0)) (base=28)
MESA: info:                 div 32    %157 = fmul %292, %156
MESA: info:                 div 32    %158 = fmul %291, %156
MESA: info:                 div 32    %159 = fmul %290, %156
MESA: info:                 div 32    %160 = fmul %289, %156
MESA: info:                 div 1     %161 = flt! %157, %52 (0.000000)
MESA: info:                 div 1     %162 = flt! %158, %52 (0.000000)
MESA: info:                 div 1     %163 = flt! %159, %52 (0.000000)
MESA: info:                 div 1     %164 = flt! %160, %52 (0.000000)
MESA: info:                 con 32    %165 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %166 = fmul %157, %165 (256.000000)
MESA: info:                 con 32    %167 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %168 = bcsel %161, %167 (0x44000000), %166
MESA: info:                 div 32    %169 = fmul %158, %165 (256.000000)
MESA: info:                 div 32    %170 = bcsel %162, %167 (0x44000000), %169
MESA: info:                 div 32    %171 = fmul %159, %165 (256.000000)
MESA: info:                 div 32    %172 = bcsel %163, %167 (0x44000000), %171
MESA: info:                 div 32    %173 = fmul %160, %165 (256.000000)
MESA: info:                 div 32    %174 = bcsel %164, %167 (0x44000000), %173
MESA: info:                 div 32    %175 = ffloor %168
MESA: info:                 div 32    %176 = ffloor %170
MESA: info:                 div 32    %177 = ffloor %172
MESA: info:                 div 32    %178 = ffloor %174
MESA: info:                 div 32    %179 = f2u32 %175
MESA: info:                 div 32    %180 = f2u32 %176
MESA: info:                 div 32    %181 = f2u32 %177
MESA: info:                 div 32    %182 = f2u32 %178
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %183 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %184 = phi b15: %182, b16: %183 (0x101)
MESA: info:             div 32    %185 = phi b15: %181, b16: %183 (0x101)
MESA: info:             div 32    %186 = phi b15: %180, b16: %183 (0x101)
MESA: info:             div 32    %187 = phi b15: %179, b16: %183 (0x101)
MESA: info:             con 32    %108 = load_const (0x00000001)
MESA: info:             con 32    %188 = load_const (0x00000100 = 256)
MESA: info:             div 1     %189 = ult %187, %188 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %189 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %190 = ishl %187, %53 (0x2)
MESA: info:                 con 32    %191 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %232 = @ssbo_atomic_ir3 (%191, %190, %108 (0x1), %187) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %193 = ult %186, %188 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %193 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %194 = ishl %186, %53 (0x2)
MESA: info:                 con 32    %195 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %236 = @ssbo_atomic_ir3 (%195, %194, %108 (0x1), %186) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %197 = ult %185, %188 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %197 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %198 = ishl %185, %53 (0x2)
MESA: info:                 con 32    %199 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %240 = @ssbo_atomic_ir3 (%199, %198, %108 (0x1), %185) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %201 = ult %184, %188 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %201 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %202 = ishl %184, %53 (0x2)
MESA: info:                 con 32    %203 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %244 = @ssbo_atomic_ir3 (%203, %202, %108 (0x1), %184) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %205 = iadd %83, %108 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %206 = load_const (0x00000001)
MESA: info:         div 32    %207 = iadd %76, %206 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 65e726794bf56fc48f21204343fa7b9088b1a9eb:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l43
MESA: info: getone #l43
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: cov.f32u32 r50.z, r49.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: and.b r50.w, r49.y, 1
MESA: info: and.b r51.y, r49.y, 2
MESA: info: and.b r51.w, r49.y, 4
MESA: info: and.b r52.x, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.z, r50.w, 0
MESA: info: cmps.s.eq hr54.z, r51.y, 0
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: cov.u16s32 r51.z, hr54.z
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[17], r50.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: stc.u32 c[27], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.w, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[28], r50.x, 1
MESA: info: stc.u32 c[20], r51.x, 1
MESA: info: stc.u32 c[21], r51.z, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l43:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l61:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l170
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l69:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l168
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: max.s r2.z, c9.z, 0
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mul.f r2.y, (last)r2.y, c4.w
MESA: info: mov.f32f32 r2.w, c5.x
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: mov.f32f32 r3.x, c5.y
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: mov.f32f32 r3.y, c5.z
MESA: info: mov.f32f32 r3.z, c5.w
MESA: info: (nop2) cmps.s.ne p0.y, c8.x, 0
MESA: info: isamm.base2 (u32)(xyzw)r3.w, r2.x, s#0, t#0
MESA: info: (sy)sel.b32 r2.w, c6.x, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, c6.y, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, c6.z, r3.y, (last)r4.y
MESA: info: sel.b32 r3.z, c6.w, r3.z, (last)r4.z
MESA: info: br !p0.y, #l126
MESA: info: cov.u32f32 r2.w, (last)r2.w
MESA: info: cov.u32f32 r3.x, (last)r3.x
MESA: info: cov.u32f32 r3.y, (last)r3.y
MESA: info: cov.u32f32 r3.z, (last)r3.z
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: add.f r3.z, (last)r3.z, (neg)c8.y
MESA: info: mul.f r2.w, (last)r2.w, c7.x
MESA: info: mul.f r3.x, (last)r3.x, c7.x
MESA: info: mul.f r3.y, (last)r3.y, c7.x
MESA: info: mul.f r3.z, (last)r3.z, c7.x
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: cmps.f.lt r5.z, r3.z, (0.0)
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: mul.f r3.z, (last)r3.z, c12.y
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: sel.b32 r5.z, c12.x, r5.z, (last)r3.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: floor.f r5.z, (last)r5.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: cov.f32u32 r5.z, (last)r5.z
MESA: info: jump #l130
MESA: info: l126:
MESA: info: mov.u32u32 r5.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r5.y, 257
MESA: info: l130:
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r6.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.w, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.y, 0
MESA: info: mov.u32u32 r6.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.y, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.w, 0
MESA: info: mov.u32u32 r7.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.w, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.y, 0
MESA: info: mov.u32u32 r7.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.y, r5.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l69
MESA: info: l168:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l61
MESA: info: l170:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 78/1: 201 instr, 86 nops, 115 non-nops, 19 mov, 12 cov, 354 dwords
MESA: info: ; CL prog 78/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 78/1: 101 cat0, 31 cat1, 54 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 2 cat7
MESA: info: ; CL prog 78/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 78/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 45 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x6b01150f, 0xfcbb98c1, 0xa883b6a1, 0xc14723f6, 0xcbdeaf8a, 0xe95b9d97, 0x6302f82e, 0xa2f52c48}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %140 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %134 = @load_ubo_vec4 (%4, %140 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %170 = f2u32 %134
MESA: info:             con 32    %171 = mov %170.x
MESA: info:             con 32    %172 = mov %170.y
MESA: info:                              @store_const_ir3 (%171) (base=16)
MESA: info:                              @store_const_ir3 (%172) (base=17)
MESA: info:             con 32      %8 = u2f32 %170.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %134.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %134.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%19)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%21)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %24 = @load_local_invocation_id
MESA: info:     con 32x3   %25 = @load_workgroup_id
MESA: info:     con 32x3   %26 = @load_base_workgroup_id
MESA: info:     con 32x2  %173 = iadd %25.xy, %26.xy
MESA: info:     con 32     %29 = load_const (0x00000000)
MESA: info:     con 32x2   %34 = @load_const_ir3 (%29 (0x0)) (base=40)
MESA: info:     con 32     %36 = @load_const_ir3 (%29 (0x0)) (base=16)
MESA: info:     con 32     %38 = @load_const_ir3 (%29 (0x0)) (base=17)
MESA: info:     con 32     %39 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %174 = umul_low %173, %39 (0xa).xx
MESA: info:     con 32x2  %175 = imadsh_mix16 %39 (0xa).xx, %173, %174
MESA: info:     div 32x2  %176 = iadd %175, %24.xy
MESA: info:     con 32     %44 = load_const (0x00000006)
MESA: info:     div 32x2  %177 = ishl %176, %44 (0x6).xx
MESA: info:     div 32    %178 = mov %177.x
MESA: info:     div 32    %179 = mov %177.y
MESA: info:     div 32    %161 = umul_low %24.y, %39 (0xa)
MESA: info:     div 32    %163 = imadsh_mix16 %39 (0xa), %24.y, %161
MESA: info:     con 32     %50 = @load_const_ir3 (%29 (0x0)) (base=18)
MESA: info:     con 32    %158 = umul_low %173.y, %50
MESA: info:     con 32    %159 = imadsh_mix16 %173.y, %50, %158
MESA: info:     con 32    %160 = imadsh_mix16 %50, %173.y, %159
MESA: info:     con 32     %52 = iadd %160, %173.x
MESA: info:     con 32     %53 = load_const (0x00000064 = 100)
MESA: info:     con 32    %155 = umul_low %52, %53 (0x64)
MESA: info:     con 32    %157 = imadsh_mix16 %53 (0x64), %52, %155
MESA: info:     div 32    %154 = iadd3 %163, %24.x, %157
MESA: info:     con 32x4  %190 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %203 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %189 = phi b6: %190 (0x0, 0x0, 0x0, 0x0), b15: %191
MESA: info:         div 32x4  %202 = phi b6: %203 (0x0, 0x0, 0x0, 0x0), b15: %234
MESA: info:         div 32     %64 = phi b6: %29 (0x0), b15: %233
MESA: info:         div 32     %65 = phi b6: %179, b15: %124
MESA: info:         div 32x3  %211 = mov %189.yzw
MESA: info:         div 32    %183 = mov %189.x
MESA: info:         con 32     %66 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %206 = iadd %177.yx, %66 (0x40).xx
MESA: info:         div 32     %69 = umin %38, %206.x
MESA: info:         div 32     %70 = umin %36, %206.y
MESA: info:         div 1      %71 = uge %65, %69
MESA: info:                          // succs: b8 b9
MESA: info:         if %71 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %72 = phi b10: %178, b14: %122
MESA: info:             div 32     %73 = phi b10: %183, b14: %121
MESA: info:             div 32x3  %210 = phi b10: %211, b14: %226
MESA: info:             div 32x4  %219 = phi b10: %202, b14: %220
MESA: info:             div 32     %81 = phi b10: %64, b14: %146
MESA: info:             div 1      %82 = uge %72, %70
MESA: info:                              // succs: b12 b13
MESA: info:             if %82 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %83 = u2f32 %72
MESA: info:             div 32     %84 = u2f32 %65
MESA: info:             con 32     %86 = @load_const_ir3 (%29 (0x0)) (base=19)
MESA: info:             div 32     %87 = fmul %83, %86
MESA: info:             con 32     %89 = @load_const_ir3 (%29 (0x0)) (base=20)
MESA: info:             div 32     %90 = fmul %84, %89
MESA: info:             con 32     %94 = @load_const_ir3 (%29 (0x0)) (base=38)
MESA: info:             con 32     %95 = imax %94, %29 (0x0)
MESA: info:             div 32     %96 = fmul %87, %34.x
MESA: info:             div 32     %97 = fmul %90, %34.y
MESA: info:             div 32     %98 = f2i32 %96
MESA: info:             div 32     %99 = f2i32 %97
MESA: info:             div 32x2  %100 = vec2 %98, %99
MESA: info:             con 32    %101 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %102 = (int32)txf_ms %101 (texture_handle), %100 (coord), %95 (ms_index), 0 (texture)
MESA: info:             div 32x3  %222 = imin %210, %102.xyz
MESA: info:             div 32    %107 = imin %219.x, %102.w
MESA: info:             div 32x3  %224 = imax %219.yzw, %102.xyz
MESA: info:             div 32    %111 = imax %81, %102.w
MESA: info:             div 32x3  %226 = icsel_eqz %73.xxx, %102.xyz, %222
MESA: info:             div 32    %150 = icsel_eqz %73, %102.w, %107
MESA: info:             div 32x3  %228 = icsel_eqz %73.xxx, %102.xyz, %224
MESA: info:             div 32    %146 = icsel_eqz %73, %102.w, %111
MESA: info:             con 32    %120 = load_const (0x00000001)
MESA: info:             div 32    %121 = iadd %73, %120 (0x1)
MESA: info:             div 32    %122 = iadd %72, %120 (0x1)
MESA: info:             div 32x4  %220 = vec4 %150, %228.x, %228.y, %228.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %236 = phi b12: %73
MESA: info:         div 32x3  %235 = phi b12: %210
MESA: info:         div 32x4  %234 = phi b12: %219
MESA: info:         div 32    %233 = phi b12: %81
MESA: info:         con 32    %123 = load_const (0x00000001)
MESA: info:         div 32    %124 = iadd %65, %123 (0x1)
MESA: info:         div 32x4  %191 = vec4 %236, %235.x, %235.y, %235.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %239 = phi b8: %189
MESA: info:     div 32x4  %238 = phi b8: %202
MESA: info:     div 32    %237 = phi b8: %64
MESA: info:     con 32     %32 = load_const (0x00000002)
MESA: info:     con 32x2  %229 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %230 = ishl %154.xx, %229 (0x5, 0x3)
MESA: info:     div 32    %231 = mov %230.x
MESA: info:     div 32    %232 = mov %230.y
MESA: info:     con 32    %127 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %128 = vec4 %239.y, %239.z, %239.w, %238.x
MESA: info:                      @store_ssbo_ir3 (%128, %127, %231, %232) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %129 = load_const (0x00000010 = 16)
MESA: info:     div 32    %130 = iadd %230.x, %129 (0x10)
MESA: info:     div 32x4  %131 = vec4 %238.y, %238.z, %238.w, %237
MESA: info:     div 32    %139 = ushr %130, %32 (0x2)
MESA: info:                      @store_ssbo_ir3 (%131, %127, %130, %139) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 8183f816d91bcfcd90dec541cd6363c9ae0ca7f5:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l111
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l109
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: max.s r5.x, c9.z, 0
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: mul.f r4.w, (last)r4.w, c5.x
MESA: info: add.u r5.y, r1.y, 1
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: mul.f r4.w, (last)r4.w, c10.y
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: isamm.base2 (s32)(xyzw)r5.z, r4.z, s#0, t#0
MESA: info: (sy)min.s r1.z, (last)r1.z, r5.z
MESA: info: min.s r1.w, (last)r1.w, r5.w
MESA: info: min.s r2.x, (last)r2.x, r6.x
MESA: info: min.s r2.y, (last)r2.y, r6.y
MESA: info: max.s r2.z, (last)r2.z, r5.z
MESA: info: max.s r2.w, (last)r2.w, r5.w
MESA: info: max.s r3.x, (last)r3.x, r6.x
MESA: info: max.s r3.y, (last)r3.y, r6.y
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.z
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.w
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r6.x
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.y
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.z
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.w
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r6.x
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.y
MESA: info: mov.u32u32 r1.y, (last)r5.y
MESA: info: jump #l74
MESA: info: l109:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l111:
MESA: info: (jp)shl.b r6.z, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.z, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 79/1: 122 instr, 28 nops, 94 non-nops, 12 mov, 4 cov, 256 dwords
MESA: info: ; CL prog 79/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 79/1: 33 cat0, 16 cat1, 58 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 2 cat7
MESA: info: ; CL prog 79/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 79/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xf642b4ce, 0x5eed3982, 0x5b8e54bb, 0xeea1b382, 0x4b2955f6, 0x9f51f879, 0x89e64709, 0x8494f7b2}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %210 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %294 = f2u32 %210
MESA: info:             con 32    %295 = mov %294.x
MESA: info:             con 32    %296 = mov %294.y
MESA: info:                              @store_const_ir3 (%295) (base=16)
MESA: info:                              @store_const_ir3 (%296) (base=17)
MESA: info:             con 32     %10 = frcp %210.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %210.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %213 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %301 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %302 = iand %213.xxxx, %301 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %310 = ieq %302, %2 (0x0).xxxx
MESA: info:             con 32x4  %311 = b2i32 %310
MESA: info:             con 32    %312 = mov %311.w
MESA: info:             con 32    %309 = mov %311.z
MESA: info:             con 32    %305 = mov %311.x
MESA: info:             con 32    %306 = mov %311.y
MESA: info:                              @store_const_ir3 (%305) (base=20)
MESA: info:                              @store_const_ir3 (%306) (base=21)
MESA: info:                              @store_const_ir3 (%309) (base=22)
MESA: info:                              @store_const_ir3 (%312) (base=23)
MESA: info:             con 32    %216 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %28 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %29 = fadd %216, %28 (1.000000)
MESA: info:             con 32     %30 = f2i32 %29
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @store_const_ir3 (%30) (base=25)
MESA: info:                              @store_const_ir3 (%30) (base=26)
MESA: info:                              @store_const_ir3 (%30) (base=27)
MESA: info:             con 32x2  %228 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %293 = fsub %228.y, %228.x
MESA: info:             con 32     %46 = frcp %293
MESA: info:                              @store_const_ir3 (%46) (base=28)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %51 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%51)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %52 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %53 = load_const (0x00000002)
MESA: info:     con 32x2   %58 = @load_const_ir3 (%52 (0x0)) (base=40)
MESA: info:     con 32     %60 = @load_const_ir3 (%52 (0x0)) (base=16)
MESA: info:     con 32     %62 = @load_const_ir3 (%52 (0x0)) (base=17)
MESA: info:     con 32x3   %63 = @load_workgroup_id
MESA: info:     con 32x3   %64 = @load_base_workgroup_id
MESA: info:     con 32x2  %313 = iadd %63.xy, %64.xy
MESA: info:     con 32     %67 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %314 = umul_low %313, %67 (0xa).xx
MESA: info:     con 32x2  %315 = imadsh_mix16 %67 (0xa).xx, %313, %314
MESA: info:     div 32x3   %70 = @load_local_invocation_id
MESA: info:     div 32x2  %316 = iadd %315, %70.xy
MESA: info:     con 32     %73 = load_const (0x00000006)
MESA: info:     div 32x2  %317 = ishl %316, %73 (0x6).xx
MESA: info:     div 32    %318 = mov %317.x
MESA: info:     div 32    %319 = mov %317.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %76 = phi b6: %319, b30: %207
MESA: info:         con 32     %77 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %320 = iadd %317.yx, %77 (0x40).xx
MESA: info:         div 32     %80 = umin %62, %320.x
MESA: info:         div 32     %81 = umin %60, %320.y
MESA: info:         div 1      %82 = uge %76, %80
MESA: info:                          // succs: b8 b9
MESA: info:         if %82 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %83 = phi b10: %318, b29: %205
MESA: info:             div 1      %84 = uge %83, %81
MESA: info:                              // succs: b12 b13
MESA: info:             if %84 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %85 = u2f32 %83
MESA: info:             div 32     %86 = u2f32 %76
MESA: info:             con 32     %88 = @load_const_ir3 (%52 (0x0)) (base=18)
MESA: info:             div 32     %89 = fmul %85, %88
MESA: info:             con 32     %91 = @load_const_ir3 (%52 (0x0)) (base=19)
MESA: info:             div 32     %92 = fmul %86, %91
MESA: info:             con 32     %96 = @load_const_ir3 (%52 (0x0)) (base=38)
MESA: info:             con 32     %97 = imax %96, %52 (0x0)
MESA: info:             div 32     %98 = fmul %89, %58.x
MESA: info:             div 32     %99 = fmul %92, %58.y
MESA: info:             div 32    %100 = f2i32 %98
MESA: info:             div 32    %101 = f2i32 %99
MESA: info:             div 32x2  %102 = vec2 %100, %101
MESA: info:             con 32    %103 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %104 = (int32)txf_ms %103 (texture_handle), %102 (coord), %97 (ms_index), 0 (texture)
MESA: info:             con 32    %107 = @load_const_ir3 (%52 (0x0)) (base=32)
MESA: info:             con 32    %111 = @load_const_ir3 (%52 (0x0)) (base=20)
MESA: info:             con 32    %115 = @load_const_ir3 (%52 (0x0)) (base=21)
MESA: info:             con 32    %119 = @load_const_ir3 (%52 (0x0)) (base=22)
MESA: info:             con 32    %123 = @load_const_ir3 (%52 (0x0)) (base=23)
MESA: info:             con 32    %130 = @load_const_ir3 (%52 (0x0)) (base=24)
MESA: info:             div 32    %271 = icsel_eqz %111, %104.x, %130
MESA: info:             con 32    %134 = @load_const_ir3 (%52 (0x0)) (base=25)
MESA: info:             div 32    %270 = icsel_eqz %115, %104.y, %134
MESA: info:             con 32    %137 = @load_const_ir3 (%52 (0x0)) (base=26)
MESA: info:             div 32    %269 = icsel_eqz %119, %104.z, %137
MESA: info:             con 32    %140 = @load_const_ir3 (%52 (0x0)) (base=27)
MESA: info:             div 32    %268 = icsel_eqz %123, %104.w, %140
MESA: info:             con 1     %142 = ine %107, %52 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %142 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %143 = i2f32 %271
MESA: info:                 div 32    %144 = i2f32 %270
MESA: info:                 div 32    %145 = i2f32 %269
MESA: info:                 div 32    %146 = i2f32 %268
MESA: info:                 con 32x2  %149 = @load_const_ir3 (%52 (0x0)) (base=33)
MESA: info:                 div 32    %292 = fsub %143, %149.x
MESA: info:                 div 32    %291 = fsub %144, %149.x
MESA: info:                 div 32    %290 = fsub %145, %149.x
MESA: info:                 div 32    %289 = fsub %146, %149.x
MESA: info:                 con 32    %156 = @load_const_ir3 (%52 (0x0)) (base=28)
MESA: info:                 div 32    %157 = fmul %292, %156
MESA: info:                 div 32    %158 = fmul %291, %156
MESA: info:                 div 32    %159 = fmul %290, %156
MESA: info:                 div 32    %160 = fmul %289, %156
MESA: info:                 div 1     %161 = flt! %157, %52 (0.000000)
MESA: info:                 div 1     %162 = flt! %158, %52 (0.000000)
MESA: info:                 div 1     %163 = flt! %159, %52 (0.000000)
MESA: info:                 div 1     %164 = flt! %160, %52 (0.000000)
MESA: info:                 con 32    %165 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %166 = fmul %157, %165 (256.000000)
MESA: info:                 con 32    %167 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %168 = bcsel %161, %167 (0x44000000), %166
MESA: info:                 div 32    %169 = fmul %158, %165 (256.000000)
MESA: info:                 div 32    %170 = bcsel %162, %167 (0x44000000), %169
MESA: info:                 div 32    %171 = fmul %159, %165 (256.000000)
MESA: info:                 div 32    %172 = bcsel %163, %167 (0x44000000), %171
MESA: info:                 div 32    %173 = fmul %160, %165 (256.000000)
MESA: info:                 div 32    %174 = bcsel %164, %167 (0x44000000), %173
MESA: info:                 div 32    %175 = ffloor %168
MESA: info:                 div 32    %176 = ffloor %170
MESA: info:                 div 32    %177 = ffloor %172
MESA: info:                 div 32    %178 = ffloor %174
MESA: info:                 div 32    %179 = f2u32 %175
MESA: info:                 div 32    %180 = f2u32 %176
MESA: info:                 div 32    %181 = f2u32 %177
MESA: info:                 div 32    %182 = f2u32 %178
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %183 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %184 = phi b15: %182, b16: %183 (0x101)
MESA: info:             div 32    %185 = phi b15: %181, b16: %183 (0x101)
MESA: info:             div 32    %186 = phi b15: %180, b16: %183 (0x101)
MESA: info:             div 32    %187 = phi b15: %179, b16: %183 (0x101)
MESA: info:             con 32    %108 = load_const (0x00000001)
MESA: info:             con 32    %188 = load_const (0x00000100 = 256)
MESA: info:             div 1     %189 = ult %187, %188 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %189 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %190 = ishl %187, %53 (0x2)
MESA: info:                 con 32    %191 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %232 = @ssbo_atomic_ir3 (%191, %190, %108 (0x1), %187) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %193 = ult %186, %188 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %193 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %194 = ishl %186, %53 (0x2)
MESA: info:                 con 32    %195 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %236 = @ssbo_atomic_ir3 (%195, %194, %108 (0x1), %186) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %197 = ult %185, %188 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %197 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %198 = ishl %185, %53 (0x2)
MESA: info:                 con 32    %199 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %240 = @ssbo_atomic_ir3 (%199, %198, %108 (0x1), %185) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %201 = ult %184, %188 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %201 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %202 = ishl %184, %53 (0x2)
MESA: info:                 con 32    %203 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %244 = @ssbo_atomic_ir3 (%203, %202, %108 (0x1), %184) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %205 = iadd %83, %108 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %206 = load_const (0x00000001)
MESA: info:         div 32    %207 = iadd %76, %206 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 1c3039fcb12308527cd23cc79825caf6ec3a9693:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l43
MESA: info: getone #l43
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: cov.f32u32 r50.z, r49.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: and.b r50.w, r49.y, 1
MESA: info: and.b r51.y, r49.y, 2
MESA: info: and.b r51.w, r49.y, 4
MESA: info: and.b r52.x, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32s32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.z, r50.w, 0
MESA: info: cmps.s.eq hr54.z, r51.y, 0
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: cov.u16s32 r51.z, hr54.z
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[17], r50.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: stc.u32 c[27], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.w, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[28], r50.x, 1
MESA: info: stc.u32 c[20], r51.x, 1
MESA: info: stc.u32 c[21], r51.z, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l43:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l61:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l170
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l69:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l168
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: max.s r2.z, c9.z, 0
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mul.f r2.y, (last)r2.y, c4.w
MESA: info: mov.f32f32 r2.w, c5.x
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: mov.f32f32 r3.x, c5.y
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: mov.f32f32 r3.y, c5.z
MESA: info: mov.f32f32 r3.z, c5.w
MESA: info: (nop2) cmps.s.ne p0.y, c8.x, 0
MESA: info: isamm.base2 (s32)(xyzw)r3.w, r2.x, s#0, t#0
MESA: info: (sy)sel.b32 r2.w, c6.x, r2.w, (last)r3.w
MESA: info: sel.b32 r3.x, c6.y, r3.x, (last)r4.x
MESA: info: sel.b32 r3.y, c6.z, r3.y, (last)r4.y
MESA: info: sel.b32 r3.z, c6.w, r3.z, (last)r4.z
MESA: info: br !p0.y, #l126
MESA: info: cov.s32f32 r2.w, (last)r2.w
MESA: info: cov.s32f32 r3.x, (last)r3.x
MESA: info: cov.s32f32 r3.y, (last)r3.y
MESA: info: cov.s32f32 r3.z, (last)r3.z
MESA: info: add.f r2.w, (last)r2.w, (neg)c8.y
MESA: info: add.f r3.x, (last)r3.x, (neg)c8.y
MESA: info: add.f r3.y, (last)r3.y, (neg)c8.y
MESA: info: add.f r3.z, (last)r3.z, (neg)c8.y
MESA: info: mul.f r2.w, (last)r2.w, c7.x
MESA: info: mul.f r3.x, (last)r3.x, c7.x
MESA: info: mul.f r3.y, (last)r3.y, c7.x
MESA: info: mul.f r3.z, (last)r3.z, c7.x
MESA: info: cmps.f.lt r4.w, r2.w, (0.0)
MESA: info: cmps.f.lt r5.x, r3.x, (0.0)
MESA: info: cmps.f.lt r5.y, r3.y, (0.0)
MESA: info: cmps.f.lt r5.z, r3.z, (0.0)
MESA: info: mul.f r2.w, (last)r2.w, c12.y
MESA: info: mul.f r3.x, (last)r3.x, c12.y
MESA: info: mul.f r3.y, (last)r3.y, c12.y
MESA: info: mul.f r3.z, (last)r3.z, c12.y
MESA: info: sel.b32 r4.w, c12.x, r4.w, (last)r2.w
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r3.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r3.y
MESA: info: sel.b32 r5.z, c12.x, r5.z, (last)r3.z
MESA: info: floor.f r4.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: floor.f r5.z, (last)r5.z
MESA: info: cov.f32u32 r4.w, (last)r4.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: cov.f32u32 r5.z, (last)r5.z
MESA: info: jump #l130
MESA: info: l126:
MESA: info: mov.u32u32 r5.z, 257
MESA: info: mov.u32u32 r4.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r5.y, 257
MESA: info: l130:
MESA: info: (nop3) cmps.u.lt p0.x, r4.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r6.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.w, r4.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.y, 0
MESA: info: mov.u32u32 r6.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.y, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.w, 0
MESA: info: mov.u32u32 r7.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.w, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.y, 0
MESA: info: mov.u32u32 r7.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.y, r5.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l69
MESA: info: l168:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l61
MESA: info: l170:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 80/1: 201 instr, 86 nops, 115 non-nops, 19 mov, 12 cov, 354 dwords
MESA: info: ; CL prog 80/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 80/1: 101 cat0, 31 cat1, 54 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 2 cat7
MESA: info: ; CL prog 80/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 80/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 45 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xc48eac84, 0xf8ff36b0, 0xa2a82278, 0xfeaa7aad, 0x6e318f40, 0x863c02c3, 0xb07fe580, 0x1ccf3c91}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %439 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %433 = @load_ubo_vec4 (%4, %439 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %471 = f2u32 %433
MESA: info:             con 32    %472 = mov %471.x
MESA: info:             con 32    %473 = mov %471.y
MESA: info:                              @store_const_ir3 (%472) (base=16)
MESA: info:                              @store_const_ir3 (%473) (base=17)
MESA: info:             con 32      %8 = u2f32 %471.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %433.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %433.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%19)
MESA: info:             con 32     %81 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%81)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %84 = @load_local_invocation_id
MESA: info:     con 32x3   %85 = @load_workgroup_id
MESA: info:     con 32x3   %86 = @load_base_workgroup_id
MESA: info:     con 32x2  %474 = iadd %85.xy, %86.xy
MESA: info:     con 32     %89 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %90 = load_const (0x00000008)
MESA: info:     con 32     %91 = load_const (0x00000002)
MESA: info:     con 32x2   %96 = @load_const_ir3 (%89 (0x0)) (base=40)
MESA: info:     con 32     %97 = load_const (0x00000009)
MESA: info:     con 32     %99 = @load_const_ir3 (%89 (0x0)) (base=16)
MESA: info:     con 32    %101 = @load_const_ir3 (%89 (0x0)) (base=17)
MESA: info:     con 32    %102 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %475 = umul_low %474, %102 (0xa).xx
MESA: info:     con 32x2  %476 = imadsh_mix16 %102 (0xa).xx, %474, %475
MESA: info:     div 32x2  %477 = iadd %476, %84.xy
MESA: info:     con 32    %107 = load_const (0x00000006)
MESA: info:     div 32x2  %478 = ishl %477, %107 (0x6).xx
MESA: info:     div 32    %479 = mov %478.x
MESA: info:     div 32    %480 = mov %478.y
MESA: info:     div 32    %462 = umul_low %84.y, %102 (0xa)
MESA: info:     div 32    %464 = imadsh_mix16 %102 (0xa), %84.y, %462
MESA: info:     con 32    %113 = @load_const_ir3 (%89 (0x0)) (base=18)
MESA: info:     con 32    %459 = umul_low %474.y, %113
MESA: info:     con 32    %460 = imadsh_mix16 %474.y, %113, %459
MESA: info:     con 32    %461 = imadsh_mix16 %113, %474.y, %460
MESA: info:     con 32    %115 = iadd %461, %474.x
MESA: info:     con 32    %116 = load_const (0x00000064 = 100)
MESA: info:     con 32    %456 = umul_low %115, %116 (0x64)
MESA: info:     con 32    %458 = imadsh_mix16 %116 (0x64), %115, %456
MESA: info:     div 32    %455 = iadd3 %464, %84.x, %458
MESA: info:     con 32x4  %491 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:     con 32x4  %504 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b30
MESA: info:         div 32x4  %490 = phi b6: %491 (0x0, 0x0, 0x0, 0x0), b30: %492
MESA: info:         div 32x4  %503 = phi b6: %504 (0x0, 0x0, 0x0, 0x0), b30: %708
MESA: info:         div 32    %127 = phi b6: %89 (0x0), b30: %707
MESA: info:         div 32    %128 = phi b6: %480, b30: %423
MESA: info:         div 32x3  %512 = mov %490.yzw
MESA: info:         div 32    %484 = mov %490.x
MESA: info:         con 32    %129 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %507 = iadd %478.yx, %129 (0x40).xx
MESA: info:         div 32    %132 = umin %101, %507.x
MESA: info:         div 32    %133 = umin %99, %507.y
MESA: info:         div 1     %134 = uge %128, %132
MESA: info:                          // succs: b8 b9
MESA: info:         if %134 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32    %135 = phi b10: %479, b29: %421
MESA: info:             div 32    %136 = phi b10: %484, b29: %420
MESA: info:             div 32x3  %511 = phi b10: %512, b29: %700
MESA: info:             div 32x4  %520 = phi b10: %503, b29: %521
MESA: info:             div 32    %144 = phi b10: %127, b29: %447
MESA: info:             div 1     %145 = uge %135, %133
MESA: info:                              // succs: b12 b13
MESA: info:             if %145 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32    %146 = u2f32 %135
MESA: info:             div 32    %147 = u2f32 %128
MESA: info:             con 32    %149 = @load_const_ir3 (%89 (0x0)) (base=19)
MESA: info:             div 32    %150 = fmul %146, %149
MESA: info:             con 32    %152 = @load_const_ir3 (%89 (0x0)) (base=20)
MESA: info:             div 32    %153 = fmul %147, %152
MESA: info:             con 32    %158 = @load_const_ir3 (%89 (0x0)) (base=36)
MESA: info:             con 32    %162 = @load_const_ir3 (%89 (0x0)) (base=38)
MESA: info:             con 1     %163 = ilt %162, %89 (0x0)
MESA: info:                              // succs: b15 b28
MESA: info:             if %163 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 con 32x4  %529 = load_const (0xfffffffe, 0xfffffffc, 0xfffffff8, 0xfffffff0) = (-2, -4, -8, -16) = (4294967294, 4294967292, 4294967288, 4294967280)
MESA: info:                 con 1x4   %530 = ieq %162.xxxx, %529 (0xfffffffe, 0xfffffffc, 0xfffffff8, 0xfffffff0)
MESA: info:                 con 1     %531 = mov %530.w
MESA: info:                 con 1     %528 = mov %530.z
MESA: info:                 con 1     %524 = mov %530.x
MESA: info:                 con 1     %525 = mov %530.y
MESA: info:                                  // succs: b16 b17
MESA: info:                 if %524 {
MESA: info:                     div block b16:       // preds: b15
MESA: info:                     div 32    %172 = fmul %150, %96.x
MESA: info:                     div 32    %173 = fmul %153, %96.y
MESA: info:                     div 32    %174 = f2i32 %172
MESA: info:                     div 32    %175 = f2i32 %173
MESA: info:                     con 32    %176 = f2i32 %158
MESA: info:                     div 32x3  %177 = vec3 %174, %175, %176
MESA: info:                     con 32    %178 = @bindless_resource_ir3 (%89 (0x0)) (desc_set=2)
MESA: info:                     div 32x4  %179 = (float32)txf_ms %178 (texture_handle), %177 (coord), %89 (0x0) (ms_index), 0 (texture)
MESA: info:                     con 32    %180 = load_const (0x00000001)
MESA: info:                     div 32x4  %181 = (float32)txf_ms %178 (texture_handle), %177 (coord), %180 (0x1) (ms_index), 0 (texture)
MESA: info:                     div 32x4  %534 = fadd %179, %181
MESA: info:                     con 32    %186 = load_const (0x3f000000 = 0.500000)
MESA: info:                     div 32x4  %540 = fmul %186 (0.500000).xxxx, %534
MESA: info:                     div 32x4  %685 = mov %540.wzyx
MESA: info:                                      // succs: b27
MESA: info:                 } else {
MESA: info:                     div block b17:  // preds: b15, succs: b18 b19
MESA: info:                     if %525 {
MESA: info:                         div block b18:       // preds: b17
MESA: info:                         div 32    %191 = fmul %150, %96.x
MESA: info:                         div 32    %192 = fmul %153, %96.y
MESA: info:                         div 32    %193 = f2i32 %191
MESA: info:                         div 32    %194 = f2i32 %192
MESA: info:                         con 32    %195 = f2i32 %158
MESA: info:                         div 32x3  %196 = vec3 %193, %194, %195
MESA: info:                         con 32    %197 = @bindless_resource_ir3 (%89 (0x0)) (desc_set=2)
MESA: info:                         div 32x4  %198 = (float32)txf_ms %197 (texture_handle), %196 (coord), %89 (0x0) (ms_index), 0 (texture)
MESA: info:                         con 32    %199 = load_const (0x00000001)
MESA: info:                         div 32x4  %200 = (float32)txf_ms %197 (texture_handle), %196 (coord), %199 (0x1) (ms_index), 0 (texture)
MESA: info:                         div 32x4  %544 = fadd %198, %200
MESA: info:                         div 32x4  %205 = (float32)txf_ms %197 (texture_handle), %196 (coord), %91 (0x2) (ms_index), 0 (texture)
MESA: info:                         div 32x4  %547 = fadd %544, %205
MESA: info:                         con 32    %210 = load_const (0x00000003)
MESA: info:                         div 32x4  %211 = (float32)txf_ms %197 (texture_handle), %196 (coord), %210 (0x3) (ms_index), 0 (texture)
MESA: info:                         div 32x4  %550 = fadd %547, %211
MESA: info:                         con 32    %216 = load_const (0x3e800000 = 0.250000)
MESA: info:                         div 32x4  %556 = fmul %216 (0.250000).xxxx, %550
MESA: info:                         div 32x4  %673 = mov %556.wzyx
MESA: info:                                          // succs: b26
MESA: info:                     } else {
MESA: info:                         div block b19:       // preds: b17
MESA: info:                         con 32    %154 = load_const (0x00000004)
MESA: info:                                          // succs: b20 b21
MESA: info:                         if %528 {
MESA: info:                             div block b20:       // preds: b19
MESA: info:                             div 32    %221 = fmul %150, %96.x
MESA: info:                             div 32    %222 = fmul %153, %96.y
MESA: info:                             div 32    %223 = f2i32 %221
MESA: info:                             div 32    %224 = f2i32 %222
MESA: info:                             con 32    %225 = f2i32 %158
MESA: info:                             div 32x3  %226 = vec3 %223, %224, %225
MESA: info:                             con 32    %227 = @bindless_resource_ir3 (%89 (0x0)) (desc_set=2)
MESA: info:                             div 32x4  %228 = (float32)txf_ms %227 (texture_handle), %226 (coord), %89 (0x0) (ms_index), 0 (texture)
MESA: info:                             con 32    %229 = load_const (0x00000001)
MESA: info:                             div 32x4  %230 = (float32)txf_ms %227 (texture_handle), %226 (coord), %229 (0x1) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %560 = fadd %228, %230
MESA: info:                             div 32x4  %235 = (float32)txf_ms %227 (texture_handle), %226 (coord), %91 (0x2) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %563 = fadd %560, %235
MESA: info:                             con 32    %240 = load_const (0x00000003)
MESA: info:                             div 32x4  %241 = (float32)txf_ms %227 (texture_handle), %226 (coord), %240 (0x3) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %566 = fadd %563, %241
MESA: info:                             div 32x4  %246 = (float32)txf_ms %227 (texture_handle), %226 (coord), %154 (0x4) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %569 = fadd %566, %246
MESA: info:                             con 32    %251 = load_const (0x00000005)
MESA: info:                             div 32x4  %252 = (float32)txf_ms %227 (texture_handle), %226 (coord), %251 (0x5) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %572 = fadd %569, %252
MESA: info:                             div 32x4  %257 = (float32)txf_ms %227 (texture_handle), %226 (coord), %107 (0x6) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %575 = fadd %572, %257
MESA: info:                             con 32    %262 = load_const (0x00000007)
MESA: info:                             div 32x4  %263 = (float32)txf_ms %227 (texture_handle), %226 (coord), %262 (0x7) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %578 = fadd %575, %263
MESA: info:                             con 32    %268 = load_const (0x3e000000 = 0.125000)
MESA: info:                             div 32x4  %584 = fmul %268 (0.125000).xxxx, %578
MESA: info:                             div 32x4  %661 = mov %584.wzyx
MESA: info:                                              // succs: b25
MESA: info:                         } else {
MESA: info:                             div block b21:  // preds: b19, succs: b22 b23
MESA: info:                             if %531 {
MESA: info:                                 div block b22:       // preds: b21
MESA: info:                                 div 32    %273 = fmul %150, %96.x
MESA: info:                                 div 32    %274 = fmul %153, %96.y
MESA: info:                                 div 32    %275 = f2i32 %273
MESA: info:                                 div 32    %276 = f2i32 %274
MESA: info:                                 con 32    %277 = f2i32 %158
MESA: info:                                 div 32x3  %278 = vec3 %275, %276, %277
MESA: info:                                 con 32    %279 = @bindless_resource_ir3 (%89 (0x0)) (desc_set=2)
MESA: info:                                 div 32x4  %280 = (float32)txf_ms %279 (texture_handle), %278 (coord), %89 (0x0) (ms_index), 0 (texture)
MESA: info:                                 con 32    %281 = load_const (0x00000001)
MESA: info:                                 div 32x4  %282 = (float32)txf_ms %279 (texture_handle), %278 (coord), %281 (0x1) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %588 = fadd %280, %282
MESA: info:                                 div 32x4  %287 = (float32)txf_ms %279 (texture_handle), %278 (coord), %91 (0x2) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %591 = fadd %588, %287
MESA: info:                                 con 32    %292 = load_const (0x00000003)
MESA: info:                                 div 32x4  %293 = (float32)txf_ms %279 (texture_handle), %278 (coord), %292 (0x3) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %594 = fadd %591, %293
MESA: info:                                 div 32x4  %298 = (float32)txf_ms %279 (texture_handle), %278 (coord), %154 (0x4) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %597 = fadd %594, %298
MESA: info:                                 con 32    %303 = load_const (0x00000005)
MESA: info:                                 div 32x4  %304 = (float32)txf_ms %279 (texture_handle), %278 (coord), %303 (0x5) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %600 = fadd %597, %304
MESA: info:                                 div 32x4  %309 = (float32)txf_ms %279 (texture_handle), %278 (coord), %107 (0x6) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %603 = fadd %600, %309
MESA: info:                                 con 32    %314 = load_const (0x00000007)
MESA: info:                                 div 32x4  %315 = (float32)txf_ms %279 (texture_handle), %278 (coord), %314 (0x7) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %606 = fadd %603, %315
MESA: info:                                 div 32x4  %320 = (float32)txf_ms %279 (texture_handle), %278 (coord), %90 (0x8) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %609 = fadd %606, %320
MESA: info:                                 div 32x4  %325 = (float32)txf_ms %279 (texture_handle), %278 (coord), %97 (0x9) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %612 = fadd %609, %325
MESA: info:                                 div 32x4  %330 = (float32)txf_ms %279 (texture_handle), %278 (coord), %102 (0xa) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %615 = fadd %612, %330
MESA: info:                                 con 32    %335 = load_const (0x0000000b = 11)
MESA: info:                                 div 32x4  %336 = (float32)txf_ms %279 (texture_handle), %278 (coord), %335 (0xb) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %618 = fadd %615, %336
MESA: info:                                 con 32    %341 = load_const (0x0000000c = 12)
MESA: info:                                 div 32x4  %342 = (float32)txf_ms %279 (texture_handle), %278 (coord), %341 (0xc) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %621 = fadd %618, %342
MESA: info:                                 con 32    %347 = load_const (0x0000000d = 13)
MESA: info:                                 div 32x4  %348 = (float32)txf_ms %279 (texture_handle), %278 (coord), %347 (0xd) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %624 = fadd %621, %348
MESA: info:                                 con 32    %353 = load_const (0x0000000e = 14)
MESA: info:                                 div 32x4  %354 = (float32)txf_ms %279 (texture_handle), %278 (coord), %353 (0xe) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %627 = fadd %624, %354
MESA: info:                                 con 32    %359 = load_const (0x0000000f = 15)
MESA: info:                                 div 32x4  %360 = (float32)txf_ms %279 (texture_handle), %278 (coord), %359 (0xf) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %630 = fadd %627, %360
MESA: info:                                 con 32    %365 = load_const (0x3d800000 = 0.062500)
MESA: info:                                 div 32x4  %636 = fmul %365 (0.062500).xxxx, %630
MESA: info:                                 div 32x4  %648 = mov %636.wzyx
MESA: info:                                                  // succs: b24
MESA: info:                             } else {
MESA: info:                                 div block b23:       // preds: b21
MESA: info:                                 con 32x4  %649 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                                                  // succs: b24
MESA: info:                             }
MESA: info:                             div block b24:       // preds: b22 b23
MESA: info:                             div 32x4  %647 = phi b22: %648, b23: %649 (0x0, 0x0, 0x0, 0x0)
MESA: info:                                              // succs: b25
MESA: info:                         }
MESA: info:                         div block b25:       // preds: b20 b24
MESA: info:                         div 32x4  %660 = phi b20: %661, b24: %647
MESA: info:                                          // succs: b26
MESA: info:                     }
MESA: info:                     div block b26:       // preds: b18 b25
MESA: info:                     div 32x4  %672 = phi b18: %673, b25: %660
MESA: info:                                      // succs: b27
MESA: info:                 }
MESA: info:                 div block b27:       // preds: b16 b26
MESA: info:                 div 32x4  %684 = phi b16: %685, b26: %672
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:       // preds: b14
MESA: info:                 div 32    %386 = fmul %150, %96.x
MESA: info:                 div 32    %387 = fmul %153, %96.y
MESA: info:                 div 32    %388 = f2i32 %386
MESA: info:                 div 32    %389 = f2i32 %387
MESA: info:                 con 32    %390 = f2i32 %158
MESA: info:                 div 32x3  %391 = vec3 %388, %389, %390
MESA: info:                 con 32    %392 = @bindless_resource_ir3 (%89 (0x0)) (desc_set=2)
MESA: info:                 div 32x4  %393 = (float32)txf_ms %392 (texture_handle), %391 (coord), %162 (ms_index), 0 (texture)
MESA: info:                 div 32x4  %694 = mov %393.wzyx
MESA: info:                                  // succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32x4  %693 = phi b27: %684, b28: %694
MESA: info:             div 32x3  %696 = fmin %511, %693.wzy
MESA: info:             div 32    %406 = fmin %520.x, %693.x
MESA: info:             div 32x3  %698 = fmax %520.yzw, %693.wzy
MESA: info:             div 32    %410 = fmax %144, %693.x
MESA: info:             div 32x3  %700 = icsel_eqz %136.xxx, %693.wzy, %696
MESA: info:             div 32    %451 = icsel_eqz %136, %693.x, %406
MESA: info:             div 32x3  %702 = icsel_eqz %136.xxx, %693.wzy, %698
MESA: info:             div 32    %447 = icsel_eqz %136, %693.x, %410
MESA: info:             con 32    %419 = load_const (0x00000001)
MESA: info:             div 32    %420 = iadd %136, %419 (0x1)
MESA: info:             div 32    %421 = iadd %135, %419 (0x1)
MESA: info:             div 32x4  %521 = vec4 %451, %702.x, %702.y, %702.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         div 32    %710 = phi b12: %136
MESA: info:         div 32x3  %709 = phi b12: %511
MESA: info:         div 32x4  %708 = phi b12: %520
MESA: info:         div 32    %707 = phi b12: %144
MESA: info:         con 32    %422 = load_const (0x00000001)
MESA: info:         div 32    %423 = iadd %128, %422 (0x1)
MESA: info:         div 32x4  %492 = vec4 %710, %709.x, %709.y, %709.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:       // preds: b8
MESA: info:     div 32x4  %713 = phi b8: %490
MESA: info:     div 32x4  %712 = phi b8: %503
MESA: info:     div 32    %711 = phi b8: %127
MESA: info:     con 32x2  %703 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %704 = ishl %455.xx, %703 (0x5, 0x3)
MESA: info:     div 32    %705 = mov %704.x
MESA: info:     div 32    %706 = mov %704.y
MESA: info:     con 32    %426 = @bindless_resource_ir3 (%89 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %427 = vec4 %713.y, %713.z, %713.w, %712.x
MESA: info:                      @store_ssbo_ir3 (%427, %426, %705, %706) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %428 = load_const (0x00000010 = 16)
MESA: info:     div 32    %429 = iadd %704.x, %428 (0x10)
MESA: info:     div 32x4  %430 = vec4 %712.y, %712.z, %712.w, %711
MESA: info:     div 32    %438 = ushr %429, %91 (0x2)
MESA: info:                      @store_ssbo_ir3 (%430, %426, %429, %438) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 58057e33fa689f33c17073fb08601f6d333455cf:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0x3e800000, 0x3e000000
MESA: info: @const(c13.x)	0x3d800000, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l286
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l284
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: cmps.s.lt p0.x, c9.z, 0
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: (nop3) mul.f r4.w, (last)r4.w, c5.x
MESA: info: br !p0.x, #l255
MESA: info: cmps.s.eq p0.x, c9.z, -2
MESA: info: cmps.s.eq p0.y, c9.z, -4
MESA: info: cmps.s.eq p0.z, c9.z, -8
MESA: info: (nop2) cmps.s.eq p0.w, c9.z, -16
MESA: info: br !p0.x, #l102
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: mul.f r4.w, (last)r4.w, c10.y
MESA: info: cov.f32s32 r5.x, c9.x
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r5.y, (0x0)
MESA: info: isamm.a.base2 (f32)(xyzw)r5.y, r4.z, s#0, t#0
MESA: info: alias.tex.b32.0 r5.y, (0x1)
MESA: info: isamm.a.base2 (f32)(xyzw)r6.y, r4.z, s#0, t#0
MESA: info: (sy)(rpt3)add.f r5.y, (last)(r)r5.y, (last)(r)r6.y
MESA: info: (rpt3)mul.f r7.y, (0.5), (last)(r)r5.y
MESA: info: jump #l264
MESA: info: l102:
MESA: info: nop
MESA: info: br !p0.y, #l127
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: mul.f r4.w, (last)r4.w, c10.y
MESA: info: cov.f32s32 r8.y, c9.x
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r5.x, r8.y
MESA: info: alias.tex.b32.0 r5.y, (0x0)
MESA: info: isamm.a.base2 (f32)(xyzw)r8.z, r4.z, s#0, t#0
MESA: info: alias.tex.b32.1 r5.x, r8.y
MESA: info: alias.tex.b32.0 r5.y, (0x1)
MESA: info: isamm.a.base2 (f32)(xyzw)r9.z, r4.z, s#0, t#0
MESA: info: alias.tex.b32.1 r5.x, r8.y
MESA: info: alias.tex.b32.0 r5.y, (0x2)
MESA: info: isamm.a.base2 (f32)(xyzw)r10.z, r4.z, s#0, t#0
MESA: info: alias.tex.b32.1 r5.x, r8.y
MESA: info: alias.tex.b32.0 r5.y, (0x3)
MESA: info: isamm.a.base2 (f32)(xyzw)r11.z, r4.z, s#0, t#0
MESA: info: (sy)(rpt3)add.f r8.z, (last)(r)r8.z, (last)(r)r9.z
MESA: info: (rpt3)add.f r8.z, (last)(r)r8.z, (last)(r)r10.z
MESA: info: (rpt3)add.f r8.z, (last)(r)r8.z, (last)(r)r11.z
MESA: info: (rpt3)mul.f r7.y, c12.z, (last)(r)r8.z
MESA: info: jump #l264
MESA: info: l127:
MESA: info: nop
MESA: info: br !p0.z, #l169
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: mul.f r4.w, (last)r4.w, c10.y
MESA: info: cov.f32s32 r12.z, c9.x
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r5.x, r12.z
MESA: info: alias.tex.b32.0 r5.y, (0x0)
MESA: info: isamm.a.base2 (f32)(xyzw)r5.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.1 r5.x, r12.z
MESA: info: alias.tex.b32.0 r5.y, (0x1)
MESA: info: isamm.a.base2 (f32)(xyzw)r6.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.1 r5.x, r12.z
MESA: info: alias.tex.b32.0 r5.y, (0x2)
MESA: info: isamm.a.base2 (f32)(xyzw)r7.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.1 r5.x, r12.z
MESA: info: alias.tex.b32.0 r5.y, (0x3)
MESA: info: isamm.a.base2 (f32)(xyzw)r8.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.1 r5.x, r12.z
MESA: info: alias.tex.b32.0 r5.y, (0x4)
MESA: info: isamm.a.base2 (f32)(xyzw)r9.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.1 r5.x, r12.z
MESA: info: alias.tex.b32.0 r5.y, (0x5)
MESA: info: isamm.a.base2 (f32)(xyzw)r10.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.1 r5.x, r12.z
MESA: info: alias.tex.b32.0 r5.y, (0x6)
MESA: info: isamm.a.base2 (f32)(xyzw)r11.x, r4.z, s#0, t#0
MESA: info: (ss)nop
MESA: info: alias.tex.b32.1 r5.x, r12.z
MESA: info: alias.tex.b32.0 r5.y, (0x7)
MESA: info: isamm.a.base2 (f32)(xyzw)r12.x, r4.z, s#0, t#0
MESA: info: (sy)(rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r6.x
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r7.x
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r8.x
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r9.x
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r10.x
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r11.x
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r12.x
MESA: info: (rpt3)mul.f r7.y, c12.w, (last)(r)r5.x
MESA: info: jump #l264
MESA: info: l169:
MESA: info: nop
MESA: info: br !p0.w, #l245
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: mul.f r4.w, (last)r4.w, c10.y
MESA: info: cov.f32s32 r0.x, c9.x
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: mov.u32u32 r0.z, (last)r4.x
MESA: info: mov.u32u32 r3.w, (last)r4.y
MESA: info: (rpt2)nop
MESA: info: alias.tex.b32.1 r5.x, r0.x
MESA: info: alias.tex.b32.0 r5.y, (0x0)
MESA: info: isamm.a.base2 (f32)(xyzw)r5.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.1 r5.x, r0.x
MESA: info: alias.tex.b32.0 r5.y, (0x1)
MESA: info: isamm.a.base2 (f32)(xyzw)r6.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.1 r5.x, r0.x
MESA: info: alias.tex.b32.0 r5.y, (0x2)
MESA: info: isamm.a.base2 (f32)(xyzw)r7.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.1 r5.x, r0.x
MESA: info: alias.tex.b32.0 r5.y, (0x3)
MESA: info: isamm.a.base2 (f32)(xyzw)r8.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.1 r5.x, r0.x
MESA: info: alias.tex.b32.0 r5.y, (0x4)
MESA: info: isamm.a.base2 (f32)(xyzw)r9.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.1 r5.x, r0.x
MESA: info: alias.tex.b32.0 r5.y, (0x5)
MESA: info: isamm.a.base2 (f32)(xyzw)r10.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.1 r5.x, r0.x
MESA: info: alias.tex.b32.0 r5.y, (0x6)
MESA: info: isamm.a.base2 (f32)(xyzw)r11.x, r4.z, s#0, t#0
MESA: info: alias.tex.b32.1 r5.x, r0.x
MESA: info: alias.tex.b32.0 r5.y, (0x7)
MESA: info: isamm.a.base2 (f32)(xyzw)r12.x, r4.z, s#0, t#0
MESA: info: (sy)(rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r6.x
MESA: info: alias.tex.b32.1 r5.x, r0.x
MESA: info: alias.tex.b32.0 r5.y, (0x8)
MESA: info: isamm.a.base2 (f32)(xyzw)r6.x, r4.z, s#0, t#0
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r7.x
MESA: info: alias.tex.b32.1 r5.x, r0.x
MESA: info: alias.tex.b32.0 r5.y, (0x9)
MESA: info: isamm.a.base2 (f32)(xyzw)r7.x, r4.z, s#0, t#0
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r8.x
MESA: info: alias.tex.b32.1 r5.x, r0.x
MESA: info: alias.tex.b32.0 r5.y, (0xa)
MESA: info: isamm.a.base2 (f32)(xyzw)r8.x, r4.z, s#0, t#0
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r9.x
MESA: info: alias.tex.b32.1 r5.x, r0.x
MESA: info: alias.tex.b32.0 r5.y, (0xb)
MESA: info: isamm.a.base2 (f32)(xyzw)r9.x, r4.z, s#0, t#0
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r10.x
MESA: info: alias.tex.b32.1 r5.x, r0.x
MESA: info: alias.tex.b32.0 r5.y, (0xc)
MESA: info: isamm.a.base2 (f32)(xyzw)r10.x, r4.z, s#0, t#0
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r11.x
MESA: info: alias.tex.b32.1 r5.x, r0.x
MESA: info: alias.tex.b32.0 r5.y, (0xd)
MESA: info: isamm.a.base2 (f32)(xyzw)r11.x, r4.z, s#0, t#0
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r12.x
MESA: info: alias.tex.b32.1 r5.x, r0.x
MESA: info: alias.tex.b32.0 r5.y, (0xe)
MESA: info: isamm.a.base2 (f32)(xyzw)r12.x, r4.z, s#0, t#0
MESA: info: (ss)nop
MESA: info: alias.tex.b32.1 r5.x, r0.x
MESA: info: alias.tex.b32.0 r5.y, (0xf)
MESA: info: isamm.a.base2 (f32)(xyzw)r4.x, r4.z, s#0, t#0
MESA: info: (sy)(rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r6.x
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r7.x
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r8.x
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r9.x
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r10.x
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r11.x
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r12.x
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (r)r4.x
MESA: info: (rpt3)mul.f r7.y, c13.x, (last)(r)r5.x
MESA: info: jump #l251
MESA: info: l245:
MESA: info: mov.u32u32 r8.x, 0
MESA: info: mov.u32u32 r7.y, 0
MESA: info: mov.u32u32 r7.z, 0
MESA: info: mov.u32u32 r7.w, 0
MESA: info: mov.u32u32 r0.z, (last)r4.x
MESA: info: mov.u32u32 r3.w, (last)r4.y
MESA: info: l251:
MESA: info: nop
MESA: info: mov.u32u32 r4.x, (last)r0.z
MESA: info: mov.u32u32 r4.y, (last)r3.w
MESA: info: jump #l264
MESA: info: l255:
MESA: info: cov.f32s32 r0.x, c9.x
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: (nop1) mul.f r4.w, (last)r4.w, c10.y
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r5.x, r0.x
MESA: info: alias.tex.b32.0 r5.y, c9.z
MESA: info: isamm.a.base2 (f32)(xyzw)r7.y, r4.z, s#0, t#0
MESA: info: l264:
MESA: info: (rpt1)nop
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: (sy)min.f r1.z, (last)r1.z, r7.y
MESA: info: min.f r1.w, (last)r1.w, r7.z
MESA: info: min.f r2.x, (last)r2.x, r7.w
MESA: info: min.f r2.y, (last)r2.y, r8.x
MESA: info: max.f r2.z, (last)r2.z, r7.y
MESA: info: max.f r2.w, (last)r2.w, r7.z
MESA: info: max.f r3.x, (last)r3.x, r7.w
MESA: info: max.f r3.y, (last)r3.y, r8.x
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r7.y
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r7.z
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r7.w
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r8.x
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r7.y
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r7.z
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r7.w
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r8.x
MESA: info: add.u r1.y, (last)r1.y, 1
MESA: info: jump #l74
MESA: info: l284:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l286:
MESA: info: (jp)shl.b r0.y, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r0.y, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 81/1: 408 instr, 60 nops, 348 non-nops, 21 mov, 17 cov, 608 dwords
MESA: info: ; CL prog 81/1: 0 last-baryf, 0 last-helper, 0 half, 13 full, 16 constlen
MESA: info: ; CL prog 81/1: 75 cat0, 38 cat1, 190 cat2, 10 cat3, 0 cat4, 31 cat5, 2 cat6, 62 cat7
MESA: info: ; CL prog 81/1: 0 sstall, 4 (ss), 231 systall, 7 (sy), 2 loops
MESA: info: ; CL prog 81/1: 14 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xa496fc31, 0x522c494c, 0x0d5b34b2, 0x185df94c, 0x68c69caf, 0x2cfc039c, 0xe276a5d1, 0x37c368f0}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %495 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %576 = f2u32 %495
MESA: info:             con 32    %577 = mov %576.x
MESA: info:             con 32    %578 = mov %576.y
MESA: info:                              @store_const_ir3 (%577) (base=16)
MESA: info:                              @store_const_ir3 (%578) (base=17)
MESA: info:             con 32     %10 = frcp %495.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %495.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %498 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %583 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %584 = iand %498.xxxx, %583 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %592 = ieq %584, %2 (0x0).xxxx
MESA: info:             con 32x4  %593 = b2i32 %592
MESA: info:             con 32    %594 = mov %593.w
MESA: info:             con 32    %591 = mov %593.z
MESA: info:             con 32    %587 = mov %593.x
MESA: info:             con 32    %588 = mov %593.y
MESA: info:                              @store_const_ir3 (%587) (base=20)
MESA: info:                              @store_const_ir3 (%588) (base=21)
MESA: info:                              @store_const_ir3 (%591) (base=22)
MESA: info:                              @store_const_ir3 (%594) (base=23)
MESA: info:             con 32x2  %501 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %575 = fsub %501.y, %501.x
MESA: info:             con 32     %30 = frcp %575
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %35 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%35)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %96 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %97 = load_const (0x00000008)
MESA: info:     con 32     %98 = load_const (0x00000002)
MESA: info:     con 32x2  %103 = @load_const_ir3 (%96 (0x0)) (base=40)
MESA: info:     con 32    %104 = load_const (0x00000009)
MESA: info:     con 32    %106 = @load_const_ir3 (%96 (0x0)) (base=16)
MESA: info:     con 32    %108 = @load_const_ir3 (%96 (0x0)) (base=17)
MESA: info:     con 32x3  %109 = @load_workgroup_id
MESA: info:     con 32x3  %110 = @load_base_workgroup_id
MESA: info:     con 32x2  %595 = iadd %109.xy, %110.xy
MESA: info:     con 32    %113 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %596 = umul_low %595, %113 (0xa).xx
MESA: info:     con 32x2  %597 = imadsh_mix16 %113 (0xa).xx, %595, %596
MESA: info:     div 32x3  %116 = @load_local_invocation_id
MESA: info:     div 32x2  %598 = iadd %597, %116.xy
MESA: info:     con 32    %119 = load_const (0x00000006)
MESA: info:     div 32x2  %599 = ishl %598, %119 (0x6).xx
MESA: info:     div 32    %600 = mov %599.x
MESA: info:     div 32    %601 = mov %599.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b45
MESA: info:         div 32    %122 = phi b6: %601, b45: %492
MESA: info:         con 32    %123 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %602 = iadd %599.yx, %123 (0x40).xx
MESA: info:         div 32    %126 = umin %108, %602.x
MESA: info:         div 32    %127 = umin %106, %602.y
MESA: info:         div 1     %128 = uge %122, %126
MESA: info:                          // succs: b8 b9
MESA: info:         if %128 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b46
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b44
MESA: info:             div 32    %129 = phi b10: %600, b44: %490
MESA: info:             div 1     %130 = uge %129, %127
MESA: info:                              // succs: b12 b13
MESA: info:             if %130 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b45
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32    %131 = u2f32 %129
MESA: info:             div 32    %132 = u2f32 %122
MESA: info:             con 32    %134 = @load_const_ir3 (%96 (0x0)) (base=18)
MESA: info:             div 32    %135 = fmul %131, %134
MESA: info:             con 32    %137 = @load_const_ir3 (%96 (0x0)) (base=19)
MESA: info:             div 32    %138 = fmul %132, %137
MESA: info:             con 32    %143 = @load_const_ir3 (%96 (0x0)) (base=36)
MESA: info:             con 32    %147 = @load_const_ir3 (%96 (0x0)) (base=38)
MESA: info:             con 1     %148 = ilt %147, %96 (0x0)
MESA: info:                              // succs: b15 b28
MESA: info:             if %148 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 con 32x4  %610 = load_const (0xfffffffe, 0xfffffffc, 0xfffffff8, 0xfffffff0) = (-2, -4, -8, -16) = (4294967294, 4294967292, 4294967288, 4294967280)
MESA: info:                 con 1x4   %611 = ieq %147.xxxx, %610 (0xfffffffe, 0xfffffffc, 0xfffffff8, 0xfffffff0)
MESA: info:                 con 1     %612 = mov %611.w
MESA: info:                 con 1     %609 = mov %611.z
MESA: info:                 con 1     %605 = mov %611.x
MESA: info:                 con 1     %606 = mov %611.y
MESA: info:                                  // succs: b16 b17
MESA: info:                 if %605 {
MESA: info:                     div block b16:       // preds: b15
MESA: info:                     div 32    %157 = fmul %135, %103.x
MESA: info:                     div 32    %158 = fmul %138, %103.y
MESA: info:                     div 32    %159 = f2i32 %157
MESA: info:                     div 32    %160 = f2i32 %158
MESA: info:                     con 32    %161 = f2i32 %143
MESA: info:                     div 32x3  %162 = vec3 %159, %160, %161
MESA: info:                     con 32    %163 = @bindless_resource_ir3 (%96 (0x0)) (desc_set=2)
MESA: info:                     div 32x4  %164 = (float32)txf_ms %163 (texture_handle), %162 (coord), %96 (0x0) (ms_index), 0 (texture)
MESA: info:                     con 32    %165 = load_const (0x00000001)
MESA: info:                     div 32x4  %166 = (float32)txf_ms %163 (texture_handle), %162 (coord), %165 (0x1) (ms_index), 0 (texture)
MESA: info:                     div 32x4  %615 = fadd %164, %166
MESA: info:                     con 32    %171 = load_const (0x3f000000 = 0.500000)
MESA: info:                     div 32x4  %621 = fmul %171 (0.500000).xxxx, %615
MESA: info:                     div 32x4  %766 = mov %621.wzyx
MESA: info:                                      // succs: b27
MESA: info:                 } else {
MESA: info:                     div block b17:  // preds: b15, succs: b18 b19
MESA: info:                     if %606 {
MESA: info:                         div block b18:       // preds: b17
MESA: info:                         div 32    %176 = fmul %135, %103.x
MESA: info:                         div 32    %177 = fmul %138, %103.y
MESA: info:                         div 32    %178 = f2i32 %176
MESA: info:                         div 32    %179 = f2i32 %177
MESA: info:                         con 32    %180 = f2i32 %143
MESA: info:                         div 32x3  %181 = vec3 %178, %179, %180
MESA: info:                         con 32    %182 = @bindless_resource_ir3 (%96 (0x0)) (desc_set=2)
MESA: info:                         div 32x4  %183 = (float32)txf_ms %182 (texture_handle), %181 (coord), %96 (0x0) (ms_index), 0 (texture)
MESA: info:                         con 32    %184 = load_const (0x00000001)
MESA: info:                         div 32x4  %185 = (float32)txf_ms %182 (texture_handle), %181 (coord), %184 (0x1) (ms_index), 0 (texture)
MESA: info:                         div 32x4  %625 = fadd %183, %185
MESA: info:                         div 32x4  %190 = (float32)txf_ms %182 (texture_handle), %181 (coord), %98 (0x2) (ms_index), 0 (texture)
MESA: info:                         div 32x4  %628 = fadd %625, %190
MESA: info:                         con 32    %195 = load_const (0x00000003)
MESA: info:                         div 32x4  %196 = (float32)txf_ms %182 (texture_handle), %181 (coord), %195 (0x3) (ms_index), 0 (texture)
MESA: info:                         div 32x4  %631 = fadd %628, %196
MESA: info:                         con 32    %201 = load_const (0x3e800000 = 0.250000)
MESA: info:                         div 32x4  %637 = fmul %201 (0.250000).xxxx, %631
MESA: info:                         div 32x4  %754 = mov %637.wzyx
MESA: info:                                          // succs: b26
MESA: info:                     } else {
MESA: info:                         div block b19:       // preds: b17
MESA: info:                         con 32    %139 = load_const (0x00000004)
MESA: info:                                          // succs: b20 b21
MESA: info:                         if %609 {
MESA: info:                             div block b20:       // preds: b19
MESA: info:                             div 32    %206 = fmul %135, %103.x
MESA: info:                             div 32    %207 = fmul %138, %103.y
MESA: info:                             div 32    %208 = f2i32 %206
MESA: info:                             div 32    %209 = f2i32 %207
MESA: info:                             con 32    %210 = f2i32 %143
MESA: info:                             div 32x3  %211 = vec3 %208, %209, %210
MESA: info:                             con 32    %212 = @bindless_resource_ir3 (%96 (0x0)) (desc_set=2)
MESA: info:                             div 32x4  %213 = (float32)txf_ms %212 (texture_handle), %211 (coord), %96 (0x0) (ms_index), 0 (texture)
MESA: info:                             con 32    %214 = load_const (0x00000001)
MESA: info:                             div 32x4  %215 = (float32)txf_ms %212 (texture_handle), %211 (coord), %214 (0x1) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %641 = fadd %213, %215
MESA: info:                             div 32x4  %220 = (float32)txf_ms %212 (texture_handle), %211 (coord), %98 (0x2) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %644 = fadd %641, %220
MESA: info:                             con 32    %225 = load_const (0x00000003)
MESA: info:                             div 32x4  %226 = (float32)txf_ms %212 (texture_handle), %211 (coord), %225 (0x3) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %647 = fadd %644, %226
MESA: info:                             div 32x4  %231 = (float32)txf_ms %212 (texture_handle), %211 (coord), %139 (0x4) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %650 = fadd %647, %231
MESA: info:                             con 32    %236 = load_const (0x00000005)
MESA: info:                             div 32x4  %237 = (float32)txf_ms %212 (texture_handle), %211 (coord), %236 (0x5) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %653 = fadd %650, %237
MESA: info:                             div 32x4  %242 = (float32)txf_ms %212 (texture_handle), %211 (coord), %119 (0x6) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %656 = fadd %653, %242
MESA: info:                             con 32    %247 = load_const (0x00000007)
MESA: info:                             div 32x4  %248 = (float32)txf_ms %212 (texture_handle), %211 (coord), %247 (0x7) (ms_index), 0 (texture)
MESA: info:                             div 32x4  %659 = fadd %656, %248
MESA: info:                             con 32    %253 = load_const (0x3e000000 = 0.125000)
MESA: info:                             div 32x4  %665 = fmul %253 (0.125000).xxxx, %659
MESA: info:                             div 32x4  %742 = mov %665.wzyx
MESA: info:                                              // succs: b25
MESA: info:                         } else {
MESA: info:                             div block b21:  // preds: b19, succs: b22 b23
MESA: info:                             if %612 {
MESA: info:                                 div block b22:       // preds: b21
MESA: info:                                 div 32    %258 = fmul %135, %103.x
MESA: info:                                 div 32    %259 = fmul %138, %103.y
MESA: info:                                 div 32    %260 = f2i32 %258
MESA: info:                                 div 32    %261 = f2i32 %259
MESA: info:                                 con 32    %262 = f2i32 %143
MESA: info:                                 div 32x3  %263 = vec3 %260, %261, %262
MESA: info:                                 con 32    %264 = @bindless_resource_ir3 (%96 (0x0)) (desc_set=2)
MESA: info:                                 div 32x4  %265 = (float32)txf_ms %264 (texture_handle), %263 (coord), %96 (0x0) (ms_index), 0 (texture)
MESA: info:                                 con 32    %266 = load_const (0x00000001)
MESA: info:                                 div 32x4  %267 = (float32)txf_ms %264 (texture_handle), %263 (coord), %266 (0x1) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %669 = fadd %265, %267
MESA: info:                                 div 32x4  %272 = (float32)txf_ms %264 (texture_handle), %263 (coord), %98 (0x2) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %672 = fadd %669, %272
MESA: info:                                 con 32    %277 = load_const (0x00000003)
MESA: info:                                 div 32x4  %278 = (float32)txf_ms %264 (texture_handle), %263 (coord), %277 (0x3) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %675 = fadd %672, %278
MESA: info:                                 div 32x4  %283 = (float32)txf_ms %264 (texture_handle), %263 (coord), %139 (0x4) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %678 = fadd %675, %283
MESA: info:                                 con 32    %288 = load_const (0x00000005)
MESA: info:                                 div 32x4  %289 = (float32)txf_ms %264 (texture_handle), %263 (coord), %288 (0x5) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %681 = fadd %678, %289
MESA: info:                                 div 32x4  %294 = (float32)txf_ms %264 (texture_handle), %263 (coord), %119 (0x6) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %684 = fadd %681, %294
MESA: info:                                 con 32    %299 = load_const (0x00000007)
MESA: info:                                 div 32x4  %300 = (float32)txf_ms %264 (texture_handle), %263 (coord), %299 (0x7) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %687 = fadd %684, %300
MESA: info:                                 div 32x4  %305 = (float32)txf_ms %264 (texture_handle), %263 (coord), %97 (0x8) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %690 = fadd %687, %305
MESA: info:                                 div 32x4  %310 = (float32)txf_ms %264 (texture_handle), %263 (coord), %104 (0x9) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %693 = fadd %690, %310
MESA: info:                                 div 32x4  %315 = (float32)txf_ms %264 (texture_handle), %263 (coord), %113 (0xa) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %696 = fadd %693, %315
MESA: info:                                 con 32    %320 = load_const (0x0000000b = 11)
MESA: info:                                 div 32x4  %321 = (float32)txf_ms %264 (texture_handle), %263 (coord), %320 (0xb) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %699 = fadd %696, %321
MESA: info:                                 con 32    %326 = load_const (0x0000000c = 12)
MESA: info:                                 div 32x4  %327 = (float32)txf_ms %264 (texture_handle), %263 (coord), %326 (0xc) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %702 = fadd %699, %327
MESA: info:                                 con 32    %332 = load_const (0x0000000d = 13)
MESA: info:                                 div 32x4  %333 = (float32)txf_ms %264 (texture_handle), %263 (coord), %332 (0xd) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %705 = fadd %702, %333
MESA: info:                                 con 32    %338 = load_const (0x0000000e = 14)
MESA: info:                                 div 32x4  %339 = (float32)txf_ms %264 (texture_handle), %263 (coord), %338 (0xe) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %708 = fadd %705, %339
MESA: info:                                 con 32    %344 = load_const (0x0000000f = 15)
MESA: info:                                 div 32x4  %345 = (float32)txf_ms %264 (texture_handle), %263 (coord), %344 (0xf) (ms_index), 0 (texture)
MESA: info:                                 div 32x4  %711 = fadd %708, %345
MESA: info:                                 con 32    %350 = load_const (0x3d800000 = 0.062500)
MESA: info:                                 div 32x4  %717 = fmul %350 (0.062500).xxxx, %711
MESA: info:                                 div 32x4  %729 = mov %717.wzyx
MESA: info:                                                  // succs: b24
MESA: info:                             } else {
MESA: info:                                 div block b23:       // preds: b21
MESA: info:                                 con 32x4  %730 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                                                  // succs: b24
MESA: info:                             }
MESA: info:                             div block b24:       // preds: b22 b23
MESA: info:                             div 32x4  %728 = phi b22: %729, b23: %730 (0x0, 0x0, 0x0, 0x0)
MESA: info:                                              // succs: b25
MESA: info:                         }
MESA: info:                         div block b25:       // preds: b20 b24
MESA: info:                         div 32x4  %741 = phi b20: %742, b24: %728
MESA: info:                                          // succs: b26
MESA: info:                     }
MESA: info:                     div block b26:       // preds: b18 b25
MESA: info:                     div 32x4  %753 = phi b18: %754, b25: %741
MESA: info:                                      // succs: b27
MESA: info:                 }
MESA: info:                 div block b27:       // preds: b16 b26
MESA: info:                 div 32x4  %765 = phi b16: %766, b26: %753
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:       // preds: b14
MESA: info:                 div 32    %371 = fmul %135, %103.x
MESA: info:                 div 32    %372 = fmul %138, %103.y
MESA: info:                 div 32    %373 = f2i32 %371
MESA: info:                 div 32    %374 = f2i32 %372
MESA: info:                 con 32    %375 = f2i32 %143
MESA: info:                 div 32x3  %376 = vec3 %373, %374, %375
MESA: info:                 con 32    %377 = @bindless_resource_ir3 (%96 (0x0)) (desc_set=2)
MESA: info:                 div 32x4  %378 = (float32)txf_ms %377 (texture_handle), %376 (coord), %147 (ms_index), 0 (texture)
MESA: info:                 div 32x4  %775 = mov %378.wzyx
MESA: info:                                  // succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32x4  %774 = phi b27: %765, b28: %775
MESA: info:             con 32    %389 = @load_const_ir3 (%96 (0x0)) (base=32)
MESA: info:             con 32    %392 = @load_const_ir3 (%96 (0x0)) (base=20)
MESA: info:             con 32    %396 = @load_const_ir3 (%96 (0x0)) (base=21)
MESA: info:             con 32    %400 = @load_const_ir3 (%96 (0x0)) (base=22)
MESA: info:             con 32    %404 = @load_const_ir3 (%96 (0x0)) (base=23)
MESA: info:             con 32    %409 = @load_const_ir3 (%96 (0x0)) (base=34)
MESA: info:             con 32    %410 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32    %411 = fadd %409, %410 (1.000000)
MESA: info:             div 32    %553 = icsel_eqz %392, %774.w, %411
MESA: info:             div 32    %552 = icsel_eqz %396, %774.z, %411
MESA: info:             div 32    %551 = icsel_eqz %400, %774.y, %411
MESA: info:             div 32    %550 = icsel_eqz %404, %774.x, %411
MESA: info:             con 1     %431 = ine %389, %96 (0x0)
MESA: info:                              // succs: b30 b31
MESA: info:             if %431 {
MESA: info:                 div block b30:       // preds: b29
MESA: info:                 con 32x2  %434 = @load_const_ir3 (%96 (0x0)) (base=33)
MESA: info:                 div 32    %574 = fsub %553, %434.x
MESA: info:                 div 32    %573 = fsub %552, %434.x
MESA: info:                 div 32    %572 = fsub %551, %434.x
MESA: info:                 div 32    %571 = fsub %550, %434.x
MESA: info:                 con 32    %441 = @load_const_ir3 (%96 (0x0)) (base=24)
MESA: info:                 div 32    %442 = fmul %574, %441
MESA: info:                 div 32    %443 = fmul %573, %441
MESA: info:                 div 32    %444 = fmul %572, %441
MESA: info:                 div 32    %445 = fmul %571, %441
MESA: info:                 div 1     %446 = flt! %442, %96 (0.000000)
MESA: info:                 div 1     %447 = flt! %443, %96 (0.000000)
MESA: info:                 div 1     %448 = flt! %444, %96 (0.000000)
MESA: info:                 div 1     %449 = flt! %445, %96 (0.000000)
MESA: info:                 con 32    %450 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %451 = fmul %442, %450 (256.000000)
MESA: info:                 con 32    %452 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %453 = bcsel %446, %452 (0x44000000), %451
MESA: info:                 div 32    %454 = fmul %443, %450 (256.000000)
MESA: info:                 div 32    %455 = bcsel %447, %452 (0x44000000), %454
MESA: info:                 div 32    %456 = fmul %444, %450 (256.000000)
MESA: info:                 div 32    %457 = bcsel %448, %452 (0x44000000), %456
MESA: info:                 div 32    %458 = fmul %445, %450 (256.000000)
MESA: info:                 div 32    %459 = bcsel %449, %452 (0x44000000), %458
MESA: info:                 div 32    %460 = ffloor %453
MESA: info:                 div 32    %461 = ffloor %455
MESA: info:                 div 32    %462 = ffloor %457
MESA: info:                 div 32    %463 = ffloor %459
MESA: info:                 div 32    %464 = f2u32 %460
MESA: info:                 div 32    %465 = f2u32 %461
MESA: info:                 div 32    %466 = f2u32 %462
MESA: info:                 div 32    %467 = f2u32 %463
MESA: info:                                  // succs: b32
MESA: info:             } else {
MESA: info:                 div block b31:       // preds: b29
MESA: info:                 con 32    %468 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b32
MESA: info:             }
MESA: info:             div block b32:       // preds: b30 b31
MESA: info:             div 32    %469 = phi b30: %467, b31: %468 (0x101)
MESA: info:             div 32    %470 = phi b30: %466, b31: %468 (0x101)
MESA: info:             div 32    %471 = phi b30: %465, b31: %468 (0x101)
MESA: info:             div 32    %472 = phi b30: %464, b31: %468 (0x101)
MESA: info:             con 32    %390 = load_const (0x00000001)
MESA: info:             con 32    %473 = load_const (0x00000100 = 256)
MESA: info:             div 1     %474 = ult %472, %473 (0x100)
MESA: info:                              // succs: b33 b34
MESA: info:             if %474 {
MESA: info:                 div block b33:       // preds: b32
MESA: info:                 div 32    %475 = ishl %472, %98 (0x2)
MESA: info:                 con 32    %476 = @bindless_resource_ir3 (%96 (0x0)) (desc_set=3)
MESA: info:                 div 32    %505 = @ssbo_atomic_ir3 (%476, %475, %390 (0x1), %472) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b35
MESA: info:             } else {
MESA: info:                 div block b34:  // preds: b32, succs: b35
MESA: info:             }
MESA: info:             div block b35:       // preds: b33 b34
MESA: info:             div 1     %478 = ult %471, %473 (0x100)
MESA: info:                              // succs: b36 b37
MESA: info:             if %478 {
MESA: info:                 div block b36:       // preds: b35
MESA: info:                 div 32    %479 = ishl %471, %98 (0x2)
MESA: info:                 con 32    %480 = @bindless_resource_ir3 (%96 (0x0)) (desc_set=3)
MESA: info:                 div 32    %509 = @ssbo_atomic_ir3 (%480, %479, %390 (0x1), %471) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b38
MESA: info:             } else {
MESA: info:                 div block b37:  // preds: b35, succs: b38
MESA: info:             }
MESA: info:             div block b38:       // preds: b36 b37
MESA: info:             div 1     %482 = ult %470, %473 (0x100)
MESA: info:                              // succs: b39 b40
MESA: info:             if %482 {
MESA: info:                 div block b39:       // preds: b38
MESA: info:                 div 32    %483 = ishl %470, %98 (0x2)
MESA: info:                 con 32    %484 = @bindless_resource_ir3 (%96 (0x0)) (desc_set=3)
MESA: info:                 div 32    %513 = @ssbo_atomic_ir3 (%484, %483, %390 (0x1), %470) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b41
MESA: info:             } else {
MESA: info:                 div block b40:  // preds: b38, succs: b41
MESA: info:             }
MESA: info:             div block b41:       // preds: b39 b40
MESA: info:             div 1     %486 = ult %469, %473 (0x100)
MESA: info:                              // succs: b42 b43
MESA: info:             if %486 {
MESA: info:                 div block b42:       // preds: b41
MESA: info:                 div 32    %487 = ishl %469, %98 (0x2)
MESA: info:                 con 32    %488 = @bindless_resource_ir3 (%96 (0x0)) (desc_set=3)
MESA: info:                 div 32    %517 = @ssbo_atomic_ir3 (%488, %487, %390 (0x1), %469) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b44
MESA: info:             } else {
MESA: info:                 div block b43:  // preds: b41, succs: b44
MESA: info:             }
MESA: info:             div block b44:       // preds: b42 b43
MESA: info:             div 32    %490 = iadd %129, %390 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b45:       // preds: b12
MESA: info:         con 32    %491 = load_const (0x00000001)
MESA: info:         div 32    %492 = iadd %122, %491 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b46:  // preds: b8, succs: b47
MESA: info:     block b47:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 3d9e3f4fb79afcffd08430da7a0dff529c219341:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x3e800000, 0x3e000000, 0x3d800000
MESA: info: @const(c13.x)	0x43800000, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l36
MESA: info: getone #l36
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.z, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.x, r48.w
MESA: info: cov.f32u32 r50.y, r49.x
MESA: info: add.f r49.w, r49.w, (neg)r49.z
MESA: info: and.b r50.z, r49.y, 1
MESA: info: and.b r51.x, r49.y, 2
MESA: info: and.b r51.z, r49.y, 4
MESA: info: and.b r51.w, r49.y, 8
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r49.w, r49.w
MESA: info: cmps.s.eq hr53.x, r50.z, 0
MESA: info: cmps.s.eq hr54.x, r51.x, 0
MESA: info: cov.u16s32 r50.w, hr53.x
MESA: info: cov.u16s32 r51.y, hr54.x
MESA: info: stc.u32 c[16], r50.x, 1
MESA: info: stc.u32 c[17], r50.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.z, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[24], r49.w, 1
MESA: info: stc.u32 c[20], r50.w, 1
MESA: info: stc.u32 c[21], r51.y, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l36:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l54:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l327
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l62:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l325
MESA: info: (sy)cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: cmps.s.lt p0.y, c9.z, 0
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: (nop3) mul.f r2.y, (last)r2.y, c4.w
MESA: info: br !p0.y, #l234
MESA: info: cmps.s.eq p0.y, c9.z, -2
MESA: info: cmps.s.eq p0.z, c9.z, -4
MESA: info: cmps.s.eq p0.w, c9.z, -8
MESA: info: (nop2) cmps.s.eq p0.x, c9.z, -16
MESA: info: br !p0.y, #l90
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: cov.f32s32 r2.z, c9.x
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r2.w, (0x0)
MESA: info: isamm.a.base2 (f32)(xyzw)r2.w, r2.x, s#0, t#0
MESA: info: alias.tex.b32.0 r2.w, (0x1)
MESA: info: isamm.a.base2 (f32)(xyzw)r3.w, r2.x, s#0, t#0
MESA: info: (sy)(rpt3)add.f r2.w, (last)(r)r2.w, (last)(r)r3.w
MESA: info: (rpt3)mul.f r4.w, (0.5), (last)(r)r2.w
MESA: info: jump #l243
MESA: info: l90:
MESA: info: nop
MESA: info: br !p0.z, #l115
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: cov.f32s32 r5.w, c9.x
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r2.z, r5.w
MESA: info: alias.tex.b32.0 r2.w, (0x0)
MESA: info: isamm.a.base2 (f32)(xyzw)r6.x, r2.x, s#0, t#0
MESA: info: alias.tex.b32.1 r2.z, r5.w
MESA: info: alias.tex.b32.0 r2.w, (0x1)
MESA: info: isamm.a.base2 (f32)(xyzw)r7.x, r2.x, s#0, t#0
MESA: info: alias.tex.b32.1 r2.z, r5.w
MESA: info: alias.tex.b32.0 r2.w, (0x2)
MESA: info: isamm.a.base2 (f32)(xyzw)r8.x, r2.x, s#0, t#0
MESA: info: alias.tex.b32.1 r2.z, r5.w
MESA: info: alias.tex.b32.0 r2.w, (0x3)
MESA: info: isamm.a.base2 (f32)(xyzw)r9.x, r2.x, s#0, t#0
MESA: info: (sy)(rpt3)add.f r6.x, (last)(r)r6.x, (last)(r)r7.x
MESA: info: (rpt3)add.f r6.x, (last)(r)r6.x, (last)(r)r8.x
MESA: info: (rpt3)add.f r6.x, (last)(r)r6.x, (last)(r)r9.x
MESA: info: (rpt3)mul.f r4.w, c12.y, (last)(r)r6.x
MESA: info: jump #l243
MESA: info: l115:
MESA: info: nop
MESA: info: br !p0.w, #l156
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: cov.f32s32 r10.x, c9.x
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r2.z, r10.x
MESA: info: alias.tex.b32.0 r2.w, (0x0)
MESA: info: isamm.a.base2 (f32)(xyzw)r10.y, r2.x, s#0, t#0
MESA: info: alias.tex.b32.1 r2.z, r10.x
MESA: info: alias.tex.b32.0 r2.w, (0x1)
MESA: info: isamm.a.base2 (f32)(xyzw)r2.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.1 r2.z, r10.x
MESA: info: alias.tex.b32.0 r2.w, (0x2)
MESA: info: isamm.a.base2 (f32)(xyzw)r3.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.1 r2.z, r10.x
MESA: info: alias.tex.b32.0 r2.w, (0x3)
MESA: info: isamm.a.base2 (f32)(xyzw)r4.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.1 r2.z, r10.x
MESA: info: alias.tex.b32.0 r2.w, (0x4)
MESA: info: isamm.a.base2 (f32)(xyzw)r5.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.1 r2.z, r10.x
MESA: info: alias.tex.b32.0 r2.w, (0x5)
MESA: info: isamm.a.base2 (f32)(xyzw)r6.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.1 r2.z, r10.x
MESA: info: alias.tex.b32.0 r2.w, (0x6)
MESA: info: isamm.a.base2 (f32)(xyzw)r7.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.1 r2.z, r10.x
MESA: info: alias.tex.b32.0 r2.w, (0x7)
MESA: info: isamm.a.base2 (f32)(xyzw)r8.z, r2.x, s#0, t#0
MESA: info: (sy)(rpt3)add.f r10.y, (last)(r)r10.y, (last)(r)r2.z
MESA: info: (rpt3)add.f r10.y, (last)(r)r10.y, (last)(r)r3.z
MESA: info: (rpt3)add.f r10.y, (last)(r)r10.y, (last)(r)r4.z
MESA: info: (rpt3)add.f r10.y, (last)(r)r10.y, (last)(r)r5.z
MESA: info: (rpt3)add.f r10.y, (last)(r)r10.y, (last)(r)r6.z
MESA: info: (rpt3)add.f r10.y, (last)(r)r10.y, (last)(r)r7.z
MESA: info: (rpt3)add.f r10.y, (last)(r)r10.y, (last)(r)r8.z
MESA: info: (rpt3)mul.f r4.w, c12.z, (last)(r)r10.y
MESA: info: jump #l243
MESA: info: l156:
MESA: info: nop
MESA: info: br !p0.x, #l229
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: cov.f32s32 r9.z, c9.x
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r2.z, r9.z
MESA: info: alias.tex.b32.0 r2.w, (0x0)
MESA: info: isamm.a.base2 (f32)(xyzw)r9.w, r2.x, s#0, t#0
MESA: info: alias.tex.b32.1 r2.z, r9.z
MESA: info: alias.tex.b32.0 r2.w, (0x1)
MESA: info: isamm.a.base2 (f32)(xyzw)r10.w, r2.x, s#0, t#0
MESA: info: alias.tex.b32.1 r2.z, r9.z
MESA: info: alias.tex.b32.0 r2.w, (0x2)
MESA: info: isamm.a.base2 (f32)(xyzw)r2.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.1 r2.z, r9.z
MESA: info: alias.tex.b32.0 r2.w, (0x3)
MESA: info: isamm.a.base2 (f32)(xyzw)r3.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.1 r2.z, r9.z
MESA: info: alias.tex.b32.0 r2.w, (0x4)
MESA: info: isamm.a.base2 (f32)(xyzw)r4.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.1 r2.z, r9.z
MESA: info: alias.tex.b32.0 r2.w, (0x5)
MESA: info: isamm.a.base2 (f32)(xyzw)r5.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.1 r2.z, r9.z
MESA: info: alias.tex.b32.0 r2.w, (0x6)
MESA: info: isamm.a.base2 (f32)(xyzw)r6.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.1 r2.z, r9.z
MESA: info: alias.tex.b32.0 r2.w, (0x7)
MESA: info: isamm.a.base2 (f32)(xyzw)r7.z, r2.x, s#0, t#0
MESA: info: alias.tex.b32.1 r2.z, r9.z
MESA: info: alias.tex.b32.0 r2.w, (0x8)
MESA: info: isamm.a.base2 (f32)(xyzw)r8.z, r2.x, s#0, t#0
MESA: info: (sy)(rpt3)add.f r9.w, (last)(r)r9.w, (last)(r)r10.w
MESA: info: alias.tex.b32.1 r2.z, r9.z
MESA: info: alias.tex.b32.0 r2.w, (0x9)
MESA: info: isamm.a.base2 (f32)(xyzw)r10.w, r2.x, s#0, t#0
MESA: info: (rpt3)add.f r9.w, (last)(r)r9.w, (last)(r)r2.z
MESA: info: alias.tex.b32.1 r2.z, r9.z
MESA: info: alias.tex.b32.0 r2.w, (0xa)
MESA: info: isamm.a.base2 (f32)(xyzw)r2.z, r2.x, s#0, t#0
MESA: info: (rpt3)add.f r9.w, (last)(r)r9.w, (last)(r)r3.z
MESA: info: alias.tex.b32.1 r2.z, r9.z
MESA: info: alias.tex.b32.0 r2.w, (0xb)
MESA: info: isamm.a.base2 (f32)(xyzw)r3.z, r2.x, s#0, t#0
MESA: info: (rpt3)add.f r9.w, (last)(r)r9.w, (last)(r)r4.z
MESA: info: alias.tex.b32.1 r2.z, r9.z
MESA: info: alias.tex.b32.0 r2.w, (0xc)
MESA: info: isamm.a.base2 (f32)(xyzw)r4.z, r2.x, s#0, t#0
MESA: info: (rpt3)add.f r9.w, (last)(r)r9.w, (last)(r)r5.z
MESA: info: alias.tex.b32.1 r2.z, r9.z
MESA: info: alias.tex.b32.0 r2.w, (0xd)
MESA: info: isamm.a.base2 (f32)(xyzw)r5.z, r2.x, s#0, t#0
MESA: info: (rpt3)add.f r9.w, (last)(r)r9.w, (last)(r)r6.z
MESA: info: alias.tex.b32.1 r2.z, r9.z
MESA: info: alias.tex.b32.0 r2.w, (0xe)
MESA: info: isamm.a.base2 (f32)(xyzw)r6.z, r2.x, s#0, t#0
MESA: info: (rpt3)add.f r9.w, (last)(r)r9.w, (last)(r)r7.z
MESA: info: alias.tex.b32.1 r2.z, r9.z
MESA: info: alias.tex.b32.0 r2.w, (0xf)
MESA: info: isamm.a.base2 (f32)(xyzw)r7.z, r2.x, s#0, t#0
MESA: info: (rpt3)add.f r9.w, (last)(r)r9.w, (last)(r)r8.z
MESA: info: (sy)(rpt3)add.f r9.w, (last)(r)r9.w, (last)(r)r10.w
MESA: info: (rpt3)add.f r9.w, (last)(r)r9.w, (last)(r)r2.z
MESA: info: (rpt3)add.f r9.w, (last)(r)r9.w, (last)(r)r3.z
MESA: info: (rpt3)add.f r9.w, (last)(r)r9.w, (last)(r)r4.z
MESA: info: (rpt3)add.f r9.w, (last)(r)r9.w, (last)(r)r5.z
MESA: info: (rpt3)add.f r9.w, (last)(r)r9.w, (last)(r)r6.z
MESA: info: (rpt3)add.f r9.w, (last)(r)r9.w, (last)(r)r7.z
MESA: info: (rpt3)mul.f r4.w, c12.w, (last)(r)r9.w
MESA: info: jump #l243
MESA: info: l229:
MESA: info: mov.u32u32 r5.z, 0
MESA: info: mov.u32u32 r4.w, 0
MESA: info: mov.u32u32 r5.x, 0
MESA: info: mov.u32u32 r5.y, 0
MESA: info: jump #l243
MESA: info: l234:
MESA: info: cov.f32s32 r8.z, c9.x
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: (nop1) mul.f r2.y, (last)r2.y, c10.y
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r2.z, r8.z
MESA: info: alias.tex.b32.0 r2.w, c9.z
MESA: info: isamm.a.base2 (f32)(xyzw)r4.w, r2.x, s#0, t#0
MESA: info: l243:
MESA: info: add.f r50.x, c8.z, (1.0)
MESA: info: mov.f32f32 r8.w, c5.x
MESA: info: mov.f32f32 r9.x, c5.y
MESA: info: mov.f32f32 r9.y, c5.z
MESA: info: mov.f32f32 r9.z, c5.w
MESA: info: cmps.s.ne p0.y, c8.x, 0
MESA: info: (sy)(ss)sel.b32 r8.w, r50.x, r8.w, (last)r4.w
MESA: info: sel.b32 r9.x, r50.x, r9.x, (last)r5.x
MESA: info: sel.b32 r9.y, r50.x, r9.y, (last)r5.y
MESA: info: (nop1) sel.b32 r9.z, r50.x, r9.z, (last)r5.z
MESA: info: br !p0.y, #l283
MESA: info: add.f r8.w, (last)r8.w, (neg)c8.y
MESA: info: add.f r9.x, (last)r9.x, (neg)c8.y
MESA: info: add.f r9.y, (last)r9.y, (neg)c8.y
MESA: info: add.f r9.z, (last)r9.z, (neg)c8.y
MESA: info: mul.f r8.w, (last)r8.w, c6.x
MESA: info: mul.f r9.x, (last)r9.x, c6.x
MESA: info: mul.f r9.y, (last)r9.y, c6.x
MESA: info: mul.f r9.z, (last)r9.z, c6.x
MESA: info: cmps.f.lt r9.w, r8.w, (0.0)
MESA: info: cmps.f.lt r10.x, r9.x, (0.0)
MESA: info: cmps.f.lt r10.y, r9.y, (0.0)
MESA: info: cmps.f.lt r10.z, r9.z, (0.0)
MESA: info: mul.f r8.w, (last)r8.w, c13.x
MESA: info: mul.f r9.x, (last)r9.x, c13.x
MESA: info: mul.f r9.y, (last)r9.y, c13.x
MESA: info: mul.f r9.z, (last)r9.z, c13.x
MESA: info: sel.b32 r9.w, c12.x, r9.w, (last)r8.w
MESA: info: sel.b32 r10.x, c12.x, r10.x, (last)r9.x
MESA: info: sel.b32 r10.y, c12.x, r10.y, (last)r9.y
MESA: info: sel.b32 r10.z, c12.x, r10.z, (last)r9.z
MESA: info: floor.f r9.w, (last)r9.w
MESA: info: floor.f r10.x, (last)r10.x
MESA: info: floor.f r10.y, (last)r10.y
MESA: info: floor.f r10.z, (last)r10.z
MESA: info: cov.f32u32 r9.w, (last)r9.w
MESA: info: cov.f32u32 r10.x, (last)r10.x
MESA: info: cov.f32u32 r10.y, (last)r10.y
MESA: info: cov.f32u32 r10.z, (last)r10.z
MESA: info: jump #l287
MESA: info: l283:
MESA: info: mov.u32u32 r10.z, 257
MESA: info: mov.u32u32 r9.w, 257
MESA: info: mov.u32u32 r10.x, 257
MESA: info: mov.u32u32 r10.y, 257
MESA: info: l287:
MESA: info: (nop3) cmps.u.lt p0.x, r9.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r10.w, 0
MESA: info: mov.u32u32 r11.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r10.w, r9.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r10.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r11.y, 0
MESA: info: mov.u32u32 r11.z, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r11.y, r10.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r10.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r2.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r2.x, r10.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r10.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r2.z, 0
MESA: info: mov.u32u32 r2.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r2.z, r10.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l62
MESA: info: l325:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l54
MESA: info: l327:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 82/1: 480 instr, 119 nops, 361 non-nops, 23 mov, 21 cov, 672 dwords
MESA: info: ; CL prog 82/1: 0 last-baryf, 0 last-helper, 0 half, 12 full, 16 constlen
MESA: info: ; CL prog 82/1: 144 cat0, 44 cat1, 187 cat2, 8 cat3, 0 cat4, 31 cat5, 4 cat6, 62 cat7
MESA: info: ; CL prog 82/1: 6 sstall, 3 (ss), 224 systall, 8 (sy), 2 loops
MESA: info: ; CL prog 82/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 38 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xddc42083, 0xe8d8613a, 0x78595800, 0x13fb0d97, 0x3ab6c297, 0xaf9c6f8d, 0xc2dc0f49, 0xe4204252}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %145 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %139 = @load_ubo_vec4 (%4, %145 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %177 = f2u32 %139
MESA: info:             con 32    %178 = mov %177.x
MESA: info:             con 32    %179 = mov %177.y
MESA: info:                              @store_const_ir3 (%178) (base=16)
MESA: info:                              @store_const_ir3 (%179) (base=17)
MESA: info:             con 32      %8 = u2f32 %177.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %139.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %139.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%19)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%21)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %24 = @load_local_invocation_id
MESA: info:     con 32x3   %25 = @load_workgroup_id
MESA: info:     con 32x3   %26 = @load_base_workgroup_id
MESA: info:     con 32x2  %180 = iadd %25.xy, %26.xy
MESA: info:     con 32     %29 = load_const (0x00000000)
MESA: info:     con 32x2   %34 = @load_const_ir3 (%29 (0x0)) (base=40)
MESA: info:     con 32     %36 = @load_const_ir3 (%29 (0x0)) (base=16)
MESA: info:     con 32     %38 = @load_const_ir3 (%29 (0x0)) (base=17)
MESA: info:     con 32     %39 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %181 = umul_low %180, %39 (0xa).xx
MESA: info:     con 32x2  %182 = imadsh_mix16 %39 (0xa).xx, %180, %181
MESA: info:     div 32x2  %183 = iadd %182, %24.xy
MESA: info:     con 32     %44 = load_const (0x00000006)
MESA: info:     div 32x2  %184 = ishl %183, %44 (0x6).xx
MESA: info:     div 32    %185 = mov %184.x
MESA: info:     div 32    %186 = mov %184.y
MESA: info:     div 32    %168 = umul_low %24.y, %39 (0xa)
MESA: info:     div 32    %170 = imadsh_mix16 %39 (0xa), %24.y, %168
MESA: info:     con 32     %50 = @load_const_ir3 (%29 (0x0)) (base=18)
MESA: info:     con 32    %165 = umul_low %180.y, %50
MESA: info:     con 32    %166 = imadsh_mix16 %180.y, %50, %165
MESA: info:     con 32    %167 = imadsh_mix16 %50, %180.y, %166
MESA: info:     con 32     %52 = iadd %167, %180.x
MESA: info:     con 32     %53 = load_const (0x00000064 = 100)
MESA: info:     con 32    %162 = umul_low %52, %53 (0x64)
MESA: info:     con 32    %164 = imadsh_mix16 %53 (0x64), %52, %162
MESA: info:     div 32    %161 = iadd3 %170, %24.x, %164
MESA: info:     con 32x4  %197 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %210 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %196 = phi b6: %197 (0x0, 0x0, 0x0, 0x0), b15: %198
MESA: info:         div 32x4  %209 = phi b6: %210 (0x0, 0x0, 0x0, 0x0), b15: %241
MESA: info:         div 32     %64 = phi b6: %29 (0x0), b15: %240
MESA: info:         div 32     %65 = phi b6: %186, b15: %129
MESA: info:         div 32x3  %218 = mov %196.yzw
MESA: info:         div 32    %190 = mov %196.x
MESA: info:         con 32     %66 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %213 = iadd %184.yx, %66 (0x40).xx
MESA: info:         div 32     %69 = umin %38, %213.x
MESA: info:         div 32     %70 = umin %36, %213.y
MESA: info:         div 1      %71 = uge %65, %69
MESA: info:                          // succs: b8 b9
MESA: info:         if %71 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %72 = phi b10: %185, b14: %127
MESA: info:             div 32     %73 = phi b10: %190, b14: %126
MESA: info:             div 32x3  %217 = phi b10: %218, b14: %233
MESA: info:             div 32x4  %226 = phi b10: %209, b14: %227
MESA: info:             div 32     %81 = phi b10: %64, b14: %153
MESA: info:             div 1      %82 = uge %72, %70
MESA: info:                              // succs: b12 b13
MESA: info:             if %82 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %83 = u2f32 %72
MESA: info:             div 32     %84 = u2f32 %65
MESA: info:             con 32     %86 = @load_const_ir3 (%29 (0x0)) (base=19)
MESA: info:             div 32     %87 = fmul %83, %86
MESA: info:             con 32     %89 = @load_const_ir3 (%29 (0x0)) (base=20)
MESA: info:             div 32     %90 = fmul %84, %89
MESA: info:             con 32     %94 = @load_const_ir3 (%29 (0x0)) (base=36)
MESA: info:             con 32     %98 = @load_const_ir3 (%29 (0x0)) (base=38)
MESA: info:             con 32     %99 = imax %98, %29 (0x0)
MESA: info:             div 32    %100 = fmul %87, %34.x
MESA: info:             div 32    %101 = fmul %90, %34.y
MESA: info:             div 32    %102 = f2i32 %100
MESA: info:             div 32    %103 = f2i32 %101
MESA: info:             con 32    %104 = f2i32 %94
MESA: info:             div 32x3  %105 = vec3 %102, %103, %104
MESA: info:             con 32    %106 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %107 = (uint32)txf_ms %106 (texture_handle), %105 (coord), %99 (ms_index), 0 (texture)
MESA: info:             div 32x3  %229 = umin %217, %107.xyz
MESA: info:             div 32    %112 = umin %226.x, %107.w
MESA: info:             div 32x3  %231 = umax %226.yzw, %107.xyz
MESA: info:             div 32    %116 = umax %81, %107.w
MESA: info:             div 32x3  %233 = icsel_eqz %73.xxx, %107.xyz, %229
MESA: info:             div 32    %157 = icsel_eqz %73, %107.w, %112
MESA: info:             div 32x3  %235 = icsel_eqz %73.xxx, %107.xyz, %231
MESA: info:             div 32    %153 = icsel_eqz %73, %107.w, %116
MESA: info:             con 32    %125 = load_const (0x00000001)
MESA: info:             div 32    %126 = iadd %73, %125 (0x1)
MESA: info:             div 32    %127 = iadd %72, %125 (0x1)
MESA: info:             div 32x4  %227 = vec4 %157, %235.x, %235.y, %235.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %243 = phi b12: %73
MESA: info:         div 32x3  %242 = phi b12: %217
MESA: info:         div 32x4  %241 = phi b12: %226
MESA: info:         div 32    %240 = phi b12: %81
MESA: info:         con 32    %128 = load_const (0x00000001)
MESA: info:         div 32    %129 = iadd %65, %128 (0x1)
MESA: info:         div 32x4  %198 = vec4 %243, %242.x, %242.y, %242.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %246 = phi b8: %196
MESA: info:     div 32x4  %245 = phi b8: %209
MESA: info:     div 32    %244 = phi b8: %64
MESA: info:     con 32     %32 = load_const (0x00000002)
MESA: info:     con 32x2  %236 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %237 = ishl %161.xx, %236 (0x5, 0x3)
MESA: info:     div 32    %238 = mov %237.x
MESA: info:     div 32    %239 = mov %237.y
MESA: info:     con 32    %132 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %133 = vec4 %246.y, %246.z, %246.w, %245.x
MESA: info:                      @store_ssbo_ir3 (%133, %132, %238, %239) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %134 = load_const (0x00000010 = 16)
MESA: info:     div 32    %135 = iadd %237.x, %134 (0x10)
MESA: info:     div 32x4  %136 = vec4 %245.y, %245.z, %245.w, %244
MESA: info:     div 32    %144 = ushr %135, %32 (0x2)
MESA: info:                      @store_ssbo_ir3 (%136, %132, %135, %144) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 3c55a8b14a3e5b721ea20dcebd7d6663a5558b6a:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l113
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l111
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: max.s r5.x, c9.z, 0
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: mul.f r4.w, (last)r4.w, c5.x
MESA: info: cov.f32s32 r5.y, c9.x
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: mul.f r4.w, (last)r4.w, c10.y
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r5.x, r5.y
MESA: info: alias.tex.b32.0 r5.y, r5.x
MESA: info: isamm.a.base2 (u32)(xyzw)r5.z, r4.z, s#0, t#0
MESA: info: (sy)min.u r1.z, (last)r1.z, r5.z
MESA: info: min.u r1.w, (last)r1.w, r5.w
MESA: info: min.u r2.x, (last)r2.x, r6.x
MESA: info: min.u r2.y, (last)r2.y, r6.y
MESA: info: max.u r2.z, (last)r2.z, r5.z
MESA: info: max.u r2.w, (last)r2.w, r5.w
MESA: info: max.u r3.x, (last)r3.x, r6.x
MESA: info: max.u r3.y, (last)r3.y, r6.y
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.z
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.w
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r6.x
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.y
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.z
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.w
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r6.x
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.y
MESA: info: add.u r1.y, (last)r1.y, 1
MESA: info: jump #l74
MESA: info: l111:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l113:
MESA: info: (jp)shl.b r6.z, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.z, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 83/1: 124 instr, 28 nops, 96 non-nops, 11 mov, 5 cov, 256 dwords
MESA: info: ; CL prog 83/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 83/1: 33 cat0, 16 cat1, 58 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 4 cat7
MESA: info: ; CL prog 83/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 83/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x1688378b, 0xbb2bd4e5, 0x3a3e39a6, 0xde2d2d3a, 0x5e70f91a, 0x52050458, 0xc2895a06, 0xd73c7de4}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %215 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %301 = f2u32 %215
MESA: info:             con 32    %302 = mov %301.x
MESA: info:             con 32    %303 = mov %301.y
MESA: info:                              @store_const_ir3 (%302) (base=16)
MESA: info:                              @store_const_ir3 (%303) (base=17)
MESA: info:             con 32     %10 = frcp %215.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %215.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %218 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %308 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %309 = iand %218.xxxx, %308 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %317 = ieq %309, %2 (0x0).xxxx
MESA: info:             con 32x4  %318 = b2i32 %317
MESA: info:             con 32    %319 = mov %318.w
MESA: info:             con 32    %316 = mov %318.z
MESA: info:             con 32    %312 = mov %318.x
MESA: info:             con 32    %313 = mov %318.y
MESA: info:                              @store_const_ir3 (%312) (base=20)
MESA: info:                              @store_const_ir3 (%313) (base=21)
MESA: info:                              @store_const_ir3 (%316) (base=22)
MESA: info:                              @store_const_ir3 (%319) (base=23)
MESA: info:             con 32    %221 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %28 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %29 = fadd %221, %28 (1.000000)
MESA: info:             con 32     %30 = f2u32 %29
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @store_const_ir3 (%30) (base=25)
MESA: info:                              @store_const_ir3 (%30) (base=26)
MESA: info:                              @store_const_ir3 (%30) (base=27)
MESA: info:             con 32x2  %233 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %300 = fsub %233.y, %233.x
MESA: info:             con 32     %46 = frcp %300
MESA: info:                              @store_const_ir3 (%46) (base=28)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %51 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%51)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %52 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %53 = load_const (0x00000002)
MESA: info:     con 32x2   %58 = @load_const_ir3 (%52 (0x0)) (base=40)
MESA: info:     con 32     %60 = @load_const_ir3 (%52 (0x0)) (base=16)
MESA: info:     con 32     %62 = @load_const_ir3 (%52 (0x0)) (base=17)
MESA: info:     con 32x3   %63 = @load_workgroup_id
MESA: info:     con 32x3   %64 = @load_base_workgroup_id
MESA: info:     con 32x2  %320 = iadd %63.xy, %64.xy
MESA: info:     con 32     %67 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %321 = umul_low %320, %67 (0xa).xx
MESA: info:     con 32x2  %322 = imadsh_mix16 %67 (0xa).xx, %320, %321
MESA: info:     div 32x3   %70 = @load_local_invocation_id
MESA: info:     div 32x2  %323 = iadd %322, %70.xy
MESA: info:     con 32     %73 = load_const (0x00000006)
MESA: info:     div 32x2  %324 = ishl %323, %73 (0x6).xx
MESA: info:     div 32    %325 = mov %324.x
MESA: info:     div 32    %326 = mov %324.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %76 = phi b6: %326, b30: %212
MESA: info:         con 32     %77 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %327 = iadd %324.yx, %77 (0x40).xx
MESA: info:         div 32     %80 = umin %62, %327.x
MESA: info:         div 32     %81 = umin %60, %327.y
MESA: info:         div 1      %82 = uge %76, %80
MESA: info:                          // succs: b8 b9
MESA: info:         if %82 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %83 = phi b10: %325, b29: %210
MESA: info:             div 1      %84 = uge %83, %81
MESA: info:                              // succs: b12 b13
MESA: info:             if %84 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %85 = u2f32 %83
MESA: info:             div 32     %86 = u2f32 %76
MESA: info:             con 32     %88 = @load_const_ir3 (%52 (0x0)) (base=18)
MESA: info:             div 32     %89 = fmul %85, %88
MESA: info:             con 32     %91 = @load_const_ir3 (%52 (0x0)) (base=19)
MESA: info:             div 32     %92 = fmul %86, %91
MESA: info:             con 32     %97 = @load_const_ir3 (%52 (0x0)) (base=36)
MESA: info:             con 32    %101 = @load_const_ir3 (%52 (0x0)) (base=38)
MESA: info:             con 32    %102 = imax %101, %52 (0x0)
MESA: info:             div 32    %103 = fmul %89, %58.x
MESA: info:             div 32    %104 = fmul %92, %58.y
MESA: info:             div 32    %105 = f2i32 %103
MESA: info:             div 32    %106 = f2i32 %104
MESA: info:             con 32    %107 = f2i32 %97
MESA: info:             div 32x3  %108 = vec3 %105, %106, %107
MESA: info:             con 32    %109 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %110 = (uint32)txf_ms %109 (texture_handle), %108 (coord), %102 (ms_index), 0 (texture)
MESA: info:             con 32    %113 = @load_const_ir3 (%52 (0x0)) (base=32)
MESA: info:             con 32    %116 = @load_const_ir3 (%52 (0x0)) (base=20)
MESA: info:             con 32    %120 = @load_const_ir3 (%52 (0x0)) (base=21)
MESA: info:             con 32    %124 = @load_const_ir3 (%52 (0x0)) (base=22)
MESA: info:             con 32    %128 = @load_const_ir3 (%52 (0x0)) (base=23)
MESA: info:             con 32    %135 = @load_const_ir3 (%52 (0x0)) (base=24)
MESA: info:             div 32    %278 = icsel_eqz %116, %110.x, %135
MESA: info:             con 32    %139 = @load_const_ir3 (%52 (0x0)) (base=25)
MESA: info:             div 32    %277 = icsel_eqz %120, %110.y, %139
MESA: info:             con 32    %142 = @load_const_ir3 (%52 (0x0)) (base=26)
MESA: info:             div 32    %276 = icsel_eqz %124, %110.z, %142
MESA: info:             con 32    %145 = @load_const_ir3 (%52 (0x0)) (base=27)
MESA: info:             div 32    %275 = icsel_eqz %128, %110.w, %145
MESA: info:             con 1     %147 = ine %113, %52 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %147 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %148 = u2f32 %278
MESA: info:                 div 32    %149 = u2f32 %277
MESA: info:                 div 32    %150 = u2f32 %276
MESA: info:                 div 32    %151 = u2f32 %275
MESA: info:                 con 32x2  %154 = @load_const_ir3 (%52 (0x0)) (base=33)
MESA: info:                 div 32    %299 = fsub %148, %154.x
MESA: info:                 div 32    %298 = fsub %149, %154.x
MESA: info:                 div 32    %297 = fsub %150, %154.x
MESA: info:                 div 32    %296 = fsub %151, %154.x
MESA: info:                 con 32    %161 = @load_const_ir3 (%52 (0x0)) (base=28)
MESA: info:                 div 32    %162 = fmul %299, %161
MESA: info:                 div 32    %163 = fmul %298, %161
MESA: info:                 div 32    %164 = fmul %297, %161
MESA: info:                 div 32    %165 = fmul %296, %161
MESA: info:                 div 1     %166 = flt! %162, %52 (0.000000)
MESA: info:                 div 1     %167 = flt! %163, %52 (0.000000)
MESA: info:                 div 1     %168 = flt! %164, %52 (0.000000)
MESA: info:                 div 1     %169 = flt! %165, %52 (0.000000)
MESA: info:                 con 32    %170 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %171 = fmul %162, %170 (256.000000)
MESA: info:                 con 32    %172 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %173 = bcsel %166, %172 (0x44000000), %171
MESA: info:                 div 32    %174 = fmul %163, %170 (256.000000)
MESA: info:                 div 32    %175 = bcsel %167, %172 (0x44000000), %174
MESA: info:                 div 32    %176 = fmul %164, %170 (256.000000)
MESA: info:                 div 32    %177 = bcsel %168, %172 (0x44000000), %176
MESA: info:                 div 32    %178 = fmul %165, %170 (256.000000)
MESA: info:                 div 32    %179 = bcsel %169, %172 (0x44000000), %178
MESA: info:                 div 32    %180 = ffloor %173
MESA: info:                 div 32    %181 = ffloor %175
MESA: info:                 div 32    %182 = ffloor %177
MESA: info:                 div 32    %183 = ffloor %179
MESA: info:                 div 32    %184 = f2u32 %180
MESA: info:                 div 32    %185 = f2u32 %181
MESA: info:                 div 32    %186 = f2u32 %182
MESA: info:                 div 32    %187 = f2u32 %183
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %188 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %189 = phi b15: %187, b16: %188 (0x101)
MESA: info:             div 32    %190 = phi b15: %186, b16: %188 (0x101)
MESA: info:             div 32    %191 = phi b15: %185, b16: %188 (0x101)
MESA: info:             div 32    %192 = phi b15: %184, b16: %188 (0x101)
MESA: info:             con 32    %114 = load_const (0x00000001)
MESA: info:             con 32    %193 = load_const (0x00000100 = 256)
MESA: info:             div 1     %194 = ult %192, %193 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %194 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %195 = ishl %192, %53 (0x2)
MESA: info:                 con 32    %196 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %237 = @ssbo_atomic_ir3 (%196, %195, %114 (0x1), %192) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %198 = ult %191, %193 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %198 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %199 = ishl %191, %53 (0x2)
MESA: info:                 con 32    %200 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %241 = @ssbo_atomic_ir3 (%200, %199, %114 (0x1), %191) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %202 = ult %190, %193 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %202 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %203 = ishl %190, %53 (0x2)
MESA: info:                 con 32    %204 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %245 = @ssbo_atomic_ir3 (%204, %203, %114 (0x1), %190) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %206 = ult %189, %193 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %206 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %207 = ishl %189, %53 (0x2)
MESA: info:                 con 32    %208 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %249 = @ssbo_atomic_ir3 (%208, %207, %114 (0x1), %189) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %210 = iadd %83, %114 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %211 = load_const (0x00000001)
MESA: info:         div 32    %212 = iadd %76, %211 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 0811dc134b4b4799cac1c1dbe136006973e167b6:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l43
MESA: info: getone #l43
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: cov.f32u32 r50.z, r49.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: and.b r50.w, r49.y, 1
MESA: info: and.b r51.y, r49.y, 2
MESA: info: and.b r51.w, r49.y, 4
MESA: info: and.b r52.x, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.z, r50.w, 0
MESA: info: cmps.s.eq hr54.z, r51.y, 0
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: cov.u16s32 r51.z, hr54.z
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[17], r50.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: stc.u32 c[27], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.w, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[28], r50.x, 1
MESA: info: stc.u32 c[20], r51.x, 1
MESA: info: stc.u32 c[21], r51.z, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l43:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l61:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l173
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l69:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l171
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: max.s r2.z, c9.z, 0
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mul.f r2.y, (last)r2.y, c4.w
MESA: info: cov.f32s32 r2.w, c9.x
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: mov.f32f32 r4.x, c5.x
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: mov.f32f32 r4.y, c5.y
MESA: info: mov.f32f32 r4.z, c5.z
MESA: info: mov.f32f32 r4.w, c5.w
MESA: info: (nop1) cmps.s.ne p0.y, c8.x, 0
MESA: info: alias.tex.b32.1 r2.z, r2.w
MESA: info: alias.tex.b32.0 r2.w, r2.z
MESA: info: isamm.a.base2 (u32)(xyzw)r3.x, r2.x, s#0, t#0
MESA: info: (sy)sel.b32 r4.x, c6.x, r4.x, (last)r3.x
MESA: info: sel.b32 r4.y, c6.y, r4.y, (last)r3.y
MESA: info: sel.b32 r4.z, c6.z, r4.z, (last)r3.z
MESA: info: sel.b32 r4.w, c6.w, r4.w, (last)r3.w
MESA: info: br !p0.y, #l129
MESA: info: cov.u32f32 r4.x, (last)r4.x
MESA: info: cov.u32f32 r4.y, (last)r4.y
MESA: info: cov.u32f32 r4.z, (last)r4.z
MESA: info: cov.u32f32 r4.w, (last)r4.w
MESA: info: add.f r4.x, (last)r4.x, (neg)c8.y
MESA: info: add.f r4.y, (last)r4.y, (neg)c8.y
MESA: info: add.f r4.z, (last)r4.z, (neg)c8.y
MESA: info: add.f r4.w, (last)r4.w, (neg)c8.y
MESA: info: mul.f r4.x, (last)r4.x, c7.x
MESA: info: mul.f r4.y, (last)r4.y, c7.x
MESA: info: mul.f r4.z, (last)r4.z, c7.x
MESA: info: mul.f r4.w, (last)r4.w, c7.x
MESA: info: cmps.f.lt r5.x, r4.x, (0.0)
MESA: info: cmps.f.lt r5.y, r4.y, (0.0)
MESA: info: cmps.f.lt r5.z, r4.z, (0.0)
MESA: info: cmps.f.lt r5.w, r4.w, (0.0)
MESA: info: mul.f r4.x, (last)r4.x, c12.y
MESA: info: mul.f r4.y, (last)r4.y, c12.y
MESA: info: mul.f r4.z, (last)r4.z, c12.y
MESA: info: mul.f r4.w, (last)r4.w, c12.y
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r4.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r4.y
MESA: info: sel.b32 r5.z, c12.x, r5.z, (last)r4.z
MESA: info: sel.b32 r5.w, c12.x, r5.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: floor.f r5.z, (last)r5.z
MESA: info: floor.f r5.w, (last)r5.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: cov.f32u32 r5.z, (last)r5.z
MESA: info: cov.f32u32 r5.w, (last)r5.w
MESA: info: jump #l133
MESA: info: l129:
MESA: info: mov.u32u32 r5.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r5.y, 257
MESA: info: mov.u32u32 r5.z, 257
MESA: info: l133:
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.x, 0
MESA: info: mov.u32u32 r6.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.x, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.z, 0
MESA: info: mov.u32u32 r6.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.z, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.x, 0
MESA: info: mov.u32u32 r7.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.x, r5.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.z, 0
MESA: info: mov.u32u32 r7.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.z, r5.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l69
MESA: info: l171:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l61
MESA: info: l173:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 84/1: 203 instr, 85 nops, 118 non-nops, 19 mov, 13 cov, 360 dwords
MESA: info: ; CL prog 84/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 84/1: 100 cat0, 32 cat1, 54 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 4 cat7
MESA: info: ; CL prog 84/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 84/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 45 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x41e08539, 0xe8fed246, 0x35587f0c, 0xf683a59f, 0x363472f8, 0xe2aa02da, 0x2e692140, 0x90a307b3}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %145 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %139 = @load_ubo_vec4 (%4, %145 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %177 = f2u32 %139
MESA: info:             con 32    %178 = mov %177.x
MESA: info:             con 32    %179 = mov %177.y
MESA: info:                              @store_const_ir3 (%178) (base=16)
MESA: info:                              @store_const_ir3 (%179) (base=17)
MESA: info:             con 32      %8 = u2f32 %177.x
MESA: info:             con 32      %9 = load_const (0x3acccccd = 0.001563)
MESA: info:             con 32     %10 = fmul %8, %9 (0.001563)
MESA: info:             con 32     %11 = fceil %10
MESA: info:             con 32     %12 = f2u32 %11
MESA: info:                              @store_const_ir3 (%12) (base=18)
MESA: info:             con 32     %13 = frcp %139.x
MESA: info:                              @store_const_ir3 (%13) (base=19)
MESA: info:             con 32     %14 = frcp %139.y
MESA: info:                              @store_const_ir3 (%14) (base=20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%19)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                              @prefetch_tex_ir3 (%21)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     div 32x3   %24 = @load_local_invocation_id
MESA: info:     con 32x3   %25 = @load_workgroup_id
MESA: info:     con 32x3   %26 = @load_base_workgroup_id
MESA: info:     con 32x2  %180 = iadd %25.xy, %26.xy
MESA: info:     con 32     %29 = load_const (0x00000000)
MESA: info:     con 32x2   %34 = @load_const_ir3 (%29 (0x0)) (base=40)
MESA: info:     con 32     %36 = @load_const_ir3 (%29 (0x0)) (base=16)
MESA: info:     con 32     %38 = @load_const_ir3 (%29 (0x0)) (base=17)
MESA: info:     con 32     %39 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %181 = umul_low %180, %39 (0xa).xx
MESA: info:     con 32x2  %182 = imadsh_mix16 %39 (0xa).xx, %180, %181
MESA: info:     div 32x2  %183 = iadd %182, %24.xy
MESA: info:     con 32     %44 = load_const (0x00000006)
MESA: info:     div 32x2  %184 = ishl %183, %44 (0x6).xx
MESA: info:     div 32    %185 = mov %184.x
MESA: info:     div 32    %186 = mov %184.y
MESA: info:     div 32    %168 = umul_low %24.y, %39 (0xa)
MESA: info:     div 32    %170 = imadsh_mix16 %39 (0xa), %24.y, %168
MESA: info:     con 32     %50 = @load_const_ir3 (%29 (0x0)) (base=18)
MESA: info:     con 32    %165 = umul_low %180.y, %50
MESA: info:     con 32    %166 = imadsh_mix16 %180.y, %50, %165
MESA: info:     con 32    %167 = imadsh_mix16 %50, %180.y, %166
MESA: info:     con 32     %52 = iadd %167, %180.x
MESA: info:     con 32     %53 = load_const (0x00000064 = 100)
MESA: info:     con 32    %162 = umul_low %52, %53 (0x64)
MESA: info:     con 32    %164 = imadsh_mix16 %53 (0x64), %52, %162
MESA: info:     div 32    %161 = iadd3 %170, %24.x, %164
MESA: info:     con 32x4  %197 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:     con 32x4  %210 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000)
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         div block b7:        // preds: b6 b15
MESA: info:         div 32x4  %196 = phi b6: %197 (0x0, 0x0, 0x0, 0x0), b15: %198
MESA: info:         div 32x4  %209 = phi b6: %210 (0x0, 0x0, 0x0, 0x0), b15: %241
MESA: info:         div 32     %64 = phi b6: %29 (0x0), b15: %240
MESA: info:         div 32     %65 = phi b6: %186, b15: %129
MESA: info:         div 32x3  %218 = mov %196.yzw
MESA: info:         div 32    %190 = mov %196.x
MESA: info:         con 32     %66 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %213 = iadd %184.yx, %66 (0x40).xx
MESA: info:         div 32     %69 = umin %38, %213.x
MESA: info:         div 32     %70 = umin %36, %213.y
MESA: info:         div 1      %71 = uge %65, %69
MESA: info:                          // succs: b8 b9
MESA: info:         if %71 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b16
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32     %72 = phi b10: %185, b14: %127
MESA: info:             div 32     %73 = phi b10: %190, b14: %126
MESA: info:             div 32x3  %217 = phi b10: %218, b14: %233
MESA: info:             div 32x4  %226 = phi b10: %209, b14: %227
MESA: info:             div 32     %81 = phi b10: %64, b14: %153
MESA: info:             div 1      %82 = uge %72, %70
MESA: info:                              // succs: b12 b13
MESA: info:             if %82 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %83 = u2f32 %72
MESA: info:             div 32     %84 = u2f32 %65
MESA: info:             con 32     %86 = @load_const_ir3 (%29 (0x0)) (base=19)
MESA: info:             div 32     %87 = fmul %83, %86
MESA: info:             con 32     %89 = @load_const_ir3 (%29 (0x0)) (base=20)
MESA: info:             div 32     %90 = fmul %84, %89
MESA: info:             con 32     %94 = @load_const_ir3 (%29 (0x0)) (base=36)
MESA: info:             con 32     %98 = @load_const_ir3 (%29 (0x0)) (base=38)
MESA: info:             con 32     %99 = imax %98, %29 (0x0)
MESA: info:             div 32    %100 = fmul %87, %34.x
MESA: info:             div 32    %101 = fmul %90, %34.y
MESA: info:             div 32    %102 = f2i32 %100
MESA: info:             div 32    %103 = f2i32 %101
MESA: info:             con 32    %104 = f2i32 %94
MESA: info:             div 32x3  %105 = vec3 %102, %103, %104
MESA: info:             con 32    %106 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %107 = (int32)txf_ms %106 (texture_handle), %105 (coord), %99 (ms_index), 0 (texture)
MESA: info:             div 32x3  %229 = imin %217, %107.xyz
MESA: info:             div 32    %112 = imin %226.x, %107.w
MESA: info:             div 32x3  %231 = imax %226.yzw, %107.xyz
MESA: info:             div 32    %116 = imax %81, %107.w
MESA: info:             div 32x3  %233 = icsel_eqz %73.xxx, %107.xyz, %229
MESA: info:             div 32    %157 = icsel_eqz %73, %107.w, %112
MESA: info:             div 32x3  %235 = icsel_eqz %73.xxx, %107.xyz, %231
MESA: info:             div 32    %153 = icsel_eqz %73, %107.w, %116
MESA: info:             con 32    %125 = load_const (0x00000001)
MESA: info:             div 32    %126 = iadd %73, %125 (0x1)
MESA: info:             div 32    %127 = iadd %72, %125 (0x1)
MESA: info:             div 32x4  %227 = vec4 %157, %235.x, %235.y, %235.z
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b15:       // preds: b12
MESA: info:         div 32    %243 = phi b12: %73
MESA: info:         div 32x3  %242 = phi b12: %217
MESA: info:         div 32x4  %241 = phi b12: %226
MESA: info:         div 32    %240 = phi b12: %81
MESA: info:         con 32    %128 = load_const (0x00000001)
MESA: info:         div 32    %129 = iadd %65, %128 (0x1)
MESA: info:         div 32x4  %198 = vec4 %243, %242.x, %242.y, %242.z
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b16:       // preds: b8
MESA: info:     div 32x4  %246 = phi b8: %196
MESA: info:     div 32x4  %245 = phi b8: %209
MESA: info:     div 32    %244 = phi b8: %64
MESA: info:     con 32     %32 = load_const (0x00000002)
MESA: info:     con 32x2  %236 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %237 = ishl %161.xx, %236 (0x5, 0x3)
MESA: info:     div 32    %238 = mov %237.x
MESA: info:     div 32    %239 = mov %237.y
MESA: info:     con 32    %132 = @bindless_resource_ir3 (%29 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %133 = vec4 %246.y, %246.z, %246.w, %245.x
MESA: info:                      @store_ssbo_ir3 (%133, %132, %238, %239) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=0)
MESA: info:     con 32    %134 = load_const (0x00000010 = 16)
MESA: info:     div 32    %135 = iadd %237.x, %134 (0x10)
MESA: info:     div 32x4  %136 = vec4 %245.y, %245.z, %245.w, %244
MESA: info:     div 32    %144 = ushr %135, %32 (0x2)
MESA: info:                      @store_ssbo_ir3 (%136, %132, %135, %144) (base=0, wrmask=xyzw, access=writeonly, align_mul=32, align_offset=16)
MESA: info:                      // succs: b17
MESA: info:     block b17:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 814494a2fbd632261f1a9a646db857b3f4c6c40d:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r48.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x3acccccd, 0x0000000a, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l22
MESA: info: getone #l22
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r49.y, r48.w
MESA: info: cov.f32u32 r49.w, r49.x
MESA: info: cov.u32f32 r49.z, r49.y
MESA: info: mul.f r49.z, r49.z, c12.x
MESA: info: ceil.f r49.z, r49.z
MESA: info: cov.f32u32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[16], r49.y, 1
MESA: info: stc.u32 c[17], r49.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r48.w, 1
MESA: info: stc.u32 c[20], r49.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l22:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r50.w, r48.y, 16
MESA: info: mull.u r51.x, r48.y, 10
MESA: info: mull.u r50.w, 10, r50.w
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r50.w, r50.w, r51.x
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r50.y, r48.x, 16
MESA: info: mull.u r50.z, r48.x, 10
MESA: info: mull.u r50.y, 10, r50.y
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: shr.b r50.x, c4.z, 16
MESA: info: mull.u r51.y, r48.y, c4.z
MESA: info: mull.u r50.x, r48.y, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: mull.u r48.y, c4.z, r48.y
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: add.u r48.y, r48.y, r50.x
MESA: info: add.u r48.y, r48.y, r48.x
MESA: info: shr.b r51.z, r48.y, 16
MESA: info: mull.u r51.z, 100, r51.z
MESA: info: mull.u r48.y, r48.y, 100
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r48.y
MESA: info: mull.u r0.w, r0.y, 10
MESA: info: mov.u32u32 r1.y, 0
MESA: info: madsh.m16 r0.w, c12.y, r0.y, (last)r0.w
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: (ss)add.u r0.y, r50.w, (last)r0.y
MESA: info: add.u r1.x, r50.y, r0.x
MESA: info: mov.u32u32 r2.z, 0
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: sad.s32 r0.w, (last)r0.w, r0.x, r51.z
MESA: info: shl.b r1.x, (last)r1.x, 6
MESA: info: mov.u32u32 r3.z, r0.y
MESA: info: l66:
MESA: info: add.u r3.w, r0.y, 64
MESA: info: (nop1) add.u r4.x, r1.x, 64
MESA: info: min.u r3.w, c4.y, (last)r3.w
MESA: info: (nop1) min.u r4.x, c4.x, (last)r4.x
MESA: info: (nop3) cmps.u.ge p0.x, r3.z, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l113
MESA: info: mov.u32u32 r4.y, r1.x
MESA: info: l74:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.x, r4.y, r4.x
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l111
MESA: info: cov.u32f32 r4.z, r4.y
MESA: info: cov.u32f32 r4.w, r3.z
MESA: info: max.s r5.x, c9.z, 0
MESA: info: mul.f r4.z, (last)r4.z, c4.w
MESA: info: mul.f r4.w, (last)r4.w, c5.x
MESA: info: cov.f32s32 r5.y, c9.x
MESA: info: mul.f r4.z, (last)r4.z, c10.x
MESA: info: mul.f r4.w, (last)r4.w, c10.y
MESA: info: add.u r4.y, (last)r4.y, 1
MESA: info: cov.f32s32 r4.z, (last)r4.z
MESA: info: cov.f32s32 r4.w, (last)r4.w
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r5.x, r5.y
MESA: info: alias.tex.b32.0 r5.y, r5.x
MESA: info: isamm.a.base2 (s32)(xyzw)r5.z, r4.z, s#0, t#0
MESA: info: (sy)min.s r1.z, (last)r1.z, r5.z
MESA: info: min.s r1.w, (last)r1.w, r5.w
MESA: info: min.s r2.x, (last)r2.x, r6.x
MESA: info: min.s r2.y, (last)r2.y, r6.y
MESA: info: max.s r2.z, (last)r2.z, r5.z
MESA: info: max.s r2.w, (last)r2.w, r5.w
MESA: info: max.s r3.x, (last)r3.x, r6.x
MESA: info: max.s r3.y, (last)r3.y, r6.y
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r5.z
MESA: info: sel.b32 r1.w, (last)r1.w, r1.y, r5.w
MESA: info: sel.b32 r2.x, (last)r2.x, r1.y, r6.x
MESA: info: sel.b32 r2.y, (last)r2.y, r1.y, r6.y
MESA: info: sel.b32 r2.z, (last)r2.z, r1.y, (last)r5.z
MESA: info: sel.b32 r2.w, (last)r2.w, r1.y, (last)r5.w
MESA: info: sel.b32 r3.x, (last)r3.x, r1.y, (last)r6.x
MESA: info: sel.b32 r3.y, (last)r3.y, r1.y, (last)r6.y
MESA: info: add.u r1.y, (last)r1.y, 1
MESA: info: jump #l74
MESA: info: l111:
MESA: info: (jp)add.u r3.z, (last)r3.z, 1
MESA: info: jump #l66
MESA: info: l113:
MESA: info: (jp)shl.b r6.z, r0.w, 3
MESA: info: (nop2) shl.b r0.w, (last)r0.w, 5
MESA: info: (nop1) add.u r0.w, (last)r0.w, 16
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.z, r6.z, 0
MESA: info: nop
MESA: info: (nop3) shr.b r0.w, (last)r0.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r2.z, r0.w, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0) r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 85/1: 124 instr, 28 nops, 96 non-nops, 11 mov, 5 cov, 256 dwords
MESA: info: ; CL prog 85/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 16 constlen
MESA: info: ; CL prog 85/1: 33 cat0, 16 cat1, 58 cat2, 10 cat3, 0 cat4, 1 cat5, 2 cat6, 4 cat7
MESA: info: ; CL prog 85/1: 0 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 85/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 22 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xd7b604de, 0x2463e1a8, 0xc80f3280, 0x99f0343f, 0x1459f2a7, 0xc03b7fb5, 0xee6cbdc2, 0xd5b4f23e}
MESA: info: workgroup_size: 10, 10, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000)
MESA: info:             con 32      %4 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %215 = @load_ubo_vec4 (%6, %4 (0x2)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %301 = f2u32 %215
MESA: info:             con 32    %302 = mov %301.x
MESA: info:             con 32    %303 = mov %301.y
MESA: info:                              @store_const_ir3 (%302) (base=16)
MESA: info:                              @store_const_ir3 (%303) (base=17)
MESA: info:             con 32     %10 = frcp %215.x
MESA: info:                              @store_const_ir3 (%10) (base=18)
MESA: info:             con 32     %11 = frcp %215.y
MESA: info:                              @store_const_ir3 (%11) (base=19)
MESA: info:             con 32    %218 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %308 = load_const (0x00000001, 0x00000002, 0x00000004, 0x00000008)
MESA: info:             con 32x4  %309 = iand %218.xxxx, %308 (0x1, 0x2, 0x4, 0x8)
MESA: info:             con 1x4   %317 = ieq %309, %2 (0x0).xxxx
MESA: info:             con 32x4  %318 = b2i32 %317
MESA: info:             con 32    %319 = mov %318.w
MESA: info:             con 32    %316 = mov %318.z
MESA: info:             con 32    %312 = mov %318.x
MESA: info:             con 32    %313 = mov %318.y
MESA: info:                              @store_const_ir3 (%312) (base=20)
MESA: info:                              @store_const_ir3 (%313) (base=21)
MESA: info:                              @store_const_ir3 (%316) (base=22)
MESA: info:                              @store_const_ir3 (%319) (base=23)
MESA: info:             con 32    %221 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %28 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %29 = fadd %221, %28 (1.000000)
MESA: info:             con 32     %30 = f2i32 %29
MESA: info:                              @store_const_ir3 (%30) (base=24)
MESA: info:                              @store_const_ir3 (%30) (base=25)
MESA: info:                              @store_const_ir3 (%30) (base=26)
MESA: info:                              @store_const_ir3 (%30) (base=27)
MESA: info:             con 32x2  %233 = @load_ubo_vec4 (%6, %2 (0x0)) (access=speculatable, base=0, component=1)
MESA: info:             con 32    %300 = fsub %233.y, %233.x
MESA: info:             con 32     %46 = frcp %300
MESA: info:                              @store_const_ir3 (%46) (base=28)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %51 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%51)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %52 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32     %53 = load_const (0x00000002)
MESA: info:     con 32x2   %58 = @load_const_ir3 (%52 (0x0)) (base=40)
MESA: info:     con 32     %60 = @load_const_ir3 (%52 (0x0)) (base=16)
MESA: info:     con 32     %62 = @load_const_ir3 (%52 (0x0)) (base=17)
MESA: info:     con 32x3   %63 = @load_workgroup_id
MESA: info:     con 32x3   %64 = @load_base_workgroup_id
MESA: info:     con 32x2  %320 = iadd %63.xy, %64.xy
MESA: info:     con 32     %67 = load_const (0x0000000a = 10)
MESA: info:     con 32x2  %321 = umul_low %320, %67 (0xa).xx
MESA: info:     con 32x2  %322 = imadsh_mix16 %67 (0xa).xx, %320, %321
MESA: info:     div 32x3   %70 = @load_local_invocation_id
MESA: info:     div 32x2  %323 = iadd %322, %70.xy
MESA: info:     con 32     %73 = load_const (0x00000006)
MESA: info:     div 32x2  %324 = ishl %323, %73 (0x6).xx
MESA: info:     div 32    %325 = mov %324.x
MESA: info:     div 32    %326 = mov %324.y
MESA: info:                      // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:        // preds: b6 b30
MESA: info:         div 32     %76 = phi b6: %326, b30: %212
MESA: info:         con 32     %77 = load_const (0x00000040 = 64)
MESA: info:         div 32x2  %327 = iadd %324.yx, %77 (0x40).xx
MESA: info:         div 32     %80 = umin %62, %327.x
MESA: info:         div 32     %81 = umin %60, %327.y
MESA: info:         div 1      %82 = uge %76, %80
MESA: info:                          // succs: b8 b9
MESA: info:         if %82 {
MESA: info:             div block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b31
MESA: info:         } else {
MESA: info:             div block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         div block b10:  // preds: b9, succs: b11
MESA: info:         div loop {
MESA: info:             con block b11:       // preds: b10 b29
MESA: info:             div 32     %83 = phi b10: %325, b29: %210
MESA: info:             div 1      %84 = uge %83, %81
MESA: info:                              // succs: b12 b13
MESA: info:             if %84 {
MESA: info:                 div block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b30
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:       // preds: b13
MESA: info:             div 32     %85 = u2f32 %83
MESA: info:             div 32     %86 = u2f32 %76
MESA: info:             con 32     %88 = @load_const_ir3 (%52 (0x0)) (base=18)
MESA: info:             div 32     %89 = fmul %85, %88
MESA: info:             con 32     %91 = @load_const_ir3 (%52 (0x0)) (base=19)
MESA: info:             div 32     %92 = fmul %86, %91
MESA: info:             con 32     %97 = @load_const_ir3 (%52 (0x0)) (base=36)
MESA: info:             con 32    %101 = @load_const_ir3 (%52 (0x0)) (base=38)
MESA: info:             con 32    %102 = imax %101, %52 (0x0)
MESA: info:             div 32    %103 = fmul %89, %58.x
MESA: info:             div 32    %104 = fmul %92, %58.y
MESA: info:             div 32    %105 = f2i32 %103
MESA: info:             div 32    %106 = f2i32 %104
MESA: info:             con 32    %107 = f2i32 %97
MESA: info:             div 32x3  %108 = vec3 %105, %106, %107
MESA: info:             con 32    %109 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=2)
MESA: info:             div 32x4  %110 = (int32)txf_ms %109 (texture_handle), %108 (coord), %102 (ms_index), 0 (texture)
MESA: info:             con 32    %113 = @load_const_ir3 (%52 (0x0)) (base=32)
MESA: info:             con 32    %116 = @load_const_ir3 (%52 (0x0)) (base=20)
MESA: info:             con 32    %120 = @load_const_ir3 (%52 (0x0)) (base=21)
MESA: info:             con 32    %124 = @load_const_ir3 (%52 (0x0)) (base=22)
MESA: info:             con 32    %128 = @load_const_ir3 (%52 (0x0)) (base=23)
MESA: info:             con 32    %135 = @load_const_ir3 (%52 (0x0)) (base=24)
MESA: info:             div 32    %278 = icsel_eqz %116, %110.x, %135
MESA: info:             con 32    %139 = @load_const_ir3 (%52 (0x0)) (base=25)
MESA: info:             div 32    %277 = icsel_eqz %120, %110.y, %139
MESA: info:             con 32    %142 = @load_const_ir3 (%52 (0x0)) (base=26)
MESA: info:             div 32    %276 = icsel_eqz %124, %110.z, %142
MESA: info:             con 32    %145 = @load_const_ir3 (%52 (0x0)) (base=27)
MESA: info:             div 32    %275 = icsel_eqz %128, %110.w, %145
MESA: info:             con 1     %147 = ine %113, %52 (0x0)
MESA: info:                              // succs: b15 b16
MESA: info:             if %147 {
MESA: info:                 div block b15:       // preds: b14
MESA: info:                 div 32    %148 = i2f32 %278
MESA: info:                 div 32    %149 = i2f32 %277
MESA: info:                 div 32    %150 = i2f32 %276
MESA: info:                 div 32    %151 = i2f32 %275
MESA: info:                 con 32x2  %154 = @load_const_ir3 (%52 (0x0)) (base=33)
MESA: info:                 div 32    %299 = fsub %148, %154.x
MESA: info:                 div 32    %298 = fsub %149, %154.x
MESA: info:                 div 32    %297 = fsub %150, %154.x
MESA: info:                 div 32    %296 = fsub %151, %154.x
MESA: info:                 con 32    %161 = @load_const_ir3 (%52 (0x0)) (base=28)
MESA: info:                 div 32    %162 = fmul %299, %161
MESA: info:                 div 32    %163 = fmul %298, %161
MESA: info:                 div 32    %164 = fmul %297, %161
MESA: info:                 div 32    %165 = fmul %296, %161
MESA: info:                 div 1     %166 = flt! %162, %52 (0.000000)
MESA: info:                 div 1     %167 = flt! %163, %52 (0.000000)
MESA: info:                 div 1     %168 = flt! %164, %52 (0.000000)
MESA: info:                 div 1     %169 = flt! %165, %52 (0.000000)
MESA: info:                 con 32    %170 = load_const (0x43800000 = 256.000000)
MESA: info:                 div 32    %171 = fmul %162, %170 (256.000000)
MESA: info:                 con 32    %172 = load_const (0x44000000 = 512.000000)
MESA: info:                 div 32    %173 = bcsel %166, %172 (0x44000000), %171
MESA: info:                 div 32    %174 = fmul %163, %170 (256.000000)
MESA: info:                 div 32    %175 = bcsel %167, %172 (0x44000000), %174
MESA: info:                 div 32    %176 = fmul %164, %170 (256.000000)
MESA: info:                 div 32    %177 = bcsel %168, %172 (0x44000000), %176
MESA: info:                 div 32    %178 = fmul %165, %170 (256.000000)
MESA: info:                 div 32    %179 = bcsel %169, %172 (0x44000000), %178
MESA: info:                 div 32    %180 = ffloor %173
MESA: info:                 div 32    %181 = ffloor %175
MESA: info:                 div 32    %182 = ffloor %177
MESA: info:                 div 32    %183 = ffloor %179
MESA: info:                 div 32    %184 = f2u32 %180
MESA: info:                 div 32    %185 = f2u32 %181
MESA: info:                 div 32    %186 = f2u32 %182
MESA: info:                 div 32    %187 = f2u32 %183
MESA: info:                                  // succs: b17
MESA: info:             } else {
MESA: info:                 div block b16:       // preds: b14
MESA: info:                 con 32    %188 = load_const (0x00000101 = 257)
MESA: info:                                  // succs: b17
MESA: info:             }
MESA: info:             div block b17:       // preds: b15 b16
MESA: info:             div 32    %189 = phi b15: %187, b16: %188 (0x101)
MESA: info:             div 32    %190 = phi b15: %186, b16: %188 (0x101)
MESA: info:             div 32    %191 = phi b15: %185, b16: %188 (0x101)
MESA: info:             div 32    %192 = phi b15: %184, b16: %188 (0x101)
MESA: info:             con 32    %114 = load_const (0x00000001)
MESA: info:             con 32    %193 = load_const (0x00000100 = 256)
MESA: info:             div 1     %194 = ult %192, %193 (0x100)
MESA: info:                              // succs: b18 b19
MESA: info:             if %194 {
MESA: info:                 div block b18:       // preds: b17
MESA: info:                 div 32    %195 = ishl %192, %53 (0x2)
MESA: info:                 con 32    %196 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %237 = @ssbo_atomic_ir3 (%196, %195, %114 (0x1), %192) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:  // preds: b17, succs: b20
MESA: info:             }
MESA: info:             div block b20:       // preds: b18 b19
MESA: info:             div 1     %198 = ult %191, %193 (0x100)
MESA: info:                              // succs: b21 b22
MESA: info:             if %198 {
MESA: info:                 div block b21:       // preds: b20
MESA: info:                 div 32    %199 = ishl %191, %53 (0x2)
MESA: info:                 con 32    %200 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %241 = @ssbo_atomic_ir3 (%200, %199, %114 (0x1), %191) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b23
MESA: info:             } else {
MESA: info:                 div block b22:  // preds: b20, succs: b23
MESA: info:             }
MESA: info:             div block b23:       // preds: b21 b22
MESA: info:             div 1     %202 = ult %190, %193 (0x100)
MESA: info:                              // succs: b24 b25
MESA: info:             if %202 {
MESA: info:                 div block b24:       // preds: b23
MESA: info:                 div 32    %203 = ishl %190, %53 (0x2)
MESA: info:                 con 32    %204 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %245 = @ssbo_atomic_ir3 (%204, %203, %114 (0x1), %190) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b26
MESA: info:             } else {
MESA: info:                 div block b25:  // preds: b23, succs: b26
MESA: info:             }
MESA: info:             div block b26:       // preds: b24 b25
MESA: info:             div 1     %206 = ult %189, %193 (0x100)
MESA: info:                              // succs: b27 b28
MESA: info:             if %206 {
MESA: info:                 div block b27:       // preds: b26
MESA: info:                 div 32    %207 = ishl %189, %53 (0x2)
MESA: info:                 con 32    %208 = @bindless_resource_ir3 (%52 (0x0)) (desc_set=3)
MESA: info:                 div 32    %249 = @ssbo_atomic_ir3 (%208, %207, %114 (0x1), %189) (access=coherent, atomic_op=iadd)
MESA: info:                                  // succs: b29
MESA: info:             } else {
MESA: info:                 div block b28:  // preds: b26, succs: b29
MESA: info:             }
MESA: info:             div block b29:       // preds: b27 b28
MESA: info:             div 32    %210 = iadd %83, %114 (0x1)
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         div block b30:       // preds: b12
MESA: info:         con 32    %211 = load_const (0x00000001)
MESA: info:         div 32    %212 = iadd %76, %211 (0x1)
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b31:  // preds: b8, succs: b32
MESA: info:     block b32:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 4f2d74c110006e851e594149cdf8cf5b73e62439:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c12.x)	0x44000000, 0x43800000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l43
MESA: info: getone #l43
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 2, 0
MESA: info: ldc.u.offset1.2.imm.base1 r49.w, 0, 0
MESA: info: ldc.u.offset0.1.imm.base1 r49.y, 0, 0
MESA: info: ldc.u.offset2.1.imm.base1 r49.z, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)cov.f32u32 r50.y, r48.w
MESA: info: cov.f32u32 r50.z, r49.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: and.b r50.w, r49.y, 1
MESA: info: and.b r51.y, r49.y, 2
MESA: info: and.b r51.w, r49.y, 4
MESA: info: and.b r52.x, r49.y, 8
MESA: info: add.f r49.z, r49.z, (1.0)
MESA: info: cov.f32s32 r49.z, r49.z
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.z, r50.w, 0
MESA: info: cmps.s.eq hr54.z, r51.y, 0
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: cov.u16s32 r51.z, hr54.z
MESA: info: stc.u32 c[16], r50.y, 1
MESA: info: stc.u32 c[17], r50.z, 1
MESA: info: stc.u32 c[24], r49.z, 1
MESA: info: stc.u32 c[25], r49.z, 1
MESA: info: stc.u32 c[26], r49.z, 1
MESA: info: stc.u32 c[27], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[18], r48.w, 1
MESA: info: (ss)(rpt1)cmps.s.eq hr49.z, (r)r51.w, 0
MESA: info: stc.u32 c[19], r49.x, 1
MESA: info: stc.u32 c[28], r50.x, 1
MESA: info: stc.u32 c[20], r51.x, 1
MESA: info: stc.u32 c[21], r51.z, 1
MESA: info: (ss)(rpt1)cov.u16s32 r49.x, (r)hr49.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[22], r49.x, 1
MESA: info: stc.u32 c[23], r49.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l43:
MESA: info: (jp)add.u r48.y, r48.y, c1.y
MESA: info: shr.b r49.w, r48.y, 16
MESA: info: mull.u r49.w, 10, r49.w
MESA: info: mull.u r48.y, r48.y, 10
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: add.u r49.w, r49.w, r48.y
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shr.b r49.z, r48.x, 16
MESA: info: mull.u r49.z, 10, r49.z
MESA: info: mull.u r48.x, r48.x, 10
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r48.x
MESA: info: mov.u32u32 r0.w, 0
MESA: info: (ss)add.u r0.y, r49.w, (last)r0.y
MESA: info: (nop1) add.u r0.x, r49.z, (last)r0.x
MESA: info: shl.b r0.y, (last)r0.y, 6
MESA: info: (nop1) shl.b r0.x, (last)r0.x, 6
MESA: info: mov.u32u32 r1.x, r0.y
MESA: info: l61:
MESA: info: add.u r1.y, r0.y, 64
MESA: info: (nop1) add.u r1.z, r0.x, 64
MESA: info: min.u r1.y, c4.y, (last)r1.y
MESA: info: (nop1) min.u r1.z, c4.x, (last)r1.z
MESA: info: (nop3) cmps.u.ge p0.y, r1.x, (last)r1.y
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l173
MESA: info: mov.u32u32 r1.w, r0.x
MESA: info: l69:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.u.ge p0.y, r1.w, r1.z
MESA: info: (rpt1)nop
MESA: info: br p0.y, #l171
MESA: info: cov.u32f32 r2.x, r1.w
MESA: info: cov.u32f32 r2.y, r1.x
MESA: info: max.s r2.z, c9.z, 0
MESA: info: mul.f r2.x, (last)r2.x, c4.z
MESA: info: mul.f r2.y, (last)r2.y, c4.w
MESA: info: cov.f32s32 r2.w, c9.x
MESA: info: mul.f r2.x, (last)r2.x, c10.x
MESA: info: mul.f r2.y, (last)r2.y, c10.y
MESA: info: mov.f32f32 r4.x, c5.x
MESA: info: cov.f32s32 r2.x, (last)r2.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: mov.f32f32 r4.y, c5.y
MESA: info: mov.f32f32 r4.z, c5.z
MESA: info: mov.f32f32 r4.w, c5.w
MESA: info: (nop1) cmps.s.ne p0.y, c8.x, 0
MESA: info: alias.tex.b32.1 r2.z, r2.w
MESA: info: alias.tex.b32.0 r2.w, r2.z
MESA: info: isamm.a.base2 (s32)(xyzw)r3.x, r2.x, s#0, t#0
MESA: info: (sy)sel.b32 r4.x, c6.x, r4.x, (last)r3.x
MESA: info: sel.b32 r4.y, c6.y, r4.y, (last)r3.y
MESA: info: sel.b32 r4.z, c6.z, r4.z, (last)r3.z
MESA: info: sel.b32 r4.w, c6.w, r4.w, (last)r3.w
MESA: info: br !p0.y, #l129
MESA: info: cov.s32f32 r4.x, (last)r4.x
MESA: info: cov.s32f32 r4.y, (last)r4.y
MESA: info: cov.s32f32 r4.z, (last)r4.z
MESA: info: cov.s32f32 r4.w, (last)r4.w
MESA: info: add.f r4.x, (last)r4.x, (neg)c8.y
MESA: info: add.f r4.y, (last)r4.y, (neg)c8.y
MESA: info: add.f r4.z, (last)r4.z, (neg)c8.y
MESA: info: add.f r4.w, (last)r4.w, (neg)c8.y
MESA: info: mul.f r4.x, (last)r4.x, c7.x
MESA: info: mul.f r4.y, (last)r4.y, c7.x
MESA: info: mul.f r4.z, (last)r4.z, c7.x
MESA: info: mul.f r4.w, (last)r4.w, c7.x
MESA: info: cmps.f.lt r5.x, r4.x, (0.0)
MESA: info: cmps.f.lt r5.y, r4.y, (0.0)
MESA: info: cmps.f.lt r5.z, r4.z, (0.0)
MESA: info: cmps.f.lt r5.w, r4.w, (0.0)
MESA: info: mul.f r4.x, (last)r4.x, c12.y
MESA: info: mul.f r4.y, (last)r4.y, c12.y
MESA: info: mul.f r4.z, (last)r4.z, c12.y
MESA: info: mul.f r4.w, (last)r4.w, c12.y
MESA: info: sel.b32 r5.x, c12.x, r5.x, (last)r4.x
MESA: info: sel.b32 r5.y, c12.x, r5.y, (last)r4.y
MESA: info: sel.b32 r5.z, c12.x, r5.z, (last)r4.z
MESA: info: sel.b32 r5.w, c12.x, r5.w, (last)r4.w
MESA: info: floor.f r5.x, (last)r5.x
MESA: info: floor.f r5.y, (last)r5.y
MESA: info: floor.f r5.z, (last)r5.z
MESA: info: floor.f r5.w, (last)r5.w
MESA: info: cov.f32u32 r5.x, (last)r5.x
MESA: info: cov.f32u32 r5.y, (last)r5.y
MESA: info: cov.f32u32 r5.z, (last)r5.z
MESA: info: cov.f32u32 r5.w, (last)r5.w
MESA: info: jump #l133
MESA: info: l129:
MESA: info: mov.u32u32 r5.w, 257
MESA: info: mov.u32u32 r5.x, 257
MESA: info: mov.u32u32 r5.y, 257
MESA: info: mov.u32u32 r5.z, 257
MESA: info: l133:
MESA: info: (nop3) cmps.u.lt p0.x, r5.x, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.x, 0
MESA: info: mov.u32u32 r6.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.x, r5.x, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.y, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r6.z, 0
MESA: info: mov.u32u32 r6.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r6.z, r5.y, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.z, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.x, 0
MESA: info: mov.u32u32 r7.y, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.x, r5.z, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: (nop3) cmps.u.lt p0.x, r5.w, 256
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.z, 0
MESA: info: mov.u32u32 r7.w, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.z, r5.w, r0.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: add.u r1.w, (last)r1.w, 1
MESA: info: jump #l69
MESA: info: l171:
MESA: info: (jp)add.u r1.x, (last)r1.x, 1
MESA: info: jump #l61
MESA: info: l173:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 86/1: 203 instr, 85 nops, 118 non-nops, 19 mov, 13 cov, 360 dwords
MESA: info: ; CL prog 86/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 16 constlen
MESA: info: ; CL prog 86/1: 100 cat0, 32 cat1, 54 cat2, 8 cat3, 0 cat4, 1 cat5, 4 cat6, 4 cat7
MESA: info: ; CL prog 86/1: 5 sstall, 2 (ss), 39 systall, 2 (sy), 2 loops
MESA: info: ; CL prog 86/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 45 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xea7ce9ac, 0xdd45b6d7, 0x6e04b63b, 0xd0643086, 0xac02082e, 0xd28dd519, 0x62871a48, 0xfe17e39b}
MESA: info: workgroup_size: 128, 1, 1
MESA: info: system_values_read: 0x00000000'00000000'00006100'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: writes_memory: true
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:         // preds:
MESA: info:     con 1        %0 = @preamble_start_ir3
MESA: info:                       // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:         // preds: b0
MESA: info:         div 1        %1 = @elect_any_ir3
MESA: info:                           // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:         // preds: b1
MESA: info:             con 32       %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32       %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32     %630 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %573 = @load_ubo_vec4 (%3, %630 (0x1)) (access=speculatable, base=0, component=3)
MESA: info:             con 32       %6 = u2f32 %573
MESA: info:                               @store_const_ir3 (%6) (base=16)
MESA: info:             con 32       %7 = frcp %6
MESA: info:                               @store_const_ir3 (%7) (base=17)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=32, range=8)
MESA: info:             con 32      %12 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=3)
MESA: info:                               @prefetch_tex_ir3 (%12)
MESA: info:             con 32      %14 = @bindless_resource_ir3 (%630 (0x1)) (desc_set=3)
MESA: info:                               @prefetch_tex_ir3 (%14)
MESA: info:                               @preamble_end_ir3
MESA: info:                               // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:         // preds: b4 b5
MESA: info:     con 32      %36 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32      %38 = load_const (0x00000002)
MESA: info:     con 32      %43 = @load_const_ir3 (%36 (0x0)) (base=44)
MESA: info:     con 1       %44 = ieq %43, %36 (0x0)
MESA: info:                       // succs: b7 b17
MESA: info:     if %44 {
MESA: info:         con block b7:         // preds: b6
MESA: info:         con 32x3    %45 = @load_workgroup_id
MESA: info:         con 32x3    %46 = @load_base_workgroup_id
MESA: info:         con 32      %47 = iadd %45.x, %46.x
MESA: info:         div 32x3    %48 = @load_local_invocation_id
MESA: info:         con 32      %49 = load_const (0x00000007)
MESA: info:         con 32      %50 = ishl %47, %49 (0x7)
MESA: info:         div 32      %51 = iadd %50, %48.x
MESA: info:         con 32      %55 = @load_const_ir3 (%36 (0x0)) (base=39)
MESA: info:         div 1       %56 = ult %51, %55
MESA: info:                           // succs: b8 b15
MESA: info:         if %56 {
MESA: info:             div block b8:         // preds: b7
MESA: info:             con 32      %59 = @load_const_ir3 (%36 (0x0)) (base=35)
MESA: info:             con 1       %60 = ine %59, %36 (0x0)
MESA: info:                               // succs: b9 b10
MESA: info:             if %60 {
MESA: info:                 div block b9:         // preds: b8
MESA: info:                 div 32      %61 = ishl %51, %38 (0x2)
MESA: info:                 con 32      %62 = @bindless_resource_ir3 (%36 (0x0)) (desc_set=3)
MESA: info:                 div 32     %577 = @load_ssbo_ir3 (%62, %61, %51) (base=0, access=speculatable, align_mul=4, align_offset=0)
MESA: info:                                   // succs: b11
MESA: info:             } else {
MESA: info:                 div block b10:  // preds: b8, succs: b11
MESA: info:             }
MESA: info:             div block b11:        // preds: b9 b10
MESA: info:             div 32      %64 = phi b9: %577, b10: %51
MESA: info:             con 32x4    %69 = @load_const_ir3 (%36 (0x0)) (base=48)
MESA: info:             con 32      %70 = load_const (0x00000004)
MESA: info:             con 32x2  %1059 = load_const (0x00000004, 0x00000002)
MESA: info:             div 32x2  %1060 = ishl %64.xx, %1059 (0x4, 0x2)
MESA: info:             div 32    %1061 = mov %1060.x
MESA: info:             div 32    %1062 = mov %1060.y
MESA: info:             con 32      %72 = load_const (0x00000001)
MESA: info:             con 32      %73 = @bindless_resource_ir3 (%72 (0x1)) (desc_set=3)
MESA: info:             div 32x4   %581 = @load_ssbo_ir3 (%73, %1061, %1062) (base=0, access=speculatable, align_mul=16, align_offset=0)
MESA: info:             con 32x4    %82 = @load_const_ir3 (%36 (0x0)) (base=52)
MESA: info:             div 32x4  %1065 = fmul %82, %581.yyyy
MESA: info:             div 32x4  %1068 = ffma %69, %581.xxxx, %1065
MESA: info:             con 32x4    %94 = @load_const_ir3 (%36 (0x0)) (base=56)
MESA: info:             div 32x4  %1071 = ffma %94, %581.zzzz, %1068
MESA: info:             con 32x4   %106 = @load_const_ir3 (%36 (0x0)) (base=60)
MESA: info:             div 32x4  %1074 = ffma %106, %581.wwww, %1071
MESA: info:             con 32x2   %118 = @load_const_ir3 (%36 (0x0)) (base=45)
MESA: info:             con 1      %119 = ieq %118.x, %72 (0x1)
MESA: info:             div 32     %120 = frcp %1074.w
MESA: info:             div 32x3  %1076 = fmul %1074.xyz, %120.xxx
MESA: info:             div 32x3  %1078 = bcsel %119.xxx, %1076, %1074.xyz
MESA: info:             div 32     %128 = fneg %1078.y
MESA: info:             div 32     %754 = icsel_eqz %118.y, %128, %1078.y
MESA: info:             con 32     %130 = load_const (0x3f800000 = 1.000000)
MESA: info:             div 32     %131 = fadd %1078.x, %130 (1.000000)
MESA: info:             div 32     %132 = fadd %754, %130 (1.000000)
MESA: info:             con 32     %133 = load_const (0x3f000000 = 0.500000)
MESA: info:             div 32     %134 = fmul %131, %133 (0.500000)
MESA: info:             div 32     %135 = fmul %132, %133 (0.500000)
MESA: info:             con 32x4   %139 = @load_const_ir3 (%36 (0x0)) (base=40)
MESA: info:             con 32x2  %1079 = fneg %139.xy
MESA: info:             div 32    %1042 = ffma %134, %139.z, %1079.x
MESA: info:             div 32    %1041 = ffma %135, %139.w, %1079.y
MESA: info:             div 32     %147 = fmul %1042, %1042
MESA: info:             div 32    %1040 = ffma %1041, %1041, %147
MESA: info:             div 32     %149 = fsqrt %1040
MESA: info:             con 32     %150 = load_const (0x420c0000 = 35.000000)
MESA: info:             div 1      %151 = flt! %149, %150 (35.000000)
MESA: info:                               // succs: b12 b13
MESA: info:             if %151 {
MESA: info:                 div block b12:        // preds: b11
MESA: info:                 con 32      %65 = load_const (0x00000010 = 16)
MESA: info:                 con 32     %152 = @bindless_resource_ir3 (%38 (0x2)) (desc_set=3)
MESA: info:                 div 32     %584 = @ssbo_atomic_ir3 (%152, %36 (0x0), %72 (0x1), %36 (0x0)) (access=coherent, atomic_op=iadd)
MESA: info:                 div 32     %154 = ishl %584, %70 (0x4)
MESA: info:                 div 32     %155 = iadd %154, %65 (0x10)
MESA: info:                 div 32x4   %156 = vec4 %51, %64, %149, %1078.z
MESA: info:                 div 32     %586 = ushr %155, %38 (0x2)
MESA: info:                                   @store_ssbo_ir3 (%156, %152, %155, %586) (base=0, wrmask=xyzw, access=none, align_mul=16, align_offset=0)
MESA: info:                                   // succs: b14
MESA: info:             } else {
MESA: info:                 div block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             div block b14:  // preds: b12 b13, succs: b16
MESA: info:         } else {
MESA: info:             div block b15:  // preds: b7, succs: b16
MESA: info:         }
MESA: info:         con block b16:  // preds: b14 b15, succs: b42
MESA: info:     } else {
MESA: info:         con block b17:        // preds: b6
MESA: info:         con 32x3   %157 = @load_workgroup_id
MESA: info:         con 32x3   %158 = @load_base_workgroup_id
MESA: info:         con 32     %159 = iadd %157.x, %158.x
MESA: info:         div 32x3   %160 = @load_local_invocation_id
MESA: info:         con 32     %161 = load_const (0x00000007)
MESA: info:         con 32     %162 = ishl %159, %161 (0x7)
MESA: info:         div 32     %163 = iadd %162, %160.x
MESA: info:         div 32     %164 = u2f32 %163
MESA: info:         con 32     %166 = @load_const_ir3 (%36 (0x0)) (base=16)
MESA: info:         con 32     %168 = @load_const_ir3 (%36 (0x0)) (base=17)
MESA: info:         div 32     %169 = fmul %164, %168
MESA: info:         div 32     %170 = ffloor %169
MESA: info:         con 32    %1038 = fneg %166
MESA: info:         div 32    %1039 = ffma %1038, %170, %164
MESA: info:         div 32     %174 = f2u32 %1039
MESA: info:         con 32     %175 = load_const (0x00000001)
MESA: info:         con 32     %176 = load_const (0x00000003)
MESA: info:         con 32     %177 = load_const (0x00000004)
MESA: info:         con 32x4  %1086 = load_const (0x00000001, 0x00000002, 0x00000003, 0x00000004)
MESA: info:         con 1x4   %1087 = ieq %1086 (0x1, 0x2, 0x3, 0x4), %43.xxxx
MESA: info:         con 1     %1082 = mov %1087.x
MESA: info:         con 1     %1083 = mov %1087.y
MESA: info:                           // succs: b18 b19
MESA: info:         if %1082 {
MESA: info:             con block b18:        // preds: b17
MESA: info:             div 32     %770 = umul_low %174, %176 (0x3)
MESA: info:             div 32     %772 = imadsh_mix16 %176 (0x3), %174, %770
MESA: info:             con 32x2  %1088 = load_const (0x00000001, 0x00000002)
MESA: info:             div 32x2  %1089 = iadd %772.xx, %1088 (0x1, 0x2)
MESA: info:             div 32x2  %1112 = mov %1089.yx
MESA: info:                               // succs: b23
MESA: info:         } else {
MESA: info:             con block b19:  // preds: b17, succs: b20 b21
MESA: info:             if %1083 {
MESA: info:                 con block b20:        // preds: b19
MESA: info:                 con 32x2  %1092 = load_const (0x00000001, 0x00000002)
MESA: info:                 div 32x2  %1093 = iadd %174.xx, %1092 (0x1, 0x2)
MESA: info:                 div 32x2  %1108 = mov %1093.yx
MESA: info:                                   // succs: b22
MESA: info:             } else {
MESA: info:                 con block b21:        // preds: b19
MESA: info:                 con 32x2  %1096 = load_const (0x00000001, 0x00000002)
MESA: info:                 div 32x2  %1097 = iadd %174.xx, %1096 (0x1, 0x2)
MESA: info:                 con 32     %189 = load_const (0x00000006)
MESA: info:                 div 32     %767 = umul_low %174, %189 (0x6)
MESA: info:                 div 32     %769 = imadsh_mix16 %189 (0x6), %174, %767
MESA: info:                 con 32x2  %1098 = load_const (0x00000002, 0x00000004)
MESA: info:                 div 32x2  %1099 = iadd %769.xx, %1098 (0x2, 0x4)
MESA: info:                 con 32     %193 = load_const (0x00000005)
MESA: info:                 con 1      %194 = ieq %193 (0x5), %43
MESA: info:                 div 32     %195 = ishl %174, %175 (0x1)
MESA: info:                 con 32x2  %1100 = load_const (0x00000002, 0x00000004)
MESA: info:                 div 32x2  %1101 = iadd3 %174.xx, %174.xx, %1100 (0x2, 0x4)
MESA: info:                 div 32     %198 = bcsel %194, %195, %36 (0x0)
MESA: info:                 div 32x2  %1102 = bcsel %194.xx, %1101, %36 (0x0).xx
MESA: info:                 div 32     %201 = bcsel %1087.w, %769, %198
MESA: info:                 div 32x2  %1103 = bcsel %1087.ww, %1099, %1102
MESA: info:                 div 32x2  %1104 = bcsel %1087.zz, %1097.yx, %1103.yx
MESA: info:                 div 32     %206 = bcsel %1087.z, %36 (0x0), %201
MESA: info:                                   // succs: b22
MESA: info:             }
MESA: info:             con block b22:        // preds: b20 b21
MESA: info:             div 32x2  %1107 = phi b20: %1108, b21: %1104
MESA: info:             div 32     %209 = phi b20: %174, b21: %206
MESA: info:                               // succs: b23
MESA: info:         }
MESA: info:         con block b23:        // preds: b18 b22
MESA: info:         div 32x2  %1111 = phi b18: %1112, b22: %1107
MESA: info:         div 32     %212 = phi b18: %772, b22: %209
MESA: info:         div 32    %1113 = mov %1111.x
MESA: info:         div 32    %1114 = mov %1111.y
MESA: info:         con 32     %215 = @load_const_ir3 (%36 (0x0)) (base=35)
MESA: info:         con 1      %216 = ine %215, %36 (0x0)
MESA: info:                           // succs: b24 b25
MESA: info:         if %216 {
MESA: info:             con block b24:        // preds: b23
MESA: info:             div 32     %217 = ishl %212, %38 (0x2)
MESA: info:             con 32     %218 = @bindless_resource_ir3 (%36 (0x0)) (desc_set=3)
MESA: info:             div 32     %590 = @load_ssbo_ir3 (%218, %217, %212) (base=0, access=speculatable, align_mul=4, align_offset=0)
MESA: info:             con 32x2  %1115 = load_const (0x00000004, 0x00000002)
MESA: info:             div 32x2  %1116 = ishl %590.xx, %1115 (0x4, 0x2)
MESA: info:             div 32    %1117 = mov %1116.x
MESA: info:             div 32    %1118 = mov %1116.y
MESA: info:             con 32     %221 = @bindless_resource_ir3 (%175 (0x1)) (desc_set=3)
MESA: info:             div 32x4   %594 = @load_ssbo_ir3 (%221, %1117, %1118) (base=0, access=speculatable, align_mul=16, align_offset=0)
MESA: info:             div 32x4  %1179 = mov %594.wzyx
MESA: info:             div 32x2  %1123 = ishl %1111.yx, %38 (0x2).xx
MESA: info:             div 32    %1124 = mov %1123.x
MESA: info:             div 32    %1125 = mov %1123.y
MESA: info:             div 32     %598 = @load_ssbo_ir3 (%218, %1124, %1114) (base=0, access=speculatable, align_mul=4, align_offset=0)
MESA: info:             con 32x2  %1119 = load_const (0x00000004, 0x00000002)
MESA: info:             div 32x2  %1120 = ishl %598.xx, %1119 (0x4, 0x2)
MESA: info:             div 32    %1121 = mov %1120.x
MESA: info:             div 32    %1122 = mov %1120.y
MESA: info:             div 32x4   %602 = @load_ssbo_ir3 (%221, %1121, %1122) (base=0, access=speculatable, align_mul=16, align_offset=0)
MESA: info:             div 32x4  %1166 = mov %602.wzyx
MESA: info:             div 32     %606 = @load_ssbo_ir3 (%218, %1125, %1113) (base=0, access=speculatable, align_mul=4, align_offset=0)
MESA: info:             con 32x2  %1126 = load_const (0x00000004, 0x00000002)
MESA: info:             div 32x2  %1127 = ishl %606.xx, %1126 (0x4, 0x2)
MESA: info:             div 32    %1128 = mov %1127.x
MESA: info:             div 32    %1129 = mov %1127.y
MESA: info:             div 32x4   %610 = @load_ssbo_ir3 (%221, %1128, %1129) (base=0, access=speculatable, align_mul=16, align_offset=0)
MESA: info:             div 32x4  %1153 = mov %610.wzyx
MESA: info:                               // succs: b26
MESA: info:         } else {
MESA: info:             con block b25:        // preds: b23
MESA: info:             con 32x2  %1130 = load_const (0x00000004, 0x00000002)
MESA: info:             div 32x2  %1131 = ishl %212.xx, %1130 (0x4, 0x2)
MESA: info:             div 32    %1132 = mov %1131.x
MESA: info:             div 32    %1133 = mov %1131.y
MESA: info:             con 32     %244 = @bindless_resource_ir3 (%175 (0x1)) (desc_set=3)
MESA: info:             div 32x4   %614 = @load_ssbo_ir3 (%244, %1132, %1133) (base=0, access=speculatable, align_mul=16, align_offset=0)
MESA: info:             div 32x4  %1180 = mov %614.wzyx
MESA: info:             con 32x4  %1140 = load_const (0x00000004, 0x00000004, 0x00000002, 0x00000002)
MESA: info:             div 32x4  %1141 = ishl %1111.yxyx, %1140 (0x4, 0x4, 0x2, 0x2)
MESA: info:             div 32    %1142 = mov %1141.w
MESA: info:             div 32    %1139 = mov %1141.z
MESA: info:             div 32    %1135 = mov %1141.x
MESA: info:             div 32    %1136 = mov %1141.y
MESA: info:             div 32x4   %618 = @load_ssbo_ir3 (%244, %1135, %1139) (base=0, access=speculatable, align_mul=16, align_offset=0)
MESA: info:             div 32x4  %1167 = mov %618.wzyx
MESA: info:             div 32x4   %622 = @load_ssbo_ir3 (%244, %1136, %1142) (base=0, access=speculatable, align_mul=16, align_offset=0)
MESA: info:             div 32x4  %1154 = mov %622.wzyx
MESA: info:                               // succs: b26
MESA: info:         }
MESA: info:         con block b26:        // preds: b24 b25
MESA: info:         div 32x4  %1152 = phi b24: %1153, b25: %1154
MESA: info:         div 32x4  %1165 = phi b24: %1166, b25: %1167
MESA: info:         div 32x4  %1178 = phi b24: %1179, b25: %1180
MESA: info:         div 32x3  %1286 = mov %1178.yzw
MESA: info:         div 32x3  %1280 = mov %1165.yzw
MESA: info:         div 32x3  %1274 = mov %1152.yzw
MESA: info:         con 32     %277 = @load_const_ir3 (%36 (0x0)) (base=45)
MESA: info:         con 1      %278 = ieq %277, %175 (0x1)
MESA: info:                           // succs: b27 b31
MESA: info:         if %278 {
MESA: info:             con block b27:        // preds: b26
MESA: info:             con 32     %282 = @load_const_ir3 (%36 (0x0)) (base=47)
MESA: info:             con 1      %283 = ieq %282, %36 (0x0)
MESA: info:                               // succs: b28 b29
MESA: info:             if %283 {
MESA: info:                 con block b28:        // preds: b27
MESA: info:                 con 32x4   %287 = @load_const_ir3 (%36 (0x0)) (base=48)
MESA: info:                 con 32x4   %295 = @load_const_ir3 (%36 (0x0)) (base=52)
MESA: info:                 div 32x4  %1184 = fmul %295, %1178.zzzz
MESA: info:                 div 32x4  %1187 = ffma %287, %1178.wwww, %1184
MESA: info:                 con 32x4   %307 = @load_const_ir3 (%36 (0x0)) (base=56)
MESA: info:                 div 32x4  %1190 = ffma %307, %1178.yyyy, %1187
MESA: info:                 con 32x4   %319 = @load_const_ir3 (%36 (0x0)) (base=60)
MESA: info:                 div 32x4  %1196 = ffma %319, %1178.xxxx, %1190
MESA: info:                 div 32x4  %1253 = mov %1196.wzyx
MESA: info:                 div 32x4  %1200 = fmul %295, %1165.zzzz
MESA: info:                 div 32x4  %1203 = ffma %287, %1165.wwww, %1200
MESA: info:                 div 32x4  %1206 = ffma %307, %1165.yyyy, %1203
MESA: info:                 div 32x4  %1212 = ffma %319, %1165.xxxx, %1206
MESA: info:                 div 32x4  %1245 = mov %1212.wzyx
MESA: info:                 div 32x4  %1216 = fmul %295, %1152.zzzz
MESA: info:                 div 32x4  %1219 = ffma %287, %1152.wwww, %1216
MESA: info:                 div 32x4  %1222 = ffma %307, %1152.yyyy, %1219
MESA: info:                 div 32x4  %1228 = ffma %319, %1152.xxxx, %1222
MESA: info:                 div 32x4  %1237 = mov %1228.wzyx
MESA: info:                                   // succs: b30
MESA: info:             } else {
MESA: info:                 con block b29:  // preds: b27, succs: b30
MESA: info:             }
MESA: info:             con block b30:        // preds: b28 b29
MESA: info:             div 32x4  %1236 = phi b28: %1237, b29: %1152
MESA: info:             div 32x4  %1244 = phi b28: %1245, b29: %1165
MESA: info:             div 32x4  %1252 = phi b28: %1253, b29: %1178
MESA: info:             div 32     %396 = frcp %1252.x
MESA: info:             div 32x3  %1257 = fmul %1252.wzy, %396.xxx
MESA: info:             div 32x3  %1285 = mov %1257.zyx
MESA: info:             div 32     %400 = frcp %1244.x
MESA: info:             div 32x3  %1262 = fmul %1244.wzy, %400.xxx
MESA: info:             div 32x3  %1279 = mov %1262.zyx
MESA: info:             div 32     %404 = frcp %1236.x
MESA: info:             div 32x3  %1267 = fmul %1236.wzy, %404.xxx
MESA: info:             div 32x3  %1273 = mov %1267.zyx
MESA: info:                               // succs: b32
MESA: info:         } else {
MESA: info:             con block b31:  // preds: b26, succs: b32
MESA: info:         }
MESA: info:         con block b32:        // preds: b30 b31
MESA: info:         div 32x3  %1272 = phi b30: %1273, b31: %1274
MESA: info:         div 32x3  %1278 = phi b30: %1279, b31: %1280
MESA: info:         div 32x3  %1284 = phi b30: %1285, b31: %1286
MESA: info:         con 32      %33 = undefined
MESA: info:         con 32      %34 = undefined
MESA: info:         con 32      %35 = undefined
MESA: info:         con 32x3   %419 = @load_const_ir3 (%36 (0x0)) (base=32)
MESA: info:         con 32x3   %423 = @load_const_ir3 (%36 (0x0)) (base=36)
MESA: info:         div 1x3   %1288 = feq! %1284, %1278
MESA: info:         div 1      %427 = iand %1288.x, %1288.y
MESA: info:         div 1x3   %1290 = feq! %1284, %1272
MESA: info:         div 1      %432 = iand %1290.x, %1290.y
MESA: info:         div 1      %433 = iand %432, %1290.z
MESA: info:         div 1     %1058 = andg_ir3 %427, %1288.z, %433
MESA: info:         div 1x3   %1292 = feq! %1278, %1272
MESA: info:         div 1      %438 = iand %1292.x, %1292.y
MESA: info:         div 1      %439 = iand %438, %1292.z
MESA: info:         div 1     %1055 = inot %1058
MESA: info:         div 1     %1056 = inot %439
MESA: info:         div 1     %1057 = iand %1055, %1056
MESA: info:                           // succs: b33 b37
MESA: info:         if %1057 {
MESA: info:             div block b33:        // preds: b32
MESA: info:             div 32x3  %1294 = fsub %1278.zyx, %1284.zyx
MESA: info:             div 32x3  %1296 = fsub %1272.zyx, %1284.zyx
MESA: info:             div 32x3  %1298 = fmul %423.zxy, %1296.yzx
MESA: info:             div 32x3  %1301 = fneg %1298
MESA: info:             div 32x3  %1302 = ffma %423.yzx, %1296.zxy, %1301
MESA: info:             div 32     %464 = fmul %1294.y, %1302.y
MESA: info:             div 32     %992 = ffma %1294.z, %1302.z, %464
MESA: info:             div 32     %991 = ffma %1294.x, %1302.x, %992
MESA: info:             div 1      %468 = fneu! %991, %36 (0.000000)
MESA: info:                               // succs: b34 b35
MESA: info:             if %468 {
MESA: info:                 div block b34:        // preds: b33
MESA: info:                 con 32     %469 = load_const (0x3f800000 = 1.000000)
MESA: info:                 div 32     %470 = frcp %991
MESA: info:                 div 32x3  %1304 = fsub %419, %1284.zyx
MESA: info:                 div 32x3  %1306 = fmul %1304.zxy, %1294.yzx
MESA: info:                 div 32x3  %1309 = fneg %1306
MESA: info:                 div 32x3  %1310 = ffma %1304.yzx, %1294.zxy, %1309
MESA: info:                 div 32     %487 = fmul %1304.y, %1302.y
MESA: info:                 div 32     %984 = ffma %1304.z, %1302.z, %487
MESA: info:                 div 32     %983 = ffma %1304.x, %1302.x, %984
MESA: info:                 div 32     %491 = fmul %983, %470
MESA: info:                 div 32     %493 = fmul %423.y, %1310.y
MESA: info:                 div 32     %982 = ffma %423.z, %1310.z, %493
MESA: info:                 div 32     %981 = ffma %423.x, %1310.x, %982
MESA: info:                 div 32     %497 = fmul %981, %470
MESA: info:                 div 32     %498 = fsat! %491
MESA: info:                 div 1      %499 = feq! %491, %498
MESA: info:                 div 1      %500 = fge! %497, %36 (0.000000)
MESA: info:                 div 1      %501 = iand %499, %500
MESA: info:                 div 32     %502 = fadd %983, %981
MESA: info:                 div 32     %503 = fmul %470, %502
MESA: info:                 div 1      %504 = fge! %469 (1.000000), %503
MESA: info:                 div 1      %505 = iand %501, %504
MESA: info:                 div 32     %507 = fmul %1296.y, %1310.y
MESA: info:                 div 32     %980 = ffma %1296.z, %1310.z, %507
MESA: info:                 div 32     %979 = ffma %1296.x, %1310.x, %980
MESA: info:                 div 32     %511 = fmul %979, %470
MESA: info:                 div 1      %512 = fge! %511, %36 (0.000000)
MESA: info:                 div 32x3  %1314 = ffma %423, %511.xxx, %419
MESA: info:                 div 32    %1315 = mov %1314.z
MESA: info:                 div 32    %1312 = mov %1314.x
MESA: info:                 div 32    %1313 = mov %1314.y
MESA: info:                 div 1      %519 = iand %505, %512
MESA: info:                                   // succs: b36
MESA: info:             } else {
MESA: info:                 div block b35:        // preds: b33
MESA: info:                 con 1      %520 = load_const (false)
MESA: info:                                   // succs: b36
MESA: info:             }
MESA: info:             div block b36:        // preds: b34 b35
MESA: info:             div 1      %521 = phi b34: %519, b35: %520 (false)
MESA: info:             div 32     %522 = phi b34: %1313, b35: %33
MESA: info:             div 32     %523 = phi b34: %1312, b35: %34
MESA: info:             div 32     %524 = phi b34: %1315, b35: %35
MESA: info:                               // succs: b38
MESA: info:         } else {
MESA: info:             div block b37:        // preds: b32
MESA: info:             con 1      %525 = load_const (false)
MESA: info:                               // succs: b38
MESA: info:         }
MESA: info:         con block b38:        // preds: b36 b37
MESA: info:         div 1      %526 = phi b36: %521, b37: %525 (false)
MESA: info:         div 32     %527 = phi b36: %522, b37: %33
MESA: info:         div 32     %528 = phi b36: %523, b37: %34
MESA: info:         div 32     %529 = phi b36: %524, b37: %35
MESA: info:                           // succs: b39 b40
MESA: info:         if %526 {
MESA: info:             div block b39:        // preds: b38
MESA: info:             con 32     %420 = load_const (0x00000010 = 16)
MESA: info:             div 32     %975 = fsub %1284.z, %528
MESA: info:             div 32     %974 = fsub %1284.y, %527
MESA: info:             div 32     %973 = fsub %1284.x, %529
MESA: info:             div 32     %537 = fmul %974, %974
MESA: info:             div 32     %972 = ffma %973, %973, %537
MESA: info:             div 32     %971 = ffma %975, %975, %972
MESA: info:             div 32     %541 = fsqrt %971
MESA: info:             div 32     %970 = fsub %1278.z, %528
MESA: info:             div 32     %969 = fsub %1278.y, %527
MESA: info:             div 32     %968 = fsub %1278.x, %529
MESA: info:             div 32     %546 = fmul %969, %969
MESA: info:             div 32     %967 = ffma %968, %968, %546
MESA: info:             div 32     %966 = ffma %970, %970, %967
MESA: info:             div 32     %550 = fsqrt %966
MESA: info:             div 32     %965 = fsub %1272.z, %528
MESA: info:             div 32     %964 = fsub %1272.y, %527
MESA: info:             div 32     %963 = fsub %1272.x, %529
MESA: info:             div 32     %555 = fmul %964, %964
MESA: info:             div 32     %962 = ffma %963, %963, %555
MESA: info:             div 32     %961 = ffma %965, %965, %962
MESA: info:             div 32     %559 = fsqrt %961
MESA: info:             con 32     %560 = @bindless_resource_ir3 (%38 (0x2)) (desc_set=3)
MESA: info:             div 32     %625 = @ssbo_atomic_ir3 (%560, %36 (0x0), %175 (0x1), %36 (0x0)) (access=coherent, atomic_op=iadd)
MESA: info:             div 32     %562 = fmin %541, %559
MESA: info:             div 1      %563 = flt! %550, %562
MESA: info:             div 32     %564 = fmin %541, %550
MESA: info:             div 1      %565 = flt! %559, %564
MESA: info:             div 32     %566 = bcsel %565, %1111.x, %212
MESA: info:             div 32     %567 = bcsel %563, %1111.y, %566
MESA: info:             div 32     %568 = ishl %625, %177 (0x4)
MESA: info:             div 32     %569 = iadd %568, %420 (0x10)
MESA: info:             div 32x4   %570 = vec4 %567, %528, %527, %529
MESA: info:             div 32     %627 = ushr %569, %38 (0x2)
MESA: info:                               @store_ssbo_ir3 (%570, %560, %569, %627) (base=0, wrmask=xyzw, access=none, align_mul=16, align_offset=0)
MESA: info:                               // succs: b41
MESA: info:         } else {
MESA: info:             div block b40:  // preds: b38, succs: b41
MESA: info:         }
MESA: info:         con block b41:  // preds: b39 b40, succs: b42
MESA: info:     }
MESA: info:     con block b42:  // preds: b16 b41, succs: b43
MESA: info:     block b43:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 9faa3b9886ad1975741a9d16ef5b4fc1249427ae:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (8 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.x)	in1 (wrmask=0x7)
MESA: info: @const(c16.x)	0x420c0000, 0x00000003, 0x00000000, 0x00000006
MESA: info: @const(c17.x)	0x00000002, 0x00000004, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l14
MESA: info: getone #l14
MESA: info: ldc.u.offset3.1.imm.base1 r48.w, 1, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 1
MESA: info: (sy)(ss)cov.u32f32 r48.w, r48.w
MESA: info: (ss)nop
MESA: info: stc.u32 c[16], r48.w, 1
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: (ss)nop
MESA: info: stc.u32 c[17], r48.w, 1
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l14:
MESA: info: (jp)cmps.s.eq p0.y, c11.x, 0
MESA: info: mov.u32u32 r0.w, 0
MESA: info: mov.u32u32 r1.x, 2
MESA: info: (rpt2)nop
MESA: info: br !p0.y, #l84
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shl.b r48.x, r48.x, 7
MESA: info: (ss)(nop2) add.u r1.y, r48.x, r0.x
MESA: info: (nop3) cmps.u.lt p0.y, r1.y, c9.w
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l345
MESA: info: (nop3) cmps.s.ne p0.y, c8.w, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l30
MESA: info: ldib.b.untyped.1d.u32.1.imm.base3 r1.z, r1.y, 0
MESA: info: jump #l31
MESA: info: l30:
MESA: info: mov.u32u32 r1.z, r1.y
MESA: info: l31:
MESA: info: cmps.s.eq r2.z, c11.y, 1
MESA: info: mov.f32f32 r2.w, c11.z
MESA: info: (sy)(nop3) shl.b r2.y, r1.z, 2
MESA: info: (rpt1)nop
MESA: info: ldib.b.untyped.1d.u32.4.imm.base3 r3.x, r2.y, 1
MESA: info: (sy)(rpt1)mul.f r4.z, (r)c13.z, r3.y
MESA: info: (rpt1)mad.f32 r4.z, (r)c12.z, r3.x, (r)(last)r4.z
MESA: info: (rpt1)mad.f32 r4.z, (r)c14.z, r3.z, (r)(last)r4.z
MESA: info: (rpt1)mad.f32 r4.z, (r)c15.z, r3.w, (r)(last)r4.z
MESA: info: mul.f r4.y, c13.y, r3.y
MESA: info: mul.f r4.x, c13.x, (last)r3.y
MESA: info: mad.f32 r4.y, c12.y, r3.x, (last)r4.y
MESA: info: mad.f32 r4.x, c12.x, r3.x, (last)r4.x
MESA: info: mad.f32 r4.y, c14.y, r3.z, (last)r4.y
MESA: info: rcp r4.w, (last)r4.w
MESA: info: mad.f32 r4.x, c14.x, r3.z, (last)r4.x
MESA: info: mad.f32 r4.y, c15.y, r3.w, (last)r4.y
MESA: info: (nop1) mad.f32 r4.x, c15.x, r3.w, (last)r4.x
MESA: info: (ss)mul.f r5.y, r4.y, r4.w
MESA: info: mul.f r5.x, r4.x, r4.w
MESA: info: mul.f r4.w, r4.z, (last)r4.w
MESA: info: sel.b32 r5.y, (last)r5.y, r2.z, (last)r4.y
MESA: info: sel.b32 r5.x, (last)r5.x, r2.z, (last)r4.x
MESA: info: sel.b32 r2.x, (last)r4.w, r2.z, (last)r4.z
MESA: info: absneg.f r5.z, (neg)r5.y
MESA: info: add.f r5.x, (last)r5.x, (1.0)
MESA: info: (nop1) sel.b32 r5.y, (last)r5.y, r2.w, (last)r5.z
MESA: info: mul.f r5.x, (last)r5.x, (0.5)
MESA: info: (nop1) add.f r5.y, (last)r5.y, (1.0)
MESA: info: mad.f32 r5.x, c10.z, r5.x, (neg)c10.x
MESA: info: (nop1) mul.f r5.y, (last)r5.y, (0.5)
MESA: info: mul.f r5.x, (last)r5.x, r5.x
MESA: info: (nop2) mad.f32 r5.y, c10.w, r5.y, (neg)c10.y
MESA: info: (nop3) mad.f32 r5.y, (last)r5.y, r5.y, (last)r5.x
MESA: info: (rpt1)nop
MESA: info: sqrt r1.w, (last)r5.y
MESA: info: (ss)(nop3) cmps.f.lt p0.x, r1.w, c16.x
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r6.x, 1
MESA: info: (rpt4)nop
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r5.w, r0.w, r1.x
MESA: info: (sy)(nop2) shl.b r5.w, (last)r5.w, 4
MESA: info: (nop2) add.u r5.w, (last)r5.w, 16
MESA: info: (nop3) shr.b r5.w, (last)r5.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r1.y, r5.w, 2
MESA: info: predf
MESA: info: (rpt4)nop
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: jump #l345
MESA: info: l84:
MESA: info: add.u r48.x, r48.x, c1.x
MESA: info: shl.b r48.x, r48.x, 7
MESA: info: cmps.s.eq p0.y, 1, c11.x
MESA: info: cmps.s.eq p0.z, 2, c11.x
MESA: info: cmps.s.eq r6.y, 4, c11.x
MESA: info: cmps.s.eq r6.z, 3, c11.x
MESA: info: (ss)(nop2) add.u r0.x, r48.x, (last)r0.x
MESA: info: cov.u32f32 r0.x, (last)r0.x
MESA: info: (rpt1)nop
MESA: info: (nop2) mul.f r6.w, r0.x, c4.y
MESA: info: (nop2) floor.f r6.w, (last)r6.w
MESA: info: (nop2) mad.f32 r6.w, (neg)c4.x, r6.w, (last)r0.x
MESA: info: cov.f32u32 r6.w, (last)r6.w
MESA: info: br !p0.y, #l104
MESA: info: (rpt1)nop
MESA: info: (nop1) mull.u r7.x, r6.w, 3
MESA: info: (nop2) madsh.m16 r6.w, c16.y, r6.w, (last)r7.x
MESA: info: add.u r7.z, r6.w, 2
MESA: info: add.u r7.y, r6.w, 1
MESA: info: jump #l129
MESA: info: l104:
MESA: info: br !p0.z, #l109
MESA: info: (rpt1)nop
MESA: info: add.u r7.z, r6.w, 2
MESA: info: add.u r7.y, r6.w, 1
MESA: info: jump #l129
MESA: info: l109:
MESA: info: (nop1) cmps.s.eq r8.x, 5, c11.x
MESA: info: mull.u r7.w, r6.w, 6
MESA: info: shl.b r8.y, r6.w, 1
MESA: info: madsh.m16 r7.w, c16.w, r6.w, (last)r7.w
MESA: info: sad.s32 r8.z, r6.w, r6.w, c17.x
MESA: info: sad.s32 r8.w, r6.w, r6.w, c17.y
MESA: info: sel.b32 r8.y, (last)r8.y, r8.x, c16.z
MESA: info: add.u r9.x, r7.w, 2
MESA: info: sel.b32 r8.y, r7.w, r6.y, (last)r8.y
MESA: info: add.u r7.w, (last)r7.w, 4
MESA: info: add.u r9.y, r6.w, 2
MESA: info: sel.b32 r8.z, (last)r8.z, r8.x, c16.z
MESA: info: sel.b32 r8.w, (last)r8.w, r8.x, c16.z
MESA: info: sel.b32 r8.y, c16.z, r6.z, (last)r8.y
MESA: info: add.u r6.w, (last)r6.w, 1
MESA: info: sel.b32 r9.x, (last)r9.x, r6.y, (last)r8.z
MESA: info: sel.b32 r7.w, (last)r7.w, r6.y, (last)r8.w
MESA: info: sel.b32 r7.y, (last)r6.w, r6.z, (last)r9.x
MESA: info: sel.b32 r7.z, (last)r9.y, r6.z, (last)r7.w
MESA: info: mov.u32u32 r6.w, (last)r8.y
MESA: info: l129:
MESA: info: (nop3) cmps.s.ne p0.y, c8.w, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l145
MESA: info: ldib.b.untyped.1d.u32.1.imm.base3 r9.z, r6.w, 0
MESA: info: (sy)(nop3) shl.b r9.z, (last)r9.z, 2
MESA: info: (rpt1)nop
MESA: info: ldib.b.untyped.1d.u32.4.imm.base3 r9.w, r9.z, 1
MESA: info: ldib.b.untyped.1d.u32.1.imm.base3 r10.w, r7.y, 0
MESA: info: (sy)(nop3) shl.b r10.w, (last)r10.w, 2
MESA: info: (rpt1)nop
MESA: info: ldib.b.untyped.1d.u32.4.imm.base3 r11.x, r10.w, 1
MESA: info: ldib.b.untyped.1d.u32.1.imm.base3 r0.x, r7.z, 0
MESA: info: (sy)(nop3) shl.b r0.x, (last)r0.x, 2
MESA: info: (rpt1)nop
MESA: info: ldib.b.untyped.1d.u32.4.imm.base3 r1.y, r0.x, 1
MESA: info: jump #l153
MESA: info: l145:
MESA: info: shl.b r2.y, r6.w, 2
MESA: info: (rpt1)shl.b r2.z, (r)r7.y, 2
MESA: info: (rpt2)nop
MESA: info: ldib.b.untyped.1d.u32.4.imm.base3 r9.w, r2.y, 1
MESA: info: nop
MESA: info: ldib.b.untyped.1d.u32.4.imm.base3 r11.x, r2.z, 1
MESA: info: nop
MESA: info: ldib.b.untyped.1d.u32.4.imm.base3 r1.y, r2.w, 1
MESA: info: l153:
MESA: info: (nop3) cmps.s.eq p0.y, c11.y, 1
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l226
MESA: info: (nop3) cmps.s.eq p0.y, c11.w, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l208
MESA: info: (sy)mul.f r3.x, c13.x, r10.x
MESA: info: mul.f r4.x, c13.y, r10.x
MESA: info: mul.f r4.y, c13.z, r10.x
MESA: info: mul.f r4.z, c13.x, r11.y
MESA: info: mul.f r5.z, c13.y, r11.y
MESA: info: mul.f r5.w, c13.z, r11.y
MESA: info: mul.f r6.x, c13.x, r1.z
MESA: info: mul.f r8.z, c13.y, r1.z
MESA: info: mul.f r8.w, c13.z, r1.z
MESA: info: mul.f r10.x, c13.w, (last)r10.x
MESA: info: mul.f r11.y, c13.w, (last)r11.y
MESA: info: mul.f r1.z, c13.w, (last)r1.z
MESA: info: mad.f32 r3.x, c12.x, r9.w, (last)r3.x
MESA: info: mad.f32 r4.x, c12.y, r9.w, (last)r4.x
MESA: info: mad.f32 r4.y, c12.z, r9.w, (last)r4.y
MESA: info: mad.f32 r4.z, c12.x, r11.x, (last)r4.z
MESA: info: mad.f32 r5.z, c12.y, r11.x, (last)r5.z
MESA: info: mad.f32 r5.w, c12.z, r11.x, (last)r5.w
MESA: info: mad.f32 r6.x, c12.x, r1.y, (last)r6.x
MESA: info: mad.f32 r8.z, c12.y, r1.y, (last)r8.z
MESA: info: mad.f32 r8.w, c12.z, r1.y, (last)r8.w
MESA: info: mad.f32 r9.w, c12.w, r9.w, r10.x
MESA: info: mad.f32 r11.x, c12.w, r11.x, r11.y
MESA: info: mad.f32 r1.y, c12.w, r1.y, r1.z
MESA: info: mad.f32 r3.x, c14.x, r10.y, (last)r3.x
MESA: info: mad.f32 r4.x, c14.y, r10.y, (last)r4.x
MESA: info: mad.f32 r4.y, c14.z, r10.y, (last)r4.y
MESA: info: mad.f32 r4.z, c14.x, r11.z, (last)r4.z
MESA: info: mad.f32 r5.z, c14.y, r11.z, (last)r5.z
MESA: info: mad.f32 r5.w, c14.z, r11.z, (last)r5.w
MESA: info: mad.f32 r6.x, c14.x, r1.w, (last)r6.x
MESA: info: mad.f32 r8.z, c14.y, r1.w, (last)r8.z
MESA: info: mad.f32 r8.w, c14.z, r1.w, (last)r8.w
MESA: info: mad.f32 r10.y, c14.w, r10.y, r9.w
MESA: info: mad.f32 r11.z, c14.w, r11.z, r11.x
MESA: info: mad.f32 r1.w, c14.w, r1.w, r1.y
MESA: info: mad.f32 r3.y, c15.x, r10.z, (last)r3.x
MESA: info: mad.f32 r3.z, c15.y, r10.z, (last)r4.x
MESA: info: mad.f32 r3.w, c15.z, r10.z, (last)r4.y
MESA: info: mad.f32 r4.w, c15.x, r11.w, (last)r4.z
MESA: info: mad.f32 r5.x, c15.y, r11.w, (last)r5.z
MESA: info: mad.f32 r5.y, c15.z, r11.w, (last)r5.w
MESA: info: mad.f32 r7.w, c15.x, r2.x, r6.x
MESA: info: mad.f32 r8.x, c15.y, r2.x, (last)r8.z
MESA: info: mad.f32 r8.y, c15.z, r2.x, (last)r8.w
MESA: info: mad.f32 r10.z, c15.w, r10.z, r10.y
MESA: info: mad.f32 r11.w, c15.w, r11.w, r11.z
MESA: info: mad.f32 r2.x, c15.w, r2.x, r1.w
MESA: info: jump #l217
MESA: info: l208:
MESA: info: (sy)mov.u32u32 r3.y, (last)r9.w
MESA: info: mov.u32u32 r3.z, (last)r10.x
MESA: info: mov.u32u32 r3.w, (last)r10.y
MESA: info: mov.u32u32 r4.w, (last)r11.x
MESA: info: mov.u32u32 r5.x, (last)r11.y
MESA: info: mov.u32u32 r5.y, (last)r11.z
MESA: info: mov.u32u32 r7.w, (last)r1.y
MESA: info: mov.u32u32 r8.x, (last)r1.z
MESA: info: mov.u32u32 r8.y, (last)r1.w
MESA: info: l217:
MESA: info: (rpt2)nop
MESA: info: rcp r10.z, (last)r10.z
MESA: info: nop
MESA: info: rcp r11.w, (last)r11.w
MESA: info: nop
MESA: info: rcp r2.x, (last)r2.x
MESA: info: (ss)(rpt2)mul.f r9.w, (last)(r)r3.y, (last)r10.z
MESA: info: (rpt2)mul.f r11.x, (last)(r)r4.w, (last)r11.w
MESA: info: (rpt2)mul.f r1.y, (last)(r)r7.w, (last)r2.x
MESA: info: l226:
MESA: info: (rpt1)nop
MESA: info: (sy)cmps.f.eq hr18.z, r10.y, r1.w
MESA: info: cmps.f.eq hr18.w, r10.x, r1.z
MESA: info: cmps.f.eq hr18.x, r10.y, r11.z
MESA: info: cmps.f.eq hr18.y, r10.x, r11.y
MESA: info: cmps.f.eq hr19.x, r9.w, r1.y
MESA: info: and.b hr18.z, (last)hr18.z, (last)hr18.w
MESA: info: cmps.f.eq hr19.y, r9.w, r11.x
MESA: info: cmps.f.eq hr21.x, r11.z, r1.w
MESA: info: cmps.f.eq hr21.y, r11.y, r1.z
MESA: info: and.b hr18.x, (last)hr18.x, (last)hr18.y
MESA: info: and.b hr18.z, (last)hr18.z, (last)hr19.x
MESA: info: cmps.f.eq hr21.z, r11.x, r1.y
MESA: info: and.b hr21.x, (last)hr21.x, (last)hr21.y
MESA: info: (nop1) andg hr18.x, (last)hr18.x, hr19.y, (last)hr18.z
MESA: info: and.b p0.z, (last)hr21.x, (last)hr21.z
MESA: info: (nop3) cmps.s.ne p0.y, (last)hr18.x, h(0)
MESA: info: (rpt1)nop
MESA: info: brao p0.y, p0.z, #l301
MESA: info: (rpt1)add.f r0.x, (r)r1.z, (neg)(r)r10.x
MESA: info: add.f r0.z, r1.y, (neg)r9.w
MESA: info: (rpt1)add.f r2.w, (r)r11.y, (neg)(r)r10.x
MESA: info: mul.f r2.y, c9.x, r0.y
MESA: info: mul.f r2.z, c9.y, r0.z
MESA: info: mad.f32 r2.y, c9.z, r0.z, (neg)(last)r2.y
MESA: info: mul.f r2.x, c9.z, r0.x
MESA: info: mad.f32 r2.z, c9.x, r0.x, (neg)(last)r2.z
MESA: info: add.f r3.y, r11.x, (neg)r9.w
MESA: info: mul.f r3.z, r2.w, r2.y
MESA: info: mad.f32 r2.x, c9.y, r0.y, (neg)(last)r2.x
MESA: info: (nop1) mad.f32 r3.z, r3.x, r2.z, (last)r3.z
MESA: info: (nop2) mad.f32 r3.z, r3.y, r2.x, (last)r3.z
MESA: info: (nop3) cmps.f.ne p0.x, r3.z, (0.0)
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: add.f r3.w, c8.z, (neg)r10.y
MESA: info: (rpt1)add.f r4.x, (r)c8.x, (neg)(r)r9.w
MESA: info: rcp r3.z, (last)r3.z
MESA: info: (nop1) mul.f r4.z, r3.w, r2.w
MESA: info: mad.f32 r4.z, r4.y, r3.x, (neg)(last)r4.z
MESA: info: (nop1) mul.f r3.x, r4.x, (last)r3.x
MESA: info: mad.f32 r3.x, r3.w, r3.y, (neg)(last)r3.x
MESA: info: mul.f r3.y, r4.y, (last)r3.y
MESA: info: mul.f r4.y, (last)r4.y, (last)r2.y
MESA: info: mad.f32 r2.w, r4.x, r2.w, (neg)(last)r3.y
MESA: info: mul.f r4.w, c9.y, r3.x
MESA: info: mad.f32 r3.w, (last)r3.w, r2.z, (last)r4.y
MESA: info: mad.f32 r4.w, c9.z, r2.w, (last)r4.w
MESA: info: mad.f32 r4.x, (last)r4.x, r2.x, (last)r3.w
MESA: info: mad.f32 r4.w, c9.x, r4.z, (last)r4.w
MESA: info: (nop1) mul.f r0.x, (last)r0.x, (last)r3.x
MESA: info: add.f r5.x, r4.x, r4.w
MESA: info: (ss)mul.f r4.x, (last)r4.x, r3.z
MESA: info: mul.f r4.w, (last)r4.w, r3.z
MESA: info: mad.f32 r0.y, (last)r0.y, r2.w, (last)r0.x
MESA: info: (sat)max.f r5.y, r4.x, r4.x
MESA: info: mul.f r5.x, r3.z, (last)r5.x
MESA: info: cmps.f.ge hr9.z, (last)r4.w, (0.0)
MESA: info: mad.f32 r0.z, (last)r0.z, r4.z, (last)r0.y
MESA: info: cmps.f.eq hr8.x, (last)r4.x, (last)r5.y
MESA: info: cmps.f.ge hr10.x, (1.0), (last)r5.x
MESA: info: mul.f r0.z, (last)r0.z, (last)r3.z
MESA: info: (nop1) and.b hr8.x, (last)hr8.x, (last)hr9.z
MESA: info: cmps.f.ge hr11.x, r0.z, (0.0)
MESA: info: and.b hr8.x, (last)hr8.x, (last)hr10.x
MESA: info: mad.f32 r6.y, c9.y, r0.z, c8.y
MESA: info: mad.f32 r6.x, c9.x, r0.z, c8.x
MESA: info: mad.f32 r6.z, c9.z, r0.z, c8.z
MESA: info: and.b hr8.x, (last)hr8.x, (last)hr11.x
MESA: info: predf
MESA: info: (rpt4)nop
MESA: info: mov.u16u16 hr8.x, 0
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: jump #l302
MESA: info: l301:
MESA: info: (jp)mov.u16u16 hr8.x, 0
MESA: info: l302:
MESA: info: (jp)(rpt1)nop
MESA: info: (nop3) cmps.s.ne p0.x, (last)hr8.x, h(0)
MESA: info: (rpt1)nop
MESA: info: predt
MESA: info: mov.u32u32 r7.w, 0
MESA: info: mov.u32u32 r8.x, 1
MESA: info: add.f r10.x, (last)r10.x, (neg)r6.y
MESA: info: add.f r11.y, (last)r11.y, (neg)r6.y
MESA: info: add.f r1.z, (last)r1.z, (neg)r6.y
MESA: info: add.f r10.y, (last)r10.y, (neg)r6.z
MESA: info: add.f r11.z, (last)r11.z, (neg)r6.z
MESA: info: atomic.b.add.untyped.1d.u32.1.uniform.base3 r7.w, r0.w, r1.x
MESA: info: add.f r1.w, (last)r1.w, (neg)r6.z
MESA: info: add.f r9.w, (last)r9.w, (neg)r6.x
MESA: info: add.f r11.x, (last)r11.x, (neg)r6.x
MESA: info: add.f r1.y, (last)r1.y, (neg)r6.x
MESA: info: mul.f r10.x, (last)r10.x, r10.x
MESA: info: mul.f r11.y, (last)r11.y, r11.y
MESA: info: mul.f r1.z, (last)r1.z, r1.z
MESA: info: mad.f32 r10.y, (last)r10.y, r10.y, (last)r10.x
MESA: info: mad.f32 r11.z, (last)r11.z, r11.z, (last)r11.y
MESA: info: mad.f32 r1.w, (last)r1.w, r1.w, (last)r1.z
MESA: info: mad.f32 r9.w, (last)r9.w, r9.w, (last)r10.y
MESA: info: mad.f32 r11.x, (last)r11.x, r11.x, (last)r11.z
MESA: info: (nop3) mad.f32 r1.y, (last)r1.y, r1.y, (last)r1.w
MESA: info: sqrt r9.w, (last)r9.w
MESA: info: nop
MESA: info: sqrt r11.x, (last)r11.x
MESA: info: nop
MESA: info: sqrt r1.y, (last)r1.y
MESA: info: (ss)min.f r8.y, r9.w, r1.y
MESA: info: (nop1) min.f r9.w, (last)r9.w, r11.x
MESA: info: cmps.f.lt r11.x, (last)r11.x, (last)r8.y
MESA: info: (nop2) cmps.f.lt r1.y, (last)r1.y, (last)r9.w
MESA: info: (nop1) sel.b32 r7.z, (last)r7.z, r1.y, (last)r6.w
MESA: info: sel.b32 r5.w, (last)r7.y, r11.x, (last)r7.z
MESA: info: (sy)(nop2) shl.b r7.w, (last)r7.w, 4
MESA: info: (nop2) add.u r7.w, (last)r7.w, 16
MESA: info: (nop3) shr.b r7.w, (last)r7.w, 2
MESA: info: (rpt1)nop
MESA: info: stib.b.untyped.1d.u32.4.imm.base3 r5.w, r7.w, 2
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: l345:
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0) r0.x (SYSTEM_VALUE_LOCAL_INVOCATION_ID slot=40 cm=7,il=0,b=0)
MESA: info: ; CL prog 87/1: 496 instr, 184 nops, 312 non-nops, 20 mov, 2 cov, 704 dwords
MESA: info: ; CL prog 87/1: 0 last-baryf, 0 last-helper, 0 half, 12 full, 20 constlen
MESA: info: ; CL prog 87/1: 209 cat0, 22 cat1, 144 cat2, 95 cat3, 9 cat4, 0 cat5, 15 cat6, 2 cat7
MESA: info: ; CL prog 87/1: 44 sstall, 8 (ss), 799 systall, 11 (sy), 0 loops
MESA: info: ; CL prog 87/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 14 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0xf18ba4ce, 0xdb4ce4e6, 0x86d018ed, 0xaa84c0a3, 0x86d171c3, 0x729df18d, 0x9dec49e6, 0x613c73d6}
MESA: info: workgroup_size: 1, 1, 1
MESA: info: num_images: 1
MESA: info: system_values_read: 0x00000000'00000000'00006000'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_int: 0x20
MESA: info: writes_memory: true
MESA: info: decl_var image INTERP_MODE_NONE writeonly r32g32b32a32_uint uimage2DArray dstArray (~0, 0, 0)
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=0)
MESA: info:             con 32    %183 = @load_ubo_vec4 (%3, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %5 = iabs! %183
MESA: info:                              @store_const_ir3 (%5) (base=16)
MESA: info:             con 32      %6 = u2f32! %5
MESA: info:             con 32      %7 = frcp! %6
MESA: info:             con 32      %8 = load_const (0x4f7ffffe = 4.294967e+09)
MESA: info:             con 32      %9 = fmul! %7, %8 (4.294967e+09)
MESA: info:             con 32     %10 = f2u32! %9
MESA: info:             con 32    %253 = umul_low! %5, %10
MESA: info:             con 32    %254 = imadsh_mix16! %5, %10, %253
MESA: info:             con 32    %255 = imadsh_mix16! %10, %5, %254
MESA: info:             con 32     %12 = ineg! %255
MESA: info:             con 32     %13 = load_const (0x00000010 = 16)
MESA: info:             con 32     %14 = load_const (0x0000ffff = 65535)
MESA: info:             con 32     %15 = iand! %10, %14 (0xffff)
MESA: info:             con 32     %16 = iand! %12, %14 (0xffff)
MESA: info:             con 32     %17 = ushr! %10, %13 (0x10)
MESA: info:             con 32     %18 = ushr! %12, %13 (0x10)
MESA: info:             con 32    %250 = umul_low! %15, %16
MESA: info:             con 32    %251 = imadsh_mix16! %15, %16, %250
MESA: info:             con 32    %252 = imadsh_mix16! %16, %15, %251
MESA: info:             con 32    %247 = umul_low! %15, %18
MESA: info:             con 32    %248 = imadsh_mix16! %15, %18, %247
MESA: info:             con 32    %249 = imadsh_mix16! %18, %15, %248
MESA: info:             con 32    %244 = umul_low! %17, %16
MESA: info:             con 32    %245 = imadsh_mix16! %17, %16, %244
MESA: info:             con 32    %246 = imadsh_mix16! %16, %17, %245
MESA: info:             con 32    %241 = umul_low! %17, %18
MESA: info:             con 32    %242 = imadsh_mix16! %17, %18, %241
MESA: info:             con 32    %243 = imadsh_mix16! %18, %17, %242
MESA: info:             con 32     %23 = ishl! %249, %13 (0x10)
MESA: info:             con 32     %24 = iadd! %252, %23
MESA: info:             con 1      %25 = ult! %24, %252
MESA: info:             con 32     %26 = b2i32! %25
MESA: info:             con 32     %27 = iadd! %243, %26
MESA: info:             con 32     %28 = ushr! %249, %13 (0x10)
MESA: info:             con 32     %30 = ishl! %246, %13 (0x10)
MESA: info:             con 32     %31 = iadd! %24, %30
MESA: info:             con 1      %32 = ult! %31, %24
MESA: info:             con 32     %33 = b2i32! %32
MESA: info:             con 32    %195 = iadd3! %27, %28, %33
MESA: info:             con 32     %35 = ushr! %246, %13 (0x10)
MESA: info:             con 32    %194 = iadd3! %195, %35, %10
MESA: info:             con 32     %38 = iand! %194, %14 (0xffff)
MESA: info:                              @store_const_ir3 (%38) (base=17)
MESA: info:             con 32     %39 = ushr! %194, %13 (0x10)
MESA: info:                              @store_const_ir3 (%39) (base=18)
MESA: info:             con 32     %40 = ineg! %5
MESA: info:                              @store_const_ir3 (%40) (base=19)
MESA: info:             con 32     %41 = u2f32! %183
MESA: info:             con 32     %42 = frcp! %41
MESA: info:             con 32     %43 = fmul! %42, %8 (4.294967e+09)
MESA: info:             con 32     %44 = f2u32! %43
MESA: info:             con 32    %238 = umul_low! %183, %44
MESA: info:             con 32    %239 = imadsh_mix16! %183, %44, %238
MESA: info:             con 32    %240 = imadsh_mix16! %44, %183, %239
MESA: info:             con 32     %46 = ineg! %240
MESA: info:             con 32     %47 = iand! %44, %14 (0xffff)
MESA: info:             con 32     %48 = iand! %46, %14 (0xffff)
MESA: info:             con 32     %49 = ushr! %44, %13 (0x10)
MESA: info:             con 32     %50 = ushr! %46, %13 (0x10)
MESA: info:             con 32    %235 = umul_low! %47, %48
MESA: info:             con 32    %236 = imadsh_mix16! %47, %48, %235
MESA: info:             con 32    %237 = imadsh_mix16! %48, %47, %236
MESA: info:             con 32    %232 = umul_low! %47, %50
MESA: info:             con 32    %233 = imadsh_mix16! %47, %50, %232
MESA: info:             con 32    %234 = imadsh_mix16! %50, %47, %233
MESA: info:             con 32    %229 = umul_low! %49, %48
MESA: info:             con 32    %230 = imadsh_mix16! %49, %48, %229
MESA: info:             con 32    %231 = imadsh_mix16! %48, %49, %230
MESA: info:             con 32    %226 = umul_low! %49, %50
MESA: info:             con 32    %227 = imadsh_mix16! %49, %50, %226
MESA: info:             con 32    %228 = imadsh_mix16! %50, %49, %227
MESA: info:             con 32     %55 = ishl! %234, %13 (0x10)
MESA: info:             con 32     %56 = iadd! %237, %55
MESA: info:             con 1      %57 = ult! %56, %237
MESA: info:             con 32     %58 = b2i32! %57
MESA: info:             con 32     %59 = iadd! %228, %58
MESA: info:             con 32     %60 = ushr! %234, %13 (0x10)
MESA: info:             con 32     %62 = ishl! %231, %13 (0x10)
MESA: info:             con 32     %63 = iadd! %56, %62
MESA: info:             con 1      %64 = ult! %63, %56
MESA: info:             con 32     %65 = b2i32! %64
MESA: info:             con 32    %193 = iadd3! %59, %60, %65
MESA: info:             con 32     %67 = ushr! %231, %13 (0x10)
MESA: info:             con 32    %192 = iadd3! %193, %67, %44
MESA: info:             con 32     %70 = iand! %192, %14 (0xffff)
MESA: info:                              @store_const_ir3 (%70) (base=20)
MESA: info:             con 32     %71 = ushr! %192, %13 (0x10)
MESA: info:                              @store_const_ir3 (%71) (base=21)
MESA: info:             con 32     %72 = ineg! %183
MESA: info:                              @store_const_ir3 (%72) (base=22)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %77 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%77)
MESA: info:             con 32     %79 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=4)
MESA: info:                              @prefetch_tex_ir3 (%79)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %80 = undefined
MESA: info:     con 32     %81 = undefined
MESA: info:     con 32x3   %82 = @load_workgroup_id
MESA: info:     con 32x3   %83 = @load_base_workgroup_id
MESA: info:     con 32x3  %263 = iadd %82, %83
MESA: info:     con 32     %87 = load_const (0x00000000)
MESA: info:     con 32x3   %91 = @load_const_ir3 (%87 (0x0)) (base=32)
MESA: info:     con 32     %92 = iabs! %263.z
MESA: info:     con 32     %94 = @load_const_ir3 (%87 (0x0)) (base=16)
MESA: info:     con 32     %95 = ixor! %263.z, %91.x
MESA: info:     con 1      %96 = ilt! %95, %87 (0x0)
MESA: info:     con 32     %97 = load_const (0x00000010 = 16)
MESA: info:     con 32     %98 = load_const (0x0000ffff = 65535)
MESA: info:     con 32     %99 = iand! %92, %98 (0xffff)
MESA: info:     con 32    %101 = @load_const_ir3 (%87 (0x0)) (base=17)
MESA: info:     con 32    %102 = ushr! %92, %97 (0x10)
MESA: info:     con 32    %104 = @load_const_ir3 (%87 (0x0)) (base=18)
MESA: info:     con 32    %223 = umul_low! %99, %101
MESA: info:     con 32    %224 = imadsh_mix16! %99, %101, %223
MESA: info:     con 32    %225 = imadsh_mix16! %101, %99, %224
MESA: info:     con 32    %220 = umul_low! %99, %104
MESA: info:     con 32    %221 = imadsh_mix16! %99, %104, %220
MESA: info:     con 32    %222 = imadsh_mix16! %104, %99, %221
MESA: info:     con 32    %217 = umul_low! %102, %101
MESA: info:     con 32    %218 = imadsh_mix16! %102, %101, %217
MESA: info:     con 32    %219 = imadsh_mix16! %101, %102, %218
MESA: info:     con 32    %214 = umul_low! %102, %104
MESA: info:     con 32    %215 = imadsh_mix16! %102, %104, %214
MESA: info:     con 32    %216 = imadsh_mix16! %104, %102, %215
MESA: info:     con 32    %109 = ishl! %222, %97 (0x10)
MESA: info:     con 32    %110 = iadd! %225, %109
MESA: info:     con 1     %111 = ult! %110, %225
MESA: info:     con 32    %112 = b2i32! %111
MESA: info:     con 32    %114 = ushr! %222, %97 (0x10)
MESA: info:     con 32    %191 = iadd3! %216, %112, %114
MESA: info:     con 32    %116 = ishl! %219, %97 (0x10)
MESA: info:     con 32    %117 = iadd! %110, %116
MESA: info:     con 1     %118 = ult! %117, %110
MESA: info:     con 32    %119 = b2i32! %118
MESA: info:     con 32    %121 = ushr! %219, %97 (0x10)
MESA: info:     con 32    %190 = iadd3! %191, %119, %121
MESA: info:     con 32    %211 = umul_low! %190, %94
MESA: info:     con 32    %212 = imadsh_mix16! %190, %94, %211
MESA: info:     con 32    %213 = imadsh_mix16! %94, %190, %212
MESA: info:     con 32    %261 = isub! %92, %213
MESA: info:     con 1     %126 = uge! %261, %94
MESA: info:     con 32    %127 = load_const (0x00000001)
MESA: info:     con 32    %128 = iadd! %190, %127 (0x1)
MESA: info:     con 32    %129 = bcsel! %126, %128, %190
MESA: info:     con 32    %131 = @load_const_ir3 (%87 (0x0)) (base=19)
MESA: info:     con 32    %132 = iadd! %261, %131
MESA: info:     con 32    %133 = bcsel! %126, %132, %261
MESA: info:     con 1     %134 = uge! %133, %94
MESA: info:     con 32    %135 = iadd! %129, %127 (0x1)
MESA: info:     con 32    %136 = bcsel! %134, %135, %129
MESA: info:     con 32    %137 = ineg! %136
MESA: info:     con 32    %138 = bcsel! %96, %137, %136
MESA: info:     con 32    %139 = iadd %91.y, %138
MESA: info:     con 32    %140 = iand! %263.z, %98 (0xffff)
MESA: info:     con 32    %142 = @load_const_ir3 (%87 (0x0)) (base=20)
MESA: info:     con 32    %143 = ushr! %263.z, %97 (0x10)
MESA: info:     con 32    %145 = @load_const_ir3 (%87 (0x0)) (base=21)
MESA: info:     con 32    %208 = umul_low! %140, %142
MESA: info:     con 32    %209 = imadsh_mix16! %140, %142, %208
MESA: info:     con 32    %210 = imadsh_mix16! %142, %140, %209
MESA: info:     con 32    %205 = umul_low! %140, %145
MESA: info:     con 32    %206 = imadsh_mix16! %140, %145, %205
MESA: info:     con 32    %207 = imadsh_mix16! %145, %140, %206
MESA: info:     con 32    %202 = umul_low! %143, %142
MESA: info:     con 32    %203 = imadsh_mix16! %143, %142, %202
MESA: info:     con 32    %204 = imadsh_mix16! %142, %143, %203
MESA: info:     con 32    %199 = umul_low! %143, %145
MESA: info:     con 32    %200 = imadsh_mix16! %143, %145, %199
MESA: info:     con 32    %201 = imadsh_mix16! %145, %143, %200
MESA: info:     con 32    %150 = ishl! %207, %97 (0x10)
MESA: info:     con 32    %151 = iadd! %210, %150
MESA: info:     con 1     %152 = ult! %151, %210
MESA: info:     con 32    %153 = b2i32! %152
MESA: info:     con 32    %155 = ushr! %207, %97 (0x10)
MESA: info:     con 32    %188 = iadd3! %201, %153, %155
MESA: info:     con 32    %157 = ishl! %204, %97 (0x10)
MESA: info:     con 32    %158 = iadd! %151, %157
MESA: info:     con 1     %159 = ult! %158, %151
MESA: info:     con 32    %160 = b2i32! %159
MESA: info:     con 32    %162 = ushr! %204, %97 (0x10)
MESA: info:     con 32    %187 = iadd3! %188, %160, %162
MESA: info:     con 32    %196 = umul_low! %187, %91.x
MESA: info:     con 32    %197 = imadsh_mix16! %187, %91.x, %196
MESA: info:     con 32    %198 = imadsh_mix16! %91.x, %187, %197
MESA: info:     con 32    %260 = isub! %263.z, %198
MESA: info:     con 1     %167 = uge! %260, %91.x
MESA: info:     con 32    %169 = @load_const_ir3 (%87 (0x0)) (base=22)
MESA: info:     con 32    %170 = iadd! %260, %169
MESA: info:     con 32    %171 = bcsel! %167, %170, %260
MESA: info:     con 1     %172 = uge! %171, %91.x
MESA: info:     con 32    %173 = iadd! %171, %169
MESA: info:     con 32    %174 = bcsel! %172, %173, %171
MESA: info:     con 32    %175 = iadd %91.z, %174
MESA: info:     con 32x3  %176 = vec3 %263.x, %263.y, %139
MESA: info:     con 32    %177 = @bindless_resource_ir3 (%87 (0x0)) (desc_set=2)
MESA: info:     con 32x4  %178 = (uint32)txf_ms %177 (texture_handle), %176 (coord), %175 (ms_index), 0 (texture)
MESA: info:     con 32x4  %179 = vec4 %263.x, %263.y, %263.z, %81
MESA: info:     con 32    %180 = @bindless_resource_ir3 (%87 (0x0)) (desc_set=4)
MESA: info:                      @bindless_image_store (%180, %179, %80, %178, %87 (0x0)) (image_dim=2D, image_array=true, format=r32g32b32a32_uint, access=writeonly, src_type=uint32)
MESA: info:                      // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 02b1e5f0de7b91ebe104aa777cd3416434741c04:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  0
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @const(c12.x)	0x4f7ffffe, 0x0000ffff, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l161
MESA: info: getone #l161
MESA: info: ldc.u.offset0.1.imm.base0 r48.w, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base4 r63.x, 0
MESA: info: (sy)(ss)absneg.s r49.x, (abs)r48.w
MESA: info: cov.u32f32 r49.y, r49.x
MESA: info: shr.b r49.z, r49.x, 16
MESA: info: (ss)rcp r49.y, r49.y
MESA: info: stc.u32 c[16], r49.x, 1
MESA: info: (ss)mul.f r49.y, r49.y, c12.x
MESA: info: cov.f32u32 r49.y, r49.y
MESA: info: mull.u r49.z, r49.y, r49.z
MESA: info: shr.b r49.w, r49.y, 16
MESA: info: and.b r50.x, r49.y, c12.y
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: mull.u r49.w, r49.x, r49.w
MESA: info: shr.b r51.x, r50.x, 16
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: mull.u r49.x, r49.x, r49.y
MESA: info: add.u r49.w, r49.w, r49.x
MESA: info: add.u r49.z, r49.z, r49.w
MESA: info: absneg.s r49.z, (neg)r49.z
MESA: info: and.b r50.y, r49.z, c12.y
MESA: info: shr.b r50.z, r50.y, 16
MESA: info: mull.u r50.w, r50.x, r50.y
MESA: info: shr.b r49.z, r49.z, 16
MESA: info: mull.u r50.z, r50.x, r50.z
MESA: info: shr.b r51.y, r49.z, 16
MESA: info: mull.u r51.z, r50.x, r49.z
MESA: info: mull.u r51.y, r50.x, r51.y
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: shr.b r50.x, r50.x, 16
MESA: info: add.u r51.y, r51.y, r51.z
MESA: info: mull.u r50.x, r49.z, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: cov.u32f32 r51.y, r48.w
MESA: info: mull.u r51.x, r50.y, r51.x
MESA: info: shl.b r50.z, r50.z, 16
MESA: info: shl.b r53.y, r50.x, 16
MESA: info: shl.b r51.x, r51.x, 16
MESA: info: add.u r50.z, r50.z, r50.w
MESA: info: add.u r51.x, r51.x, r50.z
MESA: info: add.u r53.y, r51.x, r53.y
MESA: info: shr.b r51.w, r49.y, 16
MESA: info: shr.b r52.x, r50.y, 16
MESA: info: shr.b r52.w, r49.z, 16
MESA: info: shr.b r51.z, r48.w, 16
MESA: info: shr.b r50.x, r50.x, 16
MESA: info: mull.u r52.y, r51.w, r50.y
MESA: info: shr.b r52.z, r51.w, 16
MESA: info: mull.u r53.x, r51.w, r49.z
MESA: info: mull.u r52.x, r51.w, r52.x
MESA: info: mull.u r52.w, r51.w, r52.w
MESA: info: mull.u r50.y, r50.y, r52.z
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: shl.b r52.w, r52.w, 16
MESA: info: shr.b r51.w, r51.w, 16
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r52.x, r52.x, r52.y
MESA: info: add.u r52.w, r52.w, r53.x
MESA: info: mull.u r49.z, r49.z, r51.w
MESA: info: add.u r50.y, r50.y, r52.x
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: absneg.s r51.w, (neg)r48.w
MESA: info: shl.b r53.w, r50.y, 16
MESA: info: add.u r49.z, r49.z, r52.w
MESA: info: add.u r53.w, r53.y, r53.w
MESA: info: shr.b r50.y, r50.y, 16
MESA: info: (ss)rcp r51.y, r51.y
MESA: info: cmps.u.lt hr54.x, r53.y, r51.x
MESA: info: cov.u16s32 r53.z, hr54.x
MESA: info: add.u r49.z, r49.z, r53.z
MESA: info: add.u r49.z, r49.z, r50.x
MESA: info: cmps.u.lt hr52.x, r53.w, r53.y
MESA: info: cov.u16s32 r50.z, hr52.x
MESA: info: add.u r49.z, r49.z, r50.z
MESA: info: add.u r49.z, r49.z, r50.y
MESA: info: add.u r49.z, r49.z, r49.y
MESA: info: and.b r50.w, r49.z, c12.y
MESA: info: shr.b r49.z, r49.z, 16
MESA: info: stc.u32 c[22], r51.w, 1
MESA: info: (ss)mul.f r51.y, r51.y, c12.x
MESA: info: absneg.s r51.x, (absneg)r48.w
MESA: info: cov.f32u32 r51.y, r51.y
MESA: info: mull.u r51.z, r51.y, r51.z
MESA: info: shr.b r52.x, r51.y, 16
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: mull.u r52.x, r48.w, r52.x
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: mull.u r48.w, r48.w, r51.y
MESA: info: add.u r52.x, r52.x, r48.w
MESA: info: add.u r51.z, r51.z, r52.x
MESA: info: and.b r52.y, r51.y, c12.y
MESA: info: shr.b r54.x, r51.y, 16
MESA: info: absneg.s r51.z, (neg)r51.z
MESA: info: shr.b r53.y, r52.y, 16
MESA: info: shr.b r54.w, r54.x, 16
MESA: info: and.b r52.z, r51.z, c12.y
MESA: info: shr.b r52.w, r52.z, 16
MESA: info: mull.u r53.x, r52.y, r52.z
MESA: info: mull.u r53.y, r52.z, r53.y
MESA: info: shr.b r54.y, r52.z, 16
MESA: info: mull.u r54.z, r54.x, r52.z
MESA: info: shr.b r51.z, r51.z, 16
MESA: info: mull.u r52.w, r52.y, r52.w
MESA: info: shl.b r53.y, r53.y, 16
MESA: info: mull.u r54.y, r54.x, r54.y
MESA: info: mull.u r52.z, r52.z, r54.w
MESA: info: shr.b r53.z, r51.z, 16
MESA: info: mull.u r53.w, r52.y, r51.z
MESA: info: shr.b r55.x, r51.z, 16
MESA: info: mull.u r55.y, r54.x, r51.z
MESA: info: shl.b r52.w, r52.w, 16
MESA: info: shl.b r54.y, r54.y, 16
MESA: info: shl.b r52.z, r52.z, 16
MESA: info: mull.u r53.z, r52.y, r53.z
MESA: info: mull.u r55.x, r54.x, r55.x
MESA: info: add.u r52.w, r52.w, r53.x
MESA: info: add.u r54.y, r54.y, r54.z
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: shr.b r52.y, r52.y, 16
MESA: info: shl.b r55.x, r55.x, 16
MESA: info: shr.b r54.x, r54.x, 16
MESA: info: add.u r53.y, r53.y, r52.w
MESA: info: add.u r52.z, r52.z, r54.y
MESA: info: add.u r53.z, r53.z, r53.w
MESA: info: mull.u r52.y, r51.z, r52.y
MESA: info: add.u r55.x, r55.x, r55.y
MESA: info: shl.b r52.y, r52.y, 16
MESA: info: mull.u r51.z, r51.z, r54.x
MESA: info: add.u r52.y, r52.y, r53.z
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: shl.b r55.z, r52.y, 16
MESA: info: add.u r51.z, r51.z, r55.x
MESA: info: add.u r55.z, r53.y, r55.z
MESA: info: shr.b r52.y, r52.y, 16
MESA: info: cmps.u.lt hr55.z, r55.z, r53.y
MESA: info: cov.u16s32 r52.x, hr55.z
MESA: info: add.u r51.z, r51.z, r52.x
MESA: info: add.u r51.z, r51.z, r52.y
MESA: info: shl.b r52.y, r52.z, 16
MESA: info: add.u r52.y, r55.z, r52.y
MESA: info: shr.b r52.z, r52.z, 16
MESA: info: stc.u32 c[17], r50.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)cmps.u.lt hr49.z, r52.y, r55.z
MESA: info: cov.u16s32 r49.x, hr49.z
MESA: info: add.u r51.z, r51.z, r49.x
MESA: info: add.u r51.z, r51.z, r52.z
MESA: info: add.u r51.z, r51.z, r51.y
MESA: info: and.b r49.y, r51.z, c12.y
MESA: info: shr.b r51.z, r51.z, 16
MESA: info: stc.u32 c[19], r51.x, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[20], r49.y, 1
MESA: info: stc.u32 c[21], r51.z, 1
MESA: info: ldc.4.k.imm.base0 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l161:
MESA: info: (jp)shr.b r49.z, c4.y, 16
MESA: info: shr.b r49.w, c4.z, 16
MESA: info: shr.b r50.x, c4.y, 16
MESA: info: shr.b r50.y, c4.z, 16
MESA: info: (rpt2)add.u r50.w, (r)r48.x, (r)c1.x
MESA: info: absneg.s r51.w, (abs)r51.y
MESA: info: and.b r52.x, r51.w, c12.y
MESA: info: shr.b r53.x, r51.w, 16
MESA: info: mull.u r49.z, r52.x, r49.z
MESA: info: mull.u r49.w, r52.x, r49.w
MESA: info: mull.u r52.y, r52.x, c4.y
MESA: info: shr.b r52.z, r52.x, 16
MESA: info: mull.u r52.w, r52.x, c4.z
MESA: info: mull.u r50.x, r53.x, r50.x
MESA: info: mull.u r50.y, r53.x, r50.y
MESA: info: mull.u r53.y, r53.x, c4.y
MESA: info: shr.b r53.z, r53.x, 16
MESA: info: mull.u r53.w, r53.x, c4.z
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: mull.u r52.z, c4.y, r52.z
MESA: info: shr.b r52.x, r52.x, 16
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: shr.b r53.x, r53.x, 16
MESA: info: add.u r49.z, r49.z, r52.y
MESA: info: add.u r49.w, r49.w, r52.w
MESA: info: shl.b r52.z, r52.z, 16
MESA: info: mull.u r52.x, c4.z, r52.x
MESA: info: add.u r50.y, r50.y, r53.w
MESA: info: mull.u r53.x, c4.z, r53.x
MESA: info: add.u r52.z, r52.z, r49.z
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: shl.b r53.x, r53.x, 16
MESA: info: add.u r52.x, r52.x, r49.w
MESA: info: add.u r53.x, r53.x, r50.y
MESA: info: shl.b r54.x, r52.x, 16
MESA: info: add.u r54.x, r52.z, r54.x
MESA: info: shr.b r50.z, c4.x, 16
MESA: info: xor.b r51.z, r51.y, c8.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: mull.u r53.z, c4.y, r53.z
MESA: info: shr.b r52.x, r52.x, 16
MESA: info: cmps.s.lt r51.z, r51.z, 0
MESA: info: add.u r50.x, r50.x, r53.y
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: add.u r53.z, r53.z, r50.x
MESA: info: shr.b r54.z, c5.y, 16
MESA: info: shr.b r53.w, c5.x, 16
MESA: info: (ss)cmps.u.lt hr52.z, r54.x, r52.z
MESA: info: cov.u16s32 r52.y, hr52.z
MESA: info: shl.b r52.z, r53.z, 16
MESA: info: add.u r53.x, r53.x, r52.y
MESA: info: add.u r52.z, r54.x, r52.z
MESA: info: shr.b r53.z, r53.z, 16
MESA: info: add.u r53.x, r53.x, r52.x
MESA: info: cmps.u.lt hr49.z, r52.z, r54.x
MESA: info: cov.u16s32 r49.x, hr49.z
MESA: info: add.u r53.x, r53.x, r49.x
MESA: info: add.u r53.x, r53.x, r53.z
MESA: info: mull.u r50.z, r53.x, r50.z
MESA: info: mull.u r49.y, r53.x, c4.x
MESA: info: shr.b r49.z, r53.x, 16
MESA: info: add.u r49.w, r53.x, 1
MESA: info: shl.b r50.z, r50.z, 16
MESA: info: mull.u r49.z, c4.x, r49.z
MESA: info: add.u r50.z, r50.z, r49.y
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r49.z, r49.z, r50.z
MESA: info: sub.u r51.w, r51.w, r49.z
MESA: info: cmps.u.ge r50.x, r51.w, c4.x
MESA: info: sel.b32 r49.w, r49.w, r50.x, r53.x
MESA: info: add.u r50.z, r49.w, 1
MESA: info: shr.b r52.y, c5.x, 16
MESA: info: and.b r52.x, r51.y, c12.y
MESA: info: shr.b r53.z, r51.y, 16
MESA: info: shr.b r53.x, c5.y, 16
MESA: info: mull.u r52.y, r52.x, r52.y
MESA: info: mull.u r52.z, r52.x, c5.x
MESA: info: shr.b r52.w, r52.x, 16
MESA: info: mull.u r53.y, r52.x, c5.y
MESA: info: mull.u r53.w, r53.z, r53.w
MESA: info: mull.u r54.x, r53.z, c5.x
MESA: info: shr.b r54.y, r53.z, 16
MESA: info: mull.u r54.z, r53.z, r54.z
MESA: info: mull.u r54.w, r53.z, c5.y
MESA: info: mull.u r53.x, r52.x, r53.x
MESA: info: shl.b r52.y, r52.y, 16
MESA: info: mull.u r52.w, c5.x, r52.w
MESA: info: shl.b r53.w, r53.w, 16
MESA: info: mull.u r54.y, c5.x, r54.y
MESA: info: shl.b r54.z, r54.z, 16
MESA: info: shr.b r53.z, r53.z, 16
MESA: info: shl.b r53.x, r53.x, 16
MESA: info: shr.b r52.x, r52.x, 16
MESA: info: add.u r52.y, r52.y, r52.z
MESA: info: shl.b r52.w, r52.w, 16
MESA: info: add.u r53.w, r53.w, r54.x
MESA: info: shl.b r54.y, r54.y, 16
MESA: info: add.u r54.z, r54.z, r54.w
MESA: info: mull.u r53.z, c5.y, r53.z
MESA: info: add.u r53.x, r53.x, r53.y
MESA: info: mull.u r52.x, c5.y, r52.x
MESA: info: add.u r52.w, r52.w, r52.y
MESA: info: add.u r54.y, r54.y, r53.w
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: add.u r53.z, r53.z, r54.z
MESA: info: add.u r52.x, r52.x, r53.x
MESA: info: shl.b r55.x, r52.x, 16
MESA: info: add.u r55.x, r52.w, r55.x
MESA: info: shr.b r52.x, r52.x, 16
MESA: info: mov.u32u32 r0.w, r51.y
MESA: info: mov.u32u32 r0.y, r50.w
MESA: info: mov.u32u32 r0.z, r51.x
MESA: info: (ss)add.u r50.y, r51.w, c4.w
MESA: info: sel.b32 r50.y, r50.y, r50.x, r51.w
MESA: info: cmps.u.ge r50.y, r50.y, c4.x
MESA: info: sel.b32 r50.z, r50.z, r50.y, r49.w
MESA: info: absneg.s r51.w, (neg)r50.z
MESA: info: sel.b32 r51.w, r51.w, r51.z, r50.z
MESA: info: add.u r51.w, c8.y, r51.w
MESA: info: shr.b r48.w, c8.x, 16
MESA: info: cmps.u.lt hr55.x, r55.x, r52.w
MESA: info: (ss)mov.u32u32 r0.x, r51.w
MESA: info: cov.u16s32 r51.w, hr55.x
MESA: info: add.u r53.z, r53.z, r51.w
MESA: info: add.u r53.z, r53.z, r52.x
MESA: info: shl.b r52.x, r54.y, 16
MESA: info: add.u r52.x, r55.x, r52.x
MESA: info: shr.b r54.y, r54.y, 16
MESA: info: cmps.u.lt hr48.z, r52.x, r55.x
MESA: info: cov.u16s32 r48.z, hr48.z
MESA: info: add.u r53.z, r53.z, r48.z
MESA: info: add.u r53.z, r53.z, r54.y
MESA: info: mull.u r48.w, r53.z, r48.w
MESA: info: mull.u r49.x, r53.z, c8.x
MESA: info: shl.b r48.w, r48.w, 16
MESA: info: shr.b r53.z, r53.z, 16
MESA: info: add.u r48.w, r48.w, r49.x
MESA: info: mull.u r53.z, c8.x, r53.z
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: add.u r53.z, r53.z, r48.w
MESA: info: sub.u r51.y, r51.y, r53.z
MESA: info: cmps.u.ge r49.y, r51.y, c8.x
MESA: info: add.u r49.z, r51.y, c5.z
MESA: info: sel.b32 r49.z, r49.z, r49.y, r51.y
MESA: info: cmps.u.ge r49.w, r49.z, c8.x
MESA: info: add.u r50.x, r49.z, c5.z
MESA: info: sel.b32 r50.x, r50.x, r49.w, r49.z
MESA: info: add.u r50.x, c8.z, r50.x
MESA: info: (ss)mov.u32u32 r1.x, r50.x
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r0.w, r0.x
MESA: info: isamm.a.base2 (u32)(xyzw)r1.y, r0.y, s#0, t#0
MESA: info: (sy)stib.b.typed.3d.u32.4.imm.base4 r1.y, r0.y, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 88/1: 164 instr, 5 nops, 159 non-nops, 5 mov, 4 cov, 646 dwords
MESA: info: ; CL prog 88/1: 0 last-baryf, 0 last-helper, 0 half, 3 full, 16 constlen
MESA: info: ; CL prog 88/1: 6 cat0, 9 cat1, 138 cat2, 6 cat3, 0 cat4, 1 cat5, 1 cat6, 3 cat7
MESA: info: ; CL prog 88/1: 21 sstall, 5 (ss), 39 systall, 2 (sy), 0 loops
MESA: info: ; CL prog 88/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 161 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for CL shader (null):
MESA: info: shader: MESA_SHADER_COMPUTE
MESA: info: source_blake3: {0x25019ffb, 0xca297556, 0xfcf804bf, 0xa7942086, 0xb941c43d, 0x084cc9e4, 0x6509ab63, 0x156500cd}
MESA: info: workgroup_size: 1, 1, 1
MESA: info: num_images: 1
MESA: info: system_values_read: 0x00000000'00000000'00006000'00000000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_int: 0x20
MESA: info: writes_memory: true
MESA: info: decl_var image INTERP_MODE_NONE writeonly r32g32b32a32_uint uimage2DArray dstMS (~0, 0, 0)
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=0)
MESA: info:             con 32    %185 = @load_ubo_vec4 (%3, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %5 = iabs! %185
MESA: info:                              @store_const_ir3 (%5) (base=16)
MESA: info:             con 32      %6 = u2f32! %5
MESA: info:             con 32      %7 = frcp! %6
MESA: info:             con 32      %8 = load_const (0x4f7ffffe = 4.294967e+09)
MESA: info:             con 32      %9 = fmul! %7, %8 (4.294967e+09)
MESA: info:             con 32     %10 = f2u32! %9
MESA: info:             con 32    %259 = umul_low! %5, %10
MESA: info:             con 32    %260 = imadsh_mix16! %5, %10, %259
MESA: info:             con 32    %261 = imadsh_mix16! %10, %5, %260
MESA: info:             con 32     %12 = ineg! %261
MESA: info:             con 32     %13 = load_const (0x00000010 = 16)
MESA: info:             con 32     %14 = load_const (0x0000ffff = 65535)
MESA: info:             con 32     %15 = iand! %10, %14 (0xffff)
MESA: info:             con 32     %16 = iand! %12, %14 (0xffff)
MESA: info:             con 32     %17 = ushr! %10, %13 (0x10)
MESA: info:             con 32     %18 = ushr! %12, %13 (0x10)
MESA: info:             con 32    %256 = umul_low! %15, %16
MESA: info:             con 32    %257 = imadsh_mix16! %15, %16, %256
MESA: info:             con 32    %258 = imadsh_mix16! %16, %15, %257
MESA: info:             con 32    %253 = umul_low! %15, %18
MESA: info:             con 32    %254 = imadsh_mix16! %15, %18, %253
MESA: info:             con 32    %255 = imadsh_mix16! %18, %15, %254
MESA: info:             con 32    %250 = umul_low! %17, %16
MESA: info:             con 32    %251 = imadsh_mix16! %17, %16, %250
MESA: info:             con 32    %252 = imadsh_mix16! %16, %17, %251
MESA: info:             con 32    %247 = umul_low! %17, %18
MESA: info:             con 32    %248 = imadsh_mix16! %17, %18, %247
MESA: info:             con 32    %249 = imadsh_mix16! %18, %17, %248
MESA: info:             con 32     %23 = ishl! %255, %13 (0x10)
MESA: info:             con 32     %24 = iadd! %258, %23
MESA: info:             con 1      %25 = ult! %24, %258
MESA: info:             con 32     %26 = b2i32! %25
MESA: info:             con 32     %27 = iadd! %249, %26
MESA: info:             con 32     %28 = ushr! %255, %13 (0x10)
MESA: info:             con 32     %30 = ishl! %252, %13 (0x10)
MESA: info:             con 32     %31 = iadd! %24, %30
MESA: info:             con 1      %32 = ult! %31, %24
MESA: info:             con 32     %33 = b2i32! %32
MESA: info:             con 32    %198 = iadd3! %27, %28, %33
MESA: info:             con 32     %35 = ushr! %252, %13 (0x10)
MESA: info:             con 32    %197 = iadd3! %198, %35, %10
MESA: info:             con 32     %38 = iand! %197, %14 (0xffff)
MESA: info:                              @store_const_ir3 (%38) (base=17)
MESA: info:             con 32     %39 = ushr! %197, %13 (0x10)
MESA: info:                              @store_const_ir3 (%39) (base=18)
MESA: info:             con 32     %40 = ineg! %5
MESA: info:                              @store_const_ir3 (%40) (base=19)
MESA: info:             con 32     %41 = u2f32! %185
MESA: info:             con 32     %42 = frcp! %41
MESA: info:             con 32     %43 = fmul! %42, %8 (4.294967e+09)
MESA: info:             con 32     %44 = f2u32! %43
MESA: info:             con 32    %244 = umul_low! %185, %44
MESA: info:             con 32    %245 = imadsh_mix16! %185, %44, %244
MESA: info:             con 32    %246 = imadsh_mix16! %44, %185, %245
MESA: info:             con 32     %46 = ineg! %246
MESA: info:             con 32     %47 = iand! %44, %14 (0xffff)
MESA: info:             con 32     %48 = iand! %46, %14 (0xffff)
MESA: info:             con 32     %49 = ushr! %44, %13 (0x10)
MESA: info:             con 32     %50 = ushr! %46, %13 (0x10)
MESA: info:             con 32    %241 = umul_low! %47, %48
MESA: info:             con 32    %242 = imadsh_mix16! %47, %48, %241
MESA: info:             con 32    %243 = imadsh_mix16! %48, %47, %242
MESA: info:             con 32    %238 = umul_low! %47, %50
MESA: info:             con 32    %239 = imadsh_mix16! %47, %50, %238
MESA: info:             con 32    %240 = imadsh_mix16! %50, %47, %239
MESA: info:             con 32    %235 = umul_low! %49, %48
MESA: info:             con 32    %236 = imadsh_mix16! %49, %48, %235
MESA: info:             con 32    %237 = imadsh_mix16! %48, %49, %236
MESA: info:             con 32    %232 = umul_low! %49, %50
MESA: info:             con 32    %233 = imadsh_mix16! %49, %50, %232
MESA: info:             con 32    %234 = imadsh_mix16! %50, %49, %233
MESA: info:             con 32     %55 = ishl! %240, %13 (0x10)
MESA: info:             con 32     %56 = iadd! %243, %55
MESA: info:             con 1      %57 = ult! %56, %243
MESA: info:             con 32     %58 = b2i32! %57
MESA: info:             con 32     %59 = iadd! %234, %58
MESA: info:             con 32     %60 = ushr! %240, %13 (0x10)
MESA: info:             con 32     %62 = ishl! %237, %13 (0x10)
MESA: info:             con 32     %63 = iadd! %56, %62
MESA: info:             con 1      %64 = ult! %63, %56
MESA: info:             con 32     %65 = b2i32! %64
MESA: info:             con 32    %196 = iadd3! %59, %60, %65
MESA: info:             con 32     %67 = ushr! %237, %13 (0x10)
MESA: info:             con 32    %195 = iadd3! %196, %67, %44
MESA: info:             con 32     %70 = iand! %195, %14 (0xffff)
MESA: info:                              @store_const_ir3 (%70) (base=20)
MESA: info:             con 32     %71 = ushr! %195, %13 (0x10)
MESA: info:                              @store_const_ir3 (%71) (base=21)
MESA: info:             con 32     %72 = ineg! %185
MESA: info:                              @store_const_ir3 (%72) (base=22)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %77 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%77)
MESA: info:             con 32     %79 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=4)
MESA: info:                              @prefetch_tex_ir3 (%79)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %80 = undefined
MESA: info:     con 32     %81 = undefined
MESA: info:     con 32x3   %82 = @load_workgroup_id
MESA: info:     con 32x3   %83 = @load_base_workgroup_id
MESA: info:     con 32x3  %269 = iadd %82, %83
MESA: info:     con 32     %87 = load_const (0x00000000)
MESA: info:     con 32x3   %91 = @load_const_ir3 (%87 (0x0)) (base=32)
MESA: info:     con 32     %92 = iabs! %269.z
MESA: info:     con 32     %94 = @load_const_ir3 (%87 (0x0)) (base=16)
MESA: info:     con 32     %95 = ixor! %269.z, %91.x
MESA: info:     con 1      %96 = ilt! %95, %87 (0x0)
MESA: info:     con 32     %97 = load_const (0x00000010 = 16)
MESA: info:     con 32     %98 = load_const (0x0000ffff = 65535)
MESA: info:     con 32     %99 = iand! %92, %98 (0xffff)
MESA: info:     con 32    %101 = @load_const_ir3 (%87 (0x0)) (base=17)
MESA: info:     con 32    %102 = ushr! %92, %97 (0x10)
MESA: info:     con 32    %104 = @load_const_ir3 (%87 (0x0)) (base=18)
MESA: info:     con 32    %229 = umul_low! %99, %101
MESA: info:     con 32    %230 = imadsh_mix16! %99, %101, %229
MESA: info:     con 32    %231 = imadsh_mix16! %101, %99, %230
MESA: info:     con 32    %226 = umul_low! %99, %104
MESA: info:     con 32    %227 = imadsh_mix16! %99, %104, %226
MESA: info:     con 32    %228 = imadsh_mix16! %104, %99, %227
MESA: info:     con 32    %223 = umul_low! %102, %101
MESA: info:     con 32    %224 = imadsh_mix16! %102, %101, %223
MESA: info:     con 32    %225 = imadsh_mix16! %101, %102, %224
MESA: info:     con 32    %220 = umul_low! %102, %104
MESA: info:     con 32    %221 = imadsh_mix16! %102, %104, %220
MESA: info:     con 32    %222 = imadsh_mix16! %104, %102, %221
MESA: info:     con 32    %109 = ishl! %228, %97 (0x10)
MESA: info:     con 32    %110 = iadd! %231, %109
MESA: info:     con 1     %111 = ult! %110, %231
MESA: info:     con 32    %112 = b2i32! %111
MESA: info:     con 32    %114 = ushr! %228, %97 (0x10)
MESA: info:     con 32    %194 = iadd3! %222, %112, %114
MESA: info:     con 32    %116 = ishl! %225, %97 (0x10)
MESA: info:     con 32    %117 = iadd! %110, %116
MESA: info:     con 1     %118 = ult! %117, %110
MESA: info:     con 32    %119 = b2i32! %118
MESA: info:     con 32    %121 = ushr! %225, %97 (0x10)
MESA: info:     con 32    %193 = iadd3! %194, %119, %121
MESA: info:     con 32    %217 = umul_low! %193, %94
MESA: info:     con 32    %218 = imadsh_mix16! %193, %94, %217
MESA: info:     con 32    %219 = imadsh_mix16! %94, %193, %218
MESA: info:     con 32    %267 = isub! %92, %219
MESA: info:     con 1     %126 = uge! %267, %94
MESA: info:     con 32    %127 = load_const (0x00000001)
MESA: info:     con 32    %128 = iadd! %193, %127 (0x1)
MESA: info:     con 32    %129 = bcsel! %126, %128, %193
MESA: info:     con 32    %131 = @load_const_ir3 (%87 (0x0)) (base=19)
MESA: info:     con 32    %132 = iadd! %267, %131
MESA: info:     con 32    %133 = bcsel! %126, %132, %267
MESA: info:     con 1     %134 = uge! %133, %94
MESA: info:     con 32    %135 = iadd! %129, %127 (0x1)
MESA: info:     con 32    %136 = bcsel! %134, %135, %129
MESA: info:     con 32    %137 = ineg! %136
MESA: info:     con 32    %138 = bcsel! %96, %137, %136
MESA: info:     con 32    %139 = iadd %91.z, %138
MESA: info:     con 32    %140 = iand! %269.z, %98 (0xffff)
MESA: info:     con 32    %142 = @load_const_ir3 (%87 (0x0)) (base=20)
MESA: info:     con 32    %143 = ushr! %269.z, %97 (0x10)
MESA: info:     con 32    %145 = @load_const_ir3 (%87 (0x0)) (base=21)
MESA: info:     con 32    %214 = umul_low! %140, %142
MESA: info:     con 32    %215 = imadsh_mix16! %140, %142, %214
MESA: info:     con 32    %216 = imadsh_mix16! %142, %140, %215
MESA: info:     con 32    %211 = umul_low! %140, %145
MESA: info:     con 32    %212 = imadsh_mix16! %140, %145, %211
MESA: info:     con 32    %213 = imadsh_mix16! %145, %140, %212
MESA: info:     con 32    %208 = umul_low! %143, %142
MESA: info:     con 32    %209 = imadsh_mix16! %143, %142, %208
MESA: info:     con 32    %210 = imadsh_mix16! %142, %143, %209
MESA: info:     con 32    %205 = umul_low! %143, %145
MESA: info:     con 32    %206 = imadsh_mix16! %143, %145, %205
MESA: info:     con 32    %207 = imadsh_mix16! %145, %143, %206
MESA: info:     con 32    %150 = ishl! %213, %97 (0x10)
MESA: info:     con 32    %151 = iadd! %216, %150
MESA: info:     con 1     %152 = ult! %151, %216
MESA: info:     con 32    %153 = b2i32! %152
MESA: info:     con 32    %155 = ushr! %213, %97 (0x10)
MESA: info:     con 32    %191 = iadd3! %207, %153, %155
MESA: info:     con 32    %157 = ishl! %210, %97 (0x10)
MESA: info:     con 32    %158 = iadd! %151, %157
MESA: info:     con 1     %159 = ult! %158, %151
MESA: info:     con 32    %160 = b2i32! %159
MESA: info:     con 32    %162 = ushr! %210, %97 (0x10)
MESA: info:     con 32    %190 = iadd3! %191, %160, %162
MESA: info:     con 32    %202 = umul_low! %190, %91.x
MESA: info:     con 32    %203 = imadsh_mix16! %190, %91.x, %202
MESA: info:     con 32    %204 = imadsh_mix16! %91.x, %190, %203
MESA: info:     con 32    %266 = isub! %269.z, %204
MESA: info:     con 1     %167 = uge! %266, %91.x
MESA: info:     con 32    %169 = @load_const_ir3 (%87 (0x0)) (base=22)
MESA: info:     con 32    %170 = iadd! %266, %169
MESA: info:     con 32    %171 = bcsel! %167, %170, %266
MESA: info:     con 1     %172 = uge! %171, %91.x
MESA: info:     con 32    %173 = iadd! %171, %169
MESA: info:     con 32    %174 = bcsel! %172, %173, %171
MESA: info:     con 32    %199 = umul_low %139, %91.x
MESA: info:     con 32    %200 = imadsh_mix16 %139, %91.x, %199
MESA: info:     con 32    %201 = imadsh_mix16 %91.x, %139, %200
MESA: info:     con 32    %188 = iadd3 %91.y, %174, %201
MESA: info:     con 32x3  %178 = vec3 %269.x, %269.y, %188
MESA: info:     con 32    %179 = @bindless_resource_ir3 (%87 (0x0)) (desc_set=2)
MESA: info:     con 32x4  %180 = (uint32)txf %179 (texture_handle), %178 (coord), %87 (0x0) (lod), 0 (texture)
MESA: info:     con 32x4  %181 = vec4 %269.x, %269.y, %139, %81
MESA: info:     con 32    %182 = @bindless_resource_ir3 (%87 (0x0)) (desc_set=4)
MESA: info:                      @bindless_image_store (%182, %181, %80, %180, %87 (0x0)) (image_dim=2D, image_array=true, format=r32g32b32a32_uint, access=writeonly, src_type=uint32)
MESA: info:                      // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed CL shader (null) with sha1 08fee1c0f56574ca030bbb5802ecf5aa0545ddb6:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  8
MESA: info: ; offsets:
MESA: info: ;   driver_params              c0.x (4 vec4)
MESA: info: ;   ubo_ranges                 c8.x (4 vec4)
MESA: info: ;   preamble                   c4.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  0
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r48.x)	in0 (wrmask=0x7)
MESA: info: @const(c12.x)	0x4f7ffffe, 0x0000ffff, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l161
MESA: info: getone #l161
MESA: info: ldc.u.offset0.1.imm.base0 r48.w, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base4 r63.x, 0
MESA: info: (sy)(ss)absneg.s r49.x, (abs)r48.w
MESA: info: cov.u32f32 r49.y, r49.x
MESA: info: shr.b r49.z, r49.x, 16
MESA: info: (ss)rcp r49.y, r49.y
MESA: info: stc.u32 c[16], r49.x, 1
MESA: info: (ss)mul.f r49.y, r49.y, c12.x
MESA: info: cov.f32u32 r49.y, r49.y
MESA: info: mull.u r49.z, r49.y, r49.z
MESA: info: shr.b r49.w, r49.y, 16
MESA: info: and.b r50.x, r49.y, c12.y
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: mull.u r49.w, r49.x, r49.w
MESA: info: shr.b r51.x, r50.x, 16
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: mull.u r49.x, r49.x, r49.y
MESA: info: add.u r49.w, r49.w, r49.x
MESA: info: add.u r49.z, r49.z, r49.w
MESA: info: absneg.s r49.z, (neg)r49.z
MESA: info: and.b r50.y, r49.z, c12.y
MESA: info: shr.b r50.z, r50.y, 16
MESA: info: mull.u r50.w, r50.x, r50.y
MESA: info: shr.b r49.z, r49.z, 16
MESA: info: mull.u r50.z, r50.x, r50.z
MESA: info: shr.b r51.y, r49.z, 16
MESA: info: mull.u r51.z, r50.x, r49.z
MESA: info: mull.u r51.y, r50.x, r51.y
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: shr.b r50.x, r50.x, 16
MESA: info: add.u r51.y, r51.y, r51.z
MESA: info: mull.u r50.x, r49.z, r50.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: add.u r50.x, r50.x, r51.y
MESA: info: cov.u32f32 r51.y, r48.w
MESA: info: mull.u r51.x, r50.y, r51.x
MESA: info: shl.b r50.z, r50.z, 16
MESA: info: shl.b r53.y, r50.x, 16
MESA: info: shl.b r51.x, r51.x, 16
MESA: info: add.u r50.z, r50.z, r50.w
MESA: info: add.u r51.x, r51.x, r50.z
MESA: info: add.u r53.y, r51.x, r53.y
MESA: info: shr.b r51.w, r49.y, 16
MESA: info: shr.b r52.x, r50.y, 16
MESA: info: shr.b r52.w, r49.z, 16
MESA: info: shr.b r51.z, r48.w, 16
MESA: info: shr.b r50.x, r50.x, 16
MESA: info: mull.u r52.y, r51.w, r50.y
MESA: info: shr.b r52.z, r51.w, 16
MESA: info: mull.u r53.x, r51.w, r49.z
MESA: info: mull.u r52.x, r51.w, r52.x
MESA: info: mull.u r52.w, r51.w, r52.w
MESA: info: mull.u r50.y, r50.y, r52.z
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: shl.b r52.w, r52.w, 16
MESA: info: shr.b r51.w, r51.w, 16
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: add.u r52.x, r52.x, r52.y
MESA: info: add.u r52.w, r52.w, r53.x
MESA: info: mull.u r49.z, r49.z, r51.w
MESA: info: add.u r50.y, r50.y, r52.x
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: absneg.s r51.w, (neg)r48.w
MESA: info: shl.b r53.w, r50.y, 16
MESA: info: add.u r49.z, r49.z, r52.w
MESA: info: add.u r53.w, r53.y, r53.w
MESA: info: shr.b r50.y, r50.y, 16
MESA: info: (ss)rcp r51.y, r51.y
MESA: info: cmps.u.lt hr54.x, r53.y, r51.x
MESA: info: cov.u16s32 r53.z, hr54.x
MESA: info: add.u r49.z, r49.z, r53.z
MESA: info: add.u r49.z, r49.z, r50.x
MESA: info: cmps.u.lt hr52.x, r53.w, r53.y
MESA: info: cov.u16s32 r50.z, hr52.x
MESA: info: add.u r49.z, r49.z, r50.z
MESA: info: add.u r49.z, r49.z, r50.y
MESA: info: add.u r49.z, r49.z, r49.y
MESA: info: and.b r50.w, r49.z, c12.y
MESA: info: shr.b r49.z, r49.z, 16
MESA: info: stc.u32 c[22], r51.w, 1
MESA: info: (ss)mul.f r51.y, r51.y, c12.x
MESA: info: absneg.s r51.x, (absneg)r48.w
MESA: info: cov.f32u32 r51.y, r51.y
MESA: info: mull.u r51.z, r51.y, r51.z
MESA: info: shr.b r52.x, r51.y, 16
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: mull.u r52.x, r48.w, r52.x
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: mull.u r48.w, r48.w, r51.y
MESA: info: add.u r52.x, r52.x, r48.w
MESA: info: add.u r51.z, r51.z, r52.x
MESA: info: and.b r52.y, r51.y, c12.y
MESA: info: shr.b r54.x, r51.y, 16
MESA: info: absneg.s r51.z, (neg)r51.z
MESA: info: shr.b r53.y, r52.y, 16
MESA: info: shr.b r54.w, r54.x, 16
MESA: info: and.b r52.z, r51.z, c12.y
MESA: info: shr.b r52.w, r52.z, 16
MESA: info: mull.u r53.x, r52.y, r52.z
MESA: info: mull.u r53.y, r52.z, r53.y
MESA: info: shr.b r54.y, r52.z, 16
MESA: info: mull.u r54.z, r54.x, r52.z
MESA: info: shr.b r51.z, r51.z, 16
MESA: info: mull.u r52.w, r52.y, r52.w
MESA: info: shl.b r53.y, r53.y, 16
MESA: info: mull.u r54.y, r54.x, r54.y
MESA: info: mull.u r52.z, r52.z, r54.w
MESA: info: shr.b r53.z, r51.z, 16
MESA: info: mull.u r53.w, r52.y, r51.z
MESA: info: shr.b r55.x, r51.z, 16
MESA: info: mull.u r55.y, r54.x, r51.z
MESA: info: shl.b r52.w, r52.w, 16
MESA: info: shl.b r54.y, r54.y, 16
MESA: info: shl.b r52.z, r52.z, 16
MESA: info: mull.u r53.z, r52.y, r53.z
MESA: info: mull.u r55.x, r54.x, r55.x
MESA: info: add.u r52.w, r52.w, r53.x
MESA: info: add.u r54.y, r54.y, r54.z
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: shr.b r52.y, r52.y, 16
MESA: info: shl.b r55.x, r55.x, 16
MESA: info: shr.b r54.x, r54.x, 16
MESA: info: add.u r53.y, r53.y, r52.w
MESA: info: add.u r52.z, r52.z, r54.y
MESA: info: add.u r53.z, r53.z, r53.w
MESA: info: mull.u r52.y, r51.z, r52.y
MESA: info: add.u r55.x, r55.x, r55.y
MESA: info: shl.b r52.y, r52.y, 16
MESA: info: mull.u r51.z, r51.z, r54.x
MESA: info: add.u r52.y, r52.y, r53.z
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: shl.b r55.z, r52.y, 16
MESA: info: add.u r51.z, r51.z, r55.x
MESA: info: add.u r55.z, r53.y, r55.z
MESA: info: shr.b r52.y, r52.y, 16
MESA: info: cmps.u.lt hr55.z, r55.z, r53.y
MESA: info: cov.u16s32 r52.x, hr55.z
MESA: info: add.u r51.z, r51.z, r52.x
MESA: info: add.u r51.z, r51.z, r52.y
MESA: info: shl.b r52.y, r52.z, 16
MESA: info: add.u r52.y, r55.z, r52.y
MESA: info: shr.b r52.z, r52.z, 16
MESA: info: stc.u32 c[17], r50.w, 1
MESA: info: stc.u32 c[18], r49.z, 1
MESA: info: (ss)cmps.u.lt hr49.z, r52.y, r55.z
MESA: info: cov.u16s32 r49.x, hr49.z
MESA: info: add.u r51.z, r51.z, r49.x
MESA: info: add.u r51.z, r51.z, r52.z
MESA: info: add.u r51.z, r51.z, r51.y
MESA: info: and.b r49.y, r51.z, c12.y
MESA: info: shr.b r51.z, r51.z, 16
MESA: info: stc.u32 c[19], r51.x, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[20], r49.y, 1
MESA: info: stc.u32 c[21], r51.z, 1
MESA: info: ldc.4.k.imm.base0 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l161:
MESA: info: (jp)shr.b r49.z, c4.y, 16
MESA: info: shr.b r49.w, c4.z, 16
MESA: info: shr.b r50.x, c4.y, 16
MESA: info: shr.b r50.y, c4.z, 16
MESA: info: (rpt2)add.u r50.w, (r)r48.x, (r)c1.x
MESA: info: absneg.s r51.w, (abs)r51.y
MESA: info: and.b r52.x, r51.w, c12.y
MESA: info: shr.b r53.x, r51.w, 16
MESA: info: mull.u r49.z, r52.x, r49.z
MESA: info: mull.u r49.w, r52.x, r49.w
MESA: info: mull.u r52.y, r52.x, c4.y
MESA: info: shr.b r52.z, r52.x, 16
MESA: info: mull.u r52.w, r52.x, c4.z
MESA: info: mull.u r50.x, r53.x, r50.x
MESA: info: mull.u r50.y, r53.x, r50.y
MESA: info: mull.u r53.y, r53.x, c4.y
MESA: info: shr.b r53.z, r53.x, 16
MESA: info: mull.u r53.w, r53.x, c4.z
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: shl.b r49.w, r49.w, 16
MESA: info: mull.u r52.z, c4.y, r52.z
MESA: info: shr.b r52.x, r52.x, 16
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: shr.b r53.x, r53.x, 16
MESA: info: add.u r49.z, r49.z, r52.y
MESA: info: add.u r49.w, r49.w, r52.w
MESA: info: shl.b r52.z, r52.z, 16
MESA: info: mull.u r52.x, c4.z, r52.x
MESA: info: add.u r50.y, r50.y, r53.w
MESA: info: mull.u r53.x, c4.z, r53.x
MESA: info: add.u r52.z, r52.z, r49.z
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: shl.b r53.x, r53.x, 16
MESA: info: add.u r52.x, r52.x, r49.w
MESA: info: add.u r53.x, r53.x, r50.y
MESA: info: shl.b r54.x, r52.x, 16
MESA: info: add.u r54.x, r52.z, r54.x
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: mull.u r53.z, c4.y, r53.z
MESA: info: add.u r50.x, r50.x, r53.y
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: add.u r53.z, r53.z, r50.x
MESA: info: shr.b r50.z, c4.x, 16
MESA: info: xor.b r51.z, r51.y, c8.x
MESA: info: shr.b r52.x, r52.x, 16
MESA: info: cmps.s.lt r51.z, r51.z, 0
MESA: info: shr.b r54.z, c5.y, 16
MESA: info: shr.b r53.w, c5.x, 16
MESA: info: (ss)cmps.u.lt hr52.z, r54.x, r52.z
MESA: info: shl.b r52.z, r53.z, 16
MESA: info: add.u r52.z, r54.x, r52.z
MESA: info: cmps.u.lt hr49.z, r52.z, r54.x
MESA: info: cov.u16s32 r52.y, hr52.z
MESA: info: shr.b r53.z, r53.z, 16
MESA: info: cov.u16s32 r49.x, hr49.z
MESA: info: add.u r53.x, r53.x, r52.y
MESA: info: add.u r53.x, r53.x, r52.x
MESA: info: shr.b r52.y, c5.x, 16
MESA: info: add.u r53.x, r53.x, r49.x
MESA: info: and.b r52.x, r51.y, c12.y
MESA: info: add.u r53.x, r53.x, r53.z
MESA: info: mull.u r52.y, r52.x, r52.y
MESA: info: mull.u r52.z, r52.x, c5.x
MESA: info: shr.b r52.w, r52.x, 16
MESA: info: mull.u r53.y, r52.x, c5.y
MESA: info: mull.u r50.z, r53.x, r50.z
MESA: info: mull.u r49.y, r53.x, c4.x
MESA: info: shr.b r49.z, r53.x, 16
MESA: info: add.u r49.w, r53.x, 1
MESA: info: shl.b r52.y, r52.y, 16
MESA: info: mull.u r52.w, c5.x, r52.w
MESA: info: shl.b r50.z, r50.z, 16
MESA: info: mull.u r49.z, c4.x, r49.z
MESA: info: add.u r52.y, r52.y, r52.z
MESA: info: shl.b r52.w, r52.w, 16
MESA: info: add.u r50.z, r50.z, r49.y
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: add.u r52.w, r52.w, r52.y
MESA: info: add.u r49.z, r49.z, r50.z
MESA: info: sub.u r51.w, r51.w, r49.z
MESA: info: cmps.u.ge r50.x, r51.w, c4.x
MESA: info: sel.b32 r49.w, r49.w, r50.x, r53.x
MESA: info: add.u r50.z, r49.w, 1
MESA: info: shr.b r53.x, c5.y, 16
MESA: info: mull.u r53.x, r52.x, r53.x
MESA: info: shl.b r53.x, r53.x, 16
MESA: info: shr.b r52.x, r52.x, 16
MESA: info: add.u r53.x, r53.x, r53.y
MESA: info: mull.u r52.x, c5.y, r52.x
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: add.u r52.x, r52.x, r53.x
MESA: info: shl.b r55.x, r52.x, 16
MESA: info: add.u r55.x, r52.w, r55.x
MESA: info: shr.b r53.z, r51.y, 16
MESA: info: shr.b r49.y, c8.x, 16
MESA: info: shr.b r52.x, r52.x, 16
MESA: info: mull.u r53.w, r53.z, r53.w
MESA: info: mull.u r54.x, r53.z, c5.x
MESA: info: shr.b r54.y, r53.z, 16
MESA: info: mull.u r54.z, r53.z, r54.z
MESA: info: mull.u r54.w, r53.z, c5.y
MESA: info: shl.b r53.w, r53.w, 16
MESA: info: mull.u r54.y, c5.x, r54.y
MESA: info: shl.b r54.z, r54.z, 16
MESA: info: shr.b r53.z, r53.z, 16
MESA: info: add.u r53.w, r53.w, r54.x
MESA: info: shl.b r54.y, r54.y, 16
MESA: info: add.u r54.z, r54.z, r54.w
MESA: info: mull.u r53.z, c5.y, r53.z
MESA: info: add.u r54.y, r54.y, r53.w
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: shl.b r52.z, r54.y, 16
MESA: info: add.u r53.z, r53.z, r54.z
MESA: info: add.u r52.z, r55.x, r52.z
MESA: info: shr.b r54.y, r54.y, 16
MESA: info: cmps.u.lt hr49.z, r52.z, r55.x
MESA: info: cov.u16s32 r49.x, hr49.z
MESA: info: mov.u32u32 r0.y, r50.w
MESA: info: mov.u32u32 r0.z, r51.x
MESA: info: (ss)add.u r50.y, r51.w, c4.w
MESA: info: sel.b32 r50.y, r50.y, r50.x, r51.w
MESA: info: cmps.u.ge r50.y, r50.y, c4.x
MESA: info: sel.b32 r50.z, r50.z, r50.y, r49.w
MESA: info: absneg.s r51.w, (neg)r50.z
MESA: info: sel.b32 r51.w, r51.w, r51.z, r50.z
MESA: info: cmps.u.lt hr55.x, r55.x, r52.w
MESA: info: add.u r51.w, c8.z, r51.w
MESA: info: cov.u16s32 r52.y, hr55.x
MESA: info: add.u r53.z, r53.z, r52.y
MESA: info: add.u r53.z, r53.z, r52.x
MESA: info: add.u r53.z, r53.z, r49.x
MESA: info: shr.b r52.x, r51.w, 16
MESA: info: add.u r53.z, r53.z, r54.y
MESA: info: mull.u r52.x, c8.x, r52.x
MESA: info: mull.u r49.y, r53.z, r49.y
MESA: info: mull.u r49.z, r53.z, c8.x
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: shl.b r49.y, r49.y, 16
MESA: info: shr.b r53.z, r53.z, 16
MESA: info: add.u r49.y, r49.y, r49.z
MESA: info: mull.u r53.z, c8.x, r53.z
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: add.u r53.z, r53.z, r49.y
MESA: info: sub.u r51.y, r51.y, r53.z
MESA: info: cmps.u.ge r49.w, r51.y, c8.x
MESA: info: add.u r50.x, r51.y, c5.z
MESA: info: sel.b32 r50.x, r50.x, r49.w, r51.y
MESA: info: cmps.u.ge r50.y, r50.x, c8.x
MESA: info: add.u r50.z, r50.x, c5.z
MESA: info: shr.b r51.y, c8.x, 16
MESA: info: sel.b32 r50.z, r50.z, r50.y, r50.x
MESA: info: mull.u r51.y, r51.w, r51.y
MESA: info: add.u r50.z, c8.y, r50.z
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: (ss)mull.u r51.z, r51.w, c8.x
MESA: info: add.u r51.y, r51.y, r51.z
MESA: info: add.u r52.x, r52.x, r51.y
MESA: info: add.u r50.z, r50.z, r52.x
MESA: info: mov.u32u32 r0.w, r51.w
MESA: info: (ss)mov.u32u32 r0.x, r50.z
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r0.w, r0.x
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: isaml.a.base2 (u32)(xyzw)r1.x, r0.y, r40.x, s#0, t#0
MESA: info: (sy)stib.b.typed.3d.u32.4.imm.base4 r1.x, r0.y, 0
MESA: info: (sy)(ss)(jp)lock
MESA: info: unlock
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; CL: outputs:
MESA: info: ; CL: inputs: r48.x (SYSTEM_VALUE_WORKGROUP_ID slot=45 cm=7,il=0,b=0)
MESA: info: ; CL prog 89/1: 174 instr, 5 nops, 169 non-nops, 4 mov, 4 cov, 672 dwords
MESA: info: ; CL prog 89/1: 0 last-baryf, 0 last-helper, 0 half, 2 full, 16 constlen
MESA: info: ; CL prog 89/1: 6 cat0, 8 cat1, 148 cat2, 6 cat3, 0 cat4, 1 cat5, 1 cat6, 4 cat7
MESA: info: ; CL prog 89/1: 21 sstall, 5 (ss), 39 systall, 2 (sy), 0 loops
MESA: info: ; CL prog 89/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 161 preamble-instr, 1 early-preamble
MESA: info: 
Mesa: error: GL_INVALID_OPERATION in glGetUniformLocation(program not linked)
Mesa: error: 133 similar GL_INVALID_OPERATION errors
Mesa: error: GL_INVALID_OPERATION in glGetAttribLocation(program not linked)
Mesa: error: 15 similar GL_INVALID_OPERATION errors
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_OPERATION in glGetAttribLocation(program not linked)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_OPERATION in glGetAttribLocation(program not linked)
Mesa: error: 1 similar GL_INVALID_OPERATION errors
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_OPERATION in glGetFramebufferAttachmentParameteriv(invalid pname GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL)
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xeb86202e, 0x97bb6da4, 0x4c02731d, 0x3d1c952a, 0x7d8aa6bd, 0x4f141d95, 0xb122be28, 0x9fd677e4}
MESA: info: inputs_read: 15-19
MESA: info: outputs_written: 0,32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 5
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #1 (VERT_ATTRIB_GENERIC1.xyz, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #2 (VERT_ATTRIB_GENERIC2.xyz, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #3 (VERT_ATTRIB_GENERIC3.xyz, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #4 (VERT_ATTRIB_GENERIC4.xyzw, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #5 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none float #6 (VARYING_SLOT_VAR0.x, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #7
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %161 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32x2  %156 = @load_ubo_vec4 (%4, %161 (0x10)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %6 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %8 = @bindless_resource_ir3 (%6 (0x1)) (desc_set=1)
MESA: info:             con 32    %162 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %159 = @load_ubo_vec4 (%8, %162 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32x2  %205 = fmul %156, %159.xx
MESA: info:             con 32x2  %206 = fabs %205.yx
MESA: info:             con 32     %14 = fneg %206.y
MESA: info:             con 1      %15 = feq! %206.x, %14
MESA: info:             con 32     %16 = b2i32 %15
MESA: info:                              @store_const_ir3 (%16) (base=0)
MESA: info:             con 32     %17 = fneg %205.x
MESA: info:                              @store_const_ir3 (%17) (base=1)
MESA: info:             con 32    %204 = fsub %205.y, %205.x
MESA: info:             con 32     %19 = frcp %204
MESA: info:                              @store_const_ir3 (%19) (base=2)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %162 (0x18)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %2 (0x0)) (base=32, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %26 = load_const (0x00000000)
MESA: info:     div 32x3   %27 = @load_input (%26 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3   %28 = @load_input (%26 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3   %29 = @load_input (%26 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3   %30 = @load_input (%26 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32x4   %31 = @load_input (%26 (0x0)) (base=4, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC4 slots=1)
MESA: info:     con 32     %35 = @load_const_ir3 (%26 (0x0)) (base=0)
MESA: info:     con 1      %37 = ine %35, %26 (0x0)
MESA: info:                      // succs: b7 b8
MESA: info:     if %37 {
MESA: info:         con block b7:        // preds: b6
MESA: info:         div 32x3  %208 = fmul %28, %31.yyy
MESA: info:         div 32x3  %210 = ffma %27, %31.xxx, %208
MESA: info:         div 32x3  %212 = ffma %29, %31.zzz, %210
MESA: info:         div 32x3  %216 = ffma %30, %31.www, %212
MESA: info:         div 32x3  %237 = mov %216.zyx
MESA: info:                          // succs: b9
MESA: info:     } else {
MESA: info:         con block b8:        // preds: b6
MESA: info:         con 32x3   %64 = @load_const_ir3 (%26 (0x0)) (base=16)
MESA: info:         div 32x3  %219 = fsub %30, %64
MESA: info:         div 32     %72 = fmul %219.y, %219.y
MESA: info:         div 32    %191 = ffma %219.z, %219.z, %72
MESA: info:         div 32    %190 = ffma %219.x, %219.x, %191
MESA: info:         div 32     %76 = fsqrt %190
MESA: info:         con 32     %78 = @load_const_ir3 (%26 (0x0)) (base=1)
MESA: info:         div 32     %79 = fadd %76, %78
MESA: info:         con 32     %81 = @load_const_ir3 (%26 (0x0)) (base=2)
MESA: info:         div 32     %82 = fmul %79, %81
MESA: info:         con 32     %83 = load_const (0x3f800000 = 1.000000)
MESA: info:         div 32     %84 = fsat %82
MESA: info:         div 32    %189 = fsub %83 (1.000000), %84
MESA: info:         div 32x3  %221 = ffma %31.xyz, %189.xxx, %84.xxx
MESA: info:         div 32x3  %223 = fmul %28, %221.yyy
MESA: info:         div 32x3  %225 = ffma %27, %221.xxx, %223
MESA: info:         div 32x3  %227 = ffma %29, %221.zzz, %225
MESA: info:         div 32x3  %231 = fadd %227, %30
MESA: info:         div 32x3  %238 = mov %231.zyx
MESA: info:                          // succs: b9
MESA: info:     }
MESA: info:     con block b9:        // preds: b7 b8
MESA: info:     div 32x3  %236 = phi b7: %237, b8: %238
MESA: info:     con 32x4  %116 = @load_const_ir3 (%26 (0x0)) (base=32)
MESA: info:     con 32x4  %124 = @load_const_ir3 (%26 (0x0)) (base=36)
MESA: info:     div 32x4  %241 = fmul %124, %236.yyyy
MESA: info:     div 32x4  %244 = ffma %116, %236.zzzz, %241
MESA: info:     con 32x4  %136 = @load_const_ir3 (%26 (0x0)) (base=40)
MESA: info:     div 32x4  %247 = ffma %136, %236.xxxx, %244
MESA: info:     con 32x4  %148 = @load_const_ir3 (%26 (0x0)) (base=44)
MESA: info:     div 32x4  %251 = fadd %247, %148
MESA: info:     div 32    %250 = mov %251.z
MESA: info:                      @store_output (%251, %26 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                      @store_output (%250, %26 (0x0)) (base=1, range=1, wrmask=x, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b10
MESA: info:     block b10:
MESA: info: }
MESA: info: 
Mesa: error: GL_INVALID_OPERATION in glDrawArraysInstanced
Mesa: error: GL_INVALID_OPERATION in glDrawArraysInstanced
Mesa: error: GL_INVALID_OPERATION in glDrawArraysInstanced
Mesa: error: GL_INVALID_OPERATION in glDrawArraysInstanced
Mesa: error: GL_INVALID_OPERATION in glDrawArraysInstanced
Mesa: error: GL_INVALID_OPERATION in glDrawArraysInstanced
Mesa: error: GL_INVALID_OPERATION in glDrawArraysInstanced
Mesa: error: GL_INVALID_OPERATION in glDrawArraysInstanced
Mesa: error: GL_INVALID_OPERATION in glDrawArraysInstanced
Mesa: error: GL_INVALID_OPERATION in glDrawArraysInstanced
Mesa: error: GL_INVALID_OPERATION in glDrawArraysInstanced
Mesa: error: GL_INVALID_OPERATION in glDrawArraysInstanced
Mesa: error: GL_INVALID_OPERATION in glDrawArraysInstanced
Mesa: error: GL_INVALID_ENUM in glGetFramebufferAttachmentParameteriv(invalid attachment GL_NONE)
MESA: info: Native code for unnamed VERT shader (null) with sha1 ff09260ef358b80b6970e7eaf4bc47d23f4b1f84:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (8 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c12.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      2
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (384b -> 448b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0xf)
MESA: info: shps #l21
MESA: info: getone #l21
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 16, 0
MESA: info: ldc.u.offset3.1.imm.base1 r48.z, 24, 1
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)mul.f r48.x, r48.x, r48.z
MESA: info: mul.f r48.y, r48.y, r48.z
MESA: info: cmps.f.eq hr50.x, (abs)r48.y, (absneg)r48.x
MESA: info: add.f r48.y, r48.y, (neg)r48.x
MESA: info: absneg.f r48.w, (neg)r48.x
MESA: info: cov.u16s32 r49.y, hr50.x
MESA: info: (ss)rcp r48.y, r48.y
MESA: info: stc.u32 c[1], r48.w, 1
MESA: info: stc.u32 c[0], r49.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[2], r48.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 24, 1
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l21:
MESA: info: (jp)(nop3) cmps.s.ne p0.x, c0.x, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l37
MESA: info: mul.f r0.w, (last)r0.w, r3.y
MESA: info: mul.f r1.x, (last)r1.x, r3.y
MESA: info: mul.f r1.y, (last)r1.y, r3.y
MESA: info: mad.f32 r0.x, (last)r0.x, r3.x, r0.w
MESA: info: mad.f32 r0.y, (last)r0.y, r3.x, r1.x
MESA: info: mad.f32 r0.z, (last)r0.z, r3.x, r1.y
MESA: info: mad.f32 r1.z, (last)r1.z, r3.z, r0.x
MESA: info: mad.f32 r1.w, (last)r1.w, r3.z, r0.y
MESA: info: mad.f32 r2.x, (last)r2.x, r3.z, r0.z
MESA: info: mad.f32 r2.y, (last)r2.y, r3.w, r1.z
MESA: info: mad.f32 r4.x, r2.z, r3.w, r1.w
MESA: info: mad.f32 r4.y, r2.w, r3.w, r2.x
MESA: info: jump #l59
MESA: info: l37:
MESA: info: add.f r4.z, r2.z, (neg)c4.y
MESA: info: add.f r4.w, r2.w, (neg)c4.z
MESA: info: add.f r5.x, r2.y, (neg)c4.x
MESA: info: (nop1) mul.f r4.z, (last)r4.z, r4.z
MESA: info: (nop1) mad.f32 r4.w, (last)r4.w, r4.w, (last)r4.z
MESA: info: (nop3) mad.f32 r5.x, (last)r5.x, r5.x, (last)r4.w
MESA: info: (rpt1)nop
MESA: info: sqrt r5.x, (last)r5.x
MESA: info: (ss)(nop2) add.f r5.x, (last)r5.x, c0.y
MESA: info: (sat)(nop2) mul.f r5.x, (last)r5.x, c0.z
MESA: info: (nop2) add.f r5.y, (1.0), (neg)r5.x
MESA: info: mad.f32 r3.y, (last)r3.y, r5.y, r5.x
MESA: info: mad.f32 r3.x, (last)r3.x, r5.y, r5.x
MESA: info: mad.f32 r3.z, (last)r3.z, r5.y, (last)r5.x
MESA: info: mul.f r0.w, (last)r0.w, r3.y
MESA: info: (rpt1)mul.f r1.x, (last)(r)r1.x, (last)r3.y
MESA: info: mad.f32 r0.x, (last)r0.x, r3.x, (last)r0.w
MESA: info: (rpt1)mad.f32 r0.y, (r)(last)r0.y, r3.x, (r)(last)r1.x
MESA: info: mad.f32 r1.z, (last)r1.z, r3.z, (last)r0.x
MESA: info: (rpt1)mad.f32 r1.w, (r)(last)r1.w, r3.z, (r)(last)r0.y
MESA: info: add.f r2.y, (last)r1.z, (last)r2.y
MESA: info: (rpt1)add.f r4.x, (last)(r)r1.w, (last)(r)r2.z
MESA: info: l59:
MESA: info: nop
MESA: info: mul.f r5.z, c9.x, r4.x
MESA: info: mul.f r6.y, c9.y, r4.x
MESA: info: mad.f32 r5.z, c8.x, r2.y, (last)r5.z
MESA: info: (rpt1)mul.f r6.z, (r)c9.z, (last)r4.x
MESA: info: mad.f32 r6.y, c8.y, r2.y, (last)r6.y
MESA: info: mad.f32 r5.w, c10.x, r4.y, (last)r5.z
MESA: info: (rpt1)mad.f32 r6.z, (r)c8.z, r2.y, (r)(last)r6.z
MESA: info: (rpt1)mad.f32 r6.z, (r)c10.z, r4.y, (r)(last)r6.z
MESA: info: mad.f32 r6.x, c10.y, r4.y, (last)r6.y
MESA: info: add.f r7.z, (last)r6.z, c11.z
MESA: info: add.f r7.w, (last)r6.w, c11.w
MESA: info: (rpt1)add.f r7.x, (last)(r)r5.w, (r)c11.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r7.x (VARYING_SLOT_POS) r7.z (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (VERT_ATTRIB_GENERIC4 slot=19 cm=f,il=0,b=0)
MESA: info: ; VERT prog 90/1: 76 instr, 19 nops, 57 non-nops, 0 mov, 0 cov, 160 dwords
MESA: info: ; VERT prog 90/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 12 constlen
MESA: info: ; VERT prog 90/1: 22 cat0, 0 cat1, 25 cat2, 28 cat3, 1 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 90/1: 10 sstall, 1 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 90/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 21 preamble-instr, 1 early-preamble
MESA: info: ; pos: r7.x
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xeb86202e, 0x97bb6da4, 0x4c02731d, 0x3d1c952a, 0x7d8aa6bd, 0x4f141d95, 0xb122be28, 0x9fd677e4}
MESA: info: inputs_read: 15-19
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 5
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #1 (VERT_ATTRIB_GENERIC1.xyz, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #2 (VERT_ATTRIB_GENERIC2.xyz, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #3 (VERT_ATTRIB_GENERIC3.xyz, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #4 (VERT_ATTRIB_GENERIC4.xyzw, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #5 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none float #6 (VARYING_SLOT_VAR0.x, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #7
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %161 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32x2  %156 = @load_ubo_vec4 (%4, %161 (0x10)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %6 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %8 = @bindless_resource_ir3 (%6 (0x1)) (desc_set=1)
MESA: info:             con 32    %162 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %159 = @load_ubo_vec4 (%8, %162 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32x2  %205 = fmul %156, %159.xx
MESA: info:             con 32x2  %206 = fabs %205.yx
MESA: info:             con 32     %14 = fneg %206.y
MESA: info:             con 1      %15 = feq! %206.x, %14
MESA: info:             con 32     %16 = b2i32 %15
MESA: info:                              @store_const_ir3 (%16) (base=0)
MESA: info:             con 32     %17 = fneg %205.x
MESA: info:                              @store_const_ir3 (%17) (base=1)
MESA: info:             con 32    %204 = fsub %205.y, %205.x
MESA: info:             con 32     %19 = frcp %204
MESA: info:                              @store_const_ir3 (%19) (base=2)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %162 (0x18)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %2 (0x0)) (base=32, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %26 = load_const (0x00000000)
MESA: info:     div 32x3   %27 = @load_input (%26 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3   %28 = @load_input (%26 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3   %29 = @load_input (%26 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3   %30 = @load_input (%26 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32x4   %31 = @load_input (%26 (0x0)) (base=4, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC4 slots=1)
MESA: info:     con 32     %35 = @load_const_ir3 (%26 (0x0)) (base=0)
MESA: info:     con 1      %37 = ine %35, %26 (0x0)
MESA: info:                      // succs: b7 b8
MESA: info:     if %37 {
MESA: info:         con block b7:        // preds: b6
MESA: info:         div 32x3  %208 = fmul %28, %31.yyy
MESA: info:         div 32x3  %210 = ffma %27, %31.xxx, %208
MESA: info:         div 32x3  %212 = ffma %29, %31.zzz, %210
MESA: info:         div 32x3  %216 = ffma %30, %31.www, %212
MESA: info:         div 32x3  %237 = mov %216.zyx
MESA: info:                          // succs: b9
MESA: info:     } else {
MESA: info:         con block b8:        // preds: b6
MESA: info:         con 32x3   %64 = @load_const_ir3 (%26 (0x0)) (base=16)
MESA: info:         div 32x3  %219 = fsub %30, %64
MESA: info:         div 32     %72 = fmul %219.y, %219.y
MESA: info:         div 32    %191 = ffma %219.z, %219.z, %72
MESA: info:         div 32    %190 = ffma %219.x, %219.x, %191
MESA: info:         div 32     %76 = fsqrt %190
MESA: info:         con 32     %78 = @load_const_ir3 (%26 (0x0)) (base=1)
MESA: info:         div 32     %79 = fadd %76, %78
MESA: info:         con 32     %81 = @load_const_ir3 (%26 (0x0)) (base=2)
MESA: info:         div 32     %82 = fmul %79, %81
MESA: info:         con 32     %83 = load_const (0x3f800000 = 1.000000)
MESA: info:         div 32     %84 = fsat %82
MESA: info:         div 32    %189 = fsub %83 (1.000000), %84
MESA: info:         div 32x3  %221 = ffma %31.xyz, %189.xxx, %84.xxx
MESA: info:         div 32x3  %223 = fmul %28, %221.yyy
MESA: info:         div 32x3  %225 = ffma %27, %221.xxx, %223
MESA: info:         div 32x3  %227 = ffma %29, %221.zzz, %225
MESA: info:         div 32x3  %231 = fadd %227, %30
MESA: info:         div 32x3  %238 = mov %231.zyx
MESA: info:                          // succs: b9
MESA: info:     }
MESA: info:     con block b9:        // preds: b7 b8
MESA: info:     div 32x3  %236 = phi b7: %237, b8: %238
MESA: info:     con 32x4  %116 = @load_const_ir3 (%26 (0x0)) (base=32)
MESA: info:     con 32x4  %124 = @load_const_ir3 (%26 (0x0)) (base=36)
MESA: info:     div 32x4  %241 = fmul %124, %236.yyyy
MESA: info:     div 32x4  %244 = ffma %116, %236.zzzz, %241
MESA: info:     con 32x4  %136 = @load_const_ir3 (%26 (0x0)) (base=40)
MESA: info:     div 32x4  %247 = ffma %136, %236.xxxx, %244
MESA: info:     con 32x4  %148 = @load_const_ir3 (%26 (0x0)) (base=44)
MESA: info:     div 32x4  %250 = fadd %247, %148
MESA: info:                      @store_output (%250, %26 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                      // succs: b10
MESA: info:     block b10:
MESA: info: }
MESA: info: 
Mesa: error: GL_INVALID_ENUM in glGetFramebufferAttachmentParameteriv(invalid attachment GL_NONE)
MESA: info: Native code for unnamed BVERT shader (null) with sha1 b1f14c4f7e02141382e12c31cdd9dcba6b9b38ea:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (8 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c12.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      2
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (384b -> 448b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0xf)
MESA: info: shps #l21
MESA: info: getone #l21
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 16, 0
MESA: info: ldc.u.offset3.1.imm.base1 r48.z, 24, 1
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)mul.f r48.x, r48.x, r48.z
MESA: info: mul.f r48.y, r48.y, r48.z
MESA: info: cmps.f.eq hr50.x, (abs)r48.y, (absneg)r48.x
MESA: info: add.f r48.y, r48.y, (neg)r48.x
MESA: info: absneg.f r48.w, (neg)r48.x
MESA: info: cov.u16s32 r49.y, hr50.x
MESA: info: (ss)rcp r48.y, r48.y
MESA: info: stc.u32 c[1], r48.w, 1
MESA: info: stc.u32 c[0], r49.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[2], r48.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 24, 1
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l21:
MESA: info: (jp)(nop3) cmps.s.ne p0.x, c0.x, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l37
MESA: info: mul.f r0.w, (last)r0.w, r3.y
MESA: info: mul.f r1.x, (last)r1.x, r3.y
MESA: info: mul.f r1.y, (last)r1.y, r3.y
MESA: info: mad.f32 r0.x, (last)r0.x, r3.x, r0.w
MESA: info: mad.f32 r0.y, (last)r0.y, r3.x, r1.x
MESA: info: mad.f32 r0.z, (last)r0.z, r3.x, r1.y
MESA: info: mad.f32 r1.z, (last)r1.z, r3.z, r0.x
MESA: info: mad.f32 r1.w, (last)r1.w, r3.z, r0.y
MESA: info: mad.f32 r2.x, (last)r2.x, r3.z, r0.z
MESA: info: mad.f32 r2.y, (last)r2.y, r3.w, r1.z
MESA: info: mad.f32 r4.x, r2.z, r3.w, r1.w
MESA: info: mad.f32 r4.y, r2.w, r3.w, r2.x
MESA: info: jump #l59
MESA: info: l37:
MESA: info: add.f r4.z, r2.z, (neg)c4.y
MESA: info: add.f r4.w, r2.w, (neg)c4.z
MESA: info: add.f r5.x, r2.y, (neg)c4.x
MESA: info: (nop1) mul.f r4.z, (last)r4.z, r4.z
MESA: info: (nop1) mad.f32 r4.w, (last)r4.w, r4.w, (last)r4.z
MESA: info: (nop3) mad.f32 r5.x, (last)r5.x, r5.x, (last)r4.w
MESA: info: (rpt1)nop
MESA: info: sqrt r5.x, (last)r5.x
MESA: info: (ss)(nop2) add.f r5.x, (last)r5.x, c0.y
MESA: info: (sat)(nop2) mul.f r5.x, (last)r5.x, c0.z
MESA: info: (nop2) add.f r5.y, (1.0), (neg)r5.x
MESA: info: mad.f32 r3.y, (last)r3.y, r5.y, r5.x
MESA: info: mad.f32 r3.x, (last)r3.x, r5.y, r5.x
MESA: info: mad.f32 r3.z, (last)r3.z, r5.y, (last)r5.x
MESA: info: mul.f r0.w, (last)r0.w, r3.y
MESA: info: (rpt1)mul.f r1.x, (last)(r)r1.x, (last)r3.y
MESA: info: mad.f32 r0.x, (last)r0.x, r3.x, (last)r0.w
MESA: info: (rpt1)mad.f32 r0.y, (r)(last)r0.y, r3.x, (r)(last)r1.x
MESA: info: mad.f32 r1.z, (last)r1.z, r3.z, (last)r0.x
MESA: info: (rpt1)mad.f32 r1.w, (r)(last)r1.w, r3.z, (r)(last)r0.y
MESA: info: add.f r2.y, (last)r1.z, (last)r2.y
MESA: info: (rpt1)add.f r4.x, (last)(r)r1.w, (last)(r)r2.z
MESA: info: l59:
MESA: info: nop
MESA: info: mul.f r5.z, c9.x, r4.x
MESA: info: mul.f r6.w, c9.y, r4.x
MESA: info: mad.f32 r5.z, c8.x, r2.y, (last)r5.z
MESA: info: mad.f32 r6.w, c8.y, r2.y, (last)r6.w
MESA: info: mad.f32 r5.w, c10.x, r4.y, (last)r5.z
MESA: info: mad.f32 r6.x, c10.y, r4.y, (last)r6.w
MESA: info: (rpt1)mul.f r7.x, (r)c9.z, (last)r4.x
MESA: info: (rpt1)mad.f32 r7.x, (r)c8.z, r2.y, (r)(last)r7.x
MESA: info: (rpt1)mad.f32 r6.y, (r)c10.z, r4.y, (r)(last)r7.x
MESA: info: (rpt3)add.f r7.z, (last)(r)r5.w, (r)c11.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r7.z (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (VERT_ATTRIB_GENERIC4 slot=19 cm=f,il=0,b=0)
MESA: info: ; BVERT prog 90/2: 76 instr, 19 nops, 57 non-nops, 0 mov, 0 cov, 160 dwords
MESA: info: ; BVERT prog 90/2: 0 last-baryf, 0 last-helper, 0 half, 9 full, 12 constlen
MESA: info: ; BVERT prog 90/2: 22 cat0, 0 cat1, 25 cat2, 28 cat3, 1 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 90/2: 10 sstall, 1 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 90/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 21 preamble-instr, 1 early-preamble
MESA: info: ; pos: r7.z
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x59675886, 0x4bc6eaf5, 0x0921ea7c, 0x7df65e14, 0x98606ce4, 0xc76e6d98, 0xab358232, 0x46378a47}
MESA: info: inputs_read: 32
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: depth_layout: 1
MESA: info: inputs: 1
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none float #0 (VARYING_SLOT_VAR0.x, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none float #1 (FRAG_RESULT_DEPTH.x, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #2
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x4)) (desc_set=0)
MESA: info:             con 32     %4 = load_const (0x00000000 = 0.000000)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %4 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x2   %6 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32     %7 = @load_interpolated_input (%6, %5 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32    %12 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     div 32    %13 = @ddx (%7)
MESA: info:     div 32    %14 = fabs %13
MESA: info:     div 32    %15 = fmul %7, %12
MESA: info:     div 32    %16 = @ddy (%15)
MESA: info:     div 32    %17 = fabs %16
MESA: info:     div 32    %18 = fmax %14, %17
MESA: info:     con 32    %19 = load_const (0x3f000200 = 0.500031)
MESA: info:     div 32    %20 = fadd %19 (0.500031), %18
MESA: info:     con 32    %21 = load_const (0x3f000000 = 0.500000)
MESA: info:     div 32    %25 = ffma %21 (0.500000), %7, %20
MESA: info:                     @store_output (%25, %5 (0x0)) (base=0, range=1, wrmask=x, component=0, src_type=float32, io location=FRAG_RESULT_DEPTH slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 992d009244ebec9383a418e71df9429ba0a256d8:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  0
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @const(c4.x)	0x3f000000, 0x3f000200, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base0 c[a1.x], 0, 4
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)(nop2) bary.f (ei)r0.x, 0, (last)r0.x
MESA: info: (nop2) mul.f r0.z, r0.x, c0.x
MESA: info: dsx (f32)(x)r1.x, r0.x
MESA: info: (rpt2)nop
MESA: info: dsy (f32)(x)r0.w, r0.z
MESA: info: (sy)(nop2) max.f r1.x, (last)(abs)r1.x, (last)(abs)r0.w
MESA: info: (nop1) add.f r1.x, c4.y, (last)r1.x
MESA: info: mad.f32 r0.x, c4.x, r0.x, (last)r1.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r0.x (FRAG_RESULT_DEPTH)
MESA: info: ; FRAG: inputs: r0.x (VARYING_SLOT_VAR0 slot=32 cm=1,il=0,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 91/1: 18 instr, 10 nops, 8 non-nops, 0 mov, 0 cov, 38 dwords
MESA: info: ; FRAG prog 91/1: 0 last-baryf, 17 last-helper, 0 half, 2 full, 8 constlen
MESA: info: ; FRAG prog 91/1: 11 cat0, 0 cat1, 4 cat2, 1 cat3, 0 cat4, 2 cat5, 0 cat6, 0 cat7
MESA: info: ; FRAG prog 91/1: 0 sstall, 0 (ss), 29 systall, 1 (sy), 0 loops
MESA: info: ; FRAG prog 91/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; posz: r0.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xac86d0ef, 0x0b6901fa, 0x161166ef, 0xe9ac87c3, 0xad10de8c, 0x50c07a65, 0xb1e73804, 0x6de21a9d}
MESA: info: outputs_written: 32-34
MESA: info: system_values_read: 0x00000000'00000000'00000000'00000200
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: outputs: 3
MESA: info: uniforms: 52
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_VAR0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_VAR1.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #2 (VARYING_SLOT_VAR2.xy, 2, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     decl_var  INTERP_MODE_NONE none float[5] #4
MESA: info:     decl_var  INTERP_MODE_NONE none float[5] #5
MESA: info:     decl_var  INTERP_MODE_NONE none float[5] #6
MESA: info:     decl_var  INTERP_MODE_NONE none float[5] #7
MESA: info:     decl_var  INTERP_MODE_NONE none float[5] #8
MESA: info:     con block b0:         // preds:
MESA: info:     div 32       %0 = @decl_reg (num_components=1, num_array_elems=5, bit_size=32, divergent=1)
MESA: info:     div 32       %1 = @decl_reg (num_components=1, num_array_elems=5, bit_size=32, divergent=1)
MESA: info:     div 32       %2 = @decl_reg (num_components=1, num_array_elems=5, bit_size=32, divergent=1)
MESA: info:     div 32       %3 = @decl_reg (num_components=1, num_array_elems=5, bit_size=32, divergent=1)
MESA: info:     div 32       %4 = @decl_reg (num_components=1, num_array_elems=5, bit_size=32, divergent=1)
MESA: info:     con 1        %5 = @preamble_start_ir3
MESA: info:                       // succs: b1 b5
MESA: info:     if %5 {
MESA: info:         con block b1:         // preds: b0
MESA: info:         div 1        %6 = @elect_any_ir3
MESA: info:                           // succs: b2 b3
MESA: info:         if %6 {
MESA: info:             div block b2:         // preds: b1
MESA: info:             con 32       %7 = load_const (0x00000001)
MESA: info:             con 32       %8 = load_const (0x00000000)
MESA: info:             con 32       %9 = load_const (0x00000010 = 16)
MESA: info:             con 32      %10 = @bindless_resource_ir3 (%7 (0x1)) (desc_set=1)
MESA: info:             con 32    %2196 = @load_ubo_vec4 (%10, %7 (0x1)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %12 = f2i32 %2196
MESA: info:             con 32x2  %2199 = @load_ubo_vec4 (%10, %8 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %14 = ftrunc %2196
MESA: info:             con 32x2  %3535 = fmul %2199, %14.xx
MESA: info:             con 32    %3536 = mov %3535.x
MESA: info:             con 32    %3537 = mov %3535.y
MESA: info:                               @store_const_ir3 (%3536) (base=0)
MESA: info:                               @store_const_ir3 (%3537) (base=1)
MESA: info:             con 32x2  %3538 = f2i32 %2199
MESA: info:             con 32x2  %3539 = ishl %3538, %7 (0x1).xx
MESA: info:             con 32    %3540 = mov %3539.x
MESA: info:                               @store_const_ir3 (%3540) (base=2)
MESA: info:             con 32      %21 = ineg %3539.x
MESA: info:                               @store_const_ir3 (%21) (base=3)
MESA: info:             con 32      %22 = iabs! %3539.x
MESA: info:                               @store_const_ir3 (%22) (base=4)
MESA: info:             con 32      %24 = @bindless_resource_ir3 (%8 (0x0)) (desc_set=1)
MESA: info:             con 32    %2202 = @load_ubo_vec4 (%24, %8 (0x0)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %26 = f2i32 %2202
MESA: info:             con 32      %27 = ishl %7 (0x1), %26
MESA: info:                               @store_const_ir3 (%27) (base=5)
MESA: info:             con 32    %3285 = umul_low %27, %27
MESA: info:             con 32    %3286 = imadsh_mix16 %27, %27, %3285
MESA: info:             con 32    %3287 = imadsh_mix16 %27, %27, %3286
MESA: info:                               @store_const_ir3 (%3287) (base=6)
MESA: info:             con 32      %29 = iabs! %3287
MESA: info:                               @store_const_ir3 (%29) (base=7)
MESA: info:             con 32      %30 = u2f32! %29
MESA: info:             con 32      %31 = frcp! %30
MESA: info:             con 32      %32 = load_const (0x4f7ffffe = 4.294967e+09)
MESA: info:             con 32      %33 = fmul! %31, %32 (4.294967e+09)
MESA: info:             con 32      %34 = f2u32! %33
MESA: info:             con 32    %3282 = umul_low! %29, %34
MESA: info:             con 32    %3283 = imadsh_mix16! %29, %34, %3282
MESA: info:             con 32    %3284 = imadsh_mix16! %34, %29, %3283
MESA: info:             con 32      %36 = ineg! %3284
MESA: info:             con 32      %37 = load_const (0x0000ffff = 65535)
MESA: info:             con 32      %38 = iand! %34, %37 (0xffff)
MESA: info:             con 32      %39 = iand! %36, %37 (0xffff)
MESA: info:             con 32      %40 = ushr! %34, %9 (0x10)
MESA: info:             con 32      %41 = ushr! %36, %9 (0x10)
MESA: info:             con 32    %3279 = umul_low! %38, %39
MESA: info:             con 32    %3280 = imadsh_mix16! %38, %39, %3279
MESA: info:             con 32    %3281 = imadsh_mix16! %39, %38, %3280
MESA: info:             con 32    %3276 = umul_low! %38, %41
MESA: info:             con 32    %3277 = imadsh_mix16! %38, %41, %3276
MESA: info:             con 32    %3278 = imadsh_mix16! %41, %38, %3277
MESA: info:             con 32    %3273 = umul_low! %40, %39
MESA: info:             con 32    %3274 = imadsh_mix16! %40, %39, %3273
MESA: info:             con 32    %3275 = imadsh_mix16! %39, %40, %3274
MESA: info:             con 32    %3270 = umul_low! %40, %41
MESA: info:             con 32    %3271 = imadsh_mix16! %40, %41, %3270
MESA: info:             con 32    %3272 = imadsh_mix16! %41, %40, %3271
MESA: info:             con 32      %46 = ishl! %3278, %9 (0x10)
MESA: info:             con 32      %47 = iadd! %3281, %46
MESA: info:             con 1       %48 = ult! %47, %3281
MESA: info:             con 32      %49 = b2i32! %48
MESA: info:             con 32      %50 = iadd! %3272, %49
MESA: info:             con 32      %51 = ushr! %3278, %9 (0x10)
MESA: info:             con 32      %53 = ishl! %3275, %9 (0x10)
MESA: info:             con 32      %54 = iadd! %47, %53
MESA: info:             con 1       %55 = ult! %54, %47
MESA: info:             con 32      %56 = b2i32! %55
MESA: info:             con 32    %2452 = iadd3! %50, %51, %56
MESA: info:             con 32      %58 = ushr! %3275, %9 (0x10)
MESA: info:             con 32    %2451 = iadd3! %2452, %58, %34
MESA: info:             con 32      %61 = iand! %2451, %37 (0xffff)
MESA: info:                               @store_const_ir3 (%61) (base=8)
MESA: info:             con 32      %62 = ushr! %2451, %9 (0x10)
MESA: info:                               @store_const_ir3 (%62) (base=9)
MESA: info:             con 32      %63 = ineg! %29
MESA: info:                               @store_const_ir3 (%63) (base=10)
MESA: info:             con 32      %64 = u2f32! %21
MESA: info:             con 32      %65 = frcp! %64
MESA: info:             con 32      %66 = fmul! %65, %32 (4.294967e+09)
MESA: info:             con 32      %67 = f2u32! %66
MESA: info:             con 32    %3267 = umul_low! %3539.x, %67
MESA: info:             con 32    %3268 = imadsh_mix16! %3539.x, %67, %3267
MESA: info:             con 32    %3269 = imadsh_mix16! %67, %3539.x, %3268
MESA: info:             con 32      %69 = iand! %67, %37 (0xffff)
MESA: info:             con 32      %70 = iand! %3269, %37 (0xffff)
MESA: info:             con 32      %71 = ushr! %67, %9 (0x10)
MESA: info:             con 32      %72 = ushr! %3269, %9 (0x10)
MESA: info:             con 32    %3264 = umul_low! %69, %70
MESA: info:             con 32    %3265 = imadsh_mix16! %69, %70, %3264
MESA: info:             con 32    %3266 = imadsh_mix16! %70, %69, %3265
MESA: info:             con 32    %3261 = umul_low! %69, %72
MESA: info:             con 32    %3262 = imadsh_mix16! %69, %72, %3261
MESA: info:             con 32    %3263 = imadsh_mix16! %72, %69, %3262
MESA: info:             con 32    %3258 = umul_low! %71, %70
MESA: info:             con 32    %3259 = imadsh_mix16! %71, %70, %3258
MESA: info:             con 32    %3260 = imadsh_mix16! %70, %71, %3259
MESA: info:             con 32    %3255 = umul_low! %71, %72
MESA: info:             con 32    %3256 = imadsh_mix16! %71, %72, %3255
MESA: info:             con 32    %3257 = imadsh_mix16! %72, %71, %3256
MESA: info:             con 32      %77 = ishl! %3263, %9 (0x10)
MESA: info:             con 32      %78 = iadd! %3266, %77
MESA: info:             con 1       %79 = ult! %78, %3266
MESA: info:             con 32      %80 = b2i32! %79
MESA: info:             con 32      %81 = iadd! %3257, %80
MESA: info:             con 32      %82 = ushr! %3263, %9 (0x10)
MESA: info:             con 32      %84 = ishl! %3260, %9 (0x10)
MESA: info:             con 32      %85 = iadd! %78, %84
MESA: info:             con 1       %86 = ult! %85, %78
MESA: info:             con 32      %87 = b2i32! %86
MESA: info:             con 32    %2450 = iadd3! %81, %82, %87
MESA: info:             con 32      %89 = ushr! %3260, %9 (0x10)
MESA: info:             con 32    %2449 = iadd3! %2450, %89, %67
MESA: info:             con 32      %92 = iand! %2449, %37 (0xffff)
MESA: info:                               @store_const_ir3 (%92) (base=11)
MESA: info:             con 32      %93 = ushr! %2449, %9 (0x10)
MESA: info:                               @store_const_ir3 (%93) (base=12)
MESA: info:             con 32      %94 = u2f32! %22
MESA: info:             con 32      %95 = frcp! %94
MESA: info:             con 32      %96 = fmul! %95, %32 (4.294967e+09)
MESA: info:             con 32      %97 = f2u32! %96
MESA: info:             con 32    %3252 = umul_low! %22, %97
MESA: info:             con 32    %3253 = imadsh_mix16! %22, %97, %3252
MESA: info:             con 32    %3254 = imadsh_mix16! %97, %22, %3253
MESA: info:             con 32      %99 = ineg! %3254
MESA: info:             con 32     %100 = iand! %97, %37 (0xffff)
MESA: info:             con 32     %101 = iand! %99, %37 (0xffff)
MESA: info:             con 32     %102 = ushr! %97, %9 (0x10)
MESA: info:             con 32     %103 = ushr! %99, %9 (0x10)
MESA: info:             con 32    %3249 = umul_low! %100, %101
MESA: info:             con 32    %3250 = imadsh_mix16! %100, %101, %3249
MESA: info:             con 32    %3251 = imadsh_mix16! %101, %100, %3250
MESA: info:             con 32    %3246 = umul_low! %100, %103
MESA: info:             con 32    %3247 = imadsh_mix16! %100, %103, %3246
MESA: info:             con 32    %3248 = imadsh_mix16! %103, %100, %3247
MESA: info:             con 32    %3243 = umul_low! %102, %101
MESA: info:             con 32    %3244 = imadsh_mix16! %102, %101, %3243
MESA: info:             con 32    %3245 = imadsh_mix16! %101, %102, %3244
MESA: info:             con 32    %3240 = umul_low! %102, %103
MESA: info:             con 32    %3241 = imadsh_mix16! %102, %103, %3240
MESA: info:             con 32    %3242 = imadsh_mix16! %103, %102, %3241
MESA: info:             con 32     %108 = ishl! %3248, %9 (0x10)
MESA: info:             con 32     %109 = iadd! %3251, %108
MESA: info:             con 1      %110 = ult! %109, %3251
MESA: info:             con 32     %111 = b2i32! %110
MESA: info:             con 32     %112 = iadd! %3242, %111
MESA: info:             con 32     %113 = ushr! %3248, %9 (0x10)
MESA: info:             con 32     %115 = ishl! %3245, %9 (0x10)
MESA: info:             con 32     %116 = iadd! %109, %115
MESA: info:             con 1      %117 = ult! %116, %109
MESA: info:             con 32     %118 = b2i32! %117
MESA: info:             con 32    %2448 = iadd3! %112, %113, %118
MESA: info:             con 32     %120 = ushr! %3245, %9 (0x10)
MESA: info:             con 32    %2447 = iadd3! %2448, %120, %97
MESA: info:             con 32     %123 = iand! %2447, %37 (0xffff)
MESA: info:                               @store_const_ir3 (%123) (base=13)
MESA: info:             con 32     %124 = ushr! %2447, %9 (0x10)
MESA: info:                               @store_const_ir3 (%124) (base=14)
MESA: info:             con 32     %125 = ineg! %22
MESA: info:                               @store_const_ir3 (%125) (base=15)
MESA: info:             con 32     %126 = u2f32! %3287
MESA: info:             con 32     %127 = frcp! %126
MESA: info:             con 32     %128 = fmul! %127, %32 (4.294967e+09)
MESA: info:             con 32     %129 = f2u32! %128
MESA: info:             con 32    %3237 = umul_low! %3287, %129
MESA: info:             con 32    %3238 = imadsh_mix16! %3287, %129, %3237
MESA: info:             con 32    %3239 = imadsh_mix16! %129, %3287, %3238
MESA: info:             con 32     %131 = ineg! %3239
MESA: info:             con 32     %132 = iand! %129, %37 (0xffff)
MESA: info:             con 32     %133 = iand! %131, %37 (0xffff)
MESA: info:             con 32     %134 = ushr! %129, %9 (0x10)
MESA: info:             con 32     %135 = ushr! %131, %9 (0x10)
MESA: info:             con 32    %3234 = umul_low! %132, %133
MESA: info:             con 32    %3235 = imadsh_mix16! %132, %133, %3234
MESA: info:             con 32    %3236 = imadsh_mix16! %133, %132, %3235
MESA: info:             con 32    %3231 = umul_low! %132, %135
MESA: info:             con 32    %3232 = imadsh_mix16! %132, %135, %3231
MESA: info:             con 32    %3233 = imadsh_mix16! %135, %132, %3232
MESA: info:             con 32    %3228 = umul_low! %134, %133
MESA: info:             con 32    %3229 = imadsh_mix16! %134, %133, %3228
MESA: info:             con 32    %3230 = imadsh_mix16! %133, %134, %3229
MESA: info:             con 32    %3225 = umul_low! %134, %135
MESA: info:             con 32    %3226 = imadsh_mix16! %134, %135, %3225
MESA: info:             con 32    %3227 = imadsh_mix16! %135, %134, %3226
MESA: info:             con 32     %140 = ishl! %3233, %9 (0x10)
MESA: info:             con 32     %141 = iadd! %3236, %140
MESA: info:             con 1      %142 = ult! %141, %3236
MESA: info:             con 32     %143 = b2i32! %142
MESA: info:             con 32     %144 = iadd! %3227, %143
MESA: info:             con 32     %145 = ushr! %3233, %9 (0x10)
MESA: info:             con 32     %147 = ishl! %3230, %9 (0x10)
MESA: info:             con 32     %148 = iadd! %141, %147
MESA: info:             con 1      %149 = ult! %148, %141
MESA: info:             con 32     %150 = b2i32! %149
MESA: info:             con 32    %2446 = iadd3! %144, %145, %150
MESA: info:             con 32     %152 = ushr! %3230, %9 (0x10)
MESA: info:             con 32    %2445 = iadd3! %2446, %152, %129
MESA: info:             con 32     %155 = iand! %2445, %37 (0xffff)
MESA: info:                               @store_const_ir3 (%155) (base=16)
MESA: info:             con 32     %156 = ushr! %2445, %9 (0x10)
MESA: info:                               @store_const_ir3 (%156) (base=17)
MESA: info:             con 32     %157 = ineg! %3287
MESA: info:                               @store_const_ir3 (%157) (base=18)
MESA: info:             con 32     %158 = u2f32! %27
MESA: info:             con 32     %159 = frcp! %158
MESA: info:             con 32     %160 = fmul! %159, %32 (4.294967e+09)
MESA: info:             con 32     %161 = f2u32! %160
MESA: info:             con 32    %3222 = umul_low! %27, %161
MESA: info:             con 32    %3223 = imadsh_mix16! %27, %161, %3222
MESA: info:             con 32    %3224 = imadsh_mix16! %161, %27, %3223
MESA: info:             con 32     %163 = ineg! %3224
MESA: info:             con 32     %164 = iand! %161, %37 (0xffff)
MESA: info:             con 32     %165 = iand! %163, %37 (0xffff)
MESA: info:             con 32     %166 = ushr! %161, %9 (0x10)
MESA: info:             con 32     %167 = ushr! %163, %9 (0x10)
MESA: info:             con 32    %3219 = umul_low! %164, %165
MESA: info:             con 32    %3220 = imadsh_mix16! %164, %165, %3219
MESA: info:             con 32    %3221 = imadsh_mix16! %165, %164, %3220
MESA: info:             con 32    %3216 = umul_low! %164, %167
MESA: info:             con 32    %3217 = imadsh_mix16! %164, %167, %3216
MESA: info:             con 32    %3218 = imadsh_mix16! %167, %164, %3217
MESA: info:             con 32    %3213 = umul_low! %166, %165
MESA: info:             con 32    %3214 = imadsh_mix16! %166, %165, %3213
MESA: info:             con 32    %3215 = imadsh_mix16! %165, %166, %3214
MESA: info:             con 32    %3210 = umul_low! %166, %167
MESA: info:             con 32    %3211 = imadsh_mix16! %166, %167, %3210
MESA: info:             con 32    %3212 = imadsh_mix16! %167, %166, %3211
MESA: info:             con 32     %172 = ishl! %3218, %9 (0x10)
MESA: info:             con 32     %173 = iadd! %3221, %172
MESA: info:             con 1      %174 = ult! %173, %3221
MESA: info:             con 32     %175 = b2i32! %174
MESA: info:             con 32     %176 = iadd! %3212, %175
MESA: info:             con 32     %177 = ushr! %3218, %9 (0x10)
MESA: info:             con 32     %179 = ishl! %3215, %9 (0x10)
MESA: info:             con 32     %180 = iadd! %173, %179
MESA: info:             con 1      %181 = ult! %180, %173
MESA: info:             con 32     %182 = b2i32! %181
MESA: info:             con 32    %2444 = iadd3! %176, %177, %182
MESA: info:             con 32     %184 = ushr! %3215, %9 (0x10)
MESA: info:             con 32    %2443 = iadd3! %2444, %184, %161
MESA: info:             con 32     %187 = iand! %2443, %37 (0xffff)
MESA: info:                               @store_const_ir3 (%187) (base=19)
MESA: info:             con 32     %188 = ushr! %2443, %9 (0x10)
MESA: info:                               @store_const_ir3 (%188) (base=20)
MESA: info:             con 32     %189 = ineg! %27
MESA: info:                               @store_const_ir3 (%189) (base=21)
MESA: info:             con 32     %190 = iabs! %27
MESA: info:                               @store_const_ir3 (%190) (base=22)
MESA: info:             con 32     %191 = u2f32! %190
MESA: info:             con 32     %192 = frcp! %191
MESA: info:             con 32     %193 = fmul! %192, %32 (4.294967e+09)
MESA: info:             con 32     %194 = f2u32! %193
MESA: info:             con 32    %3207 = umul_low! %190, %194
MESA: info:             con 32    %3208 = imadsh_mix16! %190, %194, %3207
MESA: info:             con 32    %3209 = imadsh_mix16! %194, %190, %3208
MESA: info:             con 32     %196 = ineg! %3209
MESA: info:             con 32     %197 = iand! %194, %37 (0xffff)
MESA: info:             con 32     %198 = iand! %196, %37 (0xffff)
MESA: info:             con 32     %199 = ushr! %194, %9 (0x10)
MESA: info:             con 32     %200 = ushr! %196, %9 (0x10)
MESA: info:             con 32    %3204 = umul_low! %197, %198
MESA: info:             con 32    %3205 = imadsh_mix16! %197, %198, %3204
MESA: info:             con 32    %3206 = imadsh_mix16! %198, %197, %3205
MESA: info:             con 32    %3201 = umul_low! %197, %200
MESA: info:             con 32    %3202 = imadsh_mix16! %197, %200, %3201
MESA: info:             con 32    %3203 = imadsh_mix16! %200, %197, %3202
MESA: info:             con 32    %3198 = umul_low! %199, %198
MESA: info:             con 32    %3199 = imadsh_mix16! %199, %198, %3198
MESA: info:             con 32    %3200 = imadsh_mix16! %198, %199, %3199
MESA: info:             con 32    %3195 = umul_low! %199, %200
MESA: info:             con 32    %3196 = imadsh_mix16! %199, %200, %3195
MESA: info:             con 32    %3197 = imadsh_mix16! %200, %199, %3196
MESA: info:             con 32     %205 = ishl! %3203, %9 (0x10)
MESA: info:             con 32     %206 = iadd! %3206, %205
MESA: info:             con 1      %207 = ult! %206, %3206
MESA: info:             con 32     %208 = b2i32! %207
MESA: info:             con 32     %209 = iadd! %3197, %208
MESA: info:             con 32     %210 = ushr! %3203, %9 (0x10)
MESA: info:             con 32     %212 = ishl! %3200, %9 (0x10)
MESA: info:             con 32     %213 = iadd! %206, %212
MESA: info:             con 1      %214 = ult! %213, %206
MESA: info:             con 32     %215 = b2i32! %214
MESA: info:             con 32    %2442 = iadd3! %209, %210, %215
MESA: info:             con 32     %217 = ushr! %3200, %9 (0x10)
MESA: info:             con 32    %2441 = iadd3! %2442, %217, %194
MESA: info:             con 32     %220 = iand! %2441, %37 (0xffff)
MESA: info:                               @store_const_ir3 (%220) (base=23)
MESA: info:             con 32     %221 = ushr! %2441, %9 (0x10)
MESA: info:                               @store_const_ir3 (%221) (base=24)
MESA: info:             con 32     %222 = ineg! %190
MESA: info:                               @store_const_ir3 (%222) (base=25)
MESA: info:             con 32     %223 = iabs! %12
MESA: info:             con 32     %224 = ixor! %12, %27
MESA: info:             con 1      %225 = ilt! %224, %8 (0x0)
MESA: info:             con 32     %226 = iand! %223, %37 (0xffff)
MESA: info:             con 32     %227 = ushr! %223, %9 (0x10)
MESA: info:             con 32    %3192 = umul_low! %226, %220
MESA: info:             con 32    %3193 = imadsh_mix16! %226, %220, %3192
MESA: info:             con 32    %3194 = imadsh_mix16! %220, %226, %3193
MESA: info:             con 32    %3189 = umul_low! %226, %221
MESA: info:             con 32    %3190 = imadsh_mix16! %226, %221, %3189
MESA: info:             con 32    %3191 = imadsh_mix16! %221, %226, %3190
MESA: info:             con 32    %3186 = umul_low! %227, %220
MESA: info:             con 32    %3187 = imadsh_mix16! %227, %220, %3186
MESA: info:             con 32    %3188 = imadsh_mix16! %220, %227, %3187
MESA: info:             con 32    %3183 = umul_low! %227, %221
MESA: info:             con 32    %3184 = imadsh_mix16! %227, %221, %3183
MESA: info:             con 32    %3185 = imadsh_mix16! %221, %227, %3184
MESA: info:             con 32     %232 = ishl! %3191, %9 (0x10)
MESA: info:             con 32     %233 = iadd! %3194, %232
MESA: info:             con 1      %234 = ult! %233, %3194
MESA: info:             con 32     %235 = b2i32! %234
MESA: info:             con 32     %237 = ushr! %3191, %9 (0x10)
MESA: info:             con 32    %2440 = iadd3! %3185, %235, %237
MESA: info:             con 32     %239 = ishl! %3188, %9 (0x10)
MESA: info:             con 32     %240 = iadd! %233, %239
MESA: info:             con 1      %241 = ult! %240, %233
MESA: info:             con 32     %242 = b2i32! %241
MESA: info:             con 32     %244 = ushr! %3188, %9 (0x10)
MESA: info:             con 32    %2439 = iadd3! %2440, %242, %244
MESA: info:             con 32    %3180 = umul_low! %2439, %190
MESA: info:             con 32    %3181 = imadsh_mix16! %2439, %190, %3180
MESA: info:             con 32    %3182 = imadsh_mix16! %190, %2439, %3181
MESA: info:             con 32    %3533 = isub! %223, %3182
MESA: info:             con 1      %249 = uge! %3533, %190
MESA: info:             con 32     %250 = iadd! %2439, %7 (0x1)
MESA: info:             con 32     %251 = bcsel! %249, %250, %2439
MESA: info:             con 32    %3532 = isub! %3533, %190
MESA: info:             con 32     %253 = bcsel! %249, %3532, %3533
MESA: info:             con 1      %254 = uge! %253, %190
MESA: info:             con 32     %255 = iadd! %251, %7 (0x1)
MESA: info:             con 32     %256 = bcsel! %254, %255, %251
MESA: info:             con 32     %257 = ineg! %256
MESA: info:             con 32     %258 = bcsel! %225, %257, %256
MESA: info:                               @store_const_ir3 (%258) (base=26)
MESA: info:             con 32x2  %3541 = umul_low %3539, %27.xx
MESA: info:             con 32x2  %3542 = imadsh_mix16 %3539, %27.xx, %3541
MESA: info:             con 32x2  %3543 = imadsh_mix16 %27.xx, %3539, %3542
MESA: info:             con 32     %261 = load_const (0xffffffff = -1 = 4294967295)
MESA: info:             con 32x2  %3544 = isub %261 (0xffffffff).xx, %3543
MESA: info:             con 32    %3545 = mov %3544.x
MESA: info:             con 32    %3546 = mov %3544.y
MESA: info:                               @store_const_ir3 (%3545) (base=27)
MESA: info:                               @store_const_ir3 (%3546) (base=28)
MESA: info:             con 32x2  %3547 = load_const (0x00000008, 0x00000003)
MESA: info:             con 32x2  %3548 = isub %3547 (0x8, 0x3), %26.xx
MESA: info:             con 32     %270 = imax %7 (0x1), %3548.y
MESA: info:             con 32    %3527 = isub %3548.x, %270
MESA: info:                               @store_const_ir3 (%3527) (base=29)
MESA: info:             con 32     %273 = i2f32 %258
MESA: info:                               @store_const_ir3 (%273) (base=30)
MESA: info:             con 32     %274 = i2f32 %27
MESA: info:                               @store_const_ir3 (%274) (base=31)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%10, %8 (0x0)) (base=32, range=4)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%24, %8 (0x0)) (base=48, range=4)
MESA: info:             con 32     %282 = @bindless_resource_ir3 (%8 (0x0)) (desc_set=3)
MESA: info:                               @prefetch_tex_ir3 (%282)
MESA: info:                               @preamble_end_ir3
MESA: info:                               // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:         // preds: b4 b5
MESA: info:     div 32     %311 = @load_tcs_header_ir3
MESA: info:     div 32     %312 = @load_vertex_id
MESA: info:     con 32     %313 = load_const (0x00000001)
MESA: info:     con 32     %314 = load_const (0x00000000)
MESA: info:     con 32     %317 = load_const (0x00000010 = 16)
MESA: info:     con 32     %319 = load_const (0x00000002)
MESA: info:     con 32x2   %321 = @load_const_ir3 (%314 (0x0)) (base=32)
MESA: info:     con 32     %323 = @load_const_ir3 (%314 (0x0)) (base=0)
MESA: info:     con 32     %325 = @load_const_ir3 (%314 (0x0)) (base=1)
MESA: info:     con 32     %327 = @load_const_ir3 (%314 (0x0)) (base=2)
MESA: info:     con 32     %329 = @load_const_ir3 (%314 (0x0)) (base=3)
MESA: info:     con 32     %331 = @load_const_ir3 (%314 (0x0)) (base=4)
MESA: info:     con 32     %332 = load_const (0x00000003)
MESA: info:     con 32x4   %337 = @load_const_ir3 (%314 (0x0)) (base=48)
MESA: info:     con 32     %339 = @load_const_ir3 (%314 (0x0)) (base=5)
MESA: info:     con 32     %341 = @load_const_ir3 (%314 (0x0)) (base=6)
MESA: info:     div 32     %342 = iabs! %312
MESA: info:     con 32     %344 = @load_const_ir3 (%314 (0x0)) (base=7)
MESA: info:     div 32     %345 = ixor! %312, %341
MESA: info:     div 1      %346 = ilt! %345, %314 (0x0)
MESA: info:     con 32     %347 = load_const (0x0000ffff = 65535)
MESA: info:     div 32     %348 = iand! %342, %347 (0xffff)
MESA: info:     con 32     %350 = @load_const_ir3 (%314 (0x0)) (base=8)
MESA: info:     div 32     %351 = ushr! %342, %317 (0x10)
MESA: info:     con 32     %353 = @load_const_ir3 (%314 (0x0)) (base=9)
MESA: info:     div 32    %3171 = umul_low! %348, %350
MESA: info:     div 32    %3172 = imadsh_mix16! %348, %350, %3171
MESA: info:     div 32    %3173 = imadsh_mix16! %350, %348, %3172
MESA: info:     div 32    %3168 = umul_low! %348, %353
MESA: info:     div 32    %3169 = imadsh_mix16! %348, %353, %3168
MESA: info:     div 32    %3170 = imadsh_mix16! %353, %348, %3169
MESA: info:     div 32    %3165 = umul_low! %351, %350
MESA: info:     div 32    %3166 = imadsh_mix16! %351, %350, %3165
MESA: info:     div 32    %3167 = imadsh_mix16! %350, %351, %3166
MESA: info:     div 32    %3162 = umul_low! %351, %353
MESA: info:     div 32    %3163 = imadsh_mix16! %351, %353, %3162
MESA: info:     div 32    %3164 = imadsh_mix16! %353, %351, %3163
MESA: info:     div 32     %358 = ishl! %3170, %317 (0x10)
MESA: info:     div 32     %359 = iadd! %3173, %358
MESA: info:     div 1      %360 = ult! %359, %3173
MESA: info:     div 32     %361 = b2i32! %360
MESA: info:     div 32     %363 = ushr! %3170, %317 (0x10)
MESA: info:     div 32    %2431 = iadd3! %3164, %361, %363
MESA: info:     div 32     %365 = ishl! %3167, %317 (0x10)
MESA: info:     div 32     %366 = iadd! %359, %365
MESA: info:     div 1      %367 = ult! %366, %359
MESA: info:     div 32     %368 = b2i32! %367
MESA: info:     div 32     %370 = ushr! %3167, %317 (0x10)
MESA: info:     div 32    %2430 = iadd3! %2431, %368, %370
MESA: info:     div 32    %3159 = umul_low! %2430, %344
MESA: info:     div 32    %3160 = imadsh_mix16! %2430, %344, %3159
MESA: info:     div 32    %3161 = imadsh_mix16! %344, %2430, %3160
MESA: info:     div 32    %3526 = isub! %342, %3161
MESA: info:     div 1      %375 = uge! %3526, %344
MESA: info:     div 32     %376 = iadd! %2430, %313 (0x1)
MESA: info:     div 32     %377 = bcsel! %375, %376, %2430
MESA: info:     con 32     %379 = @load_const_ir3 (%314 (0x0)) (base=10)
MESA: info:     div 32     %380 = iadd! %3526, %379
MESA: info:     div 32     %381 = bcsel! %375, %380, %3526
MESA: info:     div 1      %382 = uge! %381, %344
MESA: info:     div 32     %383 = iadd! %377, %313 (0x1)
MESA: info:     div 32     %384 = bcsel! %382, %383, %377
MESA: info:     div 32     %385 = ineg! %384
MESA: info:     div 32     %386 = bcsel! %346, %385, %384
MESA: info:     div 32     %387 = iand! %386, %347 (0xffff)
MESA: info:     con 32     %389 = @load_const_ir3 (%314 (0x0)) (base=11)
MESA: info:     div 32     %390 = ushr! %386, %317 (0x10)
MESA: info:     con 32     %392 = @load_const_ir3 (%314 (0x0)) (base=12)
MESA: info:     div 32    %3156 = umul_low! %387, %389
MESA: info:     div 32    %3157 = imadsh_mix16! %387, %389, %3156
MESA: info:     div 32    %3158 = imadsh_mix16! %389, %387, %3157
MESA: info:     div 32    %3153 = umul_low! %387, %392
MESA: info:     div 32    %3154 = imadsh_mix16! %387, %392, %3153
MESA: info:     div 32    %3155 = imadsh_mix16! %392, %387, %3154
MESA: info:     div 32    %3150 = umul_low! %390, %389
MESA: info:     div 32    %3151 = imadsh_mix16! %390, %389, %3150
MESA: info:     div 32    %3152 = imadsh_mix16! %389, %390, %3151
MESA: info:     div 32    %3147 = umul_low! %390, %392
MESA: info:     div 32    %3148 = imadsh_mix16! %390, %392, %3147
MESA: info:     div 32    %3149 = imadsh_mix16! %392, %390, %3148
MESA: info:     div 32     %397 = ishl! %3155, %317 (0x10)
MESA: info:     div 32     %398 = iadd! %3158, %397
MESA: info:     div 1      %399 = ult! %398, %3158
MESA: info:     div 32     %400 = b2i32! %399
MESA: info:     div 32     %402 = ushr! %3155, %317 (0x10)
MESA: info:     div 32    %2428 = iadd3! %3149, %400, %402
MESA: info:     div 32     %404 = ishl! %3152, %317 (0x10)
MESA: info:     div 32     %405 = iadd! %398, %404
MESA: info:     div 1      %406 = ult! %405, %398
MESA: info:     div 32     %407 = b2i32! %406
MESA: info:     div 32     %409 = ushr! %3152, %317 (0x10)
MESA: info:     div 32    %2427 = iadd3! %2428, %407, %409
MESA: info:     div 32    %3144 = umul_low! %327, %2427
MESA: info:     div 32    %3145 = imadsh_mix16! %327, %2427, %3144
MESA: info:     div 32    %3146 = imadsh_mix16! %2427, %327, %3145
MESA: info:     div 32     %412 = iadd! %386, %3146
MESA: info:     div 1      %413 = uge! %412, %329
MESA: info:     div 32     %414 = iadd! %412, %327
MESA: info:     div 32     %415 = bcsel! %413, %414, %412
MESA: info:     div 1      %416 = uge! %415, %329
MESA: info:     div 32     %417 = iadd! %415, %327
MESA: info:     div 32     %418 = bcsel! %416, %417, %415
MESA: info:     div 32     %419 = iabs! %386
MESA: info:     div 32     %420 = ixor! %386, %329
MESA: info:     div 1      %421 = ilt! %420, %314 (0x0)
MESA: info:     div 32     %422 = iand! %419, %347 (0xffff)
MESA: info:     con 32     %424 = @load_const_ir3 (%314 (0x0)) (base=13)
MESA: info:     div 32     %425 = ushr! %419, %317 (0x10)
MESA: info:     con 32     %427 = @load_const_ir3 (%314 (0x0)) (base=14)
MESA: info:     div 32    %3141 = umul_low! %422, %424
MESA: info:     div 32    %3142 = imadsh_mix16! %422, %424, %3141
MESA: info:     div 32    %3143 = imadsh_mix16! %424, %422, %3142
MESA: info:     div 32    %3138 = umul_low! %422, %427
MESA: info:     div 32    %3139 = imadsh_mix16! %422, %427, %3138
MESA: info:     div 32    %3140 = imadsh_mix16! %427, %422, %3139
MESA: info:     div 32    %3135 = umul_low! %425, %424
MESA: info:     div 32    %3136 = imadsh_mix16! %425, %424, %3135
MESA: info:     div 32    %3137 = imadsh_mix16! %424, %425, %3136
MESA: info:     div 32    %3132 = umul_low! %425, %427
MESA: info:     div 32    %3133 = imadsh_mix16! %425, %427, %3132
MESA: info:     div 32    %3134 = imadsh_mix16! %427, %425, %3133
MESA: info:     div 32     %432 = ishl! %3140, %317 (0x10)
MESA: info:     div 32     %433 = iadd! %3143, %432
MESA: info:     div 1      %434 = ult! %433, %3143
MESA: info:     div 32     %435 = b2i32! %434
MESA: info:     div 32     %437 = ushr! %3140, %317 (0x10)
MESA: info:     div 32    %2426 = iadd3! %3134, %435, %437
MESA: info:     div 32     %439 = ishl! %3137, %317 (0x10)
MESA: info:     div 32     %440 = iadd! %433, %439
MESA: info:     div 1      %441 = ult! %440, %433
MESA: info:     div 32     %442 = b2i32! %441
MESA: info:     div 32     %444 = ushr! %3137, %317 (0x10)
MESA: info:     div 32    %2425 = iadd3! %2426, %442, %444
MESA: info:     div 32    %3129 = umul_low! %2425, %331
MESA: info:     div 32    %3130 = imadsh_mix16! %2425, %331, %3129
MESA: info:     div 32    %3131 = imadsh_mix16! %331, %2425, %3130
MESA: info:     div 32    %3525 = isub! %419, %3131
MESA: info:     div 1      %449 = uge! %3525, %331
MESA: info:     div 32     %450 = iadd! %2425, %313 (0x1)
MESA: info:     div 32     %451 = bcsel! %449, %450, %2425
MESA: info:     con 32     %453 = @load_const_ir3 (%314 (0x0)) (base=15)
MESA: info:     div 32     %454 = iadd! %3525, %453
MESA: info:     div 32     %455 = bcsel! %449, %454, %3525
MESA: info:     div 1      %456 = uge! %455, %331
MESA: info:     div 32     %457 = iadd! %451, %313 (0x1)
MESA: info:     div 32     %458 = bcsel! %456, %457, %451
MESA: info:     div 32     %459 = ineg! %458
MESA: info:     div 32     %460 = bcsel! %421, %459, %458
MESA: info:     div 32     %461 = iand! %312, %347 (0xffff)
MESA: info:     con 32     %463 = @load_const_ir3 (%314 (0x0)) (base=16)
MESA: info:     div 32     %464 = ushr! %312, %317 (0x10)
MESA: info:     con 32     %466 = @load_const_ir3 (%314 (0x0)) (base=17)
MESA: info:     div 32    %3126 = umul_low! %461, %463
MESA: info:     div 32    %3127 = imadsh_mix16! %461, %463, %3126
MESA: info:     div 32    %3128 = imadsh_mix16! %463, %461, %3127
MESA: info:     div 32    %3123 = umul_low! %461, %466
MESA: info:     div 32    %3124 = imadsh_mix16! %461, %466, %3123
MESA: info:     div 32    %3125 = imadsh_mix16! %466, %461, %3124
MESA: info:     div 32    %3120 = umul_low! %464, %463
MESA: info:     div 32    %3121 = imadsh_mix16! %464, %463, %3120
MESA: info:     div 32    %3122 = imadsh_mix16! %463, %464, %3121
MESA: info:     div 32    %3117 = umul_low! %464, %466
MESA: info:     div 32    %3118 = imadsh_mix16! %464, %466, %3117
MESA: info:     div 32    %3119 = imadsh_mix16! %466, %464, %3118
MESA: info:     div 32     %471 = ishl! %3125, %317 (0x10)
MESA: info:     div 32     %472 = iadd! %3128, %471
MESA: info:     div 1      %473 = ult! %472, %3128
MESA: info:     div 32     %474 = b2i32! %473
MESA: info:     div 32     %476 = ushr! %3125, %317 (0x10)
MESA: info:     div 32    %2423 = iadd3! %3119, %474, %476
MESA: info:     div 32     %478 = ishl! %3122, %317 (0x10)
MESA: info:     div 32     %479 = iadd! %472, %478
MESA: info:     div 1      %480 = ult! %479, %472
MESA: info:     div 32     %481 = b2i32! %480
MESA: info:     div 32     %483 = ushr! %3122, %317 (0x10)
MESA: info:     div 32    %2422 = iadd3! %2423, %481, %483
MESA: info:     div 32    %3114 = umul_low! %2422, %341
MESA: info:     div 32    %3115 = imadsh_mix16! %2422, %341, %3114
MESA: info:     div 32    %3116 = imadsh_mix16! %341, %2422, %3115
MESA: info:     div 32    %3524 = isub! %312, %3116
MESA: info:     div 1      %488 = uge! %3524, %341
MESA: info:     con 32     %490 = @load_const_ir3 (%314 (0x0)) (base=18)
MESA: info:     div 32     %491 = iadd! %3524, %490
MESA: info:     div 32     %492 = bcsel! %488, %491, %3524
MESA: info:     div 1      %493 = uge! %492, %341
MESA: info:     div 32     %494 = iadd! %492, %490
MESA: info:     div 32     %495 = bcsel! %493, %494, %492
MESA: info:     div 32     %496 = iand! %495, %347 (0xffff)
MESA: info:     con 32     %498 = @load_const_ir3 (%314 (0x0)) (base=19)
MESA: info:     div 32     %499 = ushr! %495, %317 (0x10)
MESA: info:     con 32     %501 = @load_const_ir3 (%314 (0x0)) (base=20)
MESA: info:     div 32    %3111 = umul_low! %496, %498
MESA: info:     div 32    %3112 = imadsh_mix16! %496, %498, %3111
MESA: info:     div 32    %3113 = imadsh_mix16! %498, %496, %3112
MESA: info:     div 32    %3108 = umul_low! %496, %501
MESA: info:     div 32    %3109 = imadsh_mix16! %496, %501, %3108
MESA: info:     div 32    %3110 = imadsh_mix16! %501, %496, %3109
MESA: info:     div 32    %3105 = umul_low! %499, %498
MESA: info:     div 32    %3106 = imadsh_mix16! %499, %498, %3105
MESA: info:     div 32    %3107 = imadsh_mix16! %498, %499, %3106
MESA: info:     div 32    %3102 = umul_low! %499, %501
MESA: info:     div 32    %3103 = imadsh_mix16! %499, %501, %3102
MESA: info:     div 32    %3104 = imadsh_mix16! %501, %499, %3103
MESA: info:     div 32     %506 = ishl! %3110, %317 (0x10)
MESA: info:     div 32     %507 = iadd! %3113, %506
MESA: info:     div 1      %508 = ult! %507, %3113
MESA: info:     div 32     %509 = b2i32! %508
MESA: info:     div 32     %511 = ushr! %3110, %317 (0x10)
MESA: info:     div 32    %2420 = iadd3! %3104, %509, %511
MESA: info:     div 32     %513 = ishl! %3107, %317 (0x10)
MESA: info:     div 32     %514 = iadd! %507, %513
MESA: info:     div 1      %515 = ult! %514, %507
MESA: info:     div 32     %516 = b2i32! %515
MESA: info:     div 32     %518 = ushr! %3107, %317 (0x10)
MESA: info:     div 32    %2419 = iadd3! %2420, %516, %518
MESA: info:     div 32    %3099 = umul_low! %2419, %339
MESA: info:     div 32    %3100 = imadsh_mix16! %2419, %339, %3099
MESA: info:     div 32    %3101 = imadsh_mix16! %339, %2419, %3100
MESA: info:     div 32    %3523 = isub! %495, %3101
MESA: info:     div 1      %523 = uge! %3523, %339
MESA: info:     con 32     %525 = @load_const_ir3 (%314 (0x0)) (base=21)
MESA: info:     div 32     %526 = iadd! %3523, %525
MESA: info:     div 32     %527 = bcsel! %523, %526, %3523
MESA: info:     div 1      %528 = uge! %527, %339
MESA: info:     div 32     %529 = iadd! %527, %525
MESA: info:     div 32     %530 = bcsel! %528, %529, %527
MESA: info:     div 32     %531 = iabs! %495
MESA: info:     con 32     %533 = @load_const_ir3 (%314 (0x0)) (base=22)
MESA: info:     div 32     %534 = ixor! %495, %339
MESA: info:     div 1      %535 = ilt! %534, %314 (0x0)
MESA: info:     div 32     %536 = iand! %531, %347 (0xffff)
MESA: info:     con 32     %538 = @load_const_ir3 (%314 (0x0)) (base=23)
MESA: info:     div 32     %539 = ushr! %531, %317 (0x10)
MESA: info:     con 32     %541 = @load_const_ir3 (%314 (0x0)) (base=24)
MESA: info:     div 32    %3096 = umul_low! %536, %538
MESA: info:     div 32    %3097 = imadsh_mix16! %536, %538, %3096
MESA: info:     div 32    %3098 = imadsh_mix16! %538, %536, %3097
MESA: info:     div 32    %3093 = umul_low! %536, %541
MESA: info:     div 32    %3094 = imadsh_mix16! %536, %541, %3093
MESA: info:     div 32    %3095 = imadsh_mix16! %541, %536, %3094
MESA: info:     div 32    %3090 = umul_low! %539, %538
MESA: info:     div 32    %3091 = imadsh_mix16! %539, %538, %3090
MESA: info:     div 32    %3092 = imadsh_mix16! %538, %539, %3091
MESA: info:     div 32    %3087 = umul_low! %539, %541
MESA: info:     div 32    %3088 = imadsh_mix16! %539, %541, %3087
MESA: info:     div 32    %3089 = imadsh_mix16! %541, %539, %3088
MESA: info:     div 32     %546 = ishl! %3095, %317 (0x10)
MESA: info:     div 32     %547 = iadd! %3098, %546
MESA: info:     div 1      %548 = ult! %547, %3098
MESA: info:     div 32     %549 = b2i32! %548
MESA: info:     div 32     %551 = ushr! %3095, %317 (0x10)
MESA: info:     div 32    %2417 = iadd3! %3089, %549, %551
MESA: info:     div 32     %553 = ishl! %3092, %317 (0x10)
MESA: info:     div 32     %554 = iadd! %547, %553
MESA: info:     div 1      %555 = ult! %554, %547
MESA: info:     div 32     %556 = b2i32! %555
MESA: info:     div 32     %558 = ushr! %3092, %317 (0x10)
MESA: info:     div 32    %2416 = iadd3! %2417, %556, %558
MESA: info:     div 32    %3084 = umul_low! %2416, %533
MESA: info:     div 32    %3085 = imadsh_mix16! %2416, %533, %3084
MESA: info:     div 32    %3086 = imadsh_mix16! %533, %2416, %3085
MESA: info:     div 32    %3522 = isub! %531, %3086
MESA: info:     div 1      %563 = uge! %3522, %533
MESA: info:     div 32     %564 = iadd! %2416, %313 (0x1)
MESA: info:     div 32     %565 = bcsel! %563, %564, %2416
MESA: info:     con 32     %567 = @load_const_ir3 (%314 (0x0)) (base=25)
MESA: info:     div 32     %568 = iadd! %3522, %567
MESA: info:     div 32     %569 = bcsel! %563, %568, %3522
MESA: info:     div 1      %570 = uge! %569, %533
MESA: info:     div 32     %571 = iadd! %565, %313 (0x1)
MESA: info:     div 32     %572 = bcsel! %570, %571, %565
MESA: info:     div 32     %573 = ineg! %572
MESA: info:     div 32     %574 = bcsel! %535, %573, %572
MESA: info:     div 32    %3081 = umul_low %418, %339
MESA: info:     div 32    %3082 = imadsh_mix16 %418, %339, %3081
MESA: info:     div 32    %3083 = imadsh_mix16 %339, %418, %3082
MESA: info:     div 32    %3078 = umul_low %460, %339
MESA: info:     div 32    %3079 = imadsh_mix16 %460, %339, %3078
MESA: info:     div 32    %3080 = imadsh_mix16 %339, %460, %3079
MESA: info:     div 32     %577 = iadd %3083, %530
MESA: info:     div 32     %578 = iadd %3080, %574
MESA: info:     con 32     %580 = @load_const_ir3 (%314 (0x0)) (base=26)
MESA: info:     div 32    %3075 = umul_low %577, %580
MESA: info:     div 32    %3076 = imadsh_mix16 %577, %580, %3075
MESA: info:     div 32    %3077 = imadsh_mix16 %580, %577, %3076
MESA: info:     div 32    %3072 = umul_low %578, %580
MESA: info:     div 32    %3073 = imadsh_mix16 %578, %580, %3072
MESA: info:     div 32    %3074 = imadsh_mix16 %580, %578, %3073
MESA: info:     div 32     %583 = i2f32 %3077
MESA: info:     div 32     %584 = i2f32 %3074
MESA: info:     div 32     %585 = fadd %323, %583
MESA: info:     div 32     %586 = fadd %325, %584
MESA: info:     con 32     %587 = load_const (0xffffffff = -1 = 4294967295)
MESA: info:     con 32x2  %3549 = load_const (0xffffffff, 0x00000001) = (-1, +1) = (4294967295, 1)
MESA: info:     div 32x2  %3550 = iadd %577.xx, %3549 (0xffffffff, 0x1)
MESA: info:     div 32x2  %3551 = imax %3550, %314 (0x0).xx
MESA: info:     con 32     %593 = @load_const_ir3 (%314 (0x0)) (base=27)
MESA: info:     con 32     %595 = @load_const_ir3 (%314 (0x0)) (base=28)
MESA: info:     div 32x2  %3552 = imin %3551, %593.xx
MESA: info:     div 32     %598 = imax %578, %314 (0x0)
MESA: info:     div 32     %599 = imin %598, %595
MESA: info:     div 32x2  %3553 = iabs! %3552
MESA: info:     div 32x2  %3554 = ixor! %3552, %339.xx
MESA: info:     div 1x2   %3555 = ilt! %3554, %314 (0x0).xx
MESA: info:     div 32x2  %3556 = iand! %3553, %347 (0xffff).xx
MESA: info:     div 32x2  %3557 = ushr! %3553, %317 (0x10).xx
MESA: info:     div 32x2  %3558 = umul_low! %3556, %538.xx
MESA: info:     div 32x2  %3559 = imadsh_mix16! %3556, %538.xx, %3558
MESA: info:     div 32x2  %3560 = imadsh_mix16! %538.xx, %3556, %3559
MESA: info:     div 32x2  %3561 = umul_low! %3556, %541.xx
MESA: info:     div 32x2  %3562 = imadsh_mix16! %3556, %541.xx, %3561
MESA: info:     div 32x2  %3563 = imadsh_mix16! %541.xx, %3556, %3562
MESA: info:     div 32x2  %3564 = umul_low! %3557, %538.xx
MESA: info:     div 32x2  %3565 = imadsh_mix16! %3557, %538.xx, %3564
MESA: info:     div 32x2  %3566 = imadsh_mix16! %538.xx, %3557, %3565
MESA: info:     div 32x2  %3567 = umul_low! %3557, %541.xx
MESA: info:     div 32x2  %3568 = imadsh_mix16! %3557, %541.xx, %3567
MESA: info:     div 32x2  %3569 = imadsh_mix16! %541.xx, %3557, %3568
MESA: info:     div 32x2  %3570 = ishl! %3563, %317 (0x10).xx
MESA: info:     div 32x2  %3571 = iadd! %3560, %3570
MESA: info:     div 1x2   %3572 = ult! %3571, %3560
MESA: info:     div 32x2  %3573 = b2i32! %3572
MESA: info:     div 32x2  %3574 = ushr! %3563, %317 (0x10).xx
MESA: info:     div 32x2  %3575 = iadd3! %3569, %3573, %3574
MESA: info:     div 32x2  %3576 = ishl! %3566, %317 (0x10).xx
MESA: info:     div 32x2  %3577 = iadd! %3571, %3576
MESA: info:     div 1x2   %3578 = ult! %3577, %3571
MESA: info:     div 32x2  %3579 = b2i32! %3578
MESA: info:     div 32x2  %3580 = ushr! %3566, %317 (0x10).xx
MESA: info:     div 32x2  %3581 = iadd3! %3575, %3579, %3580
MESA: info:     div 32x2  %3582 = umul_low! %3581, %533.xx
MESA: info:     div 32x2  %3583 = imadsh_mix16! %3581, %533.xx, %3582
MESA: info:     div 32x2  %3584 = imadsh_mix16! %533.xx, %3581, %3583
MESA: info:     div 32x2  %3585 = isub! %3553, %3584
MESA: info:     div 1x2   %3586 = uge! %3585, %533.xx
MESA: info:     div 32x2  %3587 = iadd! %3581, %313 (0x1).xx
MESA: info:     div 32x2  %3588 = bcsel! %3586, %3587, %3581
MESA: info:     div 32x2  %3589 = iadd! %3585, %567.xx
MESA: info:     div 32x2  %3590 = bcsel! %3586, %3589, %3585
MESA: info:     div 1x2   %3591 = uge! %3590, %533.xx
MESA: info:     div 32x2  %3592 = iadd! %3588, %313 (0x1).xx
MESA: info:     div 32x2  %3593 = bcsel! %3591, %3592, %3588
MESA: info:     div 32x2  %3594 = ineg! %3593
MESA: info:     div 32x2  %3595 = bcsel! %3555, %3594, %3593
MESA: info:     div 32     %672 = iabs! %599
MESA: info:     div 32     %673 = ixor! %599, %339
MESA: info:     div 1      %674 = ilt! %673, %314 (0x0)
MESA: info:     div 32     %675 = iand! %672, %347 (0xffff)
MESA: info:     div 32     %676 = ushr! %672, %317 (0x10)
MESA: info:     div 32    %3039 = umul_low! %675, %538
MESA: info:     div 32    %3040 = imadsh_mix16! %675, %538, %3039
MESA: info:     div 32    %3041 = imadsh_mix16! %538, %675, %3040
MESA: info:     div 32    %3036 = umul_low! %675, %541
MESA: info:     div 32    %3037 = imadsh_mix16! %675, %541, %3036
MESA: info:     div 32    %3038 = imadsh_mix16! %541, %675, %3037
MESA: info:     div 32    %3033 = umul_low! %676, %538
MESA: info:     div 32    %3034 = imadsh_mix16! %676, %538, %3033
MESA: info:     div 32    %3035 = imadsh_mix16! %538, %676, %3034
MESA: info:     div 32    %3030 = umul_low! %676, %541
MESA: info:     div 32    %3031 = imadsh_mix16! %676, %541, %3030
MESA: info:     div 32    %3032 = imadsh_mix16! %541, %676, %3031
MESA: info:     div 32     %681 = ishl! %3038, %317 (0x10)
MESA: info:     div 32     %682 = iadd! %3041, %681
MESA: info:     div 1      %683 = ult! %682, %3041
MESA: info:     div 32     %684 = b2i32! %683
MESA: info:     div 32     %686 = ushr! %3038, %317 (0x10)
MESA: info:     div 32    %2408 = iadd3! %3032, %684, %686
MESA: info:     div 32     %688 = ishl! %3035, %317 (0x10)
MESA: info:     div 32     %689 = iadd! %682, %688
MESA: info:     div 1      %690 = ult! %689, %682
MESA: info:     div 32     %691 = b2i32! %690
MESA: info:     div 32     %693 = ushr! %3035, %317 (0x10)
MESA: info:     div 32    %2407 = iadd3! %2408, %691, %693
MESA: info:     div 32    %3027 = umul_low! %2407, %533
MESA: info:     div 32    %3028 = imadsh_mix16! %2407, %533, %3027
MESA: info:     div 32    %3029 = imadsh_mix16! %533, %2407, %3028
MESA: info:     div 32    %3519 = isub! %672, %3029
MESA: info:     div 1      %698 = uge! %3519, %533
MESA: info:     div 32     %699 = iadd! %2407, %313 (0x1)
MESA: info:     div 32     %700 = bcsel! %698, %699, %2407
MESA: info:     div 32     %701 = iadd! %3519, %567
MESA: info:     div 32     %702 = bcsel! %698, %701, %3519
MESA: info:     div 1      %703 = uge! %702, %533
MESA: info:     div 32     %704 = iadd! %700, %313 (0x1)
MESA: info:     div 32     %705 = bcsel! %703, %704, %700
MESA: info:     div 32     %706 = ineg! %705
MESA: info:     div 32     %707 = bcsel! %674, %706, %705
MESA: info:     div 32x2  %3596 = iand! %3552, %347 (0xffff).xx
MESA: info:     div 32x2  %3597 = ushr! %3552, %317 (0x10).xx
MESA: info:     div 32x2  %3598 = umul_low! %3596, %498.xx
MESA: info:     div 32x2  %3599 = imadsh_mix16! %3596, %498.xx, %3598
MESA: info:     div 32x2  %3600 = imadsh_mix16! %498.xx, %3596, %3599
MESA: info:     div 32x2  %3601 = umul_low! %3596, %501.xx
MESA: info:     div 32x2  %3602 = imadsh_mix16! %3596, %501.xx, %3601
MESA: info:     div 32x2  %3603 = imadsh_mix16! %501.xx, %3596, %3602
MESA: info:     div 32x2  %3604 = umul_low! %3597, %498.xx
MESA: info:     div 32x2  %3605 = imadsh_mix16! %3597, %498.xx, %3604
MESA: info:     div 32x2  %3606 = imadsh_mix16! %498.xx, %3597, %3605
MESA: info:     div 32x2  %3607 = umul_low! %3597, %501.xx
MESA: info:     div 32x2  %3608 = imadsh_mix16! %3597, %501.xx, %3607
MESA: info:     div 32x2  %3609 = imadsh_mix16! %501.xx, %3597, %3608
MESA: info:     div 32x2  %3610 = ishl! %3603, %317 (0x10).xx
MESA: info:     div 32x2  %3611 = iadd! %3600, %3610
MESA: info:     div 1x2   %3612 = ult! %3611, %3600
MESA: info:     div 32x2  %3613 = b2i32! %3612
MESA: info:     div 32x2  %3614 = ushr! %3603, %317 (0x10).xx
MESA: info:     div 32x2  %3615 = iadd3! %3609, %3613, %3614
MESA: info:     div 32x2  %3616 = ishl! %3606, %317 (0x10).xx
MESA: info:     div 32x2  %3617 = iadd! %3611, %3616
MESA: info:     div 1x2   %3618 = ult! %3617, %3611
MESA: info:     div 32x2  %3619 = b2i32! %3618
MESA: info:     div 32x2  %3620 = ushr! %3606, %317 (0x10).xx
MESA: info:     div 32x2  %3621 = iadd3! %3615, %3619, %3620
MESA: info:     div 32x2  %3622 = umul_low! %3621, %339.xx
MESA: info:     div 32x2  %3623 = imadsh_mix16! %3621, %339.xx, %3622
MESA: info:     div 32x2  %3624 = imadsh_mix16! %339.xx, %3621, %3623
MESA: info:     div 32x2  %3625 = isub! %3552, %3624
MESA: info:     div 1x2   %3626 = uge! %3625, %339.xx
MESA: info:     div 32x2  %3627 = iadd! %3625, %525.xx
MESA: info:     div 32x2  %3628 = bcsel! %3626, %3627, %3625
MESA: info:     div 1x2   %3629 = uge! %3628, %339.xx
MESA: info:     div 32x2  %3630 = iadd! %3628, %525.xx
MESA: info:     div 32x2  %3631 = bcsel! %3629, %3630, %3628
MESA: info:     div 32     %766 = iand! %599, %347 (0xffff)
MESA: info:     div 32     %767 = ushr! %599, %317 (0x10)
MESA: info:     div 32    %2994 = umul_low! %766, %498
MESA: info:     div 32    %2995 = imadsh_mix16! %766, %498, %2994
MESA: info:     div 32    %2996 = imadsh_mix16! %498, %766, %2995
MESA: info:     div 32    %2991 = umul_low! %766, %501
MESA: info:     div 32    %2992 = imadsh_mix16! %766, %501, %2991
MESA: info:     div 32    %2993 = imadsh_mix16! %501, %766, %2992
MESA: info:     div 32    %2988 = umul_low! %767, %498
MESA: info:     div 32    %2989 = imadsh_mix16! %767, %498, %2988
MESA: info:     div 32    %2990 = imadsh_mix16! %498, %767, %2989
MESA: info:     div 32    %2985 = umul_low! %767, %501
MESA: info:     div 32    %2986 = imadsh_mix16! %767, %501, %2985
MESA: info:     div 32    %2987 = imadsh_mix16! %501, %767, %2986
MESA: info:     div 32     %772 = ishl! %2993, %317 (0x10)
MESA: info:     div 32     %773 = iadd! %2996, %772
MESA: info:     div 1      %774 = ult! %773, %2996
MESA: info:     div 32     %775 = b2i32! %774
MESA: info:     div 32     %777 = ushr! %2993, %317 (0x10)
MESA: info:     div 32    %2399 = iadd3! %2987, %775, %777
MESA: info:     div 32     %779 = ishl! %2990, %317 (0x10)
MESA: info:     div 32     %780 = iadd! %773, %779
MESA: info:     div 1      %781 = ult! %780, %773
MESA: info:     div 32     %782 = b2i32! %781
MESA: info:     div 32     %784 = ushr! %2990, %317 (0x10)
MESA: info:     div 32    %2398 = iadd3! %2399, %782, %784
MESA: info:     div 32    %2982 = umul_low! %2398, %339
MESA: info:     div 32    %2983 = imadsh_mix16! %2398, %339, %2982
MESA: info:     div 32    %2984 = imadsh_mix16! %339, %2398, %2983
MESA: info:     div 32    %3516 = isub! %599, %2984
MESA: info:     div 1      %789 = uge! %3516, %339
MESA: info:     div 32     %790 = iadd! %3516, %525
MESA: info:     div 32     %791 = bcsel! %789, %790, %3516
MESA: info:     div 1      %792 = uge! %791, %339
MESA: info:     div 32     %793 = iadd! %791, %525
MESA: info:     div 32     %794 = bcsel! %792, %793, %791
MESA: info:     div 32    %2979 = umul_low %794, %339
MESA: info:     div 32    %2980 = imadsh_mix16 %794, %339, %2979
MESA: info:     div 32    %2981 = imadsh_mix16 %339, %794, %2980
MESA: info:     div 32    %2976 = umul_low %327, %707
MESA: info:     div 32    %2977 = imadsh_mix16 %327, %707, %2976
MESA: info:     div 32    %2978 = imadsh_mix16 %707, %327, %2977
MESA: info:     div 32x2  %3632 = isub %3595, %2978.xx
MESA: info:     div 32x2  %3633 = umul_low %3632, %341.xx
MESA: info:     div 32x2  %3634 = imadsh_mix16 %3632, %341.xx, %3633
MESA: info:     div 32x2  %3635 = imadsh_mix16 %341.xx, %3632, %3634
MESA: info:     div 32x2  %3636 = iadd3 %3631, %2981.xx, %3635
MESA: info:     div 32     %806 = imax %577, %314 (0x0)
MESA: info:     div 32     %807 = imin %806, %593
MESA: info:     con 32x2  %3637 = load_const (0x00000001, 0xffffffff) = (+1, -1) = (1, 4294967295)
MESA: info:     div 32x2  %3638 = iadd %578.xx, %3637 (0x1, 0xffffffff)
MESA: info:     div 32x2  %3639 = imax %3638, %314 (0x0).xx
MESA: info:     div 32x2  %3640 = imin %3639, %595.xx
MESA: info:     div 32     %814 = iabs! %807
MESA: info:     div 32     %815 = ixor! %807, %339
MESA: info:     div 1      %816 = ilt! %815, %314 (0x0)
MESA: info:     div 32     %817 = iand! %814, %347 (0xffff)
MESA: info:     div 32     %818 = ushr! %814, %317 (0x10)
MESA: info:     div 32    %2967 = umul_low! %817, %538
MESA: info:     div 32    %2968 = imadsh_mix16! %817, %538, %2967
MESA: info:     div 32    %2969 = imadsh_mix16! %538, %817, %2968
MESA: info:     div 32    %2964 = umul_low! %817, %541
MESA: info:     div 32    %2965 = imadsh_mix16! %817, %541, %2964
MESA: info:     div 32    %2966 = imadsh_mix16! %541, %817, %2965
MESA: info:     div 32    %2961 = umul_low! %818, %538
MESA: info:     div 32    %2962 = imadsh_mix16! %818, %538, %2961
MESA: info:     div 32    %2963 = imadsh_mix16! %538, %818, %2962
MESA: info:     div 32    %2958 = umul_low! %818, %541
MESA: info:     div 32    %2959 = imadsh_mix16! %818, %541, %2958
MESA: info:     div 32    %2960 = imadsh_mix16! %541, %818, %2959
MESA: info:     div 32     %823 = ishl! %2966, %317 (0x10)
MESA: info:     div 32     %824 = iadd! %2969, %823
MESA: info:     div 1      %825 = ult! %824, %2969
MESA: info:     div 32     %826 = b2i32! %825
MESA: info:     div 32     %828 = ushr! %2966, %317 (0x10)
MESA: info:     div 32    %2392 = iadd3! %2960, %826, %828
MESA: info:     div 32     %830 = ishl! %2963, %317 (0x10)
MESA: info:     div 32     %831 = iadd! %824, %830
MESA: info:     div 1      %832 = ult! %831, %824
MESA: info:     div 32     %833 = b2i32! %832
MESA: info:     div 32     %835 = ushr! %2963, %317 (0x10)
MESA: info:     div 32    %2391 = iadd3! %2392, %833, %835
MESA: info:     div 32    %2955 = umul_low! %2391, %533
MESA: info:     div 32    %2956 = imadsh_mix16! %2391, %533, %2955
MESA: info:     div 32    %2957 = imadsh_mix16! %533, %2391, %2956
MESA: info:     div 32    %3513 = isub! %814, %2957
MESA: info:     div 1      %840 = uge! %3513, %533
MESA: info:     div 32     %841 = iadd! %2391, %313 (0x1)
MESA: info:     div 32     %842 = bcsel! %840, %841, %2391
MESA: info:     div 32     %843 = iadd! %3513, %567
MESA: info:     div 32     %844 = bcsel! %840, %843, %3513
MESA: info:     div 1      %845 = uge! %844, %533
MESA: info:     div 32     %846 = iadd! %842, %313 (0x1)
MESA: info:     div 32     %847 = bcsel! %845, %846, %842
MESA: info:     div 32     %848 = ineg! %847
MESA: info:     div 32     %849 = bcsel! %816, %848, %847
MESA: info:     div 32x2  %3641 = iabs! %3640
MESA: info:     div 32x2  %3642 = ixor! %3640, %339.xx
MESA: info:     div 1x2   %3643 = ilt! %3642, %314 (0x0).xx
MESA: info:     div 32x2  %3644 = iand! %3641, %347 (0xffff).xx
MESA: info:     div 32x2  %3645 = ushr! %3641, %317 (0x10).xx
MESA: info:     div 32x2  %3646 = umul_low! %3644, %538.xx
MESA: info:     div 32x2  %3647 = imadsh_mix16! %3644, %538.xx, %3646
MESA: info:     div 32x2  %3648 = imadsh_mix16! %538.xx, %3644, %3647
MESA: info:     div 32x2  %3649 = umul_low! %3644, %541.xx
MESA: info:     div 32x2  %3650 = imadsh_mix16! %3644, %541.xx, %3649
MESA: info:     div 32x2  %3651 = imadsh_mix16! %541.xx, %3644, %3650
MESA: info:     div 32x2  %3652 = umul_low! %3645, %538.xx
MESA: info:     div 32x2  %3653 = imadsh_mix16! %3645, %538.xx, %3652
MESA: info:     div 32x2  %3654 = imadsh_mix16! %538.xx, %3645, %3653
MESA: info:     div 32x2  %3655 = umul_low! %3645, %541.xx
MESA: info:     div 32x2  %3656 = imadsh_mix16! %3645, %541.xx, %3655
MESA: info:     div 32x2  %3657 = imadsh_mix16! %541.xx, %3645, %3656
MESA: info:     div 32x2  %3658 = ishl! %3651, %317 (0x10).xx
MESA: info:     div 32x2  %3659 = iadd! %3648, %3658
MESA: info:     div 1x2   %3660 = ult! %3659, %3648
MESA: info:     div 32x2  %3661 = b2i32! %3660
MESA: info:     div 32x2  %3662 = ushr! %3651, %317 (0x10).xx
MESA: info:     div 32x2  %3663 = iadd3! %3657, %3661, %3662
MESA: info:     div 32x2  %3664 = ishl! %3654, %317 (0x10).xx
MESA: info:     div 32x2  %3665 = iadd! %3659, %3664
MESA: info:     div 1x2   %3666 = ult! %3665, %3659
MESA: info:     div 32x2  %3667 = b2i32! %3666
MESA: info:     div 32x2  %3668 = ushr! %3654, %317 (0x10).xx
MESA: info:     div 32x2  %3669 = iadd3! %3663, %3667, %3668
MESA: info:     div 32x2  %3670 = umul_low! %3669, %533.xx
MESA: info:     div 32x2  %3671 = imadsh_mix16! %3669, %533.xx, %3670
MESA: info:     div 32x2  %3672 = imadsh_mix16! %533.xx, %3669, %3671
MESA: info:     div 32x2  %3673 = isub! %3641, %3672
MESA: info:     div 1x2   %3674 = uge! %3673, %533.xx
MESA: info:     div 32x2  %3675 = iadd! %3669, %313 (0x1).xx
MESA: info:     div 32x2  %3676 = bcsel! %3674, %3675, %3669
MESA: info:     div 32x2  %3677 = iadd! %3673, %567.xx
MESA: info:     div 32x2  %3678 = bcsel! %3674, %3677, %3673
MESA: info:     div 1x2   %3679 = uge! %3678, %533.xx
MESA: info:     div 32x2  %3680 = iadd! %3676, %313 (0x1).xx
MESA: info:     div 32x2  %3681 = bcsel! %3679, %3680, %3676
MESA: info:     div 32x2  %3682 = ineg! %3681
MESA: info:     div 32x2  %3683 = bcsel! %3643, %3682, %3681
MESA: info:     div 32     %922 = iand! %807, %347 (0xffff)
MESA: info:     div 32     %923 = ushr! %807, %317 (0x10)
MESA: info:     div 32    %2922 = umul_low! %922, %498
MESA: info:     div 32    %2923 = imadsh_mix16! %922, %498, %2922
MESA: info:     div 32    %2924 = imadsh_mix16! %498, %922, %2923
MESA: info:     div 32    %2919 = umul_low! %922, %501
MESA: info:     div 32    %2920 = imadsh_mix16! %922, %501, %2919
MESA: info:     div 32    %2921 = imadsh_mix16! %501, %922, %2920
MESA: info:     div 32    %2916 = umul_low! %923, %498
MESA: info:     div 32    %2917 = imadsh_mix16! %923, %498, %2916
MESA: info:     div 32    %2918 = imadsh_mix16! %498, %923, %2917
MESA: info:     div 32    %2913 = umul_low! %923, %501
MESA: info:     div 32    %2914 = imadsh_mix16! %923, %501, %2913
MESA: info:     div 32    %2915 = imadsh_mix16! %501, %923, %2914
MESA: info:     div 32     %928 = ishl! %2921, %317 (0x10)
MESA: info:     div 32     %929 = iadd! %2924, %928
MESA: info:     div 1      %930 = ult! %929, %2924
MESA: info:     div 32     %931 = b2i32! %930
MESA: info:     div 32     %933 = ushr! %2921, %317 (0x10)
MESA: info:     div 32    %2383 = iadd3! %2915, %931, %933
MESA: info:     div 32     %935 = ishl! %2918, %317 (0x10)
MESA: info:     div 32     %936 = iadd! %929, %935
MESA: info:     div 1      %937 = ult! %936, %929
MESA: info:     div 32     %938 = b2i32! %937
MESA: info:     div 32     %940 = ushr! %2918, %317 (0x10)
MESA: info:     div 32    %2382 = iadd3! %2383, %938, %940
MESA: info:     div 32    %2910 = umul_low! %2382, %339
MESA: info:     div 32    %2911 = imadsh_mix16! %2382, %339, %2910
MESA: info:     div 32    %2912 = imadsh_mix16! %339, %2382, %2911
MESA: info:     div 32    %3510 = isub! %807, %2912
MESA: info:     div 1      %945 = uge! %3510, %339
MESA: info:     div 32     %946 = iadd! %3510, %525
MESA: info:     div 32     %947 = bcsel! %945, %946, %3510
MESA: info:     div 1      %948 = uge! %947, %339
MESA: info:     div 32     %949 = iadd! %947, %525
MESA: info:     div 32     %950 = bcsel! %948, %949, %947
MESA: info:     div 32x2  %3684 = iand! %3640, %347 (0xffff).xx
MESA: info:     div 32x2  %3685 = ushr! %3640, %317 (0x10).xx
MESA: info:     div 32x2  %3686 = umul_low! %3684, %498.xx
MESA: info:     div 32x2  %3687 = imadsh_mix16! %3684, %498.xx, %3686
MESA: info:     div 32x2  %3688 = imadsh_mix16! %498.xx, %3684, %3687
MESA: info:     div 32x2  %3689 = umul_low! %3684, %501.xx
MESA: info:     div 32x2  %3690 = imadsh_mix16! %3684, %501.xx, %3689
MESA: info:     div 32x2  %3691 = imadsh_mix16! %501.xx, %3684, %3690
MESA: info:     div 32x2  %3692 = umul_low! %3685, %498.xx
MESA: info:     div 32x2  %3693 = imadsh_mix16! %3685, %498.xx, %3692
MESA: info:     div 32x2  %3694 = imadsh_mix16! %498.xx, %3685, %3693
MESA: info:     div 32x2  %3695 = umul_low! %3685, %501.xx
MESA: info:     div 32x2  %3696 = imadsh_mix16! %3685, %501.xx, %3695
MESA: info:     div 32x2  %3697 = imadsh_mix16! %501.xx, %3685, %3696
MESA: info:     div 32x2  %3698 = ishl! %3691, %317 (0x10).xx
MESA: info:     div 32x2  %3699 = iadd! %3688, %3698
MESA: info:     div 1x2   %3700 = ult! %3699, %3688
MESA: info:     div 32x2  %3701 = b2i32! %3700
MESA: info:     div 32x2  %3702 = ushr! %3691, %317 (0x10).xx
MESA: info:     div 32x2  %3703 = iadd3! %3697, %3701, %3702
MESA: info:     div 32x2  %3704 = ishl! %3694, %317 (0x10).xx
MESA: info:     div 32x2  %3705 = iadd! %3699, %3704
MESA: info:     div 1x2   %3706 = ult! %3705, %3699
MESA: info:     div 32x2  %3707 = b2i32! %3706
MESA: info:     div 32x2  %3708 = ushr! %3694, %317 (0x10).xx
MESA: info:     div 32x2  %3709 = iadd3! %3703, %3707, %3708
MESA: info:     div 32x2  %3710 = umul_low! %3709, %339.xx
MESA: info:     div 32x2  %3711 = imadsh_mix16! %3709, %339.xx, %3710
MESA: info:     div 32x2  %3712 = imadsh_mix16! %339.xx, %3709, %3711
MESA: info:     div 32x2  %3713 = isub! %3640, %3712
MESA: info:     div 1x2   %3714 = uge! %3713, %339.xx
MESA: info:     div 32x2  %3715 = iadd! %3713, %525.xx
MESA: info:     div 32x2  %3716 = bcsel! %3714, %3715, %3713
MESA: info:     div 1x2   %3717 = uge! %3716, %339.xx
MESA: info:     div 32x2  %3718 = iadd! %3716, %525.xx
MESA: info:     div 32x2  %3719 = bcsel! %3717, %3718, %3716
MESA: info:     div 32x2  %3720 = umul_low %3719, %339.xx
MESA: info:     div 32x2  %3721 = imadsh_mix16 %3719, %339.xx, %3720
MESA: info:     div 32x2  %3722 = imadsh_mix16 %339.xx, %3719, %3721
MESA: info:     div 32x2  %3723 = umul_low %327.xx, %3683
MESA: info:     div 32x2  %3724 = imadsh_mix16 %327.xx, %3683, %3723
MESA: info:     div 32x2  %3725 = imadsh_mix16 %3683, %327.xx, %3724
MESA: info:     div 32x2  %3726 = isub %849.xx, %3725
MESA: info:     div 32x2  %3727 = umul_low %3726, %341.xx
MESA: info:     div 32x2  %3728 = imadsh_mix16 %3726, %341.xx, %3727
MESA: info:     div 32x2  %3729 = imadsh_mix16 %341.xx, %3726, %3728
MESA: info:     div 32x2  %3730 = iadd3 %950.xx, %3722, %3729
MESA: info:     con 32    %1024 = @load_const_ir3 (%314 (0x0)) (base=29)
MESA: info:     con 32    %1026 = @load_const_ir3 (%314 (0x0)) (base=30)
MESA: info:     con 32x2  %3731 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %3732 = ishl %312.xx, %3731 (0x5, 0x3)
MESA: info:     div 32    %3733 = mov %3732.x
MESA: info:     div 32    %3734 = mov %3732.y
MESA: info:     con 32    %1029 = @bindless_resource_ir3 (%314 (0x0)) (desc_set=3)
MESA: info:     div 32x2  %2206 = @load_ssbo_ir3 (%1029, %3733, %3734) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=0)
MESA: info:     con 32x2  %3735 = load_const (0x0000000c, 0x0000001c) = (12, 28)
MESA: info:     div 32x2  %3736 = iadd %3732.xx, %3735 (0xc, 0x1c)
MESA: info:     div 32    %3737 = mov %3736.x
MESA: info:     div 32    %3738 = mov %3736.y
MESA: info:     div 32x2  %3739 = ushr %3736, %319 (0x2).xx
MESA: info:     div 32    %3740 = mov %3739.x
MESA: info:     div 32    %3741 = mov %3739.y
MESA: info:     div 32x4  %2209 = @load_ssbo_ir3 (%1029, %3737, %3740) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=12)
MESA: info:     div 32    %1033 = mov %2209.w
MESA: info:     div 32    %1034 = mov %2209.z
MESA: info:     div 32    %1035 = mov %2209.x
MESA: info:     div 32    %1036 = mov %2209.y
MESA: info:     div 32    %1037 = fmax %337.x, %585
MESA: info:     div 32    %1038 = fadd %585, %1026
MESA: info:     div 32    %1039 = fmin %1037, %1038
MESA: info:     div 32    %1040 = fmax %337.y, %586
MESA: info:     div 32    %1041 = fadd %586, %1026
MESA: info:     div 32    %1042 = fmin %1040, %1041
MESA: info:     div 32    %1043 = fmax %337.z, %2206.x
MESA: info:     div 32    %1044 = fmin %1043, %2206.y
MESA: info:                       @store_reg (%1035, %4) (base=0, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%1036, %4) (base=1, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%1034, %4) (base=2, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%1033, %4) (base=3, wrmask=x, legacy_fsat=0)
MESA: info:     div 32    %2212 = @load_ssbo_ir3 (%1029, %3738, %3741) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=28)
MESA: info:                       @store_reg (%2212, %4) (base=4, wrmask=x, legacy_fsat=0)
MESA: info:     con 32    %1057 = @load_const_ir3 (%314 (0x0)) (base=53)
MESA: info:     con 32    %1058 = iadd %1024, %587 (0xffffffff)
MESA: info:                       // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:         // preds: b6 b13
MESA: info:         con 32    %1059 = phi b6: %1058, b13: %1082
MESA: info:         con 1     %1060 = ilt %1059, %314 (0x0)
MESA: info:                           // succs: b8 b9
MESA: info:         if %1060 {
MESA: info:             con block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b14
MESA: info:         } else {
MESA: info:             con block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         con block b10:        // preds: b9
MESA: info:         div 32    %1063 = @load_reg_indirect (%4, %1059) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:         div 32    %3505 = fsub %337.x, %1039
MESA: info:         div 32    %3504 = fsub %337.y, %1042
MESA: info:         div 32    %3503 = fsub %337.z, %1044
MESA: info:         con 32    %1072 = @load_const_ir3 (%314 (0x0)) (base=52)
MESA: info:         div 32    %1074 = fmul %3504, %3504
MESA: info:         div 32    %3502 = ffma %3503, %3503, %1074
MESA: info:         div 32    %3501 = ffma %3505, %3505, %3502
MESA: info:         div 32    %1078 = frsq %3501
MESA: info:         div 32    %1079 = fmul %1063, %1078
MESA: info:         div 32    %1080 = fmul %1072, %1079
MESA: info:         div 1     %1081 = flt! %1080, %1057
MESA: info:                           // succs: b11 b12
MESA: info:         if %1081 {
MESA: info:             div block b11:// preds: b10
MESA: info:             break
MESA: info:             // succs: b14
MESA: info:         } else {
MESA: info:             div block b12:  // preds: b10, succs: b13
MESA: info:         }
MESA: info:         div block b13:        // preds: b12
MESA: info:         con 32    %1082 = iadd %1059, %587 (0xffffffff)
MESA: info:                           // succs: b7
MESA: info:     }
MESA: info:     con block b14:        // preds: b8 b11
MESA: info:     div 32    %1083 = phi b8: %587 (0xffffffff), b11: %1059
MESA: info:     div 32    %3500 = isub %1024, %1083
MESA: info:     div 32    %1086 = ishl %313 (0x1), %3500
MESA: info:     div 32    %1087 = u2f32 %1086
MESA: info:     div 32x2  %3742 = iabs! %3636
MESA: info:     div 32x2  %3743 = ixor! %3636, %341.xx
MESA: info:     div 1x2   %3744 = ilt! %3743, %314 (0x0).xx
MESA: info:     div 32x2  %3745 = iand! %3742, %347 (0xffff).xx
MESA: info:     div 32x2  %3746 = ushr! %3742, %317 (0x10).xx
MESA: info:     div 32x2  %3747 = umul_low! %3745, %350.xx
MESA: info:     div 32x2  %3748 = imadsh_mix16! %3745, %350.xx, %3747
MESA: info:     div 32x2  %3749 = imadsh_mix16! %350.xx, %3745, %3748
MESA: info:     div 32x2  %3750 = umul_low! %3745, %353.xx
MESA: info:     div 32x2  %3751 = imadsh_mix16! %3745, %353.xx, %3750
MESA: info:     div 32x2  %3752 = imadsh_mix16! %353.xx, %3745, %3751
MESA: info:     div 32x2  %3753 = umul_low! %3746, %350.xx
MESA: info:     div 32x2  %3754 = imadsh_mix16! %3746, %350.xx, %3753
MESA: info:     div 32x2  %3755 = imadsh_mix16! %350.xx, %3746, %3754
MESA: info:     div 32x2  %3756 = umul_low! %3746, %353.xx
MESA: info:     div 32x2  %3757 = imadsh_mix16! %3746, %353.xx, %3756
MESA: info:     div 32x2  %3758 = imadsh_mix16! %353.xx, %3746, %3757
MESA: info:     div 32x2  %3759 = ishl! %3752, %317 (0x10).xx
MESA: info:     div 32x2  %3760 = iadd! %3749, %3759
MESA: info:     div 1x2   %3761 = ult! %3760, %3749
MESA: info:     div 32x2  %3762 = b2i32! %3761
MESA: info:     div 32x2  %3763 = ushr! %3752, %317 (0x10).xx
MESA: info:     div 32x2  %3764 = iadd3! %3758, %3762, %3763
MESA: info:     div 32x2  %3765 = ishl! %3755, %317 (0x10).xx
MESA: info:     div 32x2  %3766 = iadd! %3760, %3765
MESA: info:     div 1x2   %3767 = ult! %3766, %3760
MESA: info:     div 32x2  %3768 = b2i32! %3767
MESA: info:     div 32x2  %3769 = ushr! %3755, %317 (0x10).xx
MESA: info:     div 32x2  %3770 = iadd3! %3764, %3768, %3769
MESA: info:     div 32x2  %3771 = umul_low! %3770, %344.xx
MESA: info:     div 32x2  %3772 = imadsh_mix16! %3770, %344.xx, %3771
MESA: info:     div 32x2  %3773 = imadsh_mix16! %344.xx, %3770, %3772
MESA: info:     div 32x2  %3774 = isub! %3742, %3773
MESA: info:     div 1x2   %3775 = uge! %3774, %344.xx
MESA: info:     div 32x2  %3776 = iadd! %3770, %313 (0x1).xx
MESA: info:     div 32x2  %3777 = bcsel! %3775, %3776, %3770
MESA: info:     div 32x2  %3778 = iadd! %3774, %379.xx
MESA: info:     div 32x2  %3779 = bcsel! %3775, %3778, %3774
MESA: info:     div 1x2   %3780 = uge! %3779, %344.xx
MESA: info:     div 32x2  %3781 = iadd! %3777, %313 (0x1).xx
MESA: info:     div 32x2  %3782 = bcsel! %3780, %3781, %3777
MESA: info:     div 32x2  %3783 = ineg! %3782
MESA: info:     div 32x2  %3784 = bcsel! %3744, %3783, %3782
MESA: info:     div 32x2  %3785 = iand! %3784, %347 (0xffff).xx
MESA: info:     div 32x2  %3786 = ushr! %3784, %317 (0x10).xx
MESA: info:     div 32x2  %3787 = umul_low! %3785, %389.xx
MESA: info:     div 32x2  %3788 = imadsh_mix16! %3785, %389.xx, %3787
MESA: info:     div 32x2  %3789 = imadsh_mix16! %389.xx, %3785, %3788
MESA: info:     div 32x2  %3790 = umul_low! %3785, %392.xx
MESA: info:     div 32x2  %3791 = imadsh_mix16! %3785, %392.xx, %3790
MESA: info:     div 32x2  %3792 = imadsh_mix16! %392.xx, %3785, %3791
MESA: info:     div 32x2  %3793 = umul_low! %3786, %389.xx
MESA: info:     div 32x2  %3794 = imadsh_mix16! %3786, %389.xx, %3793
MESA: info:     div 32x2  %3795 = imadsh_mix16! %389.xx, %3786, %3794
MESA: info:     div 32x2  %3796 = umul_low! %3786, %392.xx
MESA: info:     div 32x2  %3797 = imadsh_mix16! %3786, %392.xx, %3796
MESA: info:     div 32x2  %3798 = imadsh_mix16! %392.xx, %3786, %3797
MESA: info:     div 32x2  %3799 = ishl! %3792, %317 (0x10).xx
MESA: info:     div 32x2  %3800 = iadd! %3789, %3799
MESA: info:     div 1x2   %3801 = ult! %3800, %3789
MESA: info:     div 32x2  %3802 = b2i32! %3801
MESA: info:     div 32x2  %3803 = ushr! %3792, %317 (0x10).xx
MESA: info:     div 32x2  %3804 = iadd3! %3798, %3802, %3803
MESA: info:     div 32x2  %3805 = ishl! %3795, %317 (0x10).xx
MESA: info:     div 32x2  %3806 = iadd! %3800, %3805
MESA: info:     div 1x2   %3807 = ult! %3806, %3800
MESA: info:     div 32x2  %3808 = b2i32! %3807
MESA: info:     div 32x2  %3809 = ushr! %3795, %317 (0x10).xx
MESA: info:     div 32x2  %3810 = iadd3! %3804, %3808, %3809
MESA: info:     div 32x2  %3811 = umul_low! %327.xx, %3810
MESA: info:     div 32x2  %3812 = imadsh_mix16! %327.xx, %3810, %3811
MESA: info:     div 32x2  %3813 = imadsh_mix16! %3810, %327.xx, %3812
MESA: info:     div 32x2  %3814 = iadd! %3784, %3813
MESA: info:     div 1x2   %3815 = uge! %3814, %329.xx
MESA: info:     div 32x2  %3816 = iadd! %3814, %327.xx
MESA: info:     div 32x2  %3817 = bcsel! %3815, %3816, %3814
MESA: info:     div 1x2   %3818 = uge! %3817, %329.xx
MESA: info:     div 32x2  %3819 = iadd! %3817, %327.xx
MESA: info:     div 32x2  %3820 = bcsel! %3818, %3819, %3817
MESA: info:     div 32x2  %3821 = iabs! %3784
MESA: info:     div 32x2  %3822 = ixor! %3784, %329.xx
MESA: info:     div 1x2   %3823 = ilt! %3822, %314 (0x0).xx
MESA: info:     div 32x2  %3824 = iand! %3821, %347 (0xffff).xx
MESA: info:     div 32x2  %3825 = ushr! %3821, %317 (0x10).xx
MESA: info:     div 32x2  %3826 = umul_low! %3824, %424.xx
MESA: info:     div 32x2  %3827 = imadsh_mix16! %3824, %424.xx, %3826
MESA: info:     div 32x2  %3828 = imadsh_mix16! %424.xx, %3824, %3827
MESA: info:     div 32x2  %3829 = umul_low! %3824, %427.xx
MESA: info:     div 32x2  %3830 = imadsh_mix16! %3824, %427.xx, %3829
MESA: info:     div 32x2  %3831 = imadsh_mix16! %427.xx, %3824, %3830
MESA: info:     div 32x2  %3832 = umul_low! %3825, %424.xx
MESA: info:     div 32x2  %3833 = imadsh_mix16! %3825, %424.xx, %3832
MESA: info:     div 32x2  %3834 = imadsh_mix16! %424.xx, %3825, %3833
MESA: info:     div 32x2  %3835 = umul_low! %3825, %427.xx
MESA: info:     div 32x2  %3836 = imadsh_mix16! %3825, %427.xx, %3835
MESA: info:     div 32x2  %3837 = imadsh_mix16! %427.xx, %3825, %3836
MESA: info:     div 32x2  %3838 = ishl! %3831, %317 (0x10).xx
MESA: info:     div 32x2  %3839 = iadd! %3828, %3838
MESA: info:     div 1x2   %3840 = ult! %3839, %3828
MESA: info:     div 32x2  %3841 = b2i32! %3840
MESA: info:     div 32x2  %3842 = ushr! %3831, %317 (0x10).xx
MESA: info:     div 32x2  %3843 = iadd3! %3837, %3841, %3842
MESA: info:     div 32x2  %3844 = ishl! %3834, %317 (0x10).xx
MESA: info:     div 32x2  %3845 = iadd! %3839, %3844
MESA: info:     div 1x2   %3846 = ult! %3845, %3839
MESA: info:     div 32x2  %3847 = b2i32! %3846
MESA: info:     div 32x2  %3848 = ushr! %3834, %317 (0x10).xx
MESA: info:     div 32x2  %3849 = iadd3! %3843, %3847, %3848
MESA: info:     div 32x2  %3850 = umul_low! %3849, %331.xx
MESA: info:     div 32x2  %3851 = imadsh_mix16! %3849, %331.xx, %3850
MESA: info:     div 32x2  %3852 = imadsh_mix16! %331.xx, %3849, %3851
MESA: info:     div 32x2  %3853 = isub! %3821, %3852
MESA: info:     div 1x2   %3854 = uge! %3853, %331.xx
MESA: info:     div 32x2  %3855 = iadd! %3849, %313 (0x1).xx
MESA: info:     div 32x2  %3856 = bcsel! %3854, %3855, %3849
MESA: info:     div 32x2  %3857 = iadd! %3853, %453.xx
MESA: info:     div 32x2  %3858 = bcsel! %3854, %3857, %3853
MESA: info:     div 1x2   %3859 = uge! %3858, %331.xx
MESA: info:     div 32x2  %3860 = iadd! %3856, %313 (0x1).xx
MESA: info:     div 32x2  %3861 = bcsel! %3859, %3860, %3856
MESA: info:     div 32x2  %3862 = ineg! %3861
MESA: info:     div 32x2  %3863 = bcsel! %3823, %3862, %3861
MESA: info:     div 32x2  %3864 = iand! %3636, %347 (0xffff).xx
MESA: info:     div 32x2  %3865 = ushr! %3636, %317 (0x10).xx
MESA: info:     div 32x2  %3866 = umul_low! %3864, %463.xx
MESA: info:     div 32x2  %3867 = imadsh_mix16! %3864, %463.xx, %3866
MESA: info:     div 32x2  %3868 = imadsh_mix16! %463.xx, %3864, %3867
MESA: info:     div 32x2  %3869 = umul_low! %3864, %466.xx
MESA: info:     div 32x2  %3870 = imadsh_mix16! %3864, %466.xx, %3869
MESA: info:     div 32x2  %3871 = imadsh_mix16! %466.xx, %3864, %3870
MESA: info:     div 32x2  %3872 = umul_low! %3865, %463.xx
MESA: info:     div 32x2  %3873 = imadsh_mix16! %3865, %463.xx, %3872
MESA: info:     div 32x2  %3874 = imadsh_mix16! %463.xx, %3865, %3873
MESA: info:     div 32x2  %3875 = umul_low! %3865, %466.xx
MESA: info:     div 32x2  %3876 = imadsh_mix16! %3865, %466.xx, %3875
MESA: info:     div 32x2  %3877 = imadsh_mix16! %466.xx, %3865, %3876
MESA: info:     div 32x2  %3878 = ishl! %3871, %317 (0x10).xx
MESA: info:     div 32x2  %3879 = iadd! %3868, %3878
MESA: info:     div 1x2   %3880 = ult! %3879, %3868
MESA: info:     div 32x2  %3881 = b2i32! %3880
MESA: info:     div 32x2  %3882 = ushr! %3871, %317 (0x10).xx
MESA: info:     div 32x2  %3883 = iadd3! %3877, %3881, %3882
MESA: info:     div 32x2  %3884 = ishl! %3874, %317 (0x10).xx
MESA: info:     div 32x2  %3885 = iadd! %3879, %3884
MESA: info:     div 1x2   %3886 = ult! %3885, %3879
MESA: info:     div 32x2  %3887 = b2i32! %3886
MESA: info:     div 32x2  %3888 = ushr! %3874, %317 (0x10).xx
MESA: info:     div 32x2  %3889 = iadd3! %3883, %3887, %3888
MESA: info:     div 32x2  %3890 = umul_low! %3889, %341.xx
MESA: info:     div 32x2  %3891 = imadsh_mix16! %3889, %341.xx, %3890
MESA: info:     div 32x2  %3892 = imadsh_mix16! %341.xx, %3889, %3891
MESA: info:     div 32x2  %3893 = isub! %3636, %3892
MESA: info:     div 1x2   %3894 = uge! %3893, %341.xx
MESA: info:     div 32x2  %3895 = iadd! %3893, %490.xx
MESA: info:     div 32x2  %3896 = bcsel! %3894, %3895, %3893
MESA: info:     div 1x2   %3897 = uge! %3896, %341.xx
MESA: info:     div 32x2  %3898 = iadd! %3896, %490.xx
MESA: info:     div 32x2  %3899 = bcsel! %3897, %3898, %3896
MESA: info:     div 32x2  %3900 = iand! %3899, %347 (0xffff).xx
MESA: info:     div 32x2  %3901 = ushr! %3899, %317 (0x10).xx
MESA: info:     div 32x2  %3902 = umul_low! %3900, %498.xx
MESA: info:     div 32x2  %3903 = imadsh_mix16! %3900, %498.xx, %3902
MESA: info:     div 32x2  %3904 = imadsh_mix16! %498.xx, %3900, %3903
MESA: info:     div 32x2  %3905 = umul_low! %3900, %501.xx
MESA: info:     div 32x2  %3906 = imadsh_mix16! %3900, %501.xx, %3905
MESA: info:     div 32x2  %3907 = imadsh_mix16! %501.xx, %3900, %3906
MESA: info:     div 32x2  %3908 = umul_low! %3901, %498.xx
MESA: info:     div 32x2  %3909 = imadsh_mix16! %3901, %498.xx, %3908
MESA: info:     div 32x2  %3910 = imadsh_mix16! %498.xx, %3901, %3909
MESA: info:     div 32x2  %3911 = umul_low! %3901, %501.xx
MESA: info:     div 32x2  %3912 = imadsh_mix16! %3901, %501.xx, %3911
MESA: info:     div 32x2  %3913 = imadsh_mix16! %501.xx, %3901, %3912
MESA: info:     div 32x2  %3914 = ishl! %3907, %317 (0x10).xx
MESA: info:     div 32x2  %3915 = iadd! %3904, %3914
MESA: info:     div 1x2   %3916 = ult! %3915, %3904
MESA: info:     div 32x2  %3917 = b2i32! %3916
MESA: info:     div 32x2  %3918 = ushr! %3907, %317 (0x10).xx
MESA: info:     div 32x2  %3919 = iadd3! %3913, %3917, %3918
MESA: info:     div 32x2  %3920 = ishl! %3910, %317 (0x10).xx
MESA: info:     div 32x2  %3921 = iadd! %3915, %3920
MESA: info:     div 1x2   %3922 = ult! %3921, %3915
MESA: info:     div 32x2  %3923 = b2i32! %3922
MESA: info:     div 32x2  %3924 = ushr! %3910, %317 (0x10).xx
MESA: info:     div 32x2  %3925 = iadd3! %3919, %3923, %3924
MESA: info:     div 32x2  %3926 = umul_low! %3925, %339.xx
MESA: info:     div 32x2  %3927 = imadsh_mix16! %3925, %339.xx, %3926
MESA: info:     div 32x2  %3928 = imadsh_mix16! %339.xx, %3925, %3927
MESA: info:     div 32x2  %3929 = isub! %3899, %3928
MESA: info:     div 1x2   %3930 = uge! %3929, %339.xx
MESA: info:     div 32x2  %3931 = iadd! %3929, %525.xx
MESA: info:     div 32x2  %3932 = bcsel! %3930, %3931, %3929
MESA: info:     div 1x2   %3933 = uge! %3932, %339.xx
MESA: info:     div 32x2  %3934 = iadd! %3932, %525.xx
MESA: info:     div 32x2  %3935 = bcsel! %3933, %3934, %3932
MESA: info:     div 32x2  %3936 = iabs! %3899
MESA: info:     div 32x2  %3937 = ixor! %3899, %339.xx
MESA: info:     div 1x2   %3938 = ilt! %3937, %314 (0x0).xx
MESA: info:     div 32x2  %3939 = iand! %3936, %347 (0xffff).xx
MESA: info:     div 32x2  %3940 = ushr! %3936, %317 (0x10).xx
MESA: info:     div 32x2  %3941 = umul_low! %3939, %538.xx
MESA: info:     div 32x2  %3942 = imadsh_mix16! %3939, %538.xx, %3941
MESA: info:     div 32x2  %3943 = imadsh_mix16! %538.xx, %3939, %3942
MESA: info:     div 32x2  %3944 = umul_low! %3939, %541.xx
MESA: info:     div 32x2  %3945 = imadsh_mix16! %3939, %541.xx, %3944
MESA: info:     div 32x2  %3946 = imadsh_mix16! %541.xx, %3939, %3945
MESA: info:     div 32x2  %3947 = umul_low! %3940, %538.xx
MESA: info:     div 32x2  %3948 = imadsh_mix16! %3940, %538.xx, %3947
MESA: info:     div 32x2  %3949 = imadsh_mix16! %538.xx, %3940, %3948
MESA: info:     div 32x2  %3950 = umul_low! %3940, %541.xx
MESA: info:     div 32x2  %3951 = imadsh_mix16! %3940, %541.xx, %3950
MESA: info:     div 32x2  %3952 = imadsh_mix16! %541.xx, %3940, %3951
MESA: info:     div 32x2  %3953 = ishl! %3946, %317 (0x10).xx
MESA: info:     div 32x2  %3954 = iadd! %3943, %3953
MESA: info:     div 1x2   %3955 = ult! %3954, %3943
MESA: info:     div 32x2  %3956 = b2i32! %3955
MESA: info:     div 32x2  %3957 = ushr! %3946, %317 (0x10).xx
MESA: info:     div 32x2  %3958 = iadd3! %3952, %3956, %3957
MESA: info:     div 32x2  %3959 = ishl! %3949, %317 (0x10).xx
MESA: info:     div 32x2  %3960 = iadd! %3954, %3959
MESA: info:     div 1x2   %3961 = ult! %3960, %3954
MESA: info:     div 32x2  %3962 = b2i32! %3961
MESA: info:     div 32x2  %3963 = ushr! %3949, %317 (0x10).xx
MESA: info:     div 32x2  %3964 = iadd3! %3958, %3962, %3963
MESA: info:     div 32x2  %3965 = umul_low! %3964, %533.xx
MESA: info:     div 32x2  %3966 = imadsh_mix16! %3964, %533.xx, %3965
MESA: info:     div 32x2  %3967 = imadsh_mix16! %533.xx, %3964, %3966
MESA: info:     div 32x2  %3968 = isub! %3936, %3967
MESA: info:     div 1x2   %3969 = uge! %3968, %533.xx
MESA: info:     div 32x2  %3970 = iadd! %3964, %313 (0x1).xx
MESA: info:     div 32x2  %3971 = bcsel! %3969, %3970, %3964
MESA: info:     div 32x2  %3972 = iadd! %3968, %567.xx
MESA: info:     div 32x2  %3973 = bcsel! %3969, %3972, %3968
MESA: info:     div 1x2   %3974 = uge! %3973, %533.xx
MESA: info:     div 32x2  %3975 = iadd! %3971, %313 (0x1).xx
MESA: info:     div 32x2  %3976 = bcsel! %3974, %3975, %3971
MESA: info:     div 32x2  %3977 = ineg! %3976
MESA: info:     div 32x2  %3978 = bcsel! %3938, %3977, %3976
MESA: info:     div 32x2  %3979 = umul_low %3820, %339.xx
MESA: info:     div 32x2  %3980 = imadsh_mix16 %3820, %339.xx, %3979
MESA: info:     div 32x2  %3981 = imadsh_mix16 %339.xx, %3820, %3980
MESA: info:     div 32x2  %3982 = umul_low %3863, %339.xx
MESA: info:     div 32x2  %3983 = imadsh_mix16 %3863, %339.xx, %3982
MESA: info:     div 32x2  %3984 = imadsh_mix16 %339.xx, %3863, %3983
MESA: info:     div 32x2  %3985 = iadd %3981, %3935
MESA: info:     div 32x2  %3986 = iadd %3984, %3978
MESA: info:     div 32x2  %3987 = umul_low %3985, %580.xx
MESA: info:     div 32x2  %3988 = imadsh_mix16 %3985, %580.xx, %3987
MESA: info:     div 32x2  %3989 = imadsh_mix16 %580.xx, %3985, %3988
MESA: info:     div 32x2  %3990 = umul_low %3986, %580.xx
MESA: info:     div 32x2  %3991 = imadsh_mix16 %3986, %580.xx, %3990
MESA: info:     div 32x2  %3992 = imadsh_mix16 %580.xx, %3986, %3991
MESA: info:     div 32x2  %3993 = i2f32 %3989
MESA: info:     div 32x2  %3994 = i2f32 %3992
MESA: info:     div 32x2  %3995 = fadd %323.xx, %3993
MESA: info:     div 32x2  %3996 = fadd %325.xx, %3994
MESA: info:     con 32x4  %4290 = load_const (0x00000005, 0x00000005, 0x00000003, 0x00000003)
MESA: info:     div 32x4  %4291 = ishl %3636.xyxy, %4290 (0x5, 0x5, 0x3, 0x3)
MESA: info:     div 32    %4292 = mov %4291.w
MESA: info:     div 32    %4002 = mov %4291.z
MESA: info:     div 32    %3998 = mov %4291.x
MESA: info:     div 32    %3999 = mov %4291.y
MESA: info:     div 32x2  %2216 = @load_ssbo_ir3 (%1029, %3998, %4002) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=0)
MESA: info:     con 32x4  %4298 = load_const (0x0000000c, 0x0000001c, 0x0000000c, 0x0000001c) = (12, 28, 12, 28)
MESA: info:     div 32x4  %4299 = iadd %4291.xxyy, %4298 (0xc, 0x1c, 0xc, 0x1c)
MESA: info:     div 32    %4300 = mov %4299.w
MESA: info:     div 32    %4295 = mov %4299.z
MESA: info:     div 32    %4011 = mov %4299.x
MESA: info:     div 32    %4012 = mov %4299.y
MESA: info:     div 32x4  %4301 = ushr %4299, %319 (0x2).xxxx
MESA: info:     div 32    %4302 = mov %4301.w
MESA: info:     div 32    %4297 = mov %4301.z
MESA: info:     div 32    %4014 = mov %4301.x
MESA: info:     div 32    %4015 = mov %4301.y
MESA: info:     div 32x4  %2219 = @load_ssbo_ir3 (%1029, %4011, %4014) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=12)
MESA: info:     div 32    %1501 = mov %2219.w
MESA: info:     div 32    %1502 = mov %2219.z
MESA: info:     div 32    %1503 = mov %2219.x
MESA: info:     div 32    %1504 = mov %2219.y
MESA: info:     div 32x2  %4003 = fmax %337.xx, %3995
MESA: info:     div 32x2  %4004 = fadd %3995, %1026.xx
MESA: info:     div 32x2  %4005 = fmin %4003, %4004
MESA: info:     div 32x2  %4006 = fmax %337.yy, %3996
MESA: info:     div 32x2  %4007 = fadd %3996, %1026.xx
MESA: info:     div 32x2  %4008 = fmin %4006, %4007
MESA: info:     div 32    %1517 = fmax %337.z, %2216.x
MESA: info:     div 32    %1518 = fmin %1517, %2216.y
MESA: info:                       @store_reg (%1503, %3) (base=0, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%1504, %3) (base=1, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%1502, %3) (base=2, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%1501, %3) (base=3, wrmask=x, legacy_fsat=0)
MESA: info:     div 32    %2222 = @load_ssbo_ir3 (%1029, %4012, %4015) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=28)
MESA: info:                       @store_reg (%2222, %3) (base=4, wrmask=x, legacy_fsat=0)
MESA: info:                       // succs: b15
MESA: info:     div loop {
MESA: info:         con block b15:        // preds: b14 b21
MESA: info:         con 32    %1527 = phi b14: %1058, b21: %1550
MESA: info:         con 1     %1528 = ilt %1527, %314 (0x0)
MESA: info:                           // succs: b16 b17
MESA: info:         if %1528 {
MESA: info:             con block b16:// preds: b15
MESA: info:             break
MESA: info:             // succs: b22
MESA: info:         } else {
MESA: info:             con block b17:  // preds: b15, succs: b18
MESA: info:         }
MESA: info:         con block b18:        // preds: b17
MESA: info:         div 32    %1531 = @load_reg_indirect (%3, %1527) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:         div 32    %3489 = fsub %337.x, %4005.x
MESA: info:         div 32    %3488 = fsub %337.y, %4008.x
MESA: info:         div 32    %3487 = fsub %337.z, %1518
MESA: info:         con 32    %1540 = @load_const_ir3 (%314 (0x0)) (base=52)
MESA: info:         div 32    %1542 = fmul %3488, %3488
MESA: info:         div 32    %3486 = ffma %3487, %3487, %1542
MESA: info:         div 32    %3485 = ffma %3489, %3489, %3486
MESA: info:         div 32    %1546 = frsq %3485
MESA: info:         div 32    %1547 = fmul %1531, %1546
MESA: info:         div 32    %1548 = fmul %1540, %1547
MESA: info:         div 1     %1549 = flt! %1548, %1057
MESA: info:                           // succs: b19 b20
MESA: info:         if %1549 {
MESA: info:             div block b19:// preds: b18
MESA: info:             break
MESA: info:             // succs: b22
MESA: info:         } else {
MESA: info:             div block b20:  // preds: b18, succs: b21
MESA: info:         }
MESA: info:         div block b21:        // preds: b20
MESA: info:         con 32    %1550 = iadd %1527, %587 (0xffffffff)
MESA: info:                           // succs: b15
MESA: info:     }
MESA: info:     con block b22:        // preds: b16 b19
MESA: info:     div 32    %1551 = phi b16: %587 (0xffffffff), b19: %1527
MESA: info:     div 32    %3484 = isub %1024, %1551
MESA: info:     div 32    %1554 = ishl %313 (0x1), %3484
MESA: info:     div 32    %1555 = u2f32 %1554
MESA: info:     div 32    %1556 = fmin %1087, %1555
MESA: info:     div 32x2  %4016 = iabs! %3730
MESA: info:     div 32x2  %4017 = ixor! %3730, %341.xx
MESA: info:     div 1x2   %4018 = ilt! %4017, %314 (0x0).xx
MESA: info:     div 32x2  %4019 = iand! %4016, %347 (0xffff).xx
MESA: info:     div 32x2  %4020 = ushr! %4016, %317 (0x10).xx
MESA: info:     div 32x2  %4021 = umul_low! %4019, %350.xx
MESA: info:     div 32x2  %4022 = imadsh_mix16! %4019, %350.xx, %4021
MESA: info:     div 32x2  %4023 = imadsh_mix16! %350.xx, %4019, %4022
MESA: info:     div 32x2  %4024 = umul_low! %4019, %353.xx
MESA: info:     div 32x2  %4025 = imadsh_mix16! %4019, %353.xx, %4024
MESA: info:     div 32x2  %4026 = imadsh_mix16! %353.xx, %4019, %4025
MESA: info:     div 32x2  %4027 = umul_low! %4020, %350.xx
MESA: info:     div 32x2  %4028 = imadsh_mix16! %4020, %350.xx, %4027
MESA: info:     div 32x2  %4029 = imadsh_mix16! %350.xx, %4020, %4028
MESA: info:     div 32x2  %4030 = umul_low! %4020, %353.xx
MESA: info:     div 32x2  %4031 = imadsh_mix16! %4020, %353.xx, %4030
MESA: info:     div 32x2  %4032 = imadsh_mix16! %353.xx, %4020, %4031
MESA: info:     div 32x2  %4033 = ishl! %4026, %317 (0x10).xx
MESA: info:     div 32x2  %4034 = iadd! %4023, %4033
MESA: info:     div 1x2   %4035 = ult! %4034, %4023
MESA: info:     div 32x2  %4036 = b2i32! %4035
MESA: info:     div 32x2  %4037 = ushr! %4026, %317 (0x10).xx
MESA: info:     div 32x2  %4038 = iadd3! %4032, %4036, %4037
MESA: info:     div 32x2  %4039 = ishl! %4029, %317 (0x10).xx
MESA: info:     div 32x2  %4040 = iadd! %4034, %4039
MESA: info:     div 1x2   %4041 = ult! %4040, %4034
MESA: info:     div 32x2  %4042 = b2i32! %4041
MESA: info:     div 32x2  %4043 = ushr! %4029, %317 (0x10).xx
MESA: info:     div 32x2  %4044 = iadd3! %4038, %4042, %4043
MESA: info:     div 32x2  %4045 = umul_low! %4044, %344.xx
MESA: info:     div 32x2  %4046 = imadsh_mix16! %4044, %344.xx, %4045
MESA: info:     div 32x2  %4047 = imadsh_mix16! %344.xx, %4044, %4046
MESA: info:     div 32x2  %4048 = isub! %4016, %4047
MESA: info:     div 1x2   %4049 = uge! %4048, %344.xx
MESA: info:     div 32x2  %4050 = iadd! %4044, %313 (0x1).xx
MESA: info:     div 32x2  %4051 = bcsel! %4049, %4050, %4044
MESA: info:     div 32x2  %4052 = iadd! %4048, %379.xx
MESA: info:     div 32x2  %4053 = bcsel! %4049, %4052, %4048
MESA: info:     div 1x2   %4054 = uge! %4053, %344.xx
MESA: info:     div 32x2  %4055 = iadd! %4051, %313 (0x1).xx
MESA: info:     div 32x2  %4056 = bcsel! %4054, %4055, %4051
MESA: info:     div 32x2  %4057 = ineg! %4056
MESA: info:     div 32x2  %4058 = bcsel! %4018, %4057, %4056
MESA: info:     div 32x2  %4059 = iand! %4058, %347 (0xffff).xx
MESA: info:     div 32x2  %4060 = ushr! %4058, %317 (0x10).xx
MESA: info:     div 32x2  %4061 = umul_low! %4059, %389.xx
MESA: info:     div 32x2  %4062 = imadsh_mix16! %4059, %389.xx, %4061
MESA: info:     div 32x2  %4063 = imadsh_mix16! %389.xx, %4059, %4062
MESA: info:     div 32x2  %4064 = umul_low! %4059, %392.xx
MESA: info:     div 32x2  %4065 = imadsh_mix16! %4059, %392.xx, %4064
MESA: info:     div 32x2  %4066 = imadsh_mix16! %392.xx, %4059, %4065
MESA: info:     div 32x2  %4067 = umul_low! %4060, %389.xx
MESA: info:     div 32x2  %4068 = imadsh_mix16! %4060, %389.xx, %4067
MESA: info:     div 32x2  %4069 = imadsh_mix16! %389.xx, %4060, %4068
MESA: info:     div 32x2  %4070 = umul_low! %4060, %392.xx
MESA: info:     div 32x2  %4071 = imadsh_mix16! %4060, %392.xx, %4070
MESA: info:     div 32x2  %4072 = imadsh_mix16! %392.xx, %4060, %4071
MESA: info:     div 32x2  %4073 = ishl! %4066, %317 (0x10).xx
MESA: info:     div 32x2  %4074 = iadd! %4063, %4073
MESA: info:     div 1x2   %4075 = ult! %4074, %4063
MESA: info:     div 32x2  %4076 = b2i32! %4075
MESA: info:     div 32x2  %4077 = ushr! %4066, %317 (0x10).xx
MESA: info:     div 32x2  %4078 = iadd3! %4072, %4076, %4077
MESA: info:     div 32x2  %4079 = ishl! %4069, %317 (0x10).xx
MESA: info:     div 32x2  %4080 = iadd! %4074, %4079
MESA: info:     div 1x2   %4081 = ult! %4080, %4074
MESA: info:     div 32x2  %4082 = b2i32! %4081
MESA: info:     div 32x2  %4083 = ushr! %4069, %317 (0x10).xx
MESA: info:     div 32x2  %4084 = iadd3! %4078, %4082, %4083
MESA: info:     div 32x2  %4085 = umul_low! %327.xx, %4084
MESA: info:     div 32x2  %4086 = imadsh_mix16! %327.xx, %4084, %4085
MESA: info:     div 32x2  %4087 = imadsh_mix16! %4084, %327.xx, %4086
MESA: info:     div 32x2  %4088 = iadd! %4058, %4087
MESA: info:     div 1x2   %4089 = uge! %4088, %329.xx
MESA: info:     div 32x2  %4090 = iadd! %4088, %327.xx
MESA: info:     div 32x2  %4091 = bcsel! %4089, %4090, %4088
MESA: info:     div 1x2   %4092 = uge! %4091, %329.xx
MESA: info:     div 32x2  %4093 = iadd! %4091, %327.xx
MESA: info:     div 32x2  %4094 = bcsel! %4092, %4093, %4091
MESA: info:     div 32x2  %4095 = iabs! %4058
MESA: info:     div 32x2  %4096 = ixor! %4058, %329.xx
MESA: info:     div 1x2   %4097 = ilt! %4096, %314 (0x0).xx
MESA: info:     div 32x2  %4098 = iand! %4095, %347 (0xffff).xx
MESA: info:     div 32x2  %4099 = ushr! %4095, %317 (0x10).xx
MESA: info:     div 32x2  %4100 = umul_low! %4098, %424.xx
MESA: info:     div 32x2  %4101 = imadsh_mix16! %4098, %424.xx, %4100
MESA: info:     div 32x2  %4102 = imadsh_mix16! %424.xx, %4098, %4101
MESA: info:     div 32x2  %4103 = umul_low! %4098, %427.xx
MESA: info:     div 32x2  %4104 = imadsh_mix16! %4098, %427.xx, %4103
MESA: info:     div 32x2  %4105 = imadsh_mix16! %427.xx, %4098, %4104
MESA: info:     div 32x2  %4106 = umul_low! %4099, %424.xx
MESA: info:     div 32x2  %4107 = imadsh_mix16! %4099, %424.xx, %4106
MESA: info:     div 32x2  %4108 = imadsh_mix16! %424.xx, %4099, %4107
MESA: info:     div 32x2  %4109 = umul_low! %4099, %427.xx
MESA: info:     div 32x2  %4110 = imadsh_mix16! %4099, %427.xx, %4109
MESA: info:     div 32x2  %4111 = imadsh_mix16! %427.xx, %4099, %4110
MESA: info:     div 32x2  %4112 = ishl! %4105, %317 (0x10).xx
MESA: info:     div 32x2  %4113 = iadd! %4102, %4112
MESA: info:     div 1x2   %4114 = ult! %4113, %4102
MESA: info:     div 32x2  %4115 = b2i32! %4114
MESA: info:     div 32x2  %4116 = ushr! %4105, %317 (0x10).xx
MESA: info:     div 32x2  %4117 = iadd3! %4111, %4115, %4116
MESA: info:     div 32x2  %4118 = ishl! %4108, %317 (0x10).xx
MESA: info:     div 32x2  %4119 = iadd! %4113, %4118
MESA: info:     div 1x2   %4120 = ult! %4119, %4113
MESA: info:     div 32x2  %4121 = b2i32! %4120
MESA: info:     div 32x2  %4122 = ushr! %4108, %317 (0x10).xx
MESA: info:     div 32x2  %4123 = iadd3! %4117, %4121, %4122
MESA: info:     div 32x2  %4124 = umul_low! %4123, %331.xx
MESA: info:     div 32x2  %4125 = imadsh_mix16! %4123, %331.xx, %4124
MESA: info:     div 32x2  %4126 = imadsh_mix16! %331.xx, %4123, %4125
MESA: info:     div 32x2  %4127 = isub! %4095, %4126
MESA: info:     div 1x2   %4128 = uge! %4127, %331.xx
MESA: info:     div 32x2  %4129 = iadd! %4123, %313 (0x1).xx
MESA: info:     div 32x2  %4130 = bcsel! %4128, %4129, %4123
MESA: info:     div 32x2  %4131 = iadd! %4127, %453.xx
MESA: info:     div 32x2  %4132 = bcsel! %4128, %4131, %4127
MESA: info:     div 1x2   %4133 = uge! %4132, %331.xx
MESA: info:     div 32x2  %4134 = iadd! %4130, %313 (0x1).xx
MESA: info:     div 32x2  %4135 = bcsel! %4133, %4134, %4130
MESA: info:     div 32x2  %4136 = ineg! %4135
MESA: info:     div 32x2  %4137 = bcsel! %4097, %4136, %4135
MESA: info:     div 32x2  %4138 = iand! %3730, %347 (0xffff).xx
MESA: info:     div 32x2  %4139 = ushr! %3730, %317 (0x10).xx
MESA: info:     div 32x2  %4140 = umul_low! %4138, %463.xx
MESA: info:     div 32x2  %4141 = imadsh_mix16! %4138, %463.xx, %4140
MESA: info:     div 32x2  %4142 = imadsh_mix16! %463.xx, %4138, %4141
MESA: info:     div 32x2  %4143 = umul_low! %4138, %466.xx
MESA: info:     div 32x2  %4144 = imadsh_mix16! %4138, %466.xx, %4143
MESA: info:     div 32x2  %4145 = imadsh_mix16! %466.xx, %4138, %4144
MESA: info:     div 32x2  %4146 = umul_low! %4139, %463.xx
MESA: info:     div 32x2  %4147 = imadsh_mix16! %4139, %463.xx, %4146
MESA: info:     div 32x2  %4148 = imadsh_mix16! %463.xx, %4139, %4147
MESA: info:     div 32x2  %4149 = umul_low! %4139, %466.xx
MESA: info:     div 32x2  %4150 = imadsh_mix16! %4139, %466.xx, %4149
MESA: info:     div 32x2  %4151 = imadsh_mix16! %466.xx, %4139, %4150
MESA: info:     div 32x2  %4152 = ishl! %4145, %317 (0x10).xx
MESA: info:     div 32x2  %4153 = iadd! %4142, %4152
MESA: info:     div 1x2   %4154 = ult! %4153, %4142
MESA: info:     div 32x2  %4155 = b2i32! %4154
MESA: info:     div 32x2  %4156 = ushr! %4145, %317 (0x10).xx
MESA: info:     div 32x2  %4157 = iadd3! %4151, %4155, %4156
MESA: info:     div 32x2  %4158 = ishl! %4148, %317 (0x10).xx
MESA: info:     div 32x2  %4159 = iadd! %4153, %4158
MESA: info:     div 1x2   %4160 = ult! %4159, %4153
MESA: info:     div 32x2  %4161 = b2i32! %4160
MESA: info:     div 32x2  %4162 = ushr! %4148, %317 (0x10).xx
MESA: info:     div 32x2  %4163 = iadd3! %4157, %4161, %4162
MESA: info:     div 32x2  %4164 = umul_low! %4163, %341.xx
MESA: info:     div 32x2  %4165 = imadsh_mix16! %4163, %341.xx, %4164
MESA: info:     div 32x2  %4166 = imadsh_mix16! %341.xx, %4163, %4165
MESA: info:     div 32x2  %4167 = isub! %3730, %4166
MESA: info:     div 1x2   %4168 = uge! %4167, %341.xx
MESA: info:     div 32x2  %4169 = iadd! %4167, %490.xx
MESA: info:     div 32x2  %4170 = bcsel! %4168, %4169, %4167
MESA: info:     div 1x2   %4171 = uge! %4170, %341.xx
MESA: info:     div 32x2  %4172 = iadd! %4170, %490.xx
MESA: info:     div 32x2  %4173 = bcsel! %4171, %4172, %4170
MESA: info:     div 32x2  %4174 = iand! %4173, %347 (0xffff).xx
MESA: info:     div 32x2  %4175 = ushr! %4173, %317 (0x10).xx
MESA: info:     div 32x2  %4176 = umul_low! %4174, %498.xx
MESA: info:     div 32x2  %4177 = imadsh_mix16! %4174, %498.xx, %4176
MESA: info:     div 32x2  %4178 = imadsh_mix16! %498.xx, %4174, %4177
MESA: info:     div 32x2  %4179 = umul_low! %4174, %501.xx
MESA: info:     div 32x2  %4180 = imadsh_mix16! %4174, %501.xx, %4179
MESA: info:     div 32x2  %4181 = imadsh_mix16! %501.xx, %4174, %4180
MESA: info:     div 32x2  %4182 = umul_low! %4175, %498.xx
MESA: info:     div 32x2  %4183 = imadsh_mix16! %4175, %498.xx, %4182
MESA: info:     div 32x2  %4184 = imadsh_mix16! %498.xx, %4175, %4183
MESA: info:     div 32x2  %4185 = umul_low! %4175, %501.xx
MESA: info:     div 32x2  %4186 = imadsh_mix16! %4175, %501.xx, %4185
MESA: info:     div 32x2  %4187 = imadsh_mix16! %501.xx, %4175, %4186
MESA: info:     div 32x2  %4188 = ishl! %4181, %317 (0x10).xx
MESA: info:     div 32x2  %4189 = iadd! %4178, %4188
MESA: info:     div 1x2   %4190 = ult! %4189, %4178
MESA: info:     div 32x2  %4191 = b2i32! %4190
MESA: info:     div 32x2  %4192 = ushr! %4181, %317 (0x10).xx
MESA: info:     div 32x2  %4193 = iadd3! %4187, %4191, %4192
MESA: info:     div 32x2  %4194 = ishl! %4184, %317 (0x10).xx
MESA: info:     div 32x2  %4195 = iadd! %4189, %4194
MESA: info:     div 1x2   %4196 = ult! %4195, %4189
MESA: info:     div 32x2  %4197 = b2i32! %4196
MESA: info:     div 32x2  %4198 = ushr! %4184, %317 (0x10).xx
MESA: info:     div 32x2  %4199 = iadd3! %4193, %4197, %4198
MESA: info:     div 32x2  %4200 = umul_low! %4199, %339.xx
MESA: info:     div 32x2  %4201 = imadsh_mix16! %4199, %339.xx, %4200
MESA: info:     div 32x2  %4202 = imadsh_mix16! %339.xx, %4199, %4201
MESA: info:     div 32x2  %4203 = isub! %4173, %4202
MESA: info:     div 1x2   %4204 = uge! %4203, %339.xx
MESA: info:     div 32x2  %4205 = iadd! %4203, %525.xx
MESA: info:     div 32x2  %4206 = bcsel! %4204, %4205, %4203
MESA: info:     div 1x2   %4207 = uge! %4206, %339.xx
MESA: info:     div 32x2  %4208 = iadd! %4206, %525.xx
MESA: info:     div 32x2  %4209 = bcsel! %4207, %4208, %4206
MESA: info:     div 32x2  %4210 = iabs! %4173
MESA: info:     div 32x2  %4211 = ixor! %4173, %339.xx
MESA: info:     div 1x2   %4212 = ilt! %4211, %314 (0x0).xx
MESA: info:     div 32x2  %4213 = iand! %4210, %347 (0xffff).xx
MESA: info:     div 32x2  %4214 = ushr! %4210, %317 (0x10).xx
MESA: info:     div 32x2  %4215 = umul_low! %4213, %538.xx
MESA: info:     div 32x2  %4216 = imadsh_mix16! %4213, %538.xx, %4215
MESA: info:     div 32x2  %4217 = imadsh_mix16! %538.xx, %4213, %4216
MESA: info:     div 32x2  %4218 = umul_low! %4213, %541.xx
MESA: info:     div 32x2  %4219 = imadsh_mix16! %4213, %541.xx, %4218
MESA: info:     div 32x2  %4220 = imadsh_mix16! %541.xx, %4213, %4219
MESA: info:     div 32x2  %4221 = umul_low! %4214, %538.xx
MESA: info:     div 32x2  %4222 = imadsh_mix16! %4214, %538.xx, %4221
MESA: info:     div 32x2  %4223 = imadsh_mix16! %538.xx, %4214, %4222
MESA: info:     div 32x2  %4224 = umul_low! %4214, %541.xx
MESA: info:     div 32x2  %4225 = imadsh_mix16! %4214, %541.xx, %4224
MESA: info:     div 32x2  %4226 = imadsh_mix16! %541.xx, %4214, %4225
MESA: info:     div 32x2  %4227 = ishl! %4220, %317 (0x10).xx
MESA: info:     div 32x2  %4228 = iadd! %4217, %4227
MESA: info:     div 1x2   %4229 = ult! %4228, %4217
MESA: info:     div 32x2  %4230 = b2i32! %4229
MESA: info:     div 32x2  %4231 = ushr! %4220, %317 (0x10).xx
MESA: info:     div 32x2  %4232 = iadd3! %4226, %4230, %4231
MESA: info:     div 32x2  %4233 = ishl! %4223, %317 (0x10).xx
MESA: info:     div 32x2  %4234 = iadd! %4228, %4233
MESA: info:     div 1x2   %4235 = ult! %4234, %4228
MESA: info:     div 32x2  %4236 = b2i32! %4235
MESA: info:     div 32x2  %4237 = ushr! %4223, %317 (0x10).xx
MESA: info:     div 32x2  %4238 = iadd3! %4232, %4236, %4237
MESA: info:     div 32x2  %4239 = umul_low! %4238, %533.xx
MESA: info:     div 32x2  %4240 = imadsh_mix16! %4238, %533.xx, %4239
MESA: info:     div 32x2  %4241 = imadsh_mix16! %533.xx, %4238, %4240
MESA: info:     div 32x2  %4242 = isub! %4210, %4241
MESA: info:     div 1x2   %4243 = uge! %4242, %533.xx
MESA: info:     div 32x2  %4244 = iadd! %4238, %313 (0x1).xx
MESA: info:     div 32x2  %4245 = bcsel! %4243, %4244, %4238
MESA: info:     div 32x2  %4246 = iadd! %4242, %567.xx
MESA: info:     div 32x2  %4247 = bcsel! %4243, %4246, %4242
MESA: info:     div 1x2   %4248 = uge! %4247, %533.xx
MESA: info:     div 32x2  %4249 = iadd! %4245, %313 (0x1).xx
MESA: info:     div 32x2  %4250 = bcsel! %4248, %4249, %4245
MESA: info:     div 32x2  %4251 = ineg! %4250
MESA: info:     div 32x2  %4252 = bcsel! %4212, %4251, %4250
MESA: info:     div 32x2  %4253 = umul_low %4094, %339.xx
MESA: info:     div 32x2  %4254 = imadsh_mix16 %4094, %339.xx, %4253
MESA: info:     div 32x2  %4255 = imadsh_mix16 %339.xx, %4094, %4254
MESA: info:     div 32x2  %4256 = umul_low %4137, %339.xx
MESA: info:     div 32x2  %4257 = imadsh_mix16 %4137, %339.xx, %4256
MESA: info:     div 32x2  %4258 = imadsh_mix16 %339.xx, %4137, %4257
MESA: info:     div 32x2  %4259 = iadd %4255, %4209
MESA: info:     div 32x2  %4260 = iadd %4258, %4252
MESA: info:     div 32x2  %4261 = umul_low %4259, %580.xx
MESA: info:     div 32x2  %4262 = imadsh_mix16 %4259, %580.xx, %4261
MESA: info:     div 32x2  %4263 = imadsh_mix16 %580.xx, %4259, %4262
MESA: info:     div 32x2  %4264 = umul_low %4260, %580.xx
MESA: info:     div 32x2  %4265 = imadsh_mix16 %4260, %580.xx, %4264
MESA: info:     div 32x2  %4266 = imadsh_mix16 %580.xx, %4260, %4265
MESA: info:     div 32x2  %4267 = i2f32 %4263
MESA: info:     div 32x2  %4268 = i2f32 %4266
MESA: info:     div 32x2  %4269 = fadd %323.xx, %4267
MESA: info:     div 32x2  %4270 = fadd %325.xx, %4268
MESA: info:     con 32x4  %4303 = load_const (0x00000005, 0x00000005, 0x00000003, 0x00000003)
MESA: info:     div 32x4  %4304 = ishl %3730.xyxy, %4303 (0x5, 0x5, 0x3, 0x3)
MESA: info:     div 32    %4305 = mov %4304.w
MESA: info:     div 32    %4276 = mov %4304.z
MESA: info:     div 32    %4272 = mov %4304.x
MESA: info:     div 32    %4273 = mov %4304.y
MESA: info:     div 32x2  %2226 = @load_ssbo_ir3 (%1029, %4272, %4276) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=0)
MESA: info:     con 32x4  %4311 = load_const (0x0000000c, 0x0000001c, 0x0000000c, 0x0000001c) = (12, 28, 12, 28)
MESA: info:     div 32x4  %4312 = iadd %4304.xxyy, %4311 (0xc, 0x1c, 0xc, 0x1c)
MESA: info:     div 32    %4313 = mov %4312.w
MESA: info:     div 32    %4308 = mov %4312.z
MESA: info:     div 32    %4285 = mov %4312.x
MESA: info:     div 32    %4286 = mov %4312.y
MESA: info:     div 32x4  %4314 = ushr %4312, %319 (0x2).xxxx
MESA: info:     div 32    %4315 = mov %4314.w
MESA: info:     div 32    %4310 = mov %4314.z
MESA: info:     div 32    %4288 = mov %4314.x
MESA: info:     div 32    %4289 = mov %4314.y
MESA: info:     div 32x4  %2229 = @load_ssbo_ir3 (%1029, %4285, %4288) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=12)
MESA: info:     div 32    %1970 = mov %2229.w
MESA: info:     div 32    %1971 = mov %2229.z
MESA: info:     div 32    %1972 = mov %2229.x
MESA: info:     div 32    %1973 = mov %2229.y
MESA: info:     div 32x2  %4277 = fmax %337.xx, %4269
MESA: info:     div 32x2  %4278 = fadd %4269, %1026.xx
MESA: info:     div 32x2  %4279 = fmin %4277, %4278
MESA: info:     div 32x2  %4280 = fmax %337.yy, %4270
MESA: info:     div 32x2  %4281 = fadd %4270, %1026.xx
MESA: info:     div 32x2  %4282 = fmin %4280, %4281
MESA: info:     div 32    %1986 = fmax %337.z, %2226.x
MESA: info:     div 32    %1987 = fmin %1986, %2226.y
MESA: info:                       @store_reg (%1972, %2) (base=0, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%1973, %2) (base=1, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%1971, %2) (base=2, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%1970, %2) (base=3, wrmask=x, legacy_fsat=0)
MESA: info:     div 32    %2232 = @load_ssbo_ir3 (%1029, %4286, %4289) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=28)
MESA: info:                       @store_reg (%2232, %2) (base=4, wrmask=x, legacy_fsat=0)
MESA: info:                       // succs: b23
MESA: info:     div loop {
MESA: info:         con block b23:        // preds: b22 b29
MESA: info:         con 32    %1996 = phi b22: %1058, b29: %2019
MESA: info:         con 1     %1997 = ilt %1996, %314 (0x0)
MESA: info:                           // succs: b24 b25
MESA: info:         if %1997 {
MESA: info:             con block b24:// preds: b23
MESA: info:             break
MESA: info:             // succs: b30
MESA: info:         } else {
MESA: info:             con block b25:  // preds: b23, succs: b26
MESA: info:         }
MESA: info:         con block b26:        // preds: b25
MESA: info:         div 32    %2000 = @load_reg_indirect (%2, %1996) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:         div 32    %3473 = fsub %337.x, %4279.x
MESA: info:         div 32    %3472 = fsub %337.y, %4282.x
MESA: info:         div 32    %3471 = fsub %337.z, %1987
MESA: info:         con 32    %2009 = @load_const_ir3 (%314 (0x0)) (base=52)
MESA: info:         div 32    %2011 = fmul %3472, %3472
MESA: info:         div 32    %3470 = ffma %3471, %3471, %2011
MESA: info:         div 32    %3469 = ffma %3473, %3473, %3470
MESA: info:         div 32    %2015 = frsq %3469
MESA: info:         div 32    %2016 = fmul %2000, %2015
MESA: info:         div 32    %2017 = fmul %2009, %2016
MESA: info:         div 1     %2018 = flt! %2017, %1057
MESA: info:                           // succs: b27 b28
MESA: info:         if %2018 {
MESA: info:             div block b27:// preds: b26
MESA: info:             break
MESA: info:             // succs: b30
MESA: info:         } else {
MESA: info:             div block b28:  // preds: b26, succs: b29
MESA: info:         }
MESA: info:         div block b29:        // preds: b28
MESA: info:         con 32    %2019 = iadd %1996, %587 (0xffffffff)
MESA: info:                           // succs: b23
MESA: info:     }
MESA: info:     con block b30:        // preds: b24 b27
MESA: info:     div 32    %2020 = phi b24: %587 (0xffffffff), b27: %1996
MESA: info:     div 32    %3468 = isub %1024, %2020
MESA: info:     div 32    %2023 = ishl %313 (0x1), %3468
MESA: info:     div 32    %2024 = u2f32 %2023
MESA: info:     div 32    %2025 = fmin %1087, %2024
MESA: info:     div 32x2  %2236 = @load_ssbo_ir3 (%1029, %3999, %4292) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=0)
MESA: info:     div 32x4  %2239 = @load_ssbo_ir3 (%1029, %4295, %4297) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=12)
MESA: info:     div 32    %2029 = mov %2239.w
MESA: info:     div 32    %2030 = mov %2239.z
MESA: info:     div 32    %2031 = mov %2239.x
MESA: info:     div 32    %2032 = mov %2239.y
MESA: info:     div 32    %2033 = fmax %337.z, %2236.x
MESA: info:     div 32    %2034 = fmin %2033, %2236.y
MESA: info:                       @store_reg (%2031, %1) (base=0, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%2032, %1) (base=1, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%2030, %1) (base=2, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%2029, %1) (base=3, wrmask=x, legacy_fsat=0)
MESA: info:     div 32    %2242 = @load_ssbo_ir3 (%1029, %4300, %4302) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=28)
MESA: info:                       @store_reg (%2242, %1) (base=4, wrmask=x, legacy_fsat=0)
MESA: info:                       // succs: b31
MESA: info:     div loop {
MESA: info:         con block b31:        // preds: b30 b37
MESA: info:         con 32    %2043 = phi b30: %1058, b37: %2066
MESA: info:         con 1     %2044 = ilt %2043, %314 (0x0)
MESA: info:                           // succs: b32 b33
MESA: info:         if %2044 {
MESA: info:             con block b32:// preds: b31
MESA: info:             break
MESA: info:             // succs: b38
MESA: info:         } else {
MESA: info:             con block b33:  // preds: b31, succs: b34
MESA: info:         }
MESA: info:         con block b34:        // preds: b33
MESA: info:         div 32    %2047 = @load_reg_indirect (%1, %2043) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:         div 32    %3467 = fsub %337.x, %4005.y
MESA: info:         div 32    %3466 = fsub %337.y, %4008.y
MESA: info:         div 32    %3465 = fsub %337.z, %2034
MESA: info:         con 32    %2056 = @load_const_ir3 (%314 (0x0)) (base=52)
MESA: info:         div 32    %2058 = fmul %3466, %3466
MESA: info:         div 32    %3464 = ffma %3465, %3465, %2058
MESA: info:         div 32    %3463 = ffma %3467, %3467, %3464
MESA: info:         div 32    %2062 = frsq %3463
MESA: info:         div 32    %2063 = fmul %2047, %2062
MESA: info:         div 32    %2064 = fmul %2056, %2063
MESA: info:         div 1     %2065 = flt! %2064, %1057
MESA: info:                           // succs: b35 b36
MESA: info:         if %2065 {
MESA: info:             div block b35:// preds: b34
MESA: info:             break
MESA: info:             // succs: b38
MESA: info:         } else {
MESA: info:             div block b36:  // preds: b34, succs: b37
MESA: info:         }
MESA: info:         div block b37:        // preds: b36
MESA: info:         con 32    %2066 = iadd %2043, %587 (0xffffffff)
MESA: info:                           // succs: b31
MESA: info:     }
MESA: info:     con block b38:        // preds: b32 b35
MESA: info:     div 32    %2067 = phi b32: %587 (0xffffffff), b35: %2043
MESA: info:     div 32    %3462 = isub %1024, %2067
MESA: info:     div 32    %2070 = ishl %313 (0x1), %3462
MESA: info:     div 32    %2071 = u2f32 %2070
MESA: info:     div 32    %2072 = fmin %1087, %2071
MESA: info:     div 32x2  %2246 = @load_ssbo_ir3 (%1029, %4273, %4305) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=0)
MESA: info:     div 32x4  %2249 = @load_ssbo_ir3 (%1029, %4308, %4310) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=12)
MESA: info:     div 32    %2076 = mov %2249.w
MESA: info:     div 32    %2077 = mov %2249.z
MESA: info:     div 32    %2078 = mov %2249.x
MESA: info:     div 32    %2079 = mov %2249.y
MESA: info:     div 32    %2080 = fmax %337.z, %2246.x
MESA: info:     div 32    %2081 = fmin %2080, %2246.y
MESA: info:                       @store_reg (%2078, %0) (base=0, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%2079, %0) (base=1, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%2077, %0) (base=2, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%2076, %0) (base=3, wrmask=x, legacy_fsat=0)
MESA: info:     div 32    %2252 = @load_ssbo_ir3 (%1029, %4313, %4315) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=28)
MESA: info:                       @store_reg (%2252, %0) (base=4, wrmask=x, legacy_fsat=0)
MESA: info:                       // succs: b39
MESA: info:     div loop {
MESA: info:         con block b39:        // preds: b38 b45
MESA: info:         con 32    %2090 = phi b38: %1058, b45: %2113
MESA: info:         con 1     %2091 = ilt %2090, %314 (0x0)
MESA: info:                           // succs: b40 b41
MESA: info:         if %2091 {
MESA: info:             con block b40:// preds: b39
MESA: info:             break
MESA: info:             // succs: b46
MESA: info:         } else {
MESA: info:             con block b41:  // preds: b39, succs: b42
MESA: info:         }
MESA: info:         con block b42:        // preds: b41
MESA: info:         div 32    %2094 = @load_reg_indirect (%0, %2090) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:         div 32    %3461 = fsub %337.x, %4279.y
MESA: info:         div 32    %3460 = fsub %337.y, %4282.y
MESA: info:         div 32    %3459 = fsub %337.z, %2081
MESA: info:         con 32    %2103 = @load_const_ir3 (%314 (0x0)) (base=52)
MESA: info:         div 32    %2105 = fmul %3460, %3460
MESA: info:         div 32    %3458 = ffma %3459, %3459, %2105
MESA: info:         div 32    %3457 = ffma %3461, %3461, %3458
MESA: info:         div 32    %2109 = frsq %3457
MESA: info:         div 32    %2110 = fmul %2094, %2109
MESA: info:         div 32    %2111 = fmul %2103, %2110
MESA: info:         div 1     %2112 = flt! %2111, %1057
MESA: info:                           // succs: b43 b44
MESA: info:         if %2112 {
MESA: info:             div block b43:// preds: b42
MESA: info:             break
MESA: info:             // succs: b46
MESA: info:         } else {
MESA: info:             div block b44:  // preds: b42, succs: b45
MESA: info:         }
MESA: info:         div block b45:        // preds: b44
MESA: info:         con 32    %2113 = iadd %2090, %587 (0xffffffff)
MESA: info:                           // succs: b39
MESA: info:     }
MESA: info:     con block b46:        // preds: b40 b43
MESA: info:     div 32    %2114 = phi b40: %587 (0xffffffff), b43: %2090
MESA: info:     div 32    %3456 = isub %1024, %2114
MESA: info:     div 32    %2117 = ishl %313 (0x1), %3456
MESA: info:     div 32    %2118 = u2f32 %2117
MESA: info:     div 32    %2119 = fmin %1087, %2118
MESA: info:     con 32    %2120 = load_const (0x3b800000 = 0.003906)
MESA: info:     div 32    %2121 = fmul %585, %2120 (0.003906)
MESA: info:     div 32    %2122 = fmul %586, %2120 (0.003906)
MESA: info:     div 32    %2123 = ffloor %2121
MESA: info:     div 32    %2124 = ffloor %2122
MESA: info:     div 32    %3455 = fsub %2123, %321.x
MESA: info:     div 32    %3454 = fsub %2124, %321.y
MESA: info:     div 32    %2129 = f2u32 %3455
MESA: info:     div 32    %2130 = f2u32 %3454
MESA: info:     div 32    %2131 = iand %2129, %332 (0x3)
MESA: info:     div 32    %2132 = iand %2130, %332 (0x3)
MESA: info:     div 32    %2133 = u2f32 %2131
MESA: info:     div 32    %2134 = u2f32 %2132
MESA: info:     con 32    %2136 = @load_const_ir3 (%314 (0x0)) (base=31)
MESA: info:     div 32    %2139 = i2f32 %530
MESA: info:     div 32    %2140 = i2f32 %574
MESA: info:     div 32    %3453 = ffma %2133, %2136, %2139
MESA: info:     div 32    %3452 = ffma %2134, %2136, %2140
MESA: info:     div 32x4  %2143 = vec4 %585, %586, %3453, %3452
MESA: info:     con 32    %2144 = load_const (0x00000006)
MESA: info:     con 32    %2146 = load_const (0x0000001f = 31)
MESA: info:     div 32    %3534 = shrm_ir3 %311, %2144 (0x6), %2146 (0x1f)
MESA: info:     con 32    %2148 = @load_vs_primitive_stride_ir3
MESA: info:     con 32    %2149 = load_const (0x0000003f = 63)
MESA: info:     div 32    %2150 = iand %311, %2149 (0x3f)
MESA: info:     con 32    %2152 = load_const (0x00000030 = 48)
MESA: info:     div 32    %2154 = imul24 %3534, %2152 (0x30)
MESA: info:     div 32    %2453 = imad24_ir3 %2150, %2148, %2154
MESA: info:                       @store_shared_ir3 (%2143, %2453) (base=0, align_mul=4, align_offset=0)
MESA: info:     div 32x4  %2160 = vec4 %1556, %2025, %2072, %2119
MESA: info:                       @store_shared_ir3 (%2160, %2453) (base=16, align_mul=4, align_offset=0)
MESA: info:     div 32x2  %2177 = vec2 %1087, %1087
MESA: info:                       @store_shared_ir3 (%2177, %2453) (base=32, align_mul=4, align_offset=0)
MESA: info:                       // succs: b47
MESA: info:     block b47:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 f964646332c9cfff0ba921fb5d06b678a9a093e6:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c8.x (8 vec4)
MESA: info: ;   preamble                   c0.x (8 vec4)
MESA: info: ;   primitive_param            c16.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      2
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x1)
MESA: info: @in(r0.y)	in1 (wrmask=0x1)
MESA: info: @in(r0.z)	in2 (wrmask=0x1)
MESA: info: @in(r0.w)	in3 (wrmask=0x1)
MESA: info: @const(c17.x)	0x4f7ffffe, 0x0000ffff, 0x3b800000, 0xd0d0d0d0
MESA: info: shps #l606
MESA: info: getone #l606
MESA: info: ldc.u.offset0.2.imm.base1 r48.y, 0, 1
MESA: info: ldc.u.offset0.1.imm.base1 r48.x, 1, 1
MESA: info: ldc.u.offset3.1.imm.base1 r48.w, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)trunc.f r49.z, r48.x
MESA: info: cov.f32s32 r48.w, r48.w
MESA: info: mul.f r49.w, r48.y, r49.z
MESA: info: shl.b r49.x, 1, r48.w
MESA: info: cov.f32s32 r48.y, r48.y
MESA: info: shr.b r49.y, r49.x, 16
MESA: info: mull.u r50.z, r49.x, r49.x
MESA: info: shr.b r50.w, r49.x, 16
MESA: info: shl.b r48.y, r48.y, 1
MESA: info: mull.u r49.y, r49.x, r49.y
MESA: info: mull.u r50.w, r49.x, r50.w
MESA: info: absneg.s r50.x, (neg)r48.y
MESA: info: shl.b r49.y, r49.y, 16
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r49.y, r49.y, r50.z
MESA: info: add.u r50.w, r50.w, r49.y
MESA: info: absneg.s r51.x, (abs)r50.w
MESA: info: cov.u32f32 r51.y, r51.x
MESA: info: mul.f r49.z, r48.z, r49.z
MESA: info: absneg.s r52.w, (absneg)r48.y
MESA: info: absneg.s r51.w, (absneg)r50.w
MESA: info: shr.b r51.z, r51.x, 16
MESA: info: absneg.s r50.y, (abs)r48.y
MESA: info: cov.u32f32 r53.x, r50.w
MESA: info: cov.u32f32 r52.y, r50.y
MESA: info: shr.b r52.x, r48.y, 16
MESA: info: absneg.s r53.z, (neg)r50.w
MESA: info: shr.b r53.y, r50.w, 16
MESA: info: shr.b r52.z, r50.y, 16
MESA: info: cov.u32f32 r53.w, r49.x
MESA: info: cov.f32s32 r48.x, r48.x
MESA: info: cov.f32s32 r48.z, r48.z
MESA: info: shl.b r48.z, r48.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[3], r50.x, 1
MESA: info: rcp r51.y, r51.y
MESA: info: rcp r53.x, r53.x
MESA: info: rcp r52.y, r52.y
MESA: info: rcp r53.w, r53.w
MESA: info: stc.u32 c[0], r49.w, 1
MESA: info: stc.u32 c[7], r51.x, 1
MESA: info: stc.u32 c[1], r49.z, 1
MESA: info: stc.u32 c[15], r52.w, 1
MESA: info: stc.u32 c[10], r51.w, 1
MESA: info: stc.u32 c[18], r53.z, 1
MESA: info: stc.u32 c[6], r50.w, 1
MESA: info: stc.u32 c[4], r50.y, 1
MESA: info: stc.u32 c[5], r49.x, 1
MESA: info: stc.u32 c[2], r48.y, 1
MESA: info: (ss)cov.u32f32 r50.x, r50.x
MESA: info: mul.f r51.y, r51.y, c17.x
MESA: info: cov.f32u32 r51.y, r51.y
MESA: info: mull.u r51.z, r51.y, r51.z
MESA: info: shr.b r54.x, r51.y, 16
MESA: info: and.b r54.y, r51.y, c17.y
MESA: info: shr.b r49.y, r51.y, 16
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: mull.u r54.x, r51.x, r54.x
MESA: info: shr.b r55.y, r54.y, 16
MESA: info: shr.b r50.z, r49.y, 16
MESA: info: shl.b r54.x, r54.x, 16
MESA: info: mull.u r51.x, r51.x, r51.y
MESA: info: add.u r54.x, r54.x, r51.x
MESA: info: add.u r51.z, r51.z, r54.x
MESA: info: absneg.s r51.z, (neg)r51.z
MESA: info: and.b r54.z, r51.z, c17.y
MESA: info: shr.b r54.w, r54.z, 16
MESA: info: mull.u r55.x, r54.y, r54.z
MESA: info: mull.u r55.y, r54.z, r55.y
MESA: info: shr.b r49.z, r54.z, 16
MESA: info: mull.u r49.w, r49.y, r54.z
MESA: info: mull.u r49.z, r49.y, r49.z
MESA: info: mull.u r54.z, r54.z, r50.z
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: shl.b r54.z, r54.z, 16
MESA: info: add.u r49.z, r49.z, r49.w
MESA: info: add.u r54.z, r54.z, r49.z
MESA: info: shr.b r51.z, r51.z, 16
MESA: info: mull.u r54.w, r54.y, r54.w
MESA: info: shl.b r55.y, r55.y, 16
MESA: info: shl.b r49.w, r54.z, 16
MESA: info: shr.b r55.z, r51.z, 16
MESA: info: mull.u r55.w, r54.y, r51.z
MESA: info: shr.b r51.x, r51.z, 16
MESA: info: mull.u r51.w, r49.y, r51.z
MESA: info: shl.b r54.w, r54.w, 16
MESA: info: shr.b r54.z, r54.z, 16
MESA: info: mull.u r55.z, r54.y, r55.z
MESA: info: mull.u r51.x, r49.y, r51.x
MESA: info: add.u r54.w, r54.w, r55.x
MESA: info: shl.b r55.z, r55.z, 16
MESA: info: shr.b r54.y, r54.y, 16
MESA: info: shl.b r51.x, r51.x, 16
MESA: info: shr.b r49.y, r49.y, 16
MESA: info: add.u r55.y, r55.y, r54.w
MESA: info: add.u r55.z, r55.z, r55.w
MESA: info: mull.u r54.y, r51.z, r54.y
MESA: info: add.u r51.x, r51.x, r51.w
MESA: info: shl.b r54.y, r54.y, 16
MESA: info: mull.u r51.z, r51.z, r49.y
MESA: info: add.u r54.y, r54.y, r55.z
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: shl.b r52.w, r54.y, 16
MESA: info: add.u r51.z, r51.z, r51.x
MESA: info: add.u r52.w, r55.y, r52.w
MESA: info: shr.b r54.y, r54.y, 16
MESA: info: add.u r49.w, r52.w, r49.w
MESA: info: mul.f r53.x, r53.x, c17.x
MESA: info: mul.f r52.y, r52.y, c17.x
MESA: info: cov.f32u32 r53.x, r53.x
MESA: info: cov.f32u32 r52.y, r52.y
MESA: info: mull.u r52.z, r52.y, r52.z
MESA: info: shl.b r52.z, r52.z, 16
MESA: info: mull.u r53.y, r53.x, r53.y
MESA: info: shl.b r53.y, r53.y, 16
MESA: info: mul.f r53.w, r53.w, c17.x
MESA: info: cov.f32u32 r53.w, r53.w
MESA: info: (ss)rcp r50.x, r50.x
MESA: info: cmps.u.lt hr50.z, r52.w, r55.y
MESA: info: cmps.u.lt hr51.z, r49.w, r52.w
MESA: info: cov.u16s32 r49.z, hr50.z
MESA: info: cov.u16s32 r50.z, hr51.z
MESA: info: add.u r51.z, r51.z, r49.z
MESA: info: add.u r51.z, r51.z, r54.y
MESA: info: add.u r51.z, r51.z, r50.z
MESA: info: add.u r51.z, r51.z, r54.z
MESA: info: add.u r51.z, r51.z, r51.y
MESA: info: and.b r51.x, r51.z, c17.y
MESA: info: shr.b r51.z, r51.z, 16
MESA: info: (ss)mul.f r50.x, r50.x, c17.x
MESA: info: cov.f32u32 r50.x, r50.x
MESA: info: mull.u r52.x, r50.x, r52.x
MESA: info: shr.b r51.y, r50.x, 16
MESA: info: mull.u r51.w, r48.y, r50.x
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: mull.u r51.y, r48.y, r51.y
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r51.w
MESA: info: add.u r52.x, r52.x, r51.y
MESA: info: and.b r52.w, r50.x, c17.y
MESA: info: shr.b r55.y, r50.x, 16
MESA: info: and.b r53.z, r52.x, c17.y
MESA: info: shr.b r54.z, r52.w, 16
MESA: info: shr.b r49.y, r55.y, 16
MESA: info: shr.b r54.x, r53.z, 16
MESA: info: mull.u r54.y, r52.w, r53.z
MESA: info: shr.b r55.z, r53.z, 16
MESA: info: mull.u r55.w, r55.y, r53.z
MESA: info: shr.b r52.x, r52.x, 16
MESA: info: mull.u r54.z, r53.z, r54.z
MESA: info: mull.u r54.x, r52.w, r54.x
MESA: info: mull.u r55.z, r55.y, r55.z
MESA: info: shr.b r54.w, r52.x, 16
MESA: info: mull.u r55.x, r52.w, r52.x
MESA: info: shr.b r49.z, r52.x, 16
MESA: info: mull.u r49.w, r55.y, r52.x
MESA: info: shl.b r54.z, r54.z, 16
MESA: info: mull.u r53.z, r53.z, r49.y
MESA: info: shl.b r54.x, r54.x, 16
MESA: info: shl.b r55.z, r55.z, 16
MESA: info: mull.u r54.w, r52.w, r54.w
MESA: info: mull.u r49.z, r55.y, r49.z
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: add.u r54.x, r54.x, r54.y
MESA: info: add.u r55.z, r55.z, r55.w
MESA: info: shl.b r54.w, r54.w, 16
MESA: info: shr.b r52.w, r52.w, 16
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: shr.b r55.y, r55.y, 16
MESA: info: add.u r54.z, r54.z, r54.x
MESA: info: add.u r53.z, r53.z, r55.z
MESA: info: add.u r54.w, r54.w, r55.x
MESA: info: mull.u r52.w, r52.x, r52.w
MESA: info: add.u r49.z, r49.z, r49.w
MESA: info: shl.b r52.w, r52.w, 16
MESA: info: mull.u r52.x, r52.x, r55.y
MESA: info: add.u r52.w, r52.w, r54.w
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: shl.b r50.z, r52.w, 16
MESA: info: add.u r52.x, r52.x, r49.z
MESA: info: add.u r50.z, r54.z, r50.z
MESA: info: shr.b r52.w, r52.w, 16
MESA: info: shr.b r55.w, r52.y, 16
MESA: info: and.b r54.x, r52.y, c17.y
MESA: info: shr.b r49.w, r55.w, 16
MESA: info: shr.b r55.x, r54.x, 16
MESA: info: stc.u32 c[8], r51.x, 1
MESA: info: stc.u32 c[9], r51.z, 1
MESA: info: (ss)cmps.u.lt hr54.x, r50.z, r54.z
MESA: info: shl.b r51.z, r53.z, 16
MESA: info: cov.u16s32 r51.y, hr54.x
MESA: info: add.u r51.z, r50.z, r51.z
MESA: info: shr.b r53.z, r53.z, 16
MESA: info: add.u r52.x, r52.x, r51.y
MESA: info: add.u r52.x, r52.x, r52.w
MESA: info: (ss)cmps.u.lt hr55.x, r51.z, r50.z
MESA: info: cov.u16s32 r51.w, hr55.x
MESA: info: add.u r52.x, r52.x, r51.w
MESA: info: add.u r52.x, r52.x, r53.z
MESA: info: add.u r52.x, r52.x, r50.x
MESA: info: and.b r52.w, r52.x, c17.y
MESA: info: shr.b r52.x, r52.x, 16
MESA: info: shr.b r53.z, r52.y, 16
MESA: info: mull.u r53.z, r50.y, r53.z
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: mull.u r50.y, r50.y, r52.y
MESA: info: add.u r53.z, r53.z, r50.y
MESA: info: add.u r52.z, r52.z, r53.z
MESA: info: absneg.s r52.z, (neg)r52.z
MESA: info: and.b r54.y, r52.z, c17.y
MESA: info: shr.b r54.z, r54.y, 16
MESA: info: mull.u r54.w, r54.x, r54.y
MESA: info: mull.u r55.x, r54.y, r55.x
MESA: info: shr.b r49.y, r54.y, 16
MESA: info: mull.u r49.z, r55.w, r54.y
MESA: info: shr.b r52.z, r52.z, 16
MESA: info: mull.u r54.z, r54.x, r54.z
MESA: info: shl.b r55.x, r55.x, 16
MESA: info: mull.u r49.y, r55.w, r49.y
MESA: info: mull.u r54.y, r54.y, r49.w
MESA: info: shr.b r55.y, r52.z, 16
MESA: info: mull.u r55.z, r54.x, r52.z
MESA: info: shr.b r50.x, r52.z, 16
MESA: info: mull.u r50.y, r55.w, r52.z
MESA: info: shl.b r54.z, r54.z, 16
MESA: info: shl.b r49.y, r49.y, 16
MESA: info: shl.b r54.y, r54.y, 16
MESA: info: mull.u r55.y, r54.x, r55.y
MESA: info: mull.u r50.x, r55.w, r50.x
MESA: info: add.u r54.z, r54.z, r54.w
MESA: info: add.u r49.y, r49.y, r49.z
MESA: info: shl.b r55.y, r55.y, 16
MESA: info: shr.b r54.x, r54.x, 16
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r55.w, r55.w, 16
MESA: info: add.u r55.x, r55.x, r54.z
MESA: info: add.u r54.y, r54.y, r49.y
MESA: info: add.u r55.y, r55.y, r55.z
MESA: info: mull.u r54.x, r52.z, r54.x
MESA: info: add.u r50.x, r50.x, r50.y
MESA: info: shl.b r54.x, r54.x, 16
MESA: info: mull.u r52.z, r52.z, r55.w
MESA: info: add.u r54.x, r54.x, r55.y
MESA: info: shl.b r52.z, r52.z, 16
MESA: info: shl.b r50.z, r54.x, 16
MESA: info: add.u r52.z, r52.z, r50.x
MESA: info: add.u r50.z, r55.x, r50.z
MESA: info: shr.b r54.x, r54.x, 16
MESA: info: cmps.u.lt hr54.x, r50.z, r55.x
MESA: info: cov.u16s32 r51.y, hr54.x
MESA: info: add.u r52.z, r52.z, r51.y
MESA: info: add.u r52.z, r52.z, r54.x
MESA: info: shr.b r55.x, r53.x, 16
MESA: info: shr.b r55.w, r55.x, 16
MESA: info: shr.b r51.y, r53.w, 16
MESA: info: mull.u r51.y, r49.x, r51.y
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: (ss)nop
MESA: info: stc.u32 c[12], r52.x, 1
MESA: info: shl.b r51.z, r54.y, 16
MESA: info: add.u r51.z, r50.z, r51.z
MESA: info: shr.b r54.y, r54.y, 16
MESA: info: stc.u32 c[11], r52.w, 1
MESA: info: (ss)cmps.u.lt hr55.x, r51.z, r50.z
MESA: info: cov.u16s32 r51.w, hr55.x
MESA: info: add.u r52.z, r52.z, r51.w
MESA: info: add.u r52.z, r52.z, r54.y
MESA: info: add.u r52.z, r52.z, r52.y
MESA: info: and.b r52.x, r52.z, c17.y
MESA: info: shr.b r52.y, r53.x, 16
MESA: info: shr.b r52.z, r52.z, 16
MESA: info: mull.u r52.y, r50.w, r52.y
MESA: info: shl.b r52.y, r52.y, 16
MESA: info: mull.u r50.w, r50.w, r53.x
MESA: info: add.u r52.y, r52.y, r50.w
MESA: info: add.u r53.y, r53.y, r52.y
MESA: info: absneg.s r53.y, (neg)r53.y
MESA: info: and.b r52.w, r53.y, c17.y
MESA: info: shr.b r53.z, r52.w, 16
MESA: info: shr.b r55.y, r52.w, 16
MESA: info: mull.u r55.z, r55.x, r52.w
MESA: info: shr.b r53.y, r53.y, 16
MESA: info: mull.u r55.y, r55.x, r55.y
MESA: info: shr.b r54.z, r53.y, 16
MESA: info: shr.b r49.y, r53.y, 16
MESA: info: mull.u r49.z, r55.x, r53.y
MESA: info: shl.b r55.y, r55.y, 16
MESA: info: mull.u r49.y, r55.x, r49.y
MESA: info: add.u r55.y, r55.y, r55.z
MESA: info: shl.b r49.y, r49.y, 16
MESA: info: shr.b r55.x, r55.x, 16
MESA: info: add.u r49.y, r49.y, r49.z
MESA: info: shr.b r51.w, r49.x, 16
MESA: info: mull.u r51.w, r53.w, r51.w
MESA: info: shl.b r51.w, r51.w, 16
MESA: info: (ss)nop
MESA: info: stc.u32 c[14], r52.z, 1
MESA: info: (ss)and.b r52.z, r53.x, c17.y
MESA: info: mull.u r53.z, r52.z, r53.z
MESA: info: mull.u r54.x, r52.z, r52.w
MESA: info: shr.b r54.y, r52.z, 16
MESA: info: mull.u r54.z, r52.z, r54.z
MESA: info: mull.u r54.w, r52.z, r53.y
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: mull.u r54.y, r52.w, r54.y
MESA: info: shl.b r54.z, r54.z, 16
MESA: info: shr.b r52.z, r52.z, 16
MESA: info: add.u r53.z, r53.z, r54.x
MESA: info: shl.b r54.y, r54.y, 16
MESA: info: mull.u r52.w, r52.w, r55.w
MESA: info: add.u r54.z, r54.z, r54.w
MESA: info: mull.u r52.z, r53.y, r52.z
MESA: info: add.u r54.y, r54.y, r53.z
MESA: info: shl.b r52.w, r52.w, 16
MESA: info: shl.b r52.z, r52.z, 16
MESA: info: mull.u r53.y, r53.y, r55.x
MESA: info: add.u r52.w, r52.w, r55.y
MESA: info: add.u r52.z, r52.z, r54.z
MESA: info: shl.b r53.y, r53.y, 16
MESA: info: shl.b r50.z, r52.w, 16
MESA: info: shl.b r49.w, r52.z, 16
MESA: info: add.u r53.y, r53.y, r49.y
MESA: info: shr.b r52.w, r52.w, 16
MESA: info: add.u r49.w, r54.y, r49.w
MESA: info: shr.b r52.z, r52.z, 16
MESA: info: cmps.u.lt hr52.x, r49.w, r54.y
MESA: info: add.u r50.z, r49.w, r50.z
MESA: info: cov.u16s32 r50.y, hr52.x
MESA: info: add.u r53.y, r53.y, r50.y
MESA: info: add.u r53.y, r53.y, r52.z
MESA: info: mull.u r51.z, r49.x, r53.w
MESA: info: shr.b r54.x, r53.w, 16
MESA: info: add.u r51.y, r51.y, r51.z
MESA: info: shr.b r54.w, r54.x, 16
MESA: info: add.u r51.w, r51.w, r51.y
MESA: info: absneg.s r51.z, (absneg)r49.x
MESA: info: absneg.s r51.w, (neg)r51.w
MESA: info: and.b r52.y, r51.w, c17.y
MESA: info: shr.b r52.z, r52.y, 16
MESA: info: shr.b r54.y, r52.y, 16
MESA: info: mull.u r54.z, r54.x, r52.y
MESA: info: shr.b r51.w, r51.w, 16
MESA: info: mull.u r54.y, r54.x, r54.y
MESA: info: shr.b r55.x, r51.w, 16
MESA: info: mull.u r55.y, r54.x, r51.w
MESA: info: shl.b r54.y, r54.y, 16
MESA: info: mull.u r55.x, r54.x, r55.x
MESA: info: add.u r54.y, r54.y, r54.z
MESA: info: shl.b r55.x, r55.x, 16
MESA: info: shr.b r54.x, r54.x, 16
MESA: info: add.u r55.x, r55.x, r55.y
MESA: info: stc.u32 c[13], r52.x, 1
MESA: info: (ss)cmps.u.lt hr53.x, r50.z, r49.w
MESA: info: cov.u16s32 r50.w, hr53.x
MESA: info: add.u r53.y, r53.y, r50.w
MESA: info: add.u r53.y, r53.y, r52.w
MESA: info: add.u r53.y, r53.y, r53.x
MESA: info: and.b r51.x, r53.y, c17.y
MESA: info: absneg.s r50.w, (abs)r49.x
MESA: info: shr.b r53.y, r53.y, 16
MESA: info: and.b r52.x, r53.w, c17.y
MESA: info: shr.b r51.y, r50.w, 16
MESA: info: mull.u r52.z, r52.x, r52.z
MESA: info: mull.u r52.w, r52.x, r52.y
MESA: info: shr.b r53.x, r52.x, 16
MESA: info: mull.u r53.z, r52.x, r51.w
MESA: info: shl.b r52.z, r52.z, 16
MESA: info: mull.u r53.x, r52.y, r53.x
MESA: info: add.u r52.z, r52.z, r52.w
MESA: info: shl.b r53.x, r53.x, 16
MESA: info: mull.u r52.y, r52.y, r54.w
MESA: info: add.u r53.x, r53.x, r52.z
MESA: info: shl.b r52.y, r52.y, 16
MESA: info: add.u r52.y, r52.y, r54.y
MESA: info: shl.b r49.w, r52.y, 16
MESA: info: shr.b r52.y, r52.y, 16
MESA: info: stc.u32 c[25], r51.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[16], r51.x, 1
MESA: info: (ss)cov.u32f32 r51.x, r50.w
MESA: info: absneg.s r50.z, (neg)r49.x
MESA: info: stc.u32 c[17], r53.y, 1
MESA: info: stc.u32 c[22], r50.w, 1
MESA: info: (ss)rcp r51.x, r51.x
MESA: info: shr.b r53.y, r51.w, 16
MESA: info: mull.u r53.y, r52.x, r53.y
MESA: info: shl.b r53.y, r53.y, 16
MESA: info: shr.b r52.x, r52.x, 16
MESA: info: add.u r53.y, r53.y, r53.z
MESA: info: mull.u r52.x, r51.w, r52.x
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: mull.u r51.w, r51.w, r54.x
MESA: info: add.u r52.x, r52.x, r53.y
MESA: info: shl.b r51.w, r51.w, 16
MESA: info: shl.b r55.z, r52.x, 16
MESA: info: add.u r51.w, r51.w, r55.x
MESA: info: add.u r55.z, r53.x, r55.z
MESA: info: shr.b r52.x, r52.x, 16
MESA: info: cmps.u.lt hr50.z, r55.z, r53.x
MESA: info: add.u r49.w, r55.z, r49.w
MESA: info: cov.u16s32 r49.z, hr50.z
MESA: info: add.u r51.w, r51.w, r49.z
MESA: info: add.u r51.w, r51.w, r52.x
MESA: info: xor.b r52.x, r48.x, r49.x
MESA: info: absneg.s r48.x, (abs)r48.x
MESA: info: cmps.s.lt r52.x, r52.x, 0
MESA: info: shr.b r53.x, r48.x, 16
MESA: info: shr.b r53.y, r53.x, 16
MESA: info: shr.b r53.z, r53.x, 16
MESA: info: stc.u32 c[21], r50.z, 1
MESA: info: (ss)mul.f r51.x, r51.x, c17.x
MESA: info: cmps.u.lt hr51.z, r49.w, r55.z
MESA: info: cov.f32u32 r51.x, r51.x
MESA: info: cov.u16s32 r50.x, hr51.z
MESA: info: mull.u r51.y, r51.x, r51.y
MESA: info: mull.u r54.x, r50.w, r51.x
MESA: info: add.u r51.w, r51.w, r50.x
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.w, r51.w, r52.y
MESA: info: add.u r51.w, r51.w, r53.w
MESA: info: and.b r50.y, r51.w, c17.y
MESA: info: shr.b r53.w, r51.x, 16
MESA: info: shr.b r51.w, r51.w, 16
MESA: info: mull.u r53.w, r50.w, r53.w
MESA: info: shl.b r53.w, r53.w, 16
MESA: info: add.u r53.w, r53.w, r54.x
MESA: info: add.u r51.y, r51.y, r53.w
MESA: info: and.b r54.y, r51.x, c17.y
MESA: info: shr.b r49.y, r51.x, 16
MESA: info: absneg.s r51.y, (neg)r51.y
MESA: info: shr.b r55.y, r54.y, 16
MESA: info: shr.b r50.x, r49.y, 16
MESA: info: and.b r54.z, r51.y, c17.y
MESA: info: shr.b r54.w, r54.z, 16
MESA: info: mull.u r55.x, r54.y, r54.z
MESA: info: mull.u r55.y, r54.z, r55.y
MESA: info: shr.b r49.z, r54.z, 16
MESA: info: shr.b r51.y, r51.y, 16
MESA: info: mull.u r54.w, r54.y, r54.w
MESA: info: shl.b r55.y, r55.y, 16
MESA: info: mull.u r49.z, r49.y, r49.z
MESA: info: shr.b r55.z, r51.y, 16
MESA: info: mull.u r55.w, r54.y, r51.y
MESA: info: mull.u r50.z, r49.y, r51.y
MESA: info: shl.b r54.w, r54.w, 16
MESA: info: mull.u r55.z, r54.y, r55.z
MESA: info: add.u r54.w, r54.w, r55.x
MESA: info: shl.b r55.z, r55.z, 16
MESA: info: shr.b r54.y, r54.y, 16
MESA: info: add.u r55.y, r55.y, r54.w
MESA: info: add.u r55.z, r55.z, r55.w
MESA: info: mull.u r54.y, r51.y, r54.y
MESA: info: shl.b r54.y, r54.y, 16
MESA: info: add.u r54.y, r54.y, r55.z
MESA: info: shl.b r51.z, r54.y, 16
MESA: info: add.u r51.z, r55.y, r51.z
MESA: info: shr.b r54.y, r54.y, 16
MESA: info: and.b r52.y, r48.x, c17.y
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: shr.b r52.z, r52.y, 16
MESA: info: shr.b r52.w, r52.y, 16
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r50.y, 1
MESA: info: mull.u r49.w, r49.y, r54.z
MESA: info: add.u r49.z, r49.z, r49.w
MESA: info: mull.u r54.z, r54.z, r50.x
MESA: info: shl.b r54.z, r54.z, 16
MESA: info: add.u r54.z, r54.z, r49.z
MESA: info: shl.b r54.x, r54.z, 16
MESA: info: add.u r54.x, r51.z, r54.x
MESA: info: shr.b r54.z, r54.z, 16
MESA: info: stc.u32 c[20], r51.w, 1
MESA: info: (ss)shr.b r50.y, r51.y, 16
MESA: info: cmps.u.lt hr55.z, r51.z, r55.y
MESA: info: mull.u r50.y, r49.y, r50.y
MESA: info: cov.u16s32 r53.w, hr55.z
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: shr.b r49.y, r49.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: mull.u r51.y, r51.y, r49.y
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r50.y
MESA: info: add.u r51.y, r51.y, r53.w
MESA: info: add.u r51.y, r51.y, r54.y
MESA: info: cmps.u.lt hr55.x, r54.x, r51.z
MESA: info: cov.u16s32 r54.y, hr55.x
MESA: info: add.u r51.y, r51.y, r54.y
MESA: info: add.u r51.y, r51.y, r54.z
MESA: info: add.u r51.y, r51.y, r51.x
MESA: info: and.b r54.z, r51.y, c17.y
MESA: info: mull.u r52.z, r54.z, r52.z
MESA: info: shr.b r54.w, r54.z, 16
MESA: info: mull.u r55.x, r52.y, r54.z
MESA: info: shr.b r51.y, r51.y, 16
MESA: info: shl.b r52.z, r52.z, 16
MESA: info: mull.u r54.w, r52.y, r54.w
MESA: info: mull.u r52.w, r51.y, r52.w
MESA: info: shr.b r55.y, r51.y, 16
MESA: info: shl.b r54.w, r54.w, 16
MESA: info: shl.b r52.w, r52.w, 16
MESA: info: mull.u r55.y, r52.y, r55.y
MESA: info: add.u r54.w, r54.w, r55.x
MESA: info: shl.b r55.y, r55.y, 16
MESA: info: mull.u r52.y, r52.y, r51.y
MESA: info: add.u r52.z, r52.z, r54.w
MESA: info: add.u r55.y, r55.y, r52.y
MESA: info: add.u r52.w, r52.w, r55.y
MESA: info: shl.b r49.y, r52.w, 16
MESA: info: add.u r49.y, r52.z, r49.y
MESA: info: cmps.u.lt hr51.x, r49.y, r52.z
MESA: info: shr.b r50.z, r50.w, 16
MESA: info: mull.u r53.y, r54.z, r53.y
MESA: info: shr.b r55.z, r54.z, 16
MESA: info: mull.u r53.z, r51.y, r53.z
MESA: info: shr.b r55.w, r51.y, 16
MESA: info: shr.b r52.w, r52.w, 16
MESA: info: cov.u16s32 r49.w, hr51.x
MESA: info: shl.b r53.y, r53.y, 16
MESA: info: mull.u r55.z, r53.x, r55.z
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: shl.b r55.z, r55.z, 16
MESA: info: mull.u r53.w, r48.z, r49.x
MESA: info: sub.u r54.x, 3, r48.w
MESA: info: max.s r54.x, 1, r54.x
MESA: info: sub.u r48.w, 8, r48.w
MESA: info: sub.u r48.w, r48.w, r54.x
MESA: info: (ss)nop
MESA: info: stc.u32 c[23], r54.z, 1
MESA: info: (ss)mull.u r54.z, r53.x, r54.z
MESA: info: add.u r55.z, r55.z, r54.z
MESA: info: add.u r53.y, r53.y, r55.z
MESA: info: shl.b r50.x, r53.y, 16
MESA: info: add.u r50.x, r49.y, r50.x
MESA: info: shr.b r53.y, r53.y, 16
MESA: info: stc.u32 c[24], r51.y, 1
MESA: info: stc.u32 c[29], r48.w, 1
MESA: info: (ss)cmps.u.lt hr52.x, r50.x, r49.y
MESA: info: mull.u r51.y, r53.x, r51.y
MESA: info: cov.u16s32 r50.y, hr52.x
MESA: info: mull.u r53.x, r53.x, r55.w
MESA: info: shl.b r53.x, r53.x, 16
MESA: info: add.u r53.x, r53.x, r51.y
MESA: info: add.u r53.z, r53.z, r53.x
MESA: info: add.u r53.z, r53.z, r49.w
MESA: info: add.u r53.z, r53.z, r52.w
MESA: info: add.u r53.z, r53.z, r50.y
MESA: info: add.u r53.z, r53.z, r53.y
MESA: info: mull.u r50.z, r53.z, r50.z
MESA: info: mull.u r51.x, r53.z, r50.w
MESA: info: shr.b r51.y, r53.z, 16
MESA: info: add.u r51.z, r53.z, 1
MESA: info: shl.b r50.z, r50.z, 16
MESA: info: mull.u r51.y, r50.w, r51.y
MESA: info: add.u r50.z, r50.z, r51.x
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r50.z
MESA: info: sub.u r48.x, r48.x, r51.y
MESA: info: cmps.u.ge r51.w, r48.x, r50.w
MESA: info: sub.u r52.y, r48.x, r50.w
MESA: info: sel.b32 r51.z, r51.z, r51.w, r53.z
MESA: info: sel.b32 r52.y, r52.y, r51.w, r48.x
MESA: info: add.u r52.z, r51.z, 1
MESA: info: cmps.u.ge r52.y, r52.y, r50.w
MESA: info: sel.b32 r52.z, r52.z, r52.y, r51.z
MESA: info: absneg.s r52.w, (neg)r52.z
MESA: info: sel.b32 r52.w, r52.w, r52.x, r52.z
MESA: info: shr.b r53.x, r49.x, 16
MESA: info: shr.b r53.y, r49.x, 16
MESA: info: mull.u r53.z, r48.y, r49.x
MESA: info: mull.u r53.x, r48.y, r53.x
MESA: info: mull.u r53.y, r48.z, r53.y
MESA: info: shl.b r53.x, r53.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: shl.b r53.y, r53.y, 16
MESA: info: shr.b r48.z, r48.z, 16
MESA: info: add.u r53.x, r53.x, r53.z
MESA: info: mull.u r48.y, r49.x, r48.y
MESA: info: add.u r53.y, r53.y, r53.w
MESA: info: mull.u r48.z, r49.x, r48.z
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: shl.b r48.z, r48.z, 16
MESA: info: cov.s32f32 r49.x, r49.x
MESA: info: add.u r48.y, r48.y, r53.x
MESA: info: add.u r48.z, r48.z, r53.y
MESA: info: sub.u r48.y, -1, r48.y
MESA: info: sub.u r48.z, -1, r48.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[26], r52.w, 1
MESA: info: (ss)cov.s32f32 r52.w, r52.w
MESA: info: stc.u32 c[31], r49.x, 1
MESA: info: stc.u32 c[27], r48.y, 1
MESA: info: stc.u32 c[28], r48.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[30], r52.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l606:
MESA: info: (jp)absneg.s r7.z, (abs)r0.w
MESA: info: mov.f32f32 r7.w, c2.x
MESA: info: mov.f32f32 r8.x, c2.y
MESA: info: and.b r8.y, r7.z, c17.y
MESA: info: shr.b r8.z, r7.z, 16
MESA: info: mov.f32f32 r8.w, c1.w
MESA: info: mull.u r9.x, r8.y, c2.x
MESA: info: mull.u r9.y, r8.y, c2.y
MESA: info: madsh.m16 r9.x, r8.y, r7.w, (last)r9.x
MESA: info: madsh.m16 r9.y, r8.y, r8.x, (last)r9.y
MESA: info: mull.u r9.z, r8.z, c2.x
MESA: info: madsh.m16 r9.x, c2.x, r8.y, (last)r9.x
MESA: info: madsh.m16 r8.y, c2.y, r8.y, (last)r9.y
MESA: info: madsh.m16 r9.z, r8.z, r7.w, (last)r9.z
MESA: info: mull.u r9.w, r8.z, c2.y
MESA: info: shl.b r10.x, r8.y, 16
MESA: info: madsh.m16 r9.z, c2.x, r8.z, (last)r9.z
MESA: info: madsh.m16 r9.w, r8.z, r8.x, (last)r9.w
MESA: info: add.u r10.x, r9.x, (last)r10.x
MESA: info: shl.b r10.z, r9.z, 16
MESA: info: madsh.m16 r8.z, c2.y, r8.z, (last)r9.w
MESA: info: cmps.u.lt hr18.x, r10.x, (last)r9.x
MESA: info: add.u r10.z, r10.x, (last)r10.z
MESA: info: shr.b r8.y, (last)r8.y, 16
MESA: info: cov.u16s32 r10.y, (last)hr18.x
MESA: info: cmps.u.lt hr21.x, (last)r10.z, (last)r10.x
MESA: info: shr.b r9.z, (last)r9.z, 16
MESA: info: sad.s32 r8.z, (last)r8.z, r10.y, (last)r8.y
MESA: info: cov.u16s32 r10.w, (last)hr21.x
MESA: info: xor.b r7.y, r0.w, c1.z
MESA: info: mov.f32f32 r13.x, c3.y
MESA: info: sad.s32 r8.z, (last)r8.z, r10.w, (last)r9.z
MESA: info: cmps.s.lt r7.y, (last)r7.y, 0
MESA: info: mov.f32f32 r13.y, c3.z
MESA: info: mull.u r11.z, r8.z, c1.w
MESA: info: add.u r11.w, r8.z, 1
MESA: info: madsh.m16 r11.z, r8.z, r8.w, (last)r11.z
MESA: info: mov.f32f32 r11.x, c2.w
MESA: info: madsh.m16 r11.z, c1.w, r8.z, (last)r11.z
MESA: info: mov.f32f32 r11.y, c3.x
MESA: info: mov.f32f32 r13.w, c1.x
MESA: info: sub.u r7.z, (last)r7.z, (last)r11.z
MESA: info: and.b r14.x, r0.w, c17.y
MESA: info: mov.f32f32 r17.y, c4.x
MESA: info: cmps.u.ge r12.y, r7.z, c1.w
MESA: info: add.u r12.z, r7.z, c2.z
MESA: info: mov.f32f32 r11.z, c4.y
MESA: info: sel.b32 r11.w, (last)r11.w, r12.y, (last)r8.z
MESA: info: sel.b32 r12.z, (last)r12.z, r12.y, (last)r7.z
MESA: info: mov.f32f32 r12.x, c0.z
MESA: info: add.u r12.w, r11.w, 1
MESA: info: cmps.u.ge r12.z, (last)r12.z, c1.w
MESA: info: (nop1) mull.u r10.y, r14.x, c4.x
MESA: info: sel.b32 r12.w, (last)r12.w, r12.z, (last)r11.w
MESA: info: (nop1) madsh.m16 r10.y, r14.x, r17.y, (last)r10.y
MESA: info: absneg.s r13.z, (neg)r12.w
MESA: info: (nop1) madsh.m16 r10.y, c4.x, r14.x, (last)r10.y
MESA: info: sel.b32 r13.z, (last)r13.z, r7.y, (last)r12.w
MESA: info: (nop1) mull.u r12.w, r14.x, c4.y
MESA: info: absneg.s r17.x, (abs)r13.z
MESA: info: and.b r14.y, r13.z, c17.y
MESA: info: shr.b r14.z, r13.z, 16
MESA: info: and.b r17.w, r17.x, c17.y
MESA: info: shr.b r18.x, r17.x, 16
MESA: info: mull.u r15.x, r14.y, c2.w
MESA: info: mull.u r18.w, r17.w, c3.y
MESA: info: mull.u r8.y, r17.w, c3.z
MESA: info: madsh.m16 r18.w, r17.w, r13.x, (last)r18.w
MESA: info: madsh.m16 r8.y, r17.w, r13.y, (last)r8.y
MESA: info: mull.u r8.z, r18.x, c3.y
MESA: info: madsh.m16 r18.w, c3.y, r17.w, (last)r18.w
MESA: info: madsh.m16 r17.w, c3.z, r17.w, (last)r8.y
MESA: info: madsh.m16 r8.z, r18.x, r13.x, (last)r8.z
MESA: info: mull.u r15.y, r14.y, c3.x
MESA: info: shl.b r9.y, r17.w, 16
MESA: info: madsh.m16 r8.z, c3.y, r18.x, (last)r8.z
MESA: info: madsh.m16 r15.x, r14.y, r11.x, (last)r15.x
MESA: info: add.u r9.y, r18.w, (last)r9.y
MESA: info: shl.b r9.w, r8.z, 16
MESA: info: madsh.m16 r15.y, r14.y, r11.y, (last)r15.y
MESA: info: mull.u r15.z, r14.z, c2.w
MESA: info: mull.u r9.x, r18.x, c3.z
MESA: info: madsh.m16 r15.x, c2.w, r14.y, (last)r15.x
MESA: info: cmps.u.lt hr37.z, r9.y, (last)r18.w
MESA: info: add.u r9.w, r9.y, (last)r9.w
MESA: info: madsh.m16 r14.y, c3.x, r14.y, (last)r15.y
MESA: info: madsh.m16 r15.z, r14.z, r11.x, (last)r15.z
MESA: info: madsh.m16 r9.x, r18.x, r13.y, (last)r9.x
MESA: info: cov.u16s32 r9.z, (last)hr37.z
MESA: info: cmps.u.lt hr19.z, (last)r9.w, (last)r9.y
MESA: info: shl.b r16.x, r14.y, 16
MESA: info: madsh.m16 r15.z, c2.w, r14.z, (last)r15.z
MESA: info: madsh.m16 r18.x, c3.z, r18.x, (last)r9.x
MESA: info: shr.b r17.w, (last)r17.w, 16
MESA: info: cov.u16s32 r10.x, (last)hr19.z
MESA: info: add.u r16.x, r15.x, (last)r16.x
MESA: info: shl.b r16.z, r15.z, 16
MESA: info: sad.s32 r18.x, (last)r18.x, r9.z, (last)r17.w
MESA: info: shr.b r8.z, (last)r8.z, 16
MESA: info: mull.u r15.w, r14.z, c3.x
MESA: info: cmps.u.lt hr30.x, r16.x, (last)r15.x
MESA: info: add.u r16.z, r16.x, (last)r16.z
MESA: info: sad.s32 r18.x, (last)r18.x, r10.x, (last)r8.z
MESA: info: madsh.m16 r15.w, r14.z, r11.y, (last)r15.w
MESA: info: cov.u16s32 r16.y, (last)hr30.x
MESA: info: cmps.u.lt hr33.x, (last)r16.z, (last)r16.x
MESA: info: mull.u r10.z, r18.x, c1.x
MESA: info: madsh.m16 r14.z, c3.x, r14.z, (last)r15.w
MESA: info: shr.b r14.y, (last)r14.y, 16
MESA: info: madsh.m16 r10.z, r18.x, r13.w, (last)r10.z
MESA: info: cov.u16s32 r16.w, (last)hr33.x
MESA: info: sad.s32 r14.z, (last)r14.z, r16.y, (last)r14.y
MESA: info: madsh.m16 r10.z, c1.x, r18.x, (last)r10.z
MESA: info: shr.b r15.z, (last)r15.z, 16
MESA: info: add.u r10.w, r18.x, 1
MESA: info: sub.u r17.x, (last)r17.x, (last)r10.z
MESA: info: sad.s32 r14.z, (last)r14.z, r16.w, (last)r15.z
MESA: info: shr.b r14.y, r0.w, 16
MESA: info: cmps.u.ge r11.w, r17.x, c1.x
MESA: info: add.u r12.y, r17.x, c3.w
MESA: info: mull.u r17.z, c0.z, r14.z
MESA: info: madsh.m16 r12.w, r14.x, r11.z, (last)r12.w
MESA: info: madsh.m16 r17.z, c0.z, r14.z, (last)r17.z
MESA: info: mull.u r15.x, r14.y, c4.x
MESA: info: sel.b32 r10.w, (last)r10.w, r11.w, (last)r18.x
MESA: info: sel.b32 r12.y, (last)r12.y, r11.w, (last)r17.x
MESA: info: madsh.m16 r14.x, c4.y, r14.x, (last)r12.w
MESA: info: madsh.m16 r14.z, (last)r14.z, r12.x, (last)r17.z
MESA: info: madsh.m16 r15.x, r14.y, r17.y, (last)r15.x
MESA: info: xor.b r14.w, r13.z, c0.w
MESA: info: add.u r12.z, r10.w, 1
MESA: info: cmps.u.ge r12.y, (last)r12.y, c1.x
MESA: info: madsh.m16 r15.x, c4.x, r14.y, (last)r15.x
MESA: info: add.u r13.z, (last)r13.z, (last)r14.z
MESA: info: shl.b r14.z, r14.x, 16
MESA: info: sel.b32 r12.z, (last)r12.z, r12.y, (last)r10.w
MESA: info: shl.b r15.z, r15.x, 16
MESA: info: cmps.u.ge r18.y, r13.z, c0.w
MESA: info: add.u r18.z, r13.z, c0.z
MESA: info: add.u r14.z, r10.y, (last)r14.z
MESA: info: mull.u r15.y, r14.y, c4.y
MESA: info: cmps.s.lt r14.w, (last)r14.w, 0
MESA: info: sel.b32 r18.z, (last)r18.z, r18.y, (last)r13.z
MESA: info: cmps.u.lt hr20.z, r14.z, (last)r10.y
MESA: info: add.u r15.z, r14.z, (last)r15.z
MESA: info: absneg.s r13.z, (neg)r12.z
MESA: info: madsh.m16 r15.y, r14.y, r11.z, (last)r15.y
MESA: info: cmps.u.lt hr31.x, (last)r15.z, (last)r14.z
MESA: info: sel.b32 r13.z, (last)r13.z, r14.w, (last)r12.z
MESA: info: madsh.m16 r14.y, c4.y, r14.y, (last)r15.y
MESA: info: cov.u16s32 r14.w, (last)hr20.z
MESA: info: shr.b r14.x, (last)r14.x, 16
MESA: info: cov.u16s32 r15.w, (last)hr31.x
MESA: info: sad.s32 r14.y, (last)r14.y, r14.w, (last)r14.x
MESA: info: shr.b r15.x, (last)r15.x, 16
MESA: info: mov.f32f32 r16.x, c1.z
MESA: info: sad.s32 r14.y, (last)r14.y, r15.w, (last)r15.x
MESA: info: cmps.u.ge r7.y, r18.z, c0.w
MESA: info: add.u r7.z, r18.z, c0.z
MESA: info: mull.u r16.z, r14.y, c1.z
MESA: info: mov.f32f32 r16.y, c4.w
MESA: info: madsh.m16 r16.z, r14.y, r16.x, (last)r16.z
MESA: info: sel.b32 r7.z, (last)r7.z, r7.y, (last)r18.z
MESA: info: madsh.m16 r14.y, c1.z, r14.y, (last)r16.z
MESA: info: mov.f32f32 r16.w, c5.x
MESA: info: mov.f32f32 r18.x, c5.w
MESA: info: sub.u r14.y, r0.w, (last)r14.y
MESA: info: mov.f32f32 r18.y, c6.x
MESA: info: mov.f32f32 r17.x, c1.y
MESA: info: cmps.u.ge r17.z, r14.y, c1.z
MESA: info: add.u r17.w, r14.y, c4.z
MESA: info: mull.u r8.y, r7.z, c1.y
MESA: info: mov.f32f32 r7.y, c5.z
MESA: info: sel.b32 r17.w, (last)r17.w, r17.z, (last)r14.y
MESA: info: madsh.m16 r8.y, r7.z, r17.x, (last)r8.y
MESA: info: mull.u r12.w, r13.z, c1.y
MESA: info: cmps.u.ge r18.z, r17.w, c1.z
MESA: info: add.u r18.w, r17.w, c4.z
MESA: info: madsh.m16 r7.z, c1.y, r7.z, (last)r8.y
MESA: info: madsh.m16 r12.w, r13.z, r17.x, (last)r12.w
MESA: info: sel.b32 r18.w, (last)r18.w, r18.z, (last)r17.w
MESA: info: (nop1) madsh.m16 r13.z, c1.y, r13.z, (last)r12.w
MESA: info: and.b r8.z, r18.w, c17.y
MESA: info: shr.b r9.x, r18.w, 16
MESA: info: absneg.s r12.z, (abs)r18.w
MESA: info: mull.u r9.z, r8.z, c4.w
MESA: info: mull.u r9.w, r8.z, c5.x
MESA: info: madsh.m16 r9.z, r8.z, r16.y, (last)r9.z
MESA: info: madsh.m16 r9.w, r8.z, r16.w, (last)r9.w
MESA: info: mull.u r10.x, r9.x, c4.w
MESA: info: madsh.m16 r9.z, c4.w, r8.z, (last)r9.z
MESA: info: madsh.m16 r8.z, c5.x, r8.z, (last)r9.w
MESA: info: madsh.m16 r10.x, r9.x, r16.y, (last)r10.x
MESA: info: mull.u r10.y, r9.x, c5.x
MESA: info: shl.b r10.z, r8.z, 16
MESA: info: madsh.m16 r10.x, c4.w, r9.x, (last)r10.x
MESA: info: madsh.m16 r10.y, r9.x, r16.w, (last)r10.y
MESA: info: add.u r10.z, r9.z, (last)r10.z
MESA: info: shl.b r11.w, r10.x, 16
MESA: info: madsh.m16 r9.x, c5.x, r9.x, (last)r10.y
MESA: info: cmps.u.lt hr19.x, r10.z, (last)r9.z
MESA: info: add.u r11.w, r10.z, (last)r11.w
MESA: info: shr.b r8.z, (last)r8.z, 16
MESA: info: cov.u16s32 r10.w, (last)hr19.x
MESA: info: cmps.u.lt hr23.z, (last)r11.w, (last)r10.z
MESA: info: and.b r14.y, r12.z, c17.y
MESA: info: sad.s32 r9.x, (last)r9.x, r10.w, (last)r8.z
MESA: info: cov.u16s32 r12.y, (last)hr23.z
MESA: info: shr.b r10.x, (last)r10.x, 16
MESA: info: shr.b r14.z, r12.z, 16
MESA: info: mull.u r15.y, r14.y, c5.w
MESA: info: mull.u r16.z, r14.y, c6.x
MESA: info: sad.s32 r9.x, (last)r9.x, r12.y, (last)r10.x
MESA: info: madsh.m16 r15.y, r14.y, r18.x, (last)r15.y
MESA: info: madsh.m16 r16.z, r14.y, r18.y, (last)r16.z
MESA: info: mull.u r17.z, r14.z, c5.w
MESA: info: mull.u r14.x, r9.x, c1.y
MESA: info: madsh.m16 r15.y, c5.w, r14.y, (last)r15.y
MESA: info: madsh.m16 r14.y, c6.x, r14.y, (last)r16.z
MESA: info: madsh.m16 r17.z, r14.z, r18.x, (last)r17.z
MESA: info: madsh.m16 r14.x, r9.x, r17.x, (last)r14.x
MESA: info: shl.b r18.z, r14.y, 16
MESA: info: madsh.m16 r17.z, c5.w, r14.z, (last)r17.z
MESA: info: madsh.m16 r9.x, c1.y, r9.x, (last)r14.x
MESA: info: xor.b r9.y, r18.w, c1.y
MESA: info: add.u r18.z, r15.y, (last)r18.z
MESA: info: shl.b r8.y, r17.z, 16
MESA: info: sub.u r18.w, (last)r18.w, (last)r9.x
MESA: info: mull.u r17.w, r14.z, c6.x
MESA: info: cmps.u.lt hr30.z, r18.z, (last)r15.y
MESA: info: add.u r8.y, r18.z, (last)r8.y
MESA: info: cmps.u.ge r14.w, r18.w, c1.y
MESA: info: add.u r15.x, r18.w, c5.y
MESA: info: madsh.m16 r17.w, r14.z, r18.y, (last)r17.w
MESA: info: cmps.u.lt hr16.z, (last)r8.y, (last)r18.z
MESA: info: sel.b32 r15.x, (last)r15.x, r14.w, (last)r18.w
MESA: info: madsh.m16 r14.z, c6.x, r14.z, (last)r17.w
MESA: info: cov.u16s32 r18.w, (last)hr30.z
MESA: info: shr.b r14.y, (last)r14.y, 16
MESA: info: cov.u16s32 r8.z, (last)hr16.z
MESA: info: sad.s32 r14.z, (last)r14.z, r18.w, (last)r14.y
MESA: info: shr.b r17.z, (last)r17.z, 16
MESA: info: cmps.u.ge r15.z, r15.x, c1.y
MESA: info: sad.s32 r14.z, (last)r14.z, r8.z, (last)r17.z
MESA: info: add.u r15.w, r15.x, c5.y
MESA: info: cmps.s.lt r9.y, (last)r9.y, 0
MESA: info: mull.u r10.w, r14.z, c5.z
MESA: info: add.u r11.w, r14.z, 1
MESA: info: madsh.m16 r10.w, r14.z, r7.y, (last)r10.w
MESA: info: sel.b32 r15.w, (last)r15.w, r15.z, (last)r15.x
MESA: info: madsh.m16 r10.w, c5.z, r14.z, (last)r10.w
MESA: info: mov.f32f32 r9.x, c6.z
MESA: info: add.u r7.z, (last)r7.z, r15.w
MESA: info: (nop1) sub.u r12.z, (last)r12.z, (last)r10.w
MESA: info: add.u r12.y, r7.z, -1
MESA: info: cmps.u.ge r14.w, r12.z, c5.z
MESA: info: add.u r15.x, r12.z, c6.y
MESA: info: add.u r15.z, r7.z, 1
MESA: info: sel.b32 r11.w, (last)r11.w, r14.w, (last)r14.z
MESA: info: sel.b32 r15.x, (last)r15.x, r14.w, (last)r12.z
MESA: info: max.s r12.y, (last)r12.y, 0
MESA: info: add.u r15.y, r11.w, 1
MESA: info: cmps.u.ge r15.x, (last)r15.x, c5.z
MESA: info: max.s r15.z, (last)r15.z, 0
MESA: info: min.s r14.x, (last)r12.y, c6.w
MESA: info: sel.b32 r15.y, (last)r15.y, r15.x, (last)r11.w
MESA: info: min.s r14.y, (last)r15.z, c6.w
MESA: info: mull.u r9.z, r7.z, c6.z
MESA: info: absneg.s r16.z, (neg)r15.y
MESA: info: (rpt1)absneg.s r8.y, (abs)(r)r14.x
MESA: info: sel.b32 r16.z, (last)r16.z, r9.y, (last)r15.y
MESA: info: (rpt1)and.b r10.y, (r)r8.y, c17.y
MESA: info: add.u r13.z, (last)r13.z, r16.z
MESA: info: mull.u r11.w, r10.y, c5.w
MESA: info: mull.u r12.z, r10.y, c6.x
MESA: info: mull.u r17.w, r13.z, c6.z
MESA: info: madsh.m16 r11.w, r10.y, r18.x, (last)r11.w
MESA: info: madsh.m16 r17.w, r13.z, r9.x, (last)r17.w
MESA: info: madsh.m16 r12.z, r10.y, r18.y, (last)r12.z
MESA: info: madsh.m16 r17.w, c6.z, r13.z, (last)r17.w
MESA: info: madsh.m16 r11.w, c5.w, r10.y, (last)r11.w
MESA: info: madsh.m16 r10.y, c6.x, r10.y, (last)r12.z
MESA: info: cov.s32f32 r17.w, (last)r17.w
MESA: info: madsh.m16 r9.z, r7.z, r9.x, (last)r9.z
MESA: info: shr.b r10.w, r8.y, 16
MESA: info: add.f r10.x, c0.y, (last)r17.w
MESA: info: shl.b r17.w, r10.y, 16
MESA: info: madsh.m16 r9.z, c6.z, r7.z, (last)r9.z
MESA: info: mull.u r12.y, r10.z, c5.w
MESA: info: add.u r17.w, r11.w, (last)r17.w
MESA: info: mull.u r12.w, r10.z, c6.x
MESA: info: mull.u r14.w, r10.w, c5.w
MESA: info: mull.u r15.y, r10.w, c6.x
MESA: info: cov.s32f32 r9.z, (last)r9.z
MESA: info: cmps.u.lt hr23.z, r17.w, (last)r11.w
MESA: info: madsh.m16 r12.y, r10.z, r18.x, (last)r12.y
MESA: info: madsh.m16 r12.w, r10.z, r18.y, (last)r12.w
MESA: info: madsh.m16 r14.w, r10.w, r18.x, (last)r14.w
MESA: info: madsh.m16 r15.y, r10.w, r18.y, (last)r15.y
MESA: info: add.f r9.w, c0.x, (last)r9.z
MESA: info: madsh.m16 r12.y, c5.w, r10.z, (last)r12.y
MESA: info: madsh.m16 r14.w, c5.w, r10.w, (last)r14.w
MESA: info: cov.u16s32 r9.z, (last)hr23.z
MESA: info: madsh.m16 r10.z, c6.x, r10.z, (last)r12.w
MESA: info: madsh.m16 r10.w, c6.x, r10.w, (last)r15.y
MESA: info: shr.b r10.y, (last)r10.y, 16
MESA: info: shr.b r14.z, r8.z, 16
MESA: info: sad.s32 r10.w, (last)r10.w, r9.z, (last)r10.y
MESA: info: shl.b r10.y, r10.z, 16
MESA: info: mull.u r15.x, r14.z, c5.w
MESA: info: mull.u r15.z, r14.z, c6.x
MESA: info: add.u r10.y, r12.y, (last)r10.y
MESA: info: madsh.m16 r15.x, r14.z, r18.x, (last)r15.x
MESA: info: madsh.m16 r15.z, r14.z, r18.y, (last)r15.z
MESA: info: cmps.u.lt hr24.z, r10.y, (last)r12.y
MESA: info: madsh.m16 r15.x, c5.w, r14.z, (last)r15.x
MESA: info: madsh.m16 r14.z, c6.x, r14.z, (last)r15.z
MESA: info: cov.u16s32 r11.w, (last)hr24.z
MESA: info: shl.b r12.y, r14.w, 16
MESA: info: shl.b r12.w, r15.x, 16
MESA: info: shr.b r10.z, (last)r10.z, 16
MESA: info: add.u r12.y, r17.w, (last)r12.y
MESA: info: add.u r12.w, r10.y, (last)r12.w
MESA: info: shr.b r14.w, (last)r14.w, 16
MESA: info: cmps.u.lt hr24.z, (last)r12.y, (last)r17.w
MESA: info: cmps.u.lt hr25.z, (last)r12.w, (last)r10.y
MESA: info: sad.s32 r14.z, (last)r14.z, r11.w, (last)r10.z
MESA: info: cov.u16s32 r12.z, (last)hr24.z
MESA: info: shr.b r15.x, (last)r15.x, 16
MESA: info: max.s r18.z, r13.z, 0
MESA: info: sad.s32 r10.w, (last)r10.w, r12.z, (last)r14.w
MESA: info: cov.u16s32 r14.w, (last)hr25.z
MESA: info: xor.b r18.w, r14.y, c1.y
MESA: info: add.u r15.z, r10.w, 1
MESA: info: sad.s32 r14.z, (last)r14.z, r14.w, (last)r15.x
MESA: info: mull.u r15.x, r10.w, c5.z
MESA: info: min.s r18.z, (last)r18.z, c7.x
MESA: info: madsh.m16 r15.x, r10.w, r7.y, (last)r15.x
MESA: info: mull.u r15.y, r14.z, c5.z
MESA: info: madsh.m16 r15.x, c5.z, r10.w, (last)r15.x
MESA: info: madsh.m16 r15.y, r14.z, r7.y, (last)r15.y
MESA: info: add.u r9.z, r14.z, 1
MESA: info: sub.u r8.y, (last)r8.y, (last)r15.x
MESA: info: madsh.m16 r15.y, c5.z, r14.z, (last)r15.y
MESA: info: cmps.s.lt r18.w, (last)r18.w, 0
MESA: info: cmps.u.ge r17.w, r8.y, c5.z
MESA: info: sub.u r8.z, (last)r8.z, (last)r15.y
MESA: info: add.u r10.z, r8.y, c6.y
MESA: info: sel.b32 r15.z, (last)r15.z, r17.w, (last)r10.w
MESA: info: cmps.u.ge r10.y, r8.z, c5.z
MESA: info: add.u r10.w, r8.z, c6.y
MESA: info: absneg.s r15.y, (abs)r18.z
MESA: info: sel.b32 r9.z, (last)r9.z, r10.y, (last)r14.z
MESA: info: sel.b32 r10.w, (last)r10.w, r10.y, (last)r8.z
MESA: info: sel.b32 r10.z, (last)r10.z, r17.w, (last)r8.y
MESA: info: add.u r12.y, r9.z, 1
MESA: info: cmps.u.ge r10.w, (last)r10.w, c5.z
MESA: info: add.u r11.w, r15.z, 1
MESA: info: cmps.u.ge r10.z, (last)r10.z, c5.z
MESA: info: sel.b32 r12.y, (last)r12.y, r10.w, (last)r9.z
MESA: info: xor.b r17.z, r14.x, c1.y
MESA: info: shr.b r8.y, r15.y, 16
MESA: info: absneg.s r15.x, (neg)r12.y
MESA: info: sel.b32 r11.w, (last)r11.w, r10.z, (last)r15.z
MESA: info: cmps.s.lt r17.z, (last)r17.z, 0
MESA: info: sel.b32 r14.w, (last)r15.x, r18.w, (last)r12.y
MESA: info: and.b r18.w, r15.y, c17.y
MESA: info: absneg.s r12.z, (neg)r11.w
MESA: info: mull.u r10.z, r8.y, c5.w
MESA: info: mull.u r9.z, r18.w, c5.w
MESA: info: mull.u r10.y, r18.w, c6.x
MESA: info: madsh.m16 r9.z, r18.w, r18.x, (last)r9.z
MESA: info: madsh.m16 r10.y, r18.w, r18.y, (last)r10.y
MESA: info: madsh.m16 r9.z, c5.w, r18.w, (last)r9.z
MESA: info: madsh.m16 r18.w, c6.x, r18.w, (last)r10.y
MESA: info: madsh.m16 r10.z, r8.y, r18.x, (last)r10.z
MESA: info: sel.b32 r14.z, (last)r12.z, r17.z, (last)r11.w
MESA: info: madsh.m16 r10.z, c5.w, r8.y, (last)r10.z
MESA: info: shl.b r11.w, r18.w, 16
MESA: info: mull.u r10.w, r8.y, c6.x
MESA: info: shl.b r12.z, r10.z, 16
MESA: info: add.u r11.w, r9.z, (last)r11.w
MESA: info: madsh.m16 r10.w, r8.y, r18.y, (last)r10.w
MESA: info: shr.b r18.w, (last)r18.w, 16
MESA: info: cmps.u.lt hr19.x, r11.w, (last)r9.z
MESA: info: add.u r12.z, r11.w, (last)r12.z
MESA: info: madsh.m16 r8.y, c6.x, r8.y, (last)r10.w
MESA: info: cov.u16s32 r12.y, (last)hr19.x
MESA: info: cmps.u.lt hr25.x, (last)r12.z, (last)r11.w
MESA: info: shr.b r10.z, (last)r10.z, 16
MESA: info: sad.s32 r8.y, (last)r8.y, r12.y, (last)r18.w
MESA: info: cov.u16s32 r12.w, (last)hr25.x
MESA: info: (rpt1)and.b r17.z, (r)r14.x, c17.y
MESA: info: sad.s32 r8.y, (last)r8.y, r12.w, (last)r10.z
MESA: info: mull.u r8.z, r17.z, c4.w
MESA: info: mull.u r15.x, r17.w, c4.w
MESA: info: mull.u r15.z, r8.y, c5.z
MESA: info: add.u r18.w, r8.y, 1
MESA: info: madsh.m16 r15.z, r8.y, r7.y, (last)r15.z
MESA: info: mull.u r9.z, r17.z, c5.x
MESA: info: madsh.m16 r15.z, c5.z, r8.y, (last)r15.z
MESA: info: mull.u r11.w, r17.w, c5.x
MESA: info: (rpt1)shr.b r12.z, (r)r14.x, 16
MESA: info: sub.u r15.y, (last)r15.y, (last)r15.z
MESA: info: madsh.m16 r8.z, r17.z, r16.y, (last)r8.z
MESA: info: madsh.m16 r15.x, r17.w, r16.y, (last)r15.x
MESA: info: cmps.u.ge r10.y, r15.y, c5.z
MESA: info: add.u r10.z, r15.y, c6.y
MESA: info: madsh.m16 r9.z, r17.z, r16.w, (last)r9.z
MESA: info: sel.b32 r18.w, (last)r18.w, r10.y, (last)r8.y
MESA: info: sel.b32 r10.z, (last)r10.z, r10.y, (last)r15.y
MESA: info: madsh.m16 r11.w, r17.w, r16.w, (last)r11.w
MESA: info: madsh.m16 r8.z, c4.w, r17.z, (last)r8.z
MESA: info: madsh.m16 r15.x, c4.w, r17.w, (last)r15.x
MESA: info: add.u r10.w, r18.w, 1
MESA: info: mull.u r8.y, r12.w, c4.w
MESA: info: cmps.u.ge r10.z, (last)r10.z, c5.z
MESA: info: madsh.m16 r17.z, c5.x, r17.z, (last)r9.z
MESA: info: madsh.m16 r17.w, c5.x, r17.w, (last)r11.w
MESA: info: madsh.m16 r8.y, r12.w, r16.y, (last)r8.y
MESA: info: xor.b r9.y, r18.z, c1.y
MESA: info: sel.b32 r10.w, (last)r10.w, r10.z, (last)r18.w
MESA: info: shl.b r15.y, r17.z, 16
MESA: info: shl.b r9.z, r17.w, 16
MESA: info: madsh.m16 r8.y, c4.w, r12.w, (last)r8.y
MESA: info: mull.u r18.w, r12.z, c4.w
MESA: info: cmps.s.lt r9.y, (last)r9.y, 0
MESA: info: madsh.m16 r18.w, r12.z, r16.y, (last)r18.w
MESA: info: absneg.s r12.y, (neg)r10.w
MESA: info: add.u r15.y, r8.z, (last)r15.y
MESA: info: add.u r9.z, r15.x, (last)r9.z
MESA: info: shl.b r11.w, r8.y, 16
MESA: info: madsh.m16 r18.w, c4.w, r12.z, (last)r18.w
MESA: info: sel.b32 r12.y, (last)r12.y, r9.y, (last)r10.w
MESA: info: cmps.u.lt hr17.x, r15.y, (last)r8.z
MESA: info: cmps.u.lt hr30.x, r9.z, (last)r15.x
MESA: info: add.u r11.w, r9.z, (last)r11.w
MESA: info: shl.b r10.z, r18.w, 16
MESA: info: mull.u r9.y, r12.w, c5.x
MESA: info: cov.u16s32 r15.z, (last)hr17.x
MESA: info: madsh.m16 r9.y, r12.w, r16.w, (last)r9.y
MESA: info: cov.u16s32 r10.y, (last)hr30.x
MESA: info: cmps.u.lt hr23.z, (last)r11.w, (last)r9.z
MESA: info: add.u r10.z, r15.y, (last)r10.z
MESA: info: mull.u r8.z, r12.z, c5.x
MESA: info: madsh.m16 r12.w, c5.x, r12.w, (last)r9.y
MESA: info: shr.b r17.w, (last)r17.w, 16
MESA: info: madsh.m16 r8.z, r12.z, r16.w, (last)r8.z
MESA: info: cov.u16s32 r15.x, (last)hr23.z
MESA: info: cmps.u.lt hr21.x, (last)r10.z, (last)r15.y
MESA: info: sad.s32 r12.w, (last)r12.w, r10.y, (last)r17.w
MESA: info: madsh.m16 r12.z, c5.x, r12.z, (last)r8.z
MESA: info: shr.b r17.z, (last)r17.z, 16
MESA: info: shr.b r8.y, (last)r8.y, 16
MESA: info: cov.u16s32 r10.w, (last)hr21.x
MESA: info: sad.s32 r12.z, (last)r12.z, r15.z, (last)r17.z
MESA: info: sad.s32 r12.w, (last)r12.w, r15.x, (last)r8.y
MESA: info: shr.b r18.w, (last)r18.w, 16
MESA: info: max.s r7.z, (last)r7.z, 0
MESA: info: mull.u r15.z, r12.w, c1.y
MESA: info: sad.s32 r12.z, (last)r12.z, r10.w, (last)r18.w
MESA: info: madsh.m16 r15.z, r12.w, r17.x, (last)r15.z
MESA: info: min.s r7.z, (last)r7.z, c6.w
MESA: info: mull.u r15.y, r12.z, c1.y
MESA: info: madsh.m16 r12.w, c1.y, r12.w, (last)r15.z
MESA: info: (nop1) madsh.m16 r15.y, r12.z, r17.x, (last)r15.y
MESA: info: sub.u r14.y, (last)r14.y, (last)r12.w
MESA: info: madsh.m16 r12.z, c1.y, r12.z, (last)r15.y
MESA: info: shr.b r12.w, r18.z, 16
MESA: info: cmps.u.ge r18.w, r14.y, c1.y
MESA: info: add.u r8.y, r14.y, c5.y
MESA: info: sub.u r14.x, (last)r14.x, (last)r12.z
MESA: info: and.b r12.z, r18.z, c17.y
MESA: info: sel.b32 r8.y, (last)r8.y, r18.w, (last)r14.y
MESA: info: mull.u r15.y, r12.w, c4.w
MESA: info: mull.u r15.x, r12.z, c5.x
MESA: info: mull.u r14.y, r12.z, c4.w
MESA: info: madsh.m16 r15.x, r12.z, r16.w, (last)r15.x
MESA: info: madsh.m16 r14.y, r12.z, r16.y, (last)r14.y
MESA: info: cmps.u.ge r17.z, r14.x, c1.y
MESA: info: add.u r17.w, r14.x, c5.y
MESA: info: madsh.m16 r14.y, c4.w, r12.z, (last)r14.y
MESA: info: madsh.m16 r12.z, c5.x, r12.z, (last)r15.x
MESA: info: madsh.m16 r15.y, r12.w, r16.y, (last)r15.y
MESA: info: sel.b32 r17.w, (last)r17.w, r17.z, (last)r14.x
MESA: info: madsh.m16 r15.y, c4.w, r12.w, (last)r15.y
MESA: info: shl.b r17.z, r12.z, 16
MESA: info: mull.u r15.z, r12.w, c5.x
MESA: info: shl.b r18.w, r15.y, 16
MESA: info: add.u r17.z, r14.y, (last)r17.z
MESA: info: cmps.u.ge r8.z, r17.w, c1.y
MESA: info: add.u r9.y, r17.w, c5.y
MESA: info: cmps.u.lt hr28.z, r17.z, (last)r14.y
MESA: info: add.u r18.w, r17.z, (last)r18.w
MESA: info: madsh.m16 r15.z, r12.w, r16.w, (last)r15.z
MESA: info: cmps.u.ge r10.w, r8.y, c1.y
MESA: info: add.u r11.w, r8.y, c5.y
MESA: info: sel.b32 r10.y, (last)r9.y, r8.z, (last)r17.w
MESA: info: cmps.u.lt hr37.z, (last)r18.w, (last)r17.z
MESA: info: madsh.m16 r12.w, c5.x, r12.w, (last)r15.z
MESA: info: cov.u16s32 r17.w, (last)hr28.z
MESA: info: shr.b r12.z, (last)r12.z, 16
MESA: info: sel.b32 r10.z, (last)r11.w, r10.w, (last)r8.y
MESA: info: sad.s32 r12.w, (last)r12.w, r17.w, (last)r12.z
MESA: info: cov.u16s32 r8.y, (last)hr37.z
MESA: info: shr.b r15.y, (last)r15.y, 16
MESA: info: mull.u r14.x, c0.z, r12.y
MESA: info: sad.s32 r12.w, (last)r12.w, r8.y, (last)r15.y
MESA: info: madsh.m16 r14.x, c0.z, r12.y, (last)r14.x
MESA: info: absneg.s r15.z, (abs)r7.z
MESA: info: mull.u r10.w, r12.w, c1.y
MESA: info: madsh.m16 r12.y, (last)r12.y, r12.x, (last)r14.x
MESA: info: madsh.m16 r10.w, r12.w, r17.x, (last)r10.w
MESA: info: and.b r17.w, r15.z, c17.y
MESA: info: madsh.m16 r12.w, c1.y, r12.w, (last)r10.w
MESA: info: (rpt1)sub.u r14.z, (last)(r)r14.z, (last)r12.y
MESA: info: sub.u r18.z, (last)r18.z, (last)r12.w
MESA: info: mull.u r8.z, r14.z, c1.z
MESA: info: mull.u r11.w, r14.w, c1.z
MESA: info: cmps.u.ge r12.y, r18.z, c1.y
MESA: info: add.u r12.z, r18.z, c5.y
MESA: info: madsh.m16 r8.z, r14.z, r16.x, (last)r8.z
MESA: info: madsh.m16 r11.w, r14.w, r16.x, (last)r11.w
MESA: info: sel.b32 r12.z, (last)r12.z, r12.y, (last)r18.z
MESA: info: madsh.m16 r9.y, c1.z, r14.z, (last)r8.z
MESA: info: madsh.m16 r9.z, c1.z, r14.w, (last)r11.w
MESA: info: cmps.u.ge r14.z, r12.z, c1.y
MESA: info: add.u r14.w, r12.z, c5.y
MESA: info: mull.u r8.y, r17.w, c5.w
MESA: info: shr.b r18.z, r15.z, 16
MESA: info: sel.b32 r14.w, (last)r14.w, r14.z, (last)r12.z
MESA: info: mull.u r8.z, r17.w, c6.x
MESA: info: madsh.m16 r8.y, r17.w, r18.x, (last)r8.y
MESA: info: mull.u r15.y, r14.w, c1.y
MESA: info: madsh.m16 r8.z, r17.w, r18.y, (last)r8.z
MESA: info: madsh.m16 r15.y, r14.w, r17.x, (last)r15.y
MESA: info: madsh.m16 r8.y, c5.w, r17.w, (last)r8.y
MESA: info: madsh.m16 r14.w, c1.y, r14.w, (last)r15.y
MESA: info: madsh.m16 r17.w, c6.x, r17.w, (last)r8.z
MESA: info: add.u r14.x, r13.z, 1
MESA: info: (rpt1)sad.s32 r10.y, (r)(last)r10.y, r14.w, (r)(last)r9.y
MESA: info: mull.u r9.y, r18.z, c5.w
MESA: info: shl.b r10.w, r17.w, 16
MESA: info: madsh.m16 r9.y, r18.z, r18.x, (last)r9.y
MESA: info: mull.u r9.z, r18.z, c6.x
MESA: info: madsh.m16 r9.y, c5.w, r18.z, (last)r9.y
MESA: info: add.u r10.w, r8.y, (last)r10.w
MESA: info: madsh.m16 r9.z, r18.z, r18.y, (last)r9.z
MESA: info: shl.b r12.y, r9.y, 16
MESA: info: cmps.u.lt hr16.z, r10.w, (last)r8.y
MESA: info: madsh.m16 r18.z, c6.x, r18.z, (last)r9.z
MESA: info: add.u r12.y, r10.w, (last)r12.y
MESA: info: cov.u16s32 r11.w, (last)hr16.z
MESA: info: shr.b r17.w, (last)r17.w, 16
MESA: info: cmps.u.lt hr24.z, (last)r12.y, (last)r10.w
MESA: info: sad.s32 r18.z, (last)r18.z, r11.w, (last)r17.w
MESA: info: shr.b r9.y, (last)r9.y, 16
MESA: info: cov.u16s32 r12.z, (last)hr24.z
MESA: info: add.u r14.y, (last)r13.z, -1
MESA: info: xor.b r15.x, r7.z, c1.y
MESA: info: sad.s32 r18.z, (last)r18.z, r12.z, (last)r9.y
MESA: info: (rpt1)max.s r14.x, (last)(r)r14.x, 0
MESA: info: mull.u r15.y, r18.z, c5.z
MESA: info: add.u r17.w, r18.z, 1
MESA: info: madsh.m16 r15.y, r18.z, r7.y, (last)r15.y
MESA: info: (rpt1)min.s r14.x, (last)(r)r14.x, c7.x
MESA: info: madsh.m16 r15.y, c5.z, r18.z, (last)r15.y
MESA: info: (rpt1)absneg.s r14.z, (abs)(r)r14.x
MESA: info: sub.u r15.z, (last)r15.z, (last)r15.y
MESA: info: and.b r8.y, r14.z, c17.y
MESA: info: cmps.s.lt r15.x, (last)r15.x, 0
MESA: info: cmps.u.ge r8.z, r15.z, c5.z
MESA: info: add.u r9.y, r15.z, c6.y
MESA: info: mull.u r11.w, r8.y, c5.w
MESA: info: sel.b32 r17.w, (last)r17.w, r8.z, (last)r18.z
MESA: info: sel.b32 r9.y, (last)r9.y, r8.z, (last)r15.z
MESA: info: mull.u r12.w, r8.y, c6.x
MESA: info: add.u r9.z, r17.w, 1
MESA: info: cmps.u.ge r9.y, (last)r9.y, c5.z
MESA: info: madsh.m16 r11.w, r8.y, r18.x, (last)r11.w
MESA: info: madsh.m16 r12.w, r8.y, r18.y, (last)r12.w
MESA: info: sel.b32 r9.z, (last)r9.z, r9.y, (last)r17.w
MESA: info: madsh.m16 r11.w, c5.w, r8.y, (last)r11.w
MESA: info: madsh.m16 r8.y, c6.x, r8.y, (last)r12.w
MESA: info: absneg.s r12.y, (neg)r9.z
MESA: info: and.b r10.w, r14.w, c17.y
MESA: info: shl.b r15.z, r8.y, 16
MESA: info: sel.b32 r12.y, (last)r12.y, r15.x, (last)r9.z
MESA: info: (rpt1)shr.b r15.x, (r)r14.z, 16
MESA: info: add.u r15.z, r11.w, (last)r15.z
MESA: info: mull.u r18.z, r15.x, c5.w
MESA: info: mull.u r12.z, r10.w, c5.w
MESA: info: madsh.m16 r18.z, r15.x, r18.x, (last)r18.z
MESA: info: mull.u r13.z, r10.w, c6.x
MESA: info: madsh.m16 r18.z, c5.w, r15.x, (last)r18.z
MESA: info: mull.u r9.y, r15.x, c6.x
MESA: info: cmps.u.lt hr23.z, r15.z, (last)r11.w
MESA: info: shl.b r12.w, r18.z, 16
MESA: info: madsh.m16 r12.z, r10.w, r18.x, (last)r12.z
MESA: info: madsh.m16 r13.z, r10.w, r18.y, (last)r13.z
MESA: info: add.u r12.w, r15.z, (last)r12.w
MESA: info: madsh.m16 r9.y, r15.x, r18.y, (last)r9.y
MESA: info: mull.u r8.z, r15.y, c5.w
MESA: info: cov.u16s32 r17.w, (last)hr23.z
MESA: info: madsh.m16 r12.z, c5.w, r10.w, (last)r12.z
MESA: info: cmps.u.lt hr25.z, (last)r12.w, (last)r15.z
MESA: info: madsh.m16 r15.x, c6.x, r15.x, (last)r9.y
MESA: info: madsh.m16 r10.w, c6.x, r10.w, (last)r13.z
MESA: info: shr.b r8.y, (last)r8.y, 16
MESA: info: madsh.m16 r8.z, r15.y, r18.x, (last)r8.z
MESA: info: shl.b r11.w, r10.w, 16
MESA: info: cov.u16s32 r13.z, (last)hr25.z
MESA: info: sad.s32 r15.x, (last)r15.x, r17.w, (last)r8.y
MESA: info: madsh.m16 r8.z, c5.w, r15.y, (last)r8.z
MESA: info: shr.b r18.z, (last)r18.z, 16
MESA: info: add.u r11.w, r12.z, (last)r11.w
MESA: info: shl.b r15.z, r8.z, 16
MESA: info: sad.s32 r15.x, (last)r15.x, r13.z, (last)r18.z
MESA: info: mull.u r9.z, r15.y, c6.x
MESA: info: cmps.u.lt hr25.x, r11.w, (last)r12.z
MESA: info: add.u r15.z, r11.w, (last)r15.z
MESA: info: mull.u r18.z, r15.x, c5.z
MESA: info: madsh.m16 r9.z, r15.y, r18.y, (last)r9.z
MESA: info: madsh.m16 r18.z, r15.x, r7.y, (last)r18.z
MESA: info: cov.u16s32 r12.z, (last)hr25.x
MESA: info: cmps.u.lt hr31.x, (last)r15.z, (last)r11.w
MESA: info: madsh.m16 r15.y, c6.x, r15.y, (last)r9.z
MESA: info: madsh.m16 r18.z, c5.z, r15.x, (last)r18.z
MESA: info: shr.b r10.w, (last)r10.w, 16
MESA: info: cov.u16s32 r17.w, (last)hr31.x
MESA: info: sub.u r14.z, (last)r14.z, (last)r18.z
MESA: info: sad.s32 r15.y, (last)r15.y, r12.z, (last)r10.w
MESA: info: shr.b r8.z, (last)r8.z, 16
MESA: info: cmps.u.ge r9.y, r14.z, c5.z
MESA: info: add.u r11.w, r14.z, c6.y
MESA: info: sad.s32 r15.y, (last)r15.y, r17.w, (last)r8.z
MESA: info: add.u r8.z, r15.x, 1
MESA: info: sel.b32 r11.w, (last)r11.w, r9.y, (last)r14.z
MESA: info: mull.u r8.y, r15.y, c5.z
MESA: info: sel.b32 r8.z, (last)r8.z, r9.y, (last)r15.x
MESA: info: madsh.m16 r8.y, r15.y, r7.y, (last)r8.y
MESA: info: cmps.u.ge r11.w, (last)r11.w, c5.z
MESA: info: add.u r12.w, r8.z, 1
MESA: info: madsh.m16 r8.y, c5.z, r15.y, (last)r8.y
MESA: info: xor.b r17.z, r14.x, c1.y
MESA: info: sel.b32 r12.w, (last)r12.w, r11.w, (last)r8.z
MESA: info: sub.u r14.w, (last)r14.w, (last)r8.y
MESA: info: add.u r9.z, r15.y, 1
MESA: info: and.b r15.x, r7.z, c17.y
MESA: info: cmps.s.lt r17.z, (last)r17.z, 0
MESA: info: absneg.s r14.z, (neg)r12.w
MESA: info: cmps.u.ge r10.w, r14.w, c5.z
MESA: info: add.u r12.z, r14.w, c6.y
MESA: info: mull.u r17.w, r15.x, c5.x
MESA: info: sel.b32 r14.z, (last)r14.z, r17.z, (last)r12.w
MESA: info: sel.b32 r9.z, (last)r9.z, r10.w, (last)r15.y
MESA: info: sel.b32 r12.z, (last)r12.z, r10.w, (last)r14.w
MESA: info: mull.u r17.z, r15.x, c4.w
MESA: info: shr.b r15.y, r7.z, 16
MESA: info: madsh.m16 r17.w, r15.x, r16.w, (last)r17.w
MESA: info: madsh.m16 r17.z, r15.x, r16.y, (last)r17.z
MESA: info: add.u r13.z, r9.z, 1
MESA: info: cmps.u.ge r12.z, (last)r12.z, c5.z
MESA: info: mull.u r18.z, r15.y, c4.w
MESA: info: madsh.m16 r17.z, c4.w, r15.x, (last)r17.z
MESA: info: madsh.m16 r15.x, c5.x, r15.x, (last)r17.w
MESA: info: madsh.m16 r18.z, r15.y, r16.y, (last)r18.z
MESA: info: xor.b r18.w, r14.y, c1.y
MESA: info: sel.b32 r13.z, (last)r13.z, r12.z, (last)r9.z
MESA: info: shl.b r8.y, r15.x, 16
MESA: info: madsh.m16 r18.z, c4.w, r15.y, (last)r18.z
MESA: info: cmps.s.lt r18.w, (last)r18.w, 0
MESA: info: absneg.s r14.w, (neg)r13.z
MESA: info: add.u r8.y, r17.z, (last)r8.y
MESA: info: shl.b r9.y, r18.z, 16
MESA: info: sel.b32 r14.w, (last)r14.w, r18.w, (last)r13.z
MESA: info: cmps.u.lt hr35.x, r8.y, (last)r17.z
MESA: info: add.u r9.y, r8.y, (last)r9.y
MESA: info: mull.u r18.w, r15.y, c5.x
MESA: info: cov.u16s32 r8.z, (last)hr35.x
MESA: info: madsh.m16 r18.w, r15.y, r16.w, (last)r18.w
MESA: info: cmps.u.lt hr18.z, (last)r9.y, (last)r8.y
MESA: info: madsh.m16 r15.y, c5.x, r15.y, (last)r18.w
MESA: info: shr.b r15.x, (last)r15.x, 16
MESA: info: cov.u16s32 r9.z, (last)hr18.z
MESA: info: sad.s32 r15.y, (last)r15.y, r8.z, (last)r15.x
MESA: info: shr.b r18.z, (last)r18.z, 16
MESA: info: and.b r15.z, r14.x, c17.y
MESA: info: sad.s32 r15.y, (last)r15.y, r9.z, (last)r18.z
MESA: info: (rpt1)shr.b r8.y, (r)r14.x, 16
MESA: info: mull.u r12.z, r15.y, c1.y
MESA: info: mull.u r11.w, r15.z, c4.w
MESA: info: madsh.m16 r12.z, r15.y, r17.x, (last)r12.z
MESA: info: madsh.m16 r11.w, r15.z, r16.y, (last)r11.w
MESA: info: madsh.m16 r15.y, c1.y, r15.y, (last)r12.z
MESA: info: madsh.m16 r11.w, c4.w, r15.z, (last)r11.w
MESA: info: and.b r10.w, r14.y, c17.y
MESA: info: sub.u r7.z, (last)r7.z, (last)r15.y
MESA: info: mull.u r15.y, r15.z, c5.x
MESA: info: mull.u r12.w, r10.w, c4.w
MESA: info: madsh.m16 r15.y, r15.z, r16.w, (last)r15.y
MESA: info: cmps.u.ge r13.z, r7.z, c1.y
MESA: info: madsh.m16 r15.z, c5.x, r15.z, (last)r15.y
MESA: info: add.u r15.x, r7.z, c5.y
MESA: info: mull.u r18.z, r10.w, c5.x
MESA: info: shl.b r9.y, r15.z, 16
MESA: info: sel.b32 r15.x, (last)r15.x, r13.z, (last)r7.z
MESA: info: madsh.m16 r12.w, r10.w, r16.y, (last)r12.w
MESA: info: add.u r9.y, r11.w, (last)r9.y
MESA: info: cmps.u.ge r17.z, r15.x, c1.y
MESA: info: add.u r17.w, r15.x, c5.y
MESA: info: cmps.u.lt hr23.z, r9.y, (last)r11.w
MESA: info: madsh.m16 r18.z, r10.w, r16.w, (last)r18.z
MESA: info: mull.u r12.z, r8.z, c4.w
MESA: info: cov.u16s32 r9.z, (last)hr23.z
MESA: info: mull.u r11.w, r8.y, c4.w
MESA: info: madsh.m16 r12.w, c4.w, r10.w, (last)r12.w
MESA: info: madsh.m16 r11.w, r8.y, r16.y, (last)r11.w
MESA: info: sel.b32 r17.w, (last)r17.w, r17.z, (last)r15.x
MESA: info: madsh.m16 r11.w, c4.w, r8.y, (last)r11.w
MESA: info: madsh.m16 r10.w, c5.x, r10.w, (last)r18.z
MESA: info: madsh.m16 r12.z, r8.z, r16.y, (last)r12.z
MESA: info: shl.b r17.z, r11.w, 16
MESA: info: mull.u r13.z, r8.y, c5.x
MESA: info: shl.b r15.y, r10.w, 16
MESA: info: madsh.m16 r12.z, c4.w, r8.z, (last)r12.z
MESA: info: add.u r17.z, r9.y, (last)r17.z
MESA: info: madsh.m16 r13.z, r8.y, r16.w, (last)r13.z
MESA: info: add.u r15.y, r12.w, (last)r15.y
MESA: info: shl.b r18.w, r12.z, 16
MESA: info: cmps.u.lt hr35.x, (last)r17.z, (last)r9.y
MESA: info: madsh.m16 r8.y, c5.x, r8.y, (last)r13.z
MESA: info: shr.b r15.z, (last)r15.z, 16
MESA: info: mull.u r15.x, r8.z, c5.x
MESA: info: cmps.u.lt hr25.z, r15.y, (last)r12.w
MESA: info: add.u r18.w, r15.y, (last)r18.w
MESA: info: cov.u16s32 r18.z, (last)hr35.x
MESA: info: sad.s32 r8.y, (last)r8.y, r9.z, (last)r15.z
MESA: info: shr.b r11.w, (last)r11.w, 16
MESA: info: madsh.m16 r15.x, r8.z, r16.w, (last)r15.x
MESA: info: cmps.u.lt hr37.z, (last)r18.w, (last)r15.y
MESA: info: cov.u16s32 r15.z, (last)hr25.z
MESA: info: sad.s32 r8.y, (last)r8.y, r18.z, (last)r11.w
MESA: info: madsh.m16 r8.z, c5.x, r8.z, (last)r15.x
MESA: info: shr.b r10.w, (last)r10.w, 16
MESA: info: cov.u16s32 r7.z, (last)hr37.z
MESA: info: mull.u r9.y, r8.y, c1.y
MESA: info: sad.s32 r8.z, (last)r8.z, r15.z, (last)r10.w
MESA: info: shr.b r12.z, (last)r12.z, 16
MESA: info: madsh.m16 r9.y, r8.y, r17.x, (last)r9.y
MESA: info: sad.s32 r8.z, (last)r8.z, r7.z, (last)r12.z
MESA: info: madsh.m16 r8.y, c1.y, r8.y, (last)r9.y
MESA: info: mull.u r17.z, c0.z, r14.z
MESA: info: mull.u r9.z, r8.z, c1.y
MESA: info: sub.u r14.x, (last)r14.x, (last)r8.y
MESA: info: madsh.m16 r9.z, r8.z, r17.x, (last)r9.z
MESA: info: madsh.m16 r17.z, c0.z, r14.z, (last)r17.z
MESA: info: cmps.u.ge r10.w, r14.x, c1.y
MESA: info: add.u r11.w, r14.x, c5.y
MESA: info: madsh.m16 r8.z, c1.y, r8.z, (last)r9.z
MESA: info: madsh.m16 r14.z, (last)r14.z, r12.x, (last)r17.z
MESA: info: sel.b32 r11.w, (last)r11.w, r10.w, (last)r14.x
MESA: info: sub.u r14.y, (last)r14.y, (last)r8.z
MESA: info: mull.u r18.z, c0.z, r14.w
MESA: info: cmps.u.ge r13.z, r11.w, c1.y
MESA: info: add.u r14.x, r11.w, c5.y
MESA: info: cmps.u.ge r12.z, r14.y, c1.y
MESA: info: add.u r12.w, r14.y, c5.y
MESA: info: sel.b32 r14.x, (last)r14.x, r13.z, (last)r11.w
MESA: info: sub.u r14.z, r12.y, (last)r14.z
MESA: info: sel.b32 r12.w, (last)r12.w, r12.z, (last)r14.y
MESA: info: madsh.m16 r18.z, c0.z, r14.w, (last)r18.z
MESA: info: mull.u r15.y, r14.x, c1.y
MESA: info: cmps.u.ge r14.y, r12.w, c1.y
MESA: info: add.u r15.x, r12.w, c5.y
MESA: info: mull.u r18.w, r14.z, c1.z
MESA: info: madsh.m16 r14.w, (last)r14.w, r12.x, (last)r18.z
MESA: info: madsh.m16 r15.y, r14.x, r17.x, (last)r15.y
MESA: info: shl.b r9.z, r0.w, 3
MESA: info: sel.b32 r15.x, (last)r15.x, r14.y, (last)r12.w
MESA: info: madsh.m16 r18.w, r14.z, r16.x, (last)r18.w
MESA: info: madsh.m16 r14.x, c1.y, r14.x, (last)r15.y
MESA: info: shl.b r0.w, (last)r0.w, 5
MESA: info: sub.u r12.y, (last)r12.y, (last)r14.w
MESA: info: madsh.m16 r14.z, c1.z, r14.z, (last)r18.w
MESA: info: mull.u r15.z, r15.x, c1.y
MESA: info: sad.s32 r8.y, r17.w, r14.x, (last)r14.z
MESA: info: add.u r14.x, r0.w, 12
MESA: info: add.u r14.y, (last)r0.w, 28
MESA: info: mull.u r9.y, r12.y, c1.z
MESA: info: madsh.m16 r15.z, r15.x, r17.x, (last)r15.z
MESA: info: (rpt1)shr.b r14.x, (last)(r)r14.x, 2
MESA: info: madsh.m16 r9.y, r12.y, r16.x, (last)r9.y
MESA: info: madsh.m16 r15.x, c1.y, r15.x, (last)r15.z
MESA: info: madsh.m16 r12.y, c1.z, r12.y, (last)r9.y
MESA: info: add.f r14.w, r10.x, c7.z
MESA: info: max.f r14.z, c12.y, r10.x
MESA: info: sad.s32 r8.z, (last)r17.w, r15.x, (last)r12.y
MESA: info: isam.v.base3 (u32)(xy)r12.y, r9.z, s#0, t#0
MESA: info: add.u r15.x, c7.y, -1
MESA: info: min.f r14.z, (last)r14.z, (last)r14.w
MESA: info: max.f r10.w, c12.x, r9.w
MESA: info: mov.u32u32 r0.w, (last)r15.x
MESA: info: isam.v.base3 (u32)(xyzw)r14.w, r14.x, s#0, t#0
MESA: info: (nop2) add.f r11.w, r9.w, c7.z
MESA: info: min.f r10.w, (last)r10.w, (last)r11.w
MESA: info: (sy)mov.u32u32 r6.x, (last)r14.w
MESA: info: mov.u32u32 r6.y, (last)r15.x
MESA: info: mov.u32u32 r6.z, (last)r15.y
MESA: info: isam.v.base3 (u32)(x)r15.y, r14.y, s#0, t#0
MESA: info: max.f r12.y, c12.z, (last)r12.y
MESA: info: mov.u32u32 r6.w, (last)r15.z
MESA: info: mov.u32u32 r15.z, r0.w
MESA: info: min.f r12.y, (last)r12.y, (last)r12.z
MESA: info: (sy)mov.u32u32 r7.x, (last)r15.y
MESA: info: l1421:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.s.lt p0.x, r15.z, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l1427
MESA: info: mov.u32u32 r15.z, 0xffffffff
MESA: info: jump #l1447
MESA: info: l1427:
MESA: info: add.f r17.w, c12.y, (neg)r14.z
MESA: info: add.f r18.z, c12.z, (neg)r12.y
MESA: info: add.f r18.w, c12.x, (neg)r10.w
MESA: info: mul.f r17.w, (last)r17.w, r17.w
MESA: info: cov.u32s16 hr35.x, r15.z
MESA: info: (nop1) mad.f32 r18.z, (last)r18.z, r18.z, (last)r17.w
MESA: info: mad.f32 r18.w, (last)r18.w, r18.w, (last)r18.z
MESA: info: mova a0.x, (last)hr35.x
MESA: info: (rpt3)nop
MESA: info: rsq r18.w, (last)r18.w
MESA: info: nop
MESA: info: (ul)mov.u32u32 r7.z, r<a0.x + 24>
MESA: info: (rpt1)nop
MESA: info: (ss)(nop2) mul.f r7.z, (last)r7.z, (last)r18.w
MESA: info: (nop2) mul.f r7.z, c13.x, (last)r7.z
MESA: info: (nop3) cmps.f.lt p0.x, (last)r7.z, c13.y
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l1447
MESA: info: add.u r15.z, (last)r15.z, -1
MESA: info: jump #l1421
MESA: info: l1447:
MESA: info: (jp)(rpt1)absneg.s r12.y, (abs)(r)r10.y
MESA: info: sub.u r15.z, c7.y, (last)r15.z
MESA: info: (rpt1)and.b r14.x, (r)r12.y, c17.y
MESA: info: shr.b r14.z, r12.y, 16
MESA: info: shl.b r15.z, 1, (last)r15.z
MESA: info: mull.u r14.w, r14.x, c2.x
MESA: info: mull.u r15.y, r14.x, c2.y
MESA: info: madsh.m16 r14.w, r14.x, r7.w, (last)r14.w
MESA: info: madsh.m16 r15.y, r14.x, r8.x, (last)r15.y
MESA: info: shr.b r17.z, r12.z, 16
MESA: info: mull.u r15.x, r14.y, c2.x
MESA: info: mull.u r17.w, r14.z, c2.x
MESA: info: cov.u32f32 r9.y, (last)r15.z
MESA: info: madsh.m16 r14.w, c2.x, r14.x, (last)r14.w
MESA: info: mull.u r15.z, r14.y, c2.y
MESA: info: madsh.m16 r14.x, c2.y, r14.x, (last)r15.y
MESA: info: madsh.m16 r15.x, r14.y, r7.w, (last)r15.x
MESA: info: madsh.m16 r17.w, r14.z, r7.w, (last)r17.w
MESA: info: madsh.m16 r15.z, r14.y, r8.x, (last)r15.z
MESA: info: mull.u r18.z, r17.z, c2.x
MESA: info: shl.b r6.y, r14.x, 16
MESA: info: madsh.m16 r15.x, c2.x, r14.y, (last)r15.x
MESA: info: madsh.m16 r17.w, c2.x, r14.z, (last)r17.w
MESA: info: madsh.m16 r14.y, c2.y, r14.y, (last)r15.z
MESA: info: madsh.m16 r18.z, r17.z, r7.w, (last)r18.z
MESA: info: add.u r6.y, r14.w, (last)r6.y
MESA: info: shl.b r7.z, r17.w, 16
MESA: info: shl.b r6.w, r14.y, 16
MESA: info: madsh.m16 r18.z, c2.x, r17.z, (last)r18.z
MESA: info: mull.u r18.w, r14.z, c2.y
MESA: info: cmps.u.lt hr29.z, r6.y, (last)r14.w
MESA: info: add.u r7.z, r6.y, (last)r7.z
MESA: info: add.u r6.w, r15.x, (last)r6.w
MESA: info: shl.b r13.z, r18.z, 16
MESA: info: madsh.m16 r18.w, r14.z, r8.x, (last)r18.w
MESA: info: mull.u r6.x, r17.z, c2.y
MESA: info: cov.u16s32 r6.z, (last)hr29.z
MESA: info: cmps.u.lt hr15.x, (last)r7.z, (last)r6.y
MESA: info: cmps.u.lt hr30.x, r6.w, (last)r15.x
MESA: info: add.u r13.z, r6.w, (last)r13.z
MESA: info: madsh.m16 r14.z, c2.y, r14.z, (last)r18.w
MESA: info: shr.b r14.x, (last)r14.x, 16
MESA: info: madsh.m16 r6.x, r17.z, r8.x, (last)r6.x
MESA: info: cov.u16s32 r9.z, (last)hr15.x
MESA: info: cov.u16s32 r7.x, (last)hr30.x
MESA: info: cmps.u.lt hr27.x, (last)r13.z, (last)r6.w
MESA: info: sad.s32 r14.z, (last)r14.z, r6.z, (last)r14.x
MESA: info: madsh.m16 r17.z, c2.y, r17.z, (last)r6.x
MESA: info: shr.b r17.w, (last)r17.w, 16
MESA: info: shr.b r14.y, (last)r14.y, 16
MESA: info: cov.u16s32 r14.x, (last)hr27.x
MESA: info: sad.s32 r14.z, (last)r14.z, r9.z, (last)r17.w
MESA: info: sad.s32 r17.z, (last)r17.z, r7.x, (last)r14.y
MESA: info: shr.b r18.z, (last)r18.z, 16
MESA: info: mull.u r14.y, r14.z, c1.w
MESA: info: sad.s32 r17.z, (last)r17.z, r14.x, (last)r18.z
MESA: info: madsh.m16 r14.y, r14.z, r8.w, (last)r14.y
MESA: info: add.u r15.x, r14.z, 1
MESA: info: mull.u r14.w, r17.z, c1.w
MESA: info: madsh.m16 r14.y, c1.w, r14.z, (last)r14.y
MESA: info: madsh.m16 r14.w, r17.z, r8.w, (last)r14.w
MESA: info: add.u r15.z, r17.z, 1
MESA: info: sub.u r12.y, (last)r12.y, (last)r14.y
MESA: info: madsh.m16 r14.w, c1.w, r17.z, (last)r14.w
MESA: info: xor.b r10.w, r10.y, c1.z
MESA: info: cmps.u.ge r15.y, r12.y, c1.w
MESA: info: add.u r18.z, r12.y, c2.z
MESA: info: sub.u r12.z, (last)r12.z, (last)r14.w
MESA: info: sel.b32 r15.x, (last)r15.x, r15.y, (last)r14.z
MESA: info: sel.b32 r18.z, (last)r18.z, r15.y, (last)r12.y
MESA: info: cmps.u.ge r17.w, r12.z, c1.w
MESA: info: add.u r18.w, r12.z, c2.z
MESA: info: add.u r6.x, r15.x, 1
MESA: info: cmps.u.ge r18.z, (last)r18.z, c1.w
MESA: info: sel.b32 r15.z, (last)r15.z, r17.w, (last)r17.z
MESA: info: sel.b32 r18.w, (last)r18.w, r17.w, (last)r12.z
MESA: info: sel.b32 r6.x, (last)r6.x, r18.z, (last)r15.x
MESA: info: add.u r6.y, r15.z, 1
MESA: info: cmps.u.ge r18.w, (last)r18.w, c1.w
MESA: info: xor.b r11.w, r10.z, c1.z
MESA: info: cmps.s.lt r10.w, (last)r10.w, 0
MESA: info: absneg.s r6.z, (neg)r6.x
MESA: info: sel.b32 r6.y, (last)r6.y, r18.w, (last)r15.z
MESA: info: cmps.s.lt r11.w, (last)r11.w, 0
MESA: info: sel.b32 r6.z, (last)r6.z, r10.w, (last)r6.x
MESA: info: absneg.s r6.w, (neg)r6.y
MESA: info: and.b r12.w, r10.y, c17.y
MESA: info: and.b r7.x, r6.z, c17.y
MESA: info: sel.b32 r6.w, (last)r6.w, r11.w, (last)r6.y
MESA: info: shr.b r7.z, r6.z, 16
MESA: info: mull.u r10.w, r7.x, c2.w
MESA: info: mull.u r12.y, r7.x, c3.x
MESA: info: and.b r9.z, r6.w, c17.y
MESA: info: madsh.m16 r10.w, r7.x, r11.x, (last)r10.w
MESA: info: madsh.m16 r12.y, r7.x, r11.y, (last)r12.y
MESA: info: shr.b r13.z, r6.w, 16
MESA: info: mull.u r14.x, r7.z, c2.w
MESA: info: mull.u r11.w, r9.z, c2.w
MESA: info: mull.u r12.z, r9.z, c3.x
MESA: info: madsh.m16 r10.w, c2.w, r7.x, (last)r10.w
MESA: info: madsh.m16 r7.x, c3.x, r7.x, (last)r12.y
MESA: info: madsh.m16 r14.x, r7.z, r11.x, (last)r14.x
MESA: info: madsh.m16 r11.w, r9.z, r11.x, (last)r11.w
MESA: info: madsh.m16 r12.z, r9.z, r11.y, (last)r12.z
MESA: info: mull.u r14.y, r13.z, c2.w
MESA: info: shl.b r15.x, r7.x, 16
MESA: info: madsh.m16 r14.x, c2.w, r7.z, (last)r14.x
MESA: info: madsh.m16 r11.w, c2.w, r9.z, (last)r11.w
MESA: info: madsh.m16 r9.z, c3.x, r9.z, (last)r12.z
MESA: info: madsh.m16 r14.y, r13.z, r11.x, (last)r14.y
MESA: info: add.u r15.x, r10.w, (last)r15.x
MESA: info: shl.b r17.w, r14.x, 16
MESA: info: shl.b r15.z, r9.z, 16
MESA: info: madsh.m16 r14.y, c2.w, r13.z, (last)r14.y
MESA: info: mull.u r14.z, r7.z, c3.x
MESA: info: cmps.u.lt hr21.z, r15.x, (last)r10.w
MESA: info: add.u r17.w, r15.x, (last)r17.w
MESA: info: add.u r15.z, r11.w, (last)r15.z
MESA: info: shl.b r18.w, r14.y, 16
MESA: info: madsh.m16 r14.z, r7.z, r11.y, (last)r14.z
MESA: info: mull.u r14.w, r13.z, c3.x
MESA: info: cov.u16s32 r15.y, (last)hr21.z
MESA: info: cmps.u.lt hr35.z, (last)r17.w, (last)r15.x
MESA: info: cmps.u.lt hr23.z, r15.z, (last)r11.w
MESA: info: add.u r18.w, r15.z, (last)r18.w
MESA: info: madsh.m16 r7.z, c3.x, r7.z, (last)r14.z
MESA: info: shr.b r7.x, (last)r7.x, 16
MESA: info: madsh.m16 r14.w, r13.z, r11.y, (last)r14.w
MESA: info: cov.u16s32 r18.z, (last)hr35.z
MESA: info: cov.u16s32 r17.z, (last)hr23.z
MESA: info: cmps.u.lt hr37.z, (last)r18.w, (last)r15.z
MESA: info: sad.s32 r7.z, (last)r7.z, r15.y, (last)r7.x
MESA: info: madsh.m16 r13.z, c3.x, r13.z, (last)r14.w
MESA: info: shr.b r14.x, (last)r14.x, 16
MESA: info: shr.b r9.z, (last)r9.z, 16
MESA: info: cov.u16s32 r6.x, (last)hr37.z
MESA: info: sad.s32 r7.z, (last)r7.z, r18.z, (last)r14.x
MESA: info: sad.s32 r13.z, (last)r13.z, r17.z, (last)r9.z
MESA: info: shr.b r14.y, (last)r14.y, 16
MESA: info: mull.u r6.y, c0.z, r7.z
MESA: info: sad.s32 r13.z, (last)r13.z, r6.x, (last)r14.y
MESA: info: madsh.m16 r6.y, c0.z, r7.z, (last)r6.y
MESA: info: absneg.s r14.w, (abs)r6.z
MESA: info: mull.u r7.x, c0.z, r13.z
MESA: info: madsh.m16 r7.z, (last)r7.z, r12.x, (last)r6.y
MESA: info: madsh.m16 r7.x, c0.z, r13.z, (last)r7.x
MESA: info: absneg.s r15.x, (abs)r6.w
MESA: info: add.u r7.z, r6.z, (last)r7.z
MESA: info: madsh.m16 r13.z, (last)r13.z, r12.x, (last)r7.x
MESA: info: (rpt1)and.b r17.z, (r)r14.w, c17.y
MESA: info: cmps.u.ge r9.z, r7.z, c0.w
MESA: info: add.u r10.w, r7.z, c0.z
MESA: info: add.u r13.z, r6.w, (last)r13.z
MESA: info: xor.b r14.z, (last)r6.z, c0.w
MESA: info: mull.u r6.x, r17.w, c3.y
MESA: info: sel.b32 r10.w, (last)r10.w, r9.z, (last)r7.z
MESA: info: cmps.u.ge r11.w, r13.z, c0.w
MESA: info: add.u r12.y, r13.z, c0.z
MESA: info: mull.u r6.z, r17.w, c3.z
MESA: info: madsh.m16 r6.x, r17.w, r13.x, (last)r6.x
MESA: info: madsh.m16 r6.z, r17.w, r13.y, (last)r6.z
MESA: info: cmps.u.ge r12.z, r10.w, c0.w
MESA: info: sel.b32 r12.y, (last)r12.y, r11.w, (last)r13.z
MESA: info: madsh.m16 r6.x, c3.y, r17.w, (last)r6.x
MESA: info: add.u r13.z, r10.w, c0.z
MESA: info: madsh.m16 r17.w, c3.z, r17.w, (last)r6.z
MESA: info: shr.b r18.z, r14.w, 16
MESA: info: mull.u r18.w, r17.z, c3.y
MESA: info: mull.u r6.y, r17.z, c3.z
MESA: info: sel.b32 r13.z, (last)r13.z, r12.z, (last)r10.w
MESA: info: shl.b r12.z, r17.w, 16
MESA: info: madsh.m16 r18.w, r17.z, r13.x, (last)r18.w
MESA: info: madsh.m16 r6.y, r17.z, r13.y, (last)r6.y
MESA: info: xor.b r15.y, (last)r6.w, c0.w
MESA: info: mull.u r7.x, r18.z, c3.y
MESA: info: add.u r12.z, r6.x, (last)r12.z
MESA: info: madsh.m16 r18.w, c3.y, r17.z, (last)r18.w
MESA: info: shr.b r6.w, r15.x, 16
MESA: info: madsh.m16 r17.z, c3.z, r17.z, (last)r6.y
MESA: info: madsh.m16 r7.x, r18.z, r13.x, (last)r7.x
MESA: info: cmps.u.ge r14.x, r12.y, c0.w
MESA: info: add.u r14.y, r12.y, c0.z
MESA: info: cmps.u.lt hr12.x, r12.z, (last)r6.x
MESA: info: mull.u r7.z, r6.w, c3.y
MESA: info: mull.u r10.w, r6.w, c3.z
MESA: info: shl.b r11.w, r17.z, 16
MESA: info: madsh.m16 r7.x, c3.y, r18.z, (last)r7.x
MESA: info: madsh.m16 r7.z, r6.w, r13.x, (last)r7.z
MESA: info: madsh.m16 r10.w, r6.w, r13.y, (last)r10.w
MESA: info: sel.b32 r14.y, (last)r14.y, r14.x, (last)r12.y
MESA: info: add.u r11.w, r18.w, (last)r11.w
MESA: info: shl.b r15.z, r7.x, 16
MESA: info: madsh.m16 r7.z, c3.y, r6.w, (last)r7.z
MESA: info: cov.u16s32 r14.x, (last)hr12.x
MESA: info: madsh.m16 r6.w, c3.z, r6.w, (last)r10.w
MESA: info: shr.b r17.w, (last)r17.w, 16
MESA: info: mull.u r9.z, r18.z, c3.z
MESA: info: cmps.u.lt hr37.z, r11.w, (last)r18.w
MESA: info: add.u r15.z, r11.w, (last)r15.z
MESA: info: sad.s32 r6.w, (last)r6.w, r14.x, (last)r17.w
MESA: info: shl.b r17.w, r7.z, 16
MESA: info: madsh.m16 r9.z, r18.z, r13.y, (last)r9.z
MESA: info: cov.u16s32 r12.y, (last)hr37.z
MESA: info: cmps.u.lt hr31.x, (last)r15.z, (last)r11.w
MESA: info: add.u r17.w, r12.z, (last)r17.w
MESA: info: madsh.m16 r18.z, c3.z, r18.z, (last)r9.z
MESA: info: shr.b r17.z, (last)r17.z, 16
MESA: info: cmps.u.lt hr35.z, (last)r17.w, (last)r12.z
MESA: info: sad.s32 r18.z, (last)r18.z, r12.y, (last)r17.z
MESA: info: cov.u16s32 r17.z, (last)hr31.x
MESA: info: shr.b r7.x, (last)r7.x, 16
MESA: info: cov.u16s32 r18.w, (last)hr35.z
MESA: info: sad.s32 r18.z, (last)r18.z, r17.z, (last)r7.x
MESA: info: shr.b r7.z, (last)r7.z, 16
MESA: info: cmps.s.lt r14.z, (last)r14.z, 0
MESA: info: mull.u r6.x, r18.z, c1.x
MESA: info: sad.s32 r6.w, (last)r6.w, r18.w, (last)r7.z
MESA: info: madsh.m16 r6.x, r18.z, r13.w, (last)r6.x
MESA: info: add.u r6.z, r18.z, 1
MESA: info: mull.u r6.y, r6.w, c1.x
MESA: info: madsh.m16 r6.x, c1.x, r18.z, (last)r6.x
MESA: info: madsh.m16 r6.y, r6.w, r13.w, (last)r6.y
MESA: info: add.u r7.z, r6.w, 1
MESA: info: sub.u r14.w, (last)r14.w, (last)r6.x
MESA: info: madsh.m16 r6.y, c1.x, r6.w, (last)r6.y
MESA: info: cmps.s.lt r15.y, (last)r15.y, 0
MESA: info: cmps.u.ge r7.x, r14.w, c1.x
MESA: info: add.u r10.w, r14.w, c3.w
MESA: info: sub.u r15.x, (last)r15.x, (last)r6.y
MESA: info: sel.b32 r6.z, (last)r6.z, r7.x, (last)r18.z
MESA: info: sel.b32 r10.w, (last)r10.w, r7.x, (last)r14.w
MESA: info: cmps.u.ge r9.z, r15.x, c1.x
MESA: info: add.u r11.w, r15.x, c3.w
MESA: info: add.u r12.y, r6.z, 1
MESA: info: cmps.u.ge r10.w, (last)r10.w, c1.x
MESA: info: sel.b32 r7.z, (last)r7.z, r9.z, (last)r6.w
MESA: info: sel.b32 r11.w, (last)r11.w, r9.z, (last)r15.x
MESA: info: sel.b32 r12.y, (last)r12.y, r10.w, (last)r6.z
MESA: info: add.u r12.z, r7.z, 1
MESA: info: cmps.u.ge r11.w, (last)r11.w, c1.x
MESA: info: absneg.s r14.x, (neg)r12.y
MESA: info: mull.u r15.z, r12.w, c4.y
MESA: info: sel.b32 r12.z, (last)r12.z, r11.w, (last)r7.z
MESA: info: and.b r14.w, r10.z, c17.y
MESA: info: mull.u r15.x, r12.w, c4.x
MESA: info: sel.b32 r14.x, (last)r14.x, r14.z, (last)r12.y
MESA: info: absneg.s r14.z, (neg)r12.z
MESA: info: (rpt1)shr.b r18.z, (r)r10.y, 16
MESA: info: madsh.m16 r15.z, r12.w, r11.z, (last)r15.z
MESA: info: madsh.m16 r15.x, r12.w, r17.y, (last)r15.x
MESA: info: mull.u r17.z, r14.w, c4.y
MESA: info: sel.b32 r14.z, (last)r14.z, r15.y, (last)r12.z
MESA: info: mull.u r6.z, r18.z, c4.x
MESA: info: madsh.m16 r15.x, c4.x, r12.w, (last)r15.x
MESA: info: mull.u r15.y, r14.w, c4.x
MESA: info: madsh.m16 r12.w, c4.y, r12.w, (last)r15.z
MESA: info: madsh.m16 r17.z, r14.w, r11.z, (last)r17.z
MESA: info: madsh.m16 r6.z, r18.z, r17.y, (last)r6.z
MESA: info: madsh.m16 r15.y, r14.w, r17.y, (last)r15.y
MESA: info: mull.u r6.w, r18.w, c4.x
MESA: info: shl.b r6.x, r12.w, 16
MESA: info: madsh.m16 r6.z, c4.x, r18.z, (last)r6.z
MESA: info: madsh.m16 r15.y, c4.x, r14.w, (last)r15.y
MESA: info: madsh.m16 r14.w, c4.y, r14.w, (last)r17.z
MESA: info: madsh.m16 r6.w, r18.w, r17.y, (last)r6.w
MESA: info: add.u r6.x, r15.x, (last)r6.x
MESA: info: shl.b r11.w, r6.z, 16
MESA: info: shl.b r9.z, r14.w, 16
MESA: info: madsh.m16 r6.w, c4.x, r18.w, (last)r6.w
MESA: info: mull.u r7.x, r18.z, c4.y
MESA: info: cmps.u.lt hr30.x, r6.x, (last)r15.x
MESA: info: add.u r11.w, r6.x, (last)r11.w
MESA: info: add.u r9.z, r15.y, (last)r9.z
MESA: info: shl.b r12.z, r6.w, 16
MESA: info: madsh.m16 r7.x, r18.z, r11.z, (last)r7.x
MESA: info: mull.u r7.z, r18.w, c4.y
MESA: info: cov.u16s32 r6.y, (last)hr30.x
MESA: info: cmps.u.lt hr23.z, (last)r11.w, (last)r6.x
MESA: info: cmps.u.lt hr30.z, r9.z, (last)r15.y
MESA: info: add.u r12.z, r9.z, (last)r12.z
MESA: info: madsh.m16 r18.z, c4.y, r18.z, (last)r7.x
MESA: info: shr.b r12.w, (last)r12.w, 16
MESA: info: madsh.m16 r7.z, r18.w, r11.z, (last)r7.z
MESA: info: cov.u16s32 r12.y, (last)hr23.z
MESA: info: cov.u16s32 r10.w, (last)hr30.z
MESA: info: cmps.u.lt hr25.x, (last)r12.z, (last)r9.z
MESA: info: sad.s32 r18.z, (last)r18.z, r6.y, (last)r12.w
MESA: info: madsh.m16 r18.w, c4.y, r18.w, (last)r7.z
MESA: info: shr.b r6.z, (last)r6.z, 16
MESA: info: shr.b r14.w, (last)r14.w, 16
MESA: info: cov.u16s32 r12.w, (last)hr25.x
MESA: info: sad.s32 r18.z, (last)r18.z, r12.y, (last)r6.z
MESA: info: sad.s32 r18.w, (last)r18.w, r10.w, (last)r14.w
MESA: info: shr.b r6.w, (last)r6.w, 16
MESA: info: mull.u r14.w, r18.z, c1.z
MESA: info: sad.s32 r18.w, (last)r18.w, r12.w, (last)r6.w
MESA: info: (nop1) madsh.m16 r14.w, r18.z, r16.x, (last)r14.w
MESA: info: mull.u r15.x, r18.w, c1.z
MESA: info: madsh.m16 r18.z, c1.z, r18.z, (last)r14.w
MESA: info: (nop1) madsh.m16 r15.x, r18.w, r16.x, (last)r15.x
MESA: info: sub.u r18.z, r10.y, (last)r18.z
MESA: info: (nop1) madsh.m16 r18.w, c1.z, r18.w, (last)r15.x
MESA: info: cmps.u.ge r15.y, r18.z, c1.z
MESA: info: add.u r15.z, r18.z, c4.z
MESA: info: (nop1) sub.u r18.w, r10.z, (last)r18.w
MESA: info: sel.b32 r15.z, (last)r15.z, r15.y, (last)r18.z
MESA: info: cmps.u.ge r17.z, r18.w, c1.z
MESA: info: add.u r17.w, r18.w, c4.z
MESA: info: (nop1) cmps.u.ge r18.z, r15.z, c1.z
MESA: info: sel.b32 r17.w, (last)r17.w, r17.z, (last)r18.w
MESA: info: (nop1) add.u r18.w, r15.z, c4.z
MESA: info: cmps.u.ge r6.x, r17.w, c1.z
MESA: info: sel.b32 r18.w, (last)r18.w, r18.z, (last)r15.z
MESA: info: (nop1) add.u r6.y, r17.w, c4.z
MESA: info: and.b r6.z, r18.w, c17.y
MESA: info: sel.b32 r6.y, (last)r6.y, r6.x, (last)r17.w
MESA: info: shr.b r6.w, r18.w, 16
MESA: info: mull.u r7.z, r6.z, c4.w
MESA: info: mull.u r10.w, r6.z, c5.x
MESA: info: madsh.m16 r7.z, r6.z, r16.y, (last)r7.z
MESA: info: madsh.m16 r10.w, r6.z, r16.w, (last)r10.w
MESA: info: madsh.m16 r7.z, c4.w, r6.z, (last)r7.z
MESA: info: madsh.m16 r6.z, c5.x, r6.z, (last)r10.w
MESA: info: and.b r7.x, r6.y, c17.y
MESA: info: shr.b r12.y, r6.y, 16
MESA: info: shl.b r15.y, r6.z, 16
MESA: info: mull.u r9.z, r7.x, c4.w
MESA: info: mull.u r11.w, r7.x, c5.x
MESA: info: add.u r15.y, r7.z, (last)r15.y
MESA: info: madsh.m16 r9.z, r7.x, r16.y, (last)r9.z
MESA: info: madsh.m16 r11.w, r7.x, r16.w, (last)r11.w
MESA: info: mull.u r12.z, r6.w, c4.w
MESA: info: mull.u r14.w, r6.w, c5.x
MESA: info: mull.u r12.w, r12.y, c4.w
MESA: info: cmps.u.lt hr15.x, r15.y, (last)r7.z
MESA: info: madsh.m16 r9.z, c4.w, r7.x, (last)r9.z
MESA: info: madsh.m16 r7.x, c5.x, r7.x, (last)r11.w
MESA: info: madsh.m16 r12.z, r6.w, r16.y, (last)r12.z
MESA: info: madsh.m16 r14.w, r6.w, r16.w, (last)r14.w
MESA: info: madsh.m16 r12.w, r12.y, r16.y, (last)r12.w
MESA: info: cov.u16s32 r15.z, (last)hr15.x
MESA: info: shl.b r17.z, r7.x, 16
MESA: info: madsh.m16 r12.z, c4.w, r6.w, (last)r12.z
MESA: info: madsh.m16 r12.w, c4.w, r12.y, (last)r12.w
MESA: info: madsh.m16 r6.w, c5.x, r6.w, (last)r14.w
MESA: info: shr.b r6.z, (last)r6.z, 16
MESA: info: add.u r17.z, r9.z, (last)r17.z
MESA: info: sad.s32 r6.w, (last)r6.w, r15.z, (last)r6.z
MESA: info: shl.b r6.z, r12.w, 16
MESA: info: mull.u r15.x, r12.y, c5.x
MESA: info: shl.b r18.z, r12.z, 16
MESA: info: cmps.u.lt hr19.x, r17.z, (last)r9.z
MESA: info: add.u r6.z, r17.z, (last)r6.z
MESA: info: madsh.m16 r15.x, r12.y, r16.w, (last)r15.x
MESA: info: add.u r18.z, r15.y, (last)r18.z
MESA: info: cov.u16s32 r17.w, (last)hr19.x
MESA: info: cmps.u.lt hr13.x, (last)r6.z, (last)r17.z
MESA: info: madsh.m16 r12.y, c5.x, r12.y, (last)r15.x
MESA: info: shr.b r7.x, (last)r7.x, 16
MESA: info: cmps.u.lt hr37.x, (last)r18.z, (last)r15.y
MESA: info: sad.s32 r12.y, (last)r12.y, r17.w, (last)r7.x
MESA: info: cov.u16s32 r7.x, (last)hr13.x
MESA: info: shr.b r12.w, (last)r12.w, 16
MESA: info: cov.u16s32 r6.x, (last)hr37.x
MESA: info: sad.s32 r12.y, (last)r12.y, r7.x, (last)r12.w
MESA: info: shr.b r12.z, (last)r12.z, 16
MESA: info: absneg.s r18.z, (abs)r18.w
MESA: info: mull.u r9.z, r12.y, c1.y
MESA: info: sad.s32 r6.w, (last)r6.w, r6.x, (last)r12.z
MESA: info: madsh.m16 r9.z, r12.y, r17.x, (last)r9.z
MESA: info: xor.b r17.z, r18.w, c1.y
MESA: info: mull.u r7.z, r6.w, c1.y
MESA: info: madsh.m16 r12.y, c1.y, r12.y, (last)r9.z
MESA: info: madsh.m16 r7.z, r6.w, r17.x, (last)r7.z
MESA: info: xor.b r6.x, r6.y, c1.y
MESA: info: sub.u r12.y, r6.y, (last)r12.y
MESA: info: madsh.m16 r6.w, c1.y, r6.w, (last)r7.z
MESA: info: cmps.s.lt r17.z, (last)r17.z, 0
MESA: info: cmps.u.ge r12.z, r12.y, c1.y
MESA: info: add.u r12.w, r12.y, c5.y
MESA: info: sub.u r6.w, (last)r18.w, (last)r6.w
MESA: info: absneg.s r18.w, (last)(abs)r6.y
MESA: info: sel.b32 r12.w, (last)r12.w, r12.z, (last)r12.y
MESA: info: (rpt1)and.b r6.y, (r)r18.z, c17.y
MESA: info: cmps.u.ge r15.y, r12.w, c1.y
MESA: info: mull.u r7.x, r6.y, c5.w
MESA: info: mull.u r9.z, r6.y, c6.x
MESA: info: madsh.m16 r7.x, r6.y, r18.x, (last)r7.x
MESA: info: madsh.m16 r9.z, r6.y, r18.y, (last)r9.z
MESA: info: add.u r15.z, r12.w, c5.y
MESA: info: madsh.m16 r7.x, c5.w, r6.y, (last)r7.x
MESA: info: madsh.m16 r6.y, c6.x, r6.y, (last)r9.z
MESA: info: cmps.u.ge r10.w, r6.w, c1.y
MESA: info: add.u r11.w, r6.w, c5.y
MESA: info: sel.b32 r15.z, (last)r15.z, r15.y, (last)r12.w
MESA: info: shl.b r15.y, r6.y, 16
MESA: info: sel.b32 r11.w, (last)r11.w, r10.w, (last)r6.w
MESA: info: shr.b r6.w, r18.z, 16
MESA: info: add.u r15.y, r7.x, (last)r15.y
MESA: info: mull.u r7.z, r6.z, c5.w
MESA: info: mull.u r10.w, r6.z, c6.x
MESA: info: mull.u r12.y, r6.w, c5.w
MESA: info: mull.u r12.w, r6.w, c6.x
MESA: info: cmps.u.lt hr14.x, r15.y, (last)r7.x
MESA: info: madsh.m16 r7.z, r6.z, r18.x, (last)r7.z
MESA: info: madsh.m16 r10.w, r6.z, r18.y, (last)r10.w
MESA: info: madsh.m16 r12.y, r6.w, r18.x, (last)r12.y
MESA: info: madsh.m16 r12.w, r6.w, r18.y, (last)r12.w
MESA: info: cov.u16s32 r17.w, (last)hr14.x
MESA: info: madsh.m16 r7.z, c5.w, r6.z, (last)r7.z
MESA: info: madsh.m16 r12.y, c5.w, r6.w, (last)r12.y
MESA: info: madsh.m16 r6.z, c6.x, r6.z, (last)r10.w
MESA: info: madsh.m16 r6.w, c6.x, r6.w, (last)r12.w
MESA: info: shr.b r6.y, (last)r6.y, 16
MESA: info: cmps.u.ge r14.w, r11.w, c1.y
MESA: info: add.u r15.x, r11.w, c5.y
MESA: info: sad.s32 r6.w, (last)r6.w, r17.w, (last)r6.y
MESA: info: shl.b r6.y, r6.z, 16
MESA: info: sel.b32 r15.x, (last)r15.x, r14.w, (last)r11.w
MESA: info: shr.b r11.w, r18.w, 16
MESA: info: add.u r6.y, r7.z, (last)r6.y
MESA: info: shr.b r6.z, (last)r6.z, 16
MESA: info: mull.u r12.z, r11.w, c5.w
MESA: info: cmps.u.lt hr15.x, r6.y, (last)r7.z
MESA: info: madsh.m16 r12.z, r11.w, r18.x, (last)r12.z
MESA: info: mull.u r14.w, r11.w, c6.x
MESA: info: cov.u16s32 r7.x, (last)hr15.x
MESA: info: madsh.m16 r12.z, c5.w, r11.w, (last)r12.z
MESA: info: shl.b r7.z, r12.y, 16
MESA: info: madsh.m16 r14.w, r11.w, r18.y, (last)r14.w
MESA: info: shl.b r10.w, r12.z, 16
MESA: info: add.u r7.z, r15.y, (last)r7.z
MESA: info: madsh.m16 r11.w, c6.x, r11.w, (last)r14.w
MESA: info: add.u r10.w, r6.y, (last)r10.w
MESA: info: cmps.u.lt hr15.x, (last)r7.z, (last)r15.y
MESA: info: shr.b r12.y, (last)r12.y, 16
MESA: info: cmps.u.lt hr21.z, (last)r10.w, (last)r6.y
MESA: info: cov.u16s32 r9.z, (last)hr15.x
MESA: info: sad.s32 r11.w, (last)r11.w, r7.x, (last)r6.z
MESA: info: shr.b r12.z, (last)r12.z, 16
MESA: info: sad.s32 r6.w, (last)r6.w, r9.z, (last)r12.y
MESA: info: cov.u16s32 r12.y, (last)hr21.z
MESA: info: cmps.s.lt r6.x, (last)r6.x, 0
MESA: info: add.u r14.w, r6.w, 1
MESA: info: sad.s32 r11.w, (last)r11.w, r12.y, (last)r12.z
MESA: info: mull.u r12.z, r6.w, c5.z
MESA: info: mull.u r12.y, r14.y, c1.y
MESA: info: madsh.m16 r12.z, r6.w, r7.y, (last)r12.z
MESA: info: mull.u r12.w, r11.w, c5.z
MESA: info: madsh.m16 r12.z, c5.z, r6.w, (last)r12.z
MESA: info: madsh.m16 r12.w, r11.w, r7.y, (last)r12.w
MESA: info: add.u r17.w, r11.w, 1
MESA: info: sub.u r18.z, (last)r18.z, (last)r12.z
MESA: info: madsh.m16 r12.w, c5.z, r11.w, (last)r12.w
MESA: info: mull.u r12.z, r14.x, c1.y
MESA: info: cmps.u.ge r15.y, r18.z, c5.z
MESA: info: add.u r6.z, r18.z, c6.y
MESA: info: sub.u r18.w, (last)r18.w, (last)r12.w
MESA: info: sel.b32 r14.w, (last)r14.w, r15.y, (last)r6.w
MESA: info: sel.b32 r6.z, (last)r6.z, r15.y, (last)r18.z
MESA: info: cmps.u.ge r6.y, r18.w, c5.z
MESA: info: add.u r6.w, r18.w, c6.y
MESA: info: add.u r7.x, r14.w, 1
MESA: info: cmps.u.ge r6.z, (last)r6.z, c5.z
MESA: info: sel.b32 r17.w, (last)r17.w, r6.y, (last)r11.w
MESA: info: sel.b32 r6.w, (last)r6.w, r6.y, (last)r18.w
MESA: info: sel.b32 r7.x, (last)r7.x, r6.z, (last)r14.w
MESA: info: add.u r7.z, r17.w, 1
MESA: info: mull.u r11.w, r13.z, c1.y
MESA: info: cmps.u.ge r6.w, (last)r6.w, c5.z
MESA: info: madsh.m16 r11.w, r13.z, r17.x, (last)r11.w
MESA: info: absneg.s r9.z, (neg)r7.x
MESA: info: sel.b32 r7.z, (last)r7.z, r6.w, (last)r17.w
MESA: info: madsh.m16 r13.z, c1.y, r13.z, (last)r11.w
MESA: info: madsh.m16 r12.z, r14.x, r17.x, (last)r12.z
MESA: info: mull.u r12.w, r14.z, c1.y
MESA: info: sel.b32 r9.z, (last)r9.z, r17.z, (last)r7.x
MESA: info: absneg.s r10.w, (neg)r7.z
MESA: info: add.u r13.z, (last)r13.z, (last)r15.x
MESA: info: madsh.m16 r14.x, c1.y, r14.x, (last)r12.z
MESA: info: madsh.m16 r12.y, r14.y, r17.x, (last)r12.y
MESA: info: madsh.m16 r12.w, r14.z, r17.x, (last)r12.w
MESA: info: sel.b32 r10.w, (last)r10.w, r6.x, (last)r7.z
MESA: info: mull.u r14.w, r13.z, c6.z
MESA: info: add.u r14.x, (last)r14.x, (last)r9.z
MESA: info: madsh.m16 r14.y, c1.y, r14.y, (last)r12.y
MESA: info: madsh.m16 r14.z, c1.y, r14.z, (last)r12.w
MESA: info: madsh.m16 r14.w, r13.z, r9.x, (last)r14.w
MESA: info: mull.u r15.y, r14.x, c6.z
MESA: info: add.u r14.y, (last)r14.y, (last)r15.z
MESA: info: add.u r14.z, (last)r14.z, (last)r10.w
MESA: info: madsh.m16 r13.z, c6.z, r13.z, (last)r14.w
MESA: info: madsh.m16 r15.y, r14.x, r9.x, (last)r15.y
MESA: info: mull.u r15.x, r14.y, c6.z
MESA: info: mull.u r15.z, r14.z, c6.z
MESA: info: cov.s32f32 r13.z, (last)r13.z
MESA: info: madsh.m16 r14.x, c6.z, r14.x, (last)r15.y
MESA: info: madsh.m16 r15.x, r14.y, r9.x, (last)r15.x
MESA: info: madsh.m16 r15.z, r14.z, r9.x, (last)r15.z
MESA: info: shl.b r17.z, r10.y, 3
MESA: info: add.f r13.z, c0.x, (last)r13.z
MESA: info: cov.s32f32 r14.x, (last)r14.x
MESA: info: madsh.m16 r14.y, c6.z, r14.y, (last)r15.x
MESA: info: madsh.m16 r14.z, c6.z, r14.z, (last)r15.z
MESA: info: shl.b r10.y, (last)r10.y, 5
MESA: info: isam.v.base3 (u32)(xy)r6.x, r17.z, s#0, t#0
MESA: info: max.f r18.z, c12.x, r13.z
MESA: info: add.f r14.x, c0.y, (last)r14.x
MESA: info: cov.s32f32 r14.y, (last)r14.y
MESA: info: cov.s32f32 r14.z, (last)r14.z
MESA: info: add.u r6.z, r10.y, 12
MESA: info: add.f r13.z, (last)r13.z, c7.z
MESA: info: add.u r6.w, (last)r10.y, 28
MESA: info: add.f r14.y, c0.x, (last)r14.y
MESA: info: add.f r14.z, c0.y, (last)r14.z
MESA: info: min.f r18.z, (last)r18.z, (last)r13.z
MESA: info: (rpt1)shr.b r6.z, (last)(r)r6.z, 2
MESA: info: max.f r13.z, c12.y, r14.x
MESA: info: add.f r14.x, (last)r14.x, c7.z
MESA: info: max.f r12.w, c12.x, r14.y
MESA: info: add.f r14.y, (last)r14.y, c7.z
MESA: info: min.f r13.z, (last)r13.z, (last)r14.x
MESA: info: max.f r14.x, c12.y, r14.z
MESA: info: add.f r14.z, (last)r14.z, c7.z
MESA: info: min.f r12.w, (last)r12.w, (last)r14.y
MESA: info: shl.b r17.w, r10.z, 5
MESA: info: min.f r14.x, (last)r14.x, (last)r14.z
MESA: info: isam.v.base3 (u32)(xyzw)r14.y, r6.z, s#0, t#0
MESA: info: isam.v.base3 (u32)(x)r15.y, r6.w, s#0, t#0
MESA: info: mov.u32u32 r15.z, r0.w
MESA: info: add.u r12.y, r17.w, 12
MESA: info: add.u r12.z, (last)r17.w, 28
MESA: info: shl.b r10.z, (last)r10.z, 3
MESA: info: (rpt1)shr.b r12.y, (last)(r)r12.y, 2
MESA: info: (sy)max.f r6.x, c12.z, (last)r6.x
MESA: info: mov.u32u32 r4.w, (last)r14.y
MESA: info: mov.u32u32 r5.x, (last)r14.z
MESA: info: min.f r6.x, (last)r6.x, (last)r6.y
MESA: info: mov.u32u32 r5.y, (last)r14.w
MESA: info: mov.u32u32 r5.z, (last)r15.x
MESA: info: mov.u32u32 r5.w, (last)r15.y
MESA: info: l1988:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.s.lt p0.x, r15.z, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l1994
MESA: info: mov.u32u32 r15.z, 0xffffffff
MESA: info: jump #l2014
MESA: info: l1994:
MESA: info: add.f r17.w, c12.y, (neg)r13.z
MESA: info: add.f r18.w, c12.z, (neg)r6.x
MESA: info: add.f r6.y, c12.x, (neg)r18.z
MESA: info: mul.f r17.w, (last)r17.w, r17.w
MESA: info: cov.u32s16 hr35.x, r15.z
MESA: info: (nop1) mad.f32 r18.w, (last)r18.w, r18.w, (last)r17.w
MESA: info: mad.f32 r6.y, (last)r6.y, r6.y, (last)r18.w
MESA: info: mova a0.x, (last)hr35.x
MESA: info: (rpt3)nop
MESA: info: rsq r6.y, (last)r6.y
MESA: info: nop
MESA: info: (ul)mov.u32u32 r6.z, r<a0.x + 19>
MESA: info: (rpt1)nop
MESA: info: (ss)(nop2) mul.f r6.z, (last)r6.z, (last)r6.y
MESA: info: (nop2) mul.f r6.z, c13.x, (last)r6.z
MESA: info: (nop3) cmps.f.lt p0.x, (last)r6.z, c13.y
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l2014
MESA: info: add.u r15.z, (last)r15.z, -1
MESA: info: jump #l1988
MESA: info: l2014:
MESA: info: (jp)(rpt1)absneg.s r17.z, (abs)(r)r8.y
MESA: info: sub.u r15.z, c7.y, (last)r15.z
MESA: info: (rpt1)and.b r4.w, (r)r17.z, c17.y
MESA: info: shr.b r5.y, r17.z, 16
MESA: info: shr.b r6.z, r17.w, 16
MESA: info: mull.u r5.z, r4.w, c2.x
MESA: info: mull.u r5.w, r5.x, c2.x
MESA: info: mull.u r6.x, r4.w, c2.y
MESA: info: mull.u r6.y, r5.x, c2.y
MESA: info: madsh.m16 r5.z, r4.w, r7.w, (last)r5.z
MESA: info: madsh.m16 r5.w, r5.x, r7.w, (last)r5.w
MESA: info: madsh.m16 r6.x, r4.w, r8.x, (last)r6.x
MESA: info: madsh.m16 r6.y, r5.x, r8.x, (last)r6.y
MESA: info: mull.u r6.w, r5.y, c2.x
MESA: info: mull.u r7.x, r6.z, c2.x
MESA: info: madsh.m16 r5.z, c2.x, r4.w, (last)r5.z
MESA: info: madsh.m16 r5.w, c2.x, r5.x, (last)r5.w
MESA: info: madsh.m16 r4.w, c2.y, r4.w, (last)r6.x
MESA: info: madsh.m16 r5.x, c2.y, r5.x, (last)r6.y
MESA: info: madsh.m16 r6.w, r5.y, r7.w, (last)r6.w
MESA: info: madsh.m16 r7.w, r6.z, r7.w, (last)r7.x
MESA: info: shl.b r10.y, r4.w, 16
MESA: info: shl.b r11.w, r5.x, 16
MESA: info: madsh.m16 r6.w, c2.x, r5.y, (last)r6.w
MESA: info: madsh.m16 r7.w, c2.x, r6.z, (last)r7.w
MESA: info: add.u r10.y, r5.z, (last)r10.y
MESA: info: add.u r11.w, r5.w, (last)r11.w
MESA: info: shl.b r14.z, r6.w, 16
MESA: info: shl.b r15.x, r7.w, 16
MESA: info: mull.u r7.z, r5.y, c2.y
MESA: info: mull.u r9.z, r6.z, c2.y
MESA: info: cmps.u.lt hr11.x, r10.y, (last)r5.z
MESA: info: cmps.u.lt hr11.z, r11.w, (last)r5.w
MESA: info: add.u r14.z, r10.y, (last)r14.z
MESA: info: add.u r15.x, r11.w, (last)r15.x
MESA: info: madsh.m16 r7.z, r5.y, r8.x, (last)r7.z
MESA: info: madsh.m16 r8.x, r6.z, r8.x, (last)r9.z
MESA: info: cov.u16s32 r10.w, (last)hr11.x
MESA: info: cov.u16s32 r13.z, (last)hr11.z
MESA: info: cmps.u.lt hr29.x, (last)r14.z, (last)r10.y
MESA: info: cmps.u.lt hr30.x, (last)r15.x, (last)r11.w
MESA: info: madsh.m16 r5.y, c2.y, r5.y, (last)r7.z
MESA: info: madsh.m16 r6.z, c2.y, r6.z, (last)r8.x
MESA: info: shr.b r4.w, (last)r4.w, 16
MESA: info: shr.b r5.x, (last)r5.x, 16
MESA: info: cov.u16s32 r14.w, (last)hr29.x
MESA: info: cov.u16s32 r18.w, (last)hr30.x
MESA: info: sad.s32 r5.y, (last)r5.y, r10.w, (last)r4.w
MESA: info: sad.s32 r6.z, (last)r6.z, r13.z, (last)r5.x
MESA: info: shr.b r6.w, (last)r6.w, 16
MESA: info: shr.b r7.w, (last)r7.w, 16
MESA: info: sad.s32 r5.y, (last)r5.y, r14.w, (last)r6.w
MESA: info: sad.s32 r6.z, (last)r6.z, r18.w, (last)r7.w
MESA: info: shl.b r15.z, 1, (last)r15.z
MESA: info: mull.u r4.w, r5.y, c1.w
MESA: info: mull.u r5.x, r6.z, c1.w
MESA: info: madsh.m16 r4.w, r5.y, r8.w, (last)r4.w
MESA: info: madsh.m16 r8.w, r6.z, r8.w, (last)r5.x
MESA: info: madsh.m16 r4.w, c1.w, r5.y, (last)r4.w
MESA: info: madsh.m16 r8.w, c1.w, r6.z, (last)r8.w
MESA: info: add.u r6.x, r6.z, 1
MESA: info: sub.u r17.z, (last)r17.z, (last)r4.w
MESA: info: sub.u r17.w, (last)r17.w, (last)r8.w
MESA: info: add.u r5.z, r5.y, 1
MESA: info: cmps.u.ge r5.w, r17.z, c1.w
MESA: info: cmps.u.ge r6.y, r17.w, c1.w
MESA: info: add.u r6.w, r17.w, c2.z
MESA: info: cov.u32f32 r15.z, (last)r15.z
MESA: info: sel.b32 r6.x, (last)r6.x, r6.y, (last)r6.z
MESA: info: sel.b32 r6.w, (last)r6.w, r6.y, (last)r17.w
MESA: info: add.u r6.z, r17.z, c2.z
MESA: info: sel.b32 r5.z, (last)r5.z, r5.w, (last)r5.y
MESA: info: add.u r7.z, r6.x, 1
MESA: info: cmps.u.ge r6.w, (last)r6.w, c1.w
MESA: info: sel.b32 r6.z, (last)r6.z, r5.w, (last)r17.z
MESA: info: min.f r14.y, r9.y, (last)r15.z
MESA: info: add.u r7.x, r5.z, 1
MESA: info: sel.b32 r7.z, (last)r7.z, r6.w, (last)r6.x
MESA: info: cmps.u.ge r6.z, (last)r6.z, c1.w
MESA: info: xor.b r15.z, r8.z, c1.z
MESA: info: xor.b r15.y, r8.y, c1.z
MESA: info: absneg.s r8.x, (neg)r7.z
MESA: info: sel.b32 r7.x, (last)r7.x, r6.z, (last)r5.z
MESA: info: cmps.s.lt r15.z, (last)r15.z, 0
MESA: info: cmps.s.lt r15.y, (last)r15.y, 0
MESA: info: absneg.s r7.w, (neg)r7.x
MESA: info: sel.b32 r8.x, (last)r8.x, r15.z, (last)r7.z
MESA: info: and.b r18.z, r8.y, c17.y
MESA: info: sel.b32 r7.w, (last)r7.w, r15.y, (last)r7.x
MESA: info: and.b r10.y, r8.x, c17.y
MESA: info: shr.b r14.w, r8.x, 16
MESA: info: and.b r8.w, r7.w, c17.y
MESA: info: shr.b r9.z, r7.w, 16
MESA: info: mull.u r11.w, r10.y, c2.w
MESA: info: mull.u r14.z, r10.y, c3.x
MESA: info: madsh.m16 r11.w, r10.y, r11.x, (last)r11.w
MESA: info: madsh.m16 r14.z, r10.y, r11.y, (last)r14.z
MESA: info: mull.u r15.y, r14.w, c2.w
MESA: info: mull.u r10.w, r8.w, c2.w
MESA: info: mull.u r15.x, r9.z, c2.w
MESA: info: madsh.m16 r11.w, c2.w, r10.y, (last)r11.w
MESA: info: madsh.m16 r10.y, c3.x, r10.y, (last)r14.z
MESA: info: madsh.m16 r10.w, r8.w, r11.x, (last)r10.w
MESA: info: madsh.m16 r15.x, r9.z, r11.x, (last)r15.x
MESA: info: madsh.m16 r11.x, r14.w, r11.x, (last)r15.y
MESA: info: shl.b r4.w, r10.y, 16
MESA: info: madsh.m16 r11.x, c2.w, r14.w, (last)r11.x
MESA: info: mull.u r13.z, r8.w, c3.x
MESA: info: add.u r4.w, r11.w, (last)r4.w
MESA: info: shl.b r5.w, r11.x, 16
MESA: info: madsh.m16 r13.z, r8.w, r11.y, (last)r13.z
MESA: info: madsh.m16 r10.w, c2.w, r8.w, (last)r10.w
MESA: info: madsh.m16 r8.w, c3.x, r8.w, (last)r13.z
MESA: info: mull.u r17.z, r14.w, c3.x
MESA: info: mull.u r15.z, r9.z, c3.x
MESA: info: cmps.u.lt hr23.z, r4.w, (last)r11.w
MESA: info: add.u r5.w, r4.w, (last)r5.w
MESA: info: madsh.m16 r15.x, c2.w, r9.z, (last)r15.x
MESA: info: shl.b r17.w, r8.w, 16
MESA: info: madsh.m16 r15.z, r9.z, r11.y, (last)r15.z
MESA: info: madsh.m16 r11.y, r14.w, r11.y, (last)r17.z
MESA: info: cov.u16s32 r5.x, (last)hr23.z
MESA: info: cmps.u.lt hr11.z, (last)r5.w, (last)r4.w
MESA: info: madsh.m16 r14.w, c3.x, r14.w, (last)r11.y
MESA: info: shr.b r10.y, (last)r10.y, 16
MESA: info: shl.b r5.y, r15.x, 16
MESA: info: add.u r17.w, r10.w, (last)r17.w
MESA: info: cov.u16s32 r6.x, (last)hr11.z
MESA: info: sad.s32 r14.w, (last)r14.w, r5.x, (last)r10.y
MESA: info: shr.b r11.x, (last)r11.x, 16
MESA: info: cmps.u.lt hr21.z, r17.w, (last)r10.w
MESA: info: add.u r5.y, r17.w, (last)r5.y
MESA: info: sad.s32 r14.w, (last)r14.w, r6.x, (last)r11.x
MESA: info: madsh.m16 r9.z, c3.x, r9.z, (last)r15.z
MESA: info: cov.u16s32 r18.w, (last)hr21.z
MESA: info: cmps.u.lt hr10.z, (last)r5.y, (last)r17.w
MESA: info: shr.b r8.w, (last)r8.w, 16
MESA: info: mull.u r6.z, c0.z, r14.w
MESA: info: cov.u16s32 r5.z, (last)hr10.z
MESA: info: sad.s32 r9.z, (last)r9.z, r18.w, (last)r8.w
MESA: info: madsh.m16 r6.z, c0.z, r14.w, (last)r6.z
MESA: info: shr.b r15.x, (last)r15.x, 16
MESA: info: madsh.m16 r14.w, (last)r14.w, r12.x, (last)r6.z
MESA: info: sad.s32 r9.z, (last)r9.z, r5.z, (last)r15.x
MESA: info: absneg.s r11.w, (abs)r7.w
MESA: info: add.u r14.w, r8.x, (last)r14.w
MESA: info: mull.u r6.y, c0.z, r9.z
MESA: info: shr.b r15.x, r11.w, 16
MESA: info: cmps.u.ge r7.z, r14.w, c0.w
MESA: info: add.u r8.w, r14.w, c0.z
MESA: info: madsh.m16 r6.y, c0.z, r9.z, (last)r6.y
MESA: info: mull.u r4.w, r15.x, c3.y
MESA: info: madsh.m16 r9.z, (last)r9.z, r12.x, (last)r6.y
MESA: info: absneg.s r12.x, (abs)r8.x
MESA: info: sel.b32 r8.w, (last)r8.w, r7.z, (last)r14.w
MESA: info: (rpt1)and.b r14.z, (r)r11.w, c17.y
MESA: info: shr.b r18.w, r12.x, 16
MESA: info: mull.u r15.y, r14.z, c3.y
MESA: info: mull.u r15.z, r14.w, c3.y
MESA: info: mull.u r17.z, r14.z, c3.z
MESA: info: mull.u r17.w, r14.w, c3.z
MESA: info: madsh.m16 r15.y, r14.z, r13.x, (last)r15.y
MESA: info: madsh.m16 r15.z, r14.w, r13.x, (last)r15.z
MESA: info: madsh.m16 r17.z, r14.z, r13.y, (last)r17.z
MESA: info: madsh.m16 r17.w, r14.w, r13.y, (last)r17.w
MESA: info: add.u r9.z, r7.w, (last)r9.z
MESA: info: mull.u r5.x, r18.w, c3.y
MESA: info: madsh.m16 r15.y, c3.y, r14.z, (last)r15.y
MESA: info: madsh.m16 r15.z, c3.y, r14.w, (last)r15.z
MESA: info: madsh.m16 r14.z, c3.z, r14.z, (last)r17.z
MESA: info: madsh.m16 r14.w, c3.z, r14.w, (last)r17.w
MESA: info: madsh.m16 r4.w, r15.x, r13.x, (last)r4.w
MESA: info: madsh.m16 r13.x, r18.w, r13.x, (last)r5.x
MESA: info: cmps.u.ge r6.w, r9.z, c0.w
MESA: info: add.u r7.x, r9.z, c0.z
MESA: info: shl.b r5.w, r14.z, 16
MESA: info: shl.b r6.y, r14.w, 16
MESA: info: madsh.m16 r4.w, c3.y, r15.x, (last)r4.w
MESA: info: madsh.m16 r13.x, c3.y, r18.w, (last)r13.x
MESA: info: sel.b32 r7.x, (last)r7.x, r6.w, (last)r9.z
MESA: info: add.u r5.w, r15.y, (last)r5.w
MESA: info: add.u r6.y, r15.z, (last)r6.y
MESA: info: shl.b r7.z, r13.x, 16
MESA: info: shl.b r6.w, r4.w, 16
MESA: info: mull.u r5.y, r15.x, c3.z
MESA: info: mull.u r5.z, r18.w, c3.z
MESA: info: cmps.u.lt hr30.z, r5.w, (last)r15.y
MESA: info: cmps.u.lt hr31.x, r6.y, (last)r15.z
MESA: info: add.u r7.z, r6.y, (last)r7.z
MESA: info: add.u r6.w, r5.w, (last)r6.w
MESA: info: madsh.m16 r5.y, r15.x, r13.y, (last)r5.y
MESA: info: madsh.m16 r13.y, r18.w, r13.y, (last)r5.z
MESA: info: cmps.u.ge r9.z, r7.x, c0.w
MESA: info: add.u r10.y, r7.x, c0.z
MESA: info: cov.u16s32 r6.x, (last)hr30.z
MESA: info: cov.u16s32 r6.z, (last)hr31.x
MESA: info: cmps.u.lt hr15.x, (last)r7.z, (last)r6.y
MESA: info: cmps.u.lt hr13.z, (last)r6.w, (last)r5.w
MESA: info: madsh.m16 r15.x, c3.z, r15.x, (last)r5.y
MESA: info: madsh.m16 r18.w, c3.z, r18.w, (last)r13.y
MESA: info: shr.b r14.z, (last)r14.z, 16
MESA: info: shr.b r14.w, (last)r14.w, 16
MESA: info: xor.b r11.y, (last)r7.w, c0.w
MESA: info: sel.b32 r10.y, (last)r10.y, r9.z, (last)r7.x
MESA: info: sad.s32 r15.x, (last)r15.x, r6.x, (last)r14.z
MESA: info: sad.s32 r18.w, (last)r18.w, r6.z, (last)r14.w
MESA: info: cov.u16s32 r7.w, (last)hr15.x
MESA: info: cov.u16s32 r7.x, (last)hr13.z
MESA: info: shr.b r13.x, (last)r13.x, 16
MESA: info: shr.b r4.w, (last)r4.w, 16
MESA: info: cmps.u.ge r10.w, r8.w, c0.w
MESA: info: add.u r11.x, r8.w, c0.z
MESA: info: sad.s32 r18.w, (last)r18.w, r7.w, (last)r13.x
MESA: info: sad.s32 r15.x, (last)r15.x, r7.x, (last)r4.w
MESA: info: xor.b r13.z, (last)r8.x, c0.w
MESA: info: sel.b32 r11.x, (last)r11.x, r10.w, (last)r8.w
MESA: info: mull.u r8.x, r15.x, c1.x
MESA: info: mull.u r8.w, r18.w, c1.x
MESA: info: madsh.m16 r8.x, r15.x, r13.w, (last)r8.x
MESA: info: madsh.m16 r13.w, r18.w, r13.w, (last)r8.w
MESA: info: madsh.m16 r8.x, c1.x, r15.x, (last)r8.x
MESA: info: madsh.m16 r13.w, c1.x, r18.w, (last)r13.w
MESA: info: mull.u r17.w, r18.z, c4.x
MESA: info: mull.u r4.w, r18.z, c4.y
MESA: info: sub.u r12.x, (last)r12.x, (last)r13.w
MESA: info: and.b r17.z, r8.z, c17.y
MESA: info: (rpt1)shr.b r5.y, (r)r8.y, 16
MESA: info: add.u r13.x, r18.w, 1
MESA: info: sub.u r11.w, (last)r11.w, (last)r8.x
MESA: info: madsh.m16 r17.w, r18.z, r17.y, (last)r17.w
MESA: info: madsh.m16 r4.w, r18.z, r11.z, (last)r4.w
MESA: info: cmps.u.ge r13.y, r12.x, c1.x
MESA: info: mull.u r6.y, r5.y, c4.x
MESA: info: madsh.m16 r17.w, c4.x, r18.z, (last)r17.w
MESA: info: madsh.m16 r18.z, c4.y, r18.z, (last)r4.w
MESA: info: add.u r9.z, r15.x, 1
MESA: info: mull.u r5.x, r17.z, c4.y
MESA: info: cmps.u.ge r10.w, r11.w, c1.x
MESA: info: add.u r13.w, r11.w, c3.w
MESA: info: sel.b32 r13.x, (last)r13.x, r13.y, (last)r18.w
MESA: info: madsh.m16 r6.y, r5.y, r17.y, (last)r6.y
MESA: info: mull.u r18.w, r17.z, c4.x
MESA: info: shl.b r5.w, r18.z, 16
MESA: info: madsh.m16 r5.x, r17.z, r11.z, (last)r5.x
MESA: info: madsh.m16 r6.y, c4.x, r5.y, (last)r6.y
MESA: info: madsh.m16 r18.w, r17.z, r17.y, (last)r18.w
MESA: info: mull.u r6.z, r5.z, c4.x
MESA: info: sel.b32 r9.z, (last)r9.z, r10.w, (last)r15.x
MESA: info: sel.b32 r13.w, (last)r13.w, r10.w, (last)r11.w
MESA: info: madsh.m16 r18.w, c4.x, r17.z, (last)r18.w
MESA: info: madsh.m16 r17.z, c4.y, r17.z, (last)r5.x
MESA: info: add.u r5.w, r17.w, (last)r5.w
MESA: info: shl.b r8.x, r6.y, 16
MESA: info: madsh.m16 r17.y, r5.z, r17.y, (last)r6.z
MESA: info: add.u r14.w, r9.z, 1
MESA: info: cmps.u.ge r13.w, (last)r13.w, c1.x
MESA: info: shl.b r7.z, r17.z, 16
MESA: info: madsh.m16 r17.y, c4.x, r5.z, (last)r17.y
MESA: info: mull.u r6.w, r5.y, c4.y
MESA: info: cmps.u.lt hr35.z, r5.w, (last)r17.w
MESA: info: add.u r8.x, r5.w, (last)r8.x
MESA: info: sel.b32 r14.w, (last)r14.w, r13.w, (last)r9.z
MESA: info: add.u r7.z, r18.w, (last)r7.z
MESA: info: madsh.m16 r6.w, r5.y, r11.z, (last)r6.w
MESA: info: shl.b r9.z, r17.y, 16
MESA: info: cov.u16s32 r6.x, (last)hr35.z
MESA: info: cmps.u.lt hr16.x, (last)r8.x, (last)r5.w
MESA: info: madsh.m16 r5.y, c4.y, r5.y, (last)r6.w
MESA: info: mull.u r7.x, r5.z, c4.y
MESA: info: shr.b r18.z, (last)r18.z, 16
MESA: info: cmps.u.lt hr37.z, r7.z, (last)r18.w
MESA: info: add.u r9.z, r7.z, (last)r9.z
MESA: info: cov.u16s32 r8.w, (last)hr16.x
MESA: info: madsh.m16 r11.z, r5.z, r11.z, (last)r7.x
MESA: info: sad.s32 r5.y, (last)r5.y, r6.x, (last)r18.z
MESA: info: shr.b r6.y, (last)r6.y, 16
MESA: info: cov.u16s32 r7.w, (last)hr37.z
MESA: info: cmps.u.lt hr19.x, (last)r9.z, (last)r7.z
MESA: info: madsh.m16 r5.z, c4.y, r5.z, (last)r11.z
MESA: info: cmps.s.lt r11.y, (last)r11.y, 0
MESA: info: shr.b r17.z, (last)r17.z, 16
MESA: info: absneg.s r15.y, (neg)r14.w
MESA: info: sad.s32 r5.y, (last)r5.y, r8.w, (last)r6.y
MESA: info: cov.u16s32 r10.w, (last)hr19.x
MESA: info: sad.s32 r5.z, (last)r5.z, r7.w, (last)r17.z
MESA: info: add.u r14.z, r12.x, c3.w
MESA: info: shr.b r17.y, (last)r17.y, 16
MESA: info: sel.b32 r15.y, (last)r15.y, r11.y, (last)r14.w
MESA: info: mull.u r11.y, r5.y, c1.z
MESA: info: sad.s32 r5.z, (last)r5.z, r10.w, (last)r17.y
MESA: info: madsh.m16 r11.y, r5.y, r16.x, (last)r11.y
MESA: info: sel.b32 r14.z, (last)r14.z, r13.y, (last)r12.x
MESA: info: madsh.m16 r5.y, c1.z, r5.y, (last)r11.y
MESA: info: mull.u r11.z, r5.z, c1.z
MESA: info: add.u r15.x, r13.x, 1
MESA: info: cmps.u.ge r14.z, (last)r14.z, c1.x
MESA: info: sub.u r5.y, r8.y, (last)r5.y
MESA: info: madsh.m16 r16.x, r5.z, r16.x, (last)r11.z
MESA: info: sel.b32 r15.x, (last)r15.x, r14.z, (last)r13.x
MESA: info: madsh.m16 r5.z, c1.z, r5.z, (last)r16.x
MESA: info: cmps.u.ge r11.w, r5.y, c1.z
MESA: info: add.u r12.x, r5.y, c4.z
MESA: info: sub.u r5.z, r8.z, (last)r5.z
MESA: info: cmps.s.lt r13.z, (last)r13.z, 0
MESA: info: absneg.s r15.z, (neg)r15.x
MESA: info: sel.b32 r12.x, (last)r12.x, r11.w, (last)r5.y
MESA: info: cmps.u.ge r13.x, r5.z, c1.z
MESA: info: add.u r13.y, r5.z, c4.z
MESA: info: sel.b32 r15.z, (last)r15.z, r13.z, (last)r15.x
MESA: info: add.u r13.w, r12.x, c4.z
MESA: info: cmps.u.ge r13.z, r12.x, c1.z
MESA: info: (nop1) sel.b32 r13.y, (last)r13.y, r13.x, (last)r5.z
MESA: info: sel.b32 r13.w, (last)r13.w, r13.z, (last)r12.x
MESA: info: cmps.u.ge r14.z, r13.y, c1.z
MESA: info: add.u r14.w, r13.y, c4.z
MESA: info: and.b r15.x, r13.w, c17.y
MESA: info: shr.b r16.x, r13.w, 16
MESA: info: sel.b32 r14.w, (last)r14.w, r14.z, (last)r13.y
MESA: info: mull.u r17.z, r15.x, c4.w
MESA: info: mull.u r18.z, r15.x, c5.x
MESA: info: and.b r17.y, r14.w, c17.y
MESA: info: madsh.m16 r17.z, r15.x, r16.y, (last)r17.z
MESA: info: madsh.m16 r18.z, r15.x, r16.w, (last)r18.z
MESA: info: mull.u r5.x, r16.x, c4.w
MESA: info: madsh.m16 r17.z, c4.w, r15.x, (last)r17.z
MESA: info: madsh.m16 r15.x, c5.x, r15.x, (last)r18.z
MESA: info: shr.b r4.w, r14.w, 16
MESA: info: mull.u r17.w, r17.y, c4.w
MESA: info: mull.u r18.w, r17.y, c5.x
MESA: info: madsh.m16 r5.x, r16.x, r16.y, (last)r5.x
MESA: info: shl.b r6.x, r15.x, 16
MESA: info: madsh.m16 r17.w, r17.y, r16.y, (last)r17.w
MESA: info: madsh.m16 r18.w, r17.y, r16.w, (last)r18.w
MESA: info: madsh.m16 r5.x, c4.w, r16.x, (last)r5.x
MESA: info: mull.u r5.y, r4.w, c4.w
MESA: info: madsh.m16 r17.w, c4.w, r17.y, (last)r17.w
MESA: info: madsh.m16 r17.y, c5.x, r17.y, (last)r18.w
MESA: info: add.u r6.x, r17.z, (last)r6.x
MESA: info: shl.b r7.x, r5.x, 16
MESA: info: madsh.m16 r16.y, r4.w, r16.y, (last)r5.y
MESA: info: shl.b r6.z, r17.y, 16
MESA: info: madsh.m16 r16.y, c4.w, r4.w, (last)r16.y
MESA: info: mull.u r5.z, r16.x, c5.x
MESA: info: cmps.u.lt hr35.x, r6.x, (last)r17.z
MESA: info: add.u r7.x, r6.x, (last)r7.x
MESA: info: add.u r6.z, r17.w, (last)r6.z
MESA: info: shl.b r7.w, r16.y, 16
MESA: info: madsh.m16 r5.z, r16.x, r16.w, (last)r5.z
MESA: info: cov.u16s32 r6.y, (last)hr35.x
MESA: info: cmps.u.lt hr14.x, (last)r7.x, (last)r6.x
MESA: info: madsh.m16 r16.x, c5.x, r16.x, (last)r5.z
MESA: info: mull.u r5.w, r4.w, c5.x
MESA: info: shr.b r15.x, (last)r15.x, 16
MESA: info: cmps.u.lt hr35.z, r6.z, (last)r17.w
MESA: info: add.u r7.w, r6.z, (last)r7.w
MESA: info: cov.u16s32 r7.z, (last)hr14.x
MESA: info: madsh.m16 r16.w, r4.w, r16.w, (last)r5.w
MESA: info: sad.s32 r16.x, (last)r16.x, r6.y, (last)r15.x
MESA: info: shr.b r5.x, (last)r5.x, 16
MESA: info: cov.u16s32 r6.w, (last)hr35.z
MESA: info: cmps.u.lt hr15.z, (last)r7.w, (last)r6.z
MESA: info: madsh.m16 r4.w, c5.x, r4.w, (last)r16.w
MESA: info: shr.b r17.y, (last)r17.y, 16
MESA: info: sad.s32 r16.x, (last)r16.x, r7.z, (last)r5.x
MESA: info: cov.u16s32 r8.x, (last)hr15.z
MESA: info: sad.s32 r4.w, (last)r4.w, r6.w, (last)r17.y
MESA: info: shr.b r16.y, (last)r16.y, 16
MESA: info: mull.u r8.w, r16.x, c1.y
MESA: info: sad.s32 r4.w, (last)r4.w, r8.x, (last)r16.y
MESA: info: madsh.m16 r8.w, r16.x, r17.x, (last)r8.w
MESA: info: absneg.s r16.y, (abs)r14.w
MESA: info: madsh.m16 r16.x, c1.y, r16.x, (last)r8.w
MESA: info: mull.u r9.z, r4.w, c1.y
MESA: info: shr.b r5.y, r16.y, 16
MESA: info: sub.u r16.x, r13.w, (last)r16.x
MESA: info: madsh.m16 r9.z, r4.w, r17.x, (last)r9.z
MESA: info: mull.u r5.w, r5.y, c5.w
MESA: info: madsh.m16 r4.w, c1.y, r4.w, (last)r9.z
MESA: info: cmps.u.ge r10.w, r16.x, c1.y
MESA: info: add.u r11.y, r16.x, c5.y
MESA: info: sub.u r4.w, r14.w, (last)r4.w
MESA: info: mull.u r6.y, r5.y, c6.x
MESA: info: sel.b32 r11.y, (last)r11.y, r10.w, (last)r16.x
MESA: info: absneg.s r16.x, (abs)r13.w
MESA: info: cmps.u.ge r11.z, r4.w, c1.y
MESA: info: add.u r11.w, r4.w, c5.y
MESA: info: (rpt1)and.b r17.y, (r)r16.x, c17.y
MESA: info: shr.b r17.w, r16.x, 16
MESA: info: sel.b32 r11.w, (last)r11.w, r11.z, (last)r4.w
MESA: info: mull.u r18.z, r17.y, c5.w
MESA: info: mull.u r4.w, r17.y, c6.x
MESA: info: madsh.m16 r18.z, r17.y, r18.x, (last)r18.z
MESA: info: madsh.m16 r4.w, r17.y, r18.y, (last)r4.w
MESA: info: mull.u r5.z, r17.w, c5.w
MESA: info: madsh.m16 r18.z, c5.w, r17.y, (last)r18.z
MESA: info: madsh.m16 r17.y, c6.x, r17.y, (last)r4.w
MESA: info: madsh.m16 r5.z, r17.w, r18.x, (last)r5.z
MESA: info: mull.u r18.w, r17.z, c5.w
MESA: info: shl.b r6.z, r17.y, 16
MESA: info: madsh.m16 r5.z, c5.w, r17.w, (last)r5.z
MESA: info: mull.u r5.x, r17.z, c6.x
MESA: info: add.u r6.z, r18.z, (last)r6.z
MESA: info: shl.b r7.w, r5.z, 16
MESA: info: mull.u r6.x, r17.w, c6.x
MESA: info: cmps.u.lt hr37.x, r6.z, (last)r18.z
MESA: info: add.u r7.w, r6.z, (last)r7.w
MESA: info: madsh.m16 r18.w, r17.z, r18.x, (last)r18.w
MESA: info: madsh.m16 r5.x, r17.z, r18.y, (last)r5.x
MESA: info: madsh.m16 r6.x, r17.w, r18.y, (last)r6.x
MESA: info: cov.u16s32 r6.w, (last)hr37.x
MESA: info: cmps.u.lt hr15.z, (last)r7.w, (last)r6.z
MESA: info: madsh.m16 r18.w, c5.w, r17.z, (last)r18.w
MESA: info: madsh.m16 r17.w, c6.x, r17.w, (last)r6.x
MESA: info: madsh.m16 r17.z, c6.x, r17.z, (last)r5.x
MESA: info: shr.b r17.y, (last)r17.y, 16
MESA: info: madsh.m16 r18.x, r5.y, r18.x, (last)r5.w
MESA: info: cov.u16s32 r8.x, (last)hr15.z
MESA: info: shl.b r7.x, r17.z, 16
MESA: info: sad.s32 r17.w, (last)r17.w, r6.w, (last)r17.y
MESA: info: madsh.m16 r18.x, c5.w, r5.y, (last)r18.x
MESA: info: shr.b r5.z, (last)r5.z, 16
MESA: info: add.u r7.x, r18.w, (last)r7.x
MESA: info: shl.b r8.w, r18.x, 16
MESA: info: sad.s32 r17.w, (last)r17.w, r8.x, (last)r5.z
MESA: info: cmps.u.lt hr37.z, r7.x, (last)r18.w
MESA: info: add.u r8.w, r7.x, (last)r8.w
MESA: info: mull.u r10.w, r17.w, c5.z
MESA: info: madsh.m16 r18.y, r5.y, r18.y, (last)r6.y
MESA: info: madsh.m16 r10.w, r17.w, r7.y, (last)r10.w
MESA: info: cov.u16s32 r7.z, (last)hr37.z
MESA: info: cmps.u.lt hr17.z, (last)r8.w, (last)r7.x
MESA: info: madsh.m16 r5.y, c6.x, r5.y, (last)r18.y
MESA: info: madsh.m16 r10.w, c5.z, r17.w, (last)r10.w
MESA: info: shr.b r17.z, (last)r17.z, 16
MESA: info: cmps.u.ge r13.y, r11.w, c1.y
MESA: info: add.u r13.z, r11.w, c5.y
MESA: info: cov.u16s32 r9.z, (last)hr17.z
MESA: info: sub.u r16.x, (last)r16.x, (last)r10.w
MESA: info: sad.s32 r5.y, (last)r5.y, r7.z, (last)r17.z
MESA: info: shr.b r18.x, (last)r18.x, 16
MESA: info: cmps.u.ge r12.x, r11.y, c1.y
MESA: info: add.u r13.x, r11.y, c5.y
MESA: info: add.u r11.z, r17.w, 1
MESA: info: sel.b32 r13.z, (last)r13.z, r13.y, (last)r11.w
MESA: info: sad.s32 r5.y, (last)r5.y, r9.z, (last)r18.x
MESA: info: cmps.u.ge r11.w, r16.x, c5.z
MESA: info: sel.b32 r13.x, (last)r13.x, r12.x, (last)r11.y
MESA: info: mull.u r11.y, r5.y, c5.z
MESA: info: sel.b32 r11.z, (last)r11.z, r11.w, (last)r17.w
MESA: info: mull.u r17.w, r11.x, c1.y
MESA: info: madsh.m16 r7.y, r5.y, r7.y, (last)r11.y
MESA: info: madsh.m16 r17.w, r11.x, r17.x, (last)r17.w
MESA: info: madsh.m16 r7.y, c5.z, r5.y, (last)r7.y
MESA: info: madsh.m16 r11.x, c1.y, r11.x, (last)r17.w
MESA: info: add.u r12.x, r5.y, 1
MESA: info: sub.u r16.y, (last)r16.y, (last)r7.y
MESA: info: add.u r11.x, (last)r11.x, (last)r13.z
MESA: info: xor.b r14.z, (last)r13.w, c1.y
MESA: info: cmps.u.ge r13.y, r16.y, c5.z
MESA: info: mull.u r18.w, r11.x, c6.z
MESA: info: add.u r13.w, r16.x, c6.y
MESA: info: madsh.m16 r18.w, r11.x, r9.x, (last)r18.w
MESA: info: sel.b32 r12.x, (last)r12.x, r13.y, (last)r5.y
MESA: info: madsh.m16 r11.x, c6.z, r11.x, (last)r18.w
MESA: info: shl.b r5.y, r8.y, 3
MESA: info: shl.b r8.y, (last)r8.y, 5
MESA: info: cov.s32f32 r11.x, (last)r11.x
MESA: info: sel.b32 r13.w, (last)r13.w, r11.w, (last)r16.x
MESA: info: add.u r6.z, r8.y, 12
MESA: info: add.u r6.w, (last)r8.y, 28
MESA: info: isam.v.base3 (u32)(xy)r6.x, r5.y, s#0, t#0
MESA: info: add.f r11.x, c0.x, (last)r11.x
MESA: info: (rpt1)shr.b r6.z, (last)(r)r6.z, 2
MESA: info: add.u r15.x, r11.z, 1
MESA: info: cmps.u.ge r13.w, (last)r13.w, c5.z
MESA: info: max.f r7.z, c12.x, r11.x
MESA: info: add.f r11.x, (last)r11.x, c7.z
MESA: info: sel.b32 r15.x, (last)r15.x, r13.w, (last)r11.z
MESA: info: xor.b r16.w, (last)r14.w, c1.y
MESA: info: min.f r7.z, (last)r7.z, (last)r11.x
MESA: info: isam.v.base3 (u32)(xyzw)r10.w, r6.z, s#0, t#0
MESA: info: isam.v.base3 (u32)(x)r11.w, r6.w, s#0, t#0
MESA: info: add.u r14.w, r16.y, c6.y
MESA: info: add.u r16.x, r12.x, 1
MESA: info: mull.u r18.y, r15.z, c1.y
MESA: info: sel.b32 r14.w, (last)r14.w, r13.y, (last)r16.y
MESA: info: mull.u r17.z, r10.y, c1.y
MESA: info: mull.u r18.x, r15.y, c1.y
MESA: info: cmps.u.ge r14.w, (last)r14.w, c5.z
MESA: info: cmps.s.lt r14.z, (last)r14.z, 0
MESA: info: cmps.s.lt r16.w, (last)r16.w, 0
MESA: info: sel.b32 r16.x, (last)r16.x, r14.w, (last)r12.x
MESA: info: absneg.s r16.y, (neg)r15.x
MESA: info: madsh.m16 r17.z, r10.y, r17.x, (last)r17.z
MESA: info: absneg.s r17.y, (neg)r16.x
MESA: info: madsh.m16 r18.x, r15.y, r17.x, (last)r18.x
MESA: info: madsh.m16 r17.x, r15.z, r17.x, (last)r18.y
MESA: info: sel.b32 r16.y, (last)r16.y, r14.z, (last)r15.x
MESA: info: madsh.m16 r10.y, c1.y, r10.y, (last)r17.z
MESA: info: sel.b32 r17.y, (last)r17.y, r16.w, (last)r16.x
MESA: info: madsh.m16 r15.y, c1.y, r15.y, (last)r18.x
MESA: info: madsh.m16 r15.z, c1.y, r15.z, (last)r17.x
MESA: info: add.u r10.y, (last)r10.y, (last)r13.x
MESA: info: add.u r15.y, (last)r15.y, (last)r16.y
MESA: info: add.u r15.z, (last)r15.z, (last)r17.y
MESA: info: mull.u r18.z, r10.y, c6.z
MESA: info: mull.u r4.w, r15.y, c6.z
MESA: info: mull.u r5.x, r15.z, c6.z
MESA: info: madsh.m16 r18.z, r10.y, r9.x, (last)r18.z
MESA: info: madsh.m16 r4.w, r15.y, r9.x, (last)r4.w
MESA: info: madsh.m16 r9.x, r15.z, r9.x, (last)r5.x
MESA: info: madsh.m16 r10.y, c6.z, r10.y, (last)r18.z
MESA: info: madsh.m16 r15.y, c6.z, r15.y, (last)r4.w
MESA: info: madsh.m16 r15.z, c6.z, r15.z, (last)r9.x
MESA: info: cov.s32f32 r10.y, (last)r10.y
MESA: info: cov.s32f32 r15.y, (last)r15.y
MESA: info: cov.s32f32 r15.z, (last)r15.z
MESA: info: shl.b r5.z, r8.z, 5
MESA: info: add.f r10.y, c0.x, (last)r10.y
MESA: info: add.f r15.y, c0.y, (last)r15.y
MESA: info: add.f r15.z, c0.y, (last)r15.z
MESA: info: add.u r7.x, r5.z, 12
MESA: info: max.f r5.w, c12.x, r10.y
MESA: info: max.f r7.w, c12.y, r15.y
MESA: info: max.f r8.x, c12.y, r15.z
MESA: info: add.f r10.y, (last)r10.y, c7.z
MESA: info: add.f r15.y, (last)r15.y, c7.z
MESA: info: add.f r15.z, (last)r15.z, c7.z
MESA: info: add.u r7.y, (last)r5.z, 28
MESA: info: mov.u32u32 r12.x, r0.w
MESA: info: shl.b r8.z, (last)r8.z, 3
MESA: info: min.f r5.w, (last)r5.w, (last)r10.y
MESA: info: min.f r7.w, (last)r7.w, (last)r15.y
MESA: info: (sy)max.f r6.x, c12.z, (last)r6.x
MESA: info: mov.u32u32 r3.z, (last)r10.w
MESA: info: min.f r8.x, (last)r8.x, (last)r15.z
MESA: info: (rpt1)shr.b r7.x, (last)(r)r7.x, 2
MESA: info: min.f r6.x, (last)r6.x, (last)r6.y
MESA: info: mov.u32u32 r3.w, (last)r11.x
MESA: info: mov.u32u32 r4.x, (last)r11.y
MESA: info: mov.u32u32 r4.y, (last)r11.z
MESA: info: mov.u32u32 r4.z, (last)r11.w
MESA: info: l2556:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.s.lt p0.x, r12.x, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l2562
MESA: info: mov.u32u32 r12.x, 0xffffffff
MESA: info: jump #l2582
MESA: info: l2562:
MESA: info: add.f r13.y, c12.y, (neg)r7.w
MESA: info: add.f r13.z, c12.z, (neg)r6.x
MESA: info: add.f r13.w, c12.x, (neg)r5.w
MESA: info: mul.f r13.y, (last)r13.y, r13.y
MESA: info: cov.u32s16 hr26.x, r12.x
MESA: info: (nop1) mad.f32 r13.z, (last)r13.z, r13.z, (last)r13.y
MESA: info: mad.f32 r13.w, (last)r13.w, r13.w, (last)r13.z
MESA: info: mova a0.x, (last)hr26.x
MESA: info: (rpt3)nop
MESA: info: rsq r13.w, (last)r13.w
MESA: info: nop
MESA: info: (ul)mov.u32u32 r14.z, r<a0.x + 14>
MESA: info: (rpt1)nop
MESA: info: (ss)(nop2) mul.f r14.z, (last)r14.z, (last)r13.w
MESA: info: (nop2) mul.f r14.z, c13.x, (last)r14.z
MESA: info: (nop3) cmps.f.lt p0.x, (last)r14.z, c13.y
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l2582
MESA: info: add.u r12.x, (last)r12.x, -1
MESA: info: jump #l2556
MESA: info: l2582:
MESA: info: (jp)isam.v.base3 (u32)(xy)r14.w, r10.z, s#0, t#0
MESA: info: isam.v.base3 (u32)(xyzw)r16.w, r12.y, s#0, t#0
MESA: info: isam.v.base3 (u32)(x)r17.w, r12.z, s#0, t#0
MESA: info: mov.u32u32 r18.x, r0.w
MESA: info: nop
MESA: info: (nop2) sub.u r12.x, c7.y, (last)r12.x
MESA: info: (nop2) shl.b r12.x, 1, (last)r12.x
MESA: info: cov.u32f32 r12.x, (last)r12.x
MESA: info: (rpt1)nop
MESA: info: min.f r14.z, r9.y, (last)r12.x
MESA: info: (sy)max.f r14.w, c12.z, (last)r14.w
MESA: info: mov.u32u32 r2.y, (last)r16.w
MESA: info: mov.u32u32 r2.z, (last)r17.x
MESA: info: min.f r14.w, (last)r14.w, (last)r15.x
MESA: info: mov.u32u32 r2.w, (last)r17.y
MESA: info: mov.u32u32 r3.x, (last)r17.z
MESA: info: mov.u32u32 r3.y, (last)r17.w
MESA: info: l2599:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.s.lt p0.x, r18.x, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l2605
MESA: info: mov.u32u32 r18.x, 0xffffffff
MESA: info: jump #l2625
MESA: info: l2605:
MESA: info: add.f r18.z, c12.y, (neg)r14.x
MESA: info: add.f r18.w, c12.z, (neg)r14.w
MESA: info: add.f r3.z, c12.x, (neg)r12.w
MESA: info: mul.f r18.z, (last)r18.z, r18.z
MESA: info: cov.u32s16 hr36.z, r18.x
MESA: info: (nop1) mad.f32 r18.w, (last)r18.w, r18.w, (last)r18.z
MESA: info: mad.f32 r3.z, (last)r3.z, r3.z, (last)r18.w
MESA: info: mova a0.x, (last)hr36.z
MESA: info: (rpt3)nop
MESA: info: rsq r3.z, (last)r3.z
MESA: info: nop
MESA: info: (ul)mov.u32u32 r3.w, r<a0.x + 9>
MESA: info: (rpt1)nop
MESA: info: (ss)(nop2) mul.f r3.w, (last)r3.w, (last)r3.z
MESA: info: (nop2) mul.f r3.w, c13.x, (last)r3.w
MESA: info: (nop3) cmps.f.lt p0.x, (last)r3.w, c13.y
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l2625
MESA: info: add.u r18.x, (last)r18.x, -1
MESA: info: jump #l2599
MESA: info: l2625:
MESA: info: (jp)isam.v.base3 (u32)(xy)r4.x, r8.z, s#0, t#0
MESA: info: isam.v.base3 (u32)(xyzw)r4.z, r7.x, s#0, t#0
MESA: info: isam.v.base3 (u32)(x)r5.z, r7.y, s#0, t#0
MESA: info: mov.u32u32 r15.x, (last)r0.w
MESA: info: nop
MESA: info: (nop2) sub.u r18.x, c7.y, (last)r18.x
MESA: info: (nop2) shl.b r18.x, 1, (last)r18.x
MESA: info: cov.u32f32 r18.x, (last)r18.x
MESA: info: (rpt1)nop
MESA: info: min.f r14.w, r9.y, (last)r18.x
MESA: info: (sy)max.f r4.x, c12.z, (last)r4.x
MESA: info: mov.u32u32 r1.x, (last)r4.z
MESA: info: mov.u32u32 r1.y, (last)r4.w
MESA: info: min.f r4.x, (last)r4.x, (last)r4.y
MESA: info: mov.u32u32 r1.z, (last)r5.x
MESA: info: mov.u32u32 r1.w, (last)r5.y
MESA: info: mov.u32u32 r2.x, (last)r5.z
MESA: info: l2642:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.s.lt p0.x, r15.x, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l2648
MESA: info: mov.u32u32 r15.x, 0xffffffff
MESA: info: jump #l2668
MESA: info: l2648:
MESA: info: add.f r6.x, c12.y, (neg)r8.x
MESA: info: add.f r6.y, c12.z, (neg)r4.x
MESA: info: add.f r6.z, c12.x, (neg)r7.z
MESA: info: mul.f r6.x, (last)r6.x, r6.x
MESA: info: cov.u32s16 hr11.z, r15.x
MESA: info: (nop1) mad.f32 r6.y, (last)r6.y, r6.y, (last)r6.x
MESA: info: mad.f32 r6.z, (last)r6.z, r6.z, (last)r6.y
MESA: info: mova a0.x, (last)hr11.z
MESA: info: (rpt3)nop
MESA: info: rsq r6.z, (last)r6.z
MESA: info: nop
MESA: info: (ul)mov.u32u32 r6.w, r<a0.x + 4>
MESA: info: (rpt1)nop
MESA: info: (ss)(nop2) mul.f r6.w, (last)r6.w, (last)r6.z
MESA: info: (nop2) mul.f r6.w, c13.x, (last)r6.w
MESA: info: (nop3) cmps.f.lt p0.x, (last)r6.w, c13.y
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l2668
MESA: info: add.u r15.x, (last)r15.x, -1
MESA: info: jump #l2642
MESA: info: l2668:
MESA: info: (jp)mul.f r7.x, r9.w, c17.z
MESA: info: mul.f r7.y, r10.x, c17.z
MESA: info: sub.u r15.x, c7.y, (last)r15.x
MESA: info: floor.f r7.x, (last)r7.x
MESA: info: floor.f r7.y, (last)r7.y
MESA: info: shl.b r15.x, 1, (last)r15.x
MESA: info: add.f r7.x, (last)r7.x, (neg)c8.x
MESA: info: add.f r7.y, (last)r7.y, (neg)c8.y
MESA: info: shrm r7.z, 6, r0.x, 31
MESA: info: cov.f32u32 r7.x, (last)r7.x
MESA: info: cov.f32u32 r7.y, (last)r7.y
MESA: info: and.b r7.w, r0.x, 63
MESA: info: and.b r7.x, (last)r7.x, 3
MESA: info: and.b r7.y, (last)r7.y, 3
MESA: info: cov.u32f32 r15.x, (last)r15.x
MESA: info: cov.u32f32 r7.x, (last)r7.x
MESA: info: cov.u32f32 r7.y, (last)r7.y
MESA: info: cov.s32f32 r15.w, (last)r15.w
MESA: info: cov.s32f32 r16.z, (last)r16.z
MESA: info: mul.s24 r7.z, (last)r7.z, 48
MESA: info: mov.u32u32 r9.z, r9.y
MESA: info: min.f r15.x, r9.y, (last)r15.x
MESA: info: mad.f32 r10.y, c7.w, r7.x, (last)r15.w
MESA: info: mad.f32 r10.z, c7.w, r7.y, (last)r16.z
MESA: info: (nop3) mad.s24 r7.w, c16.x, r7.w, (last)r7.z
MESA: info: (rpt1)nop
MESA: info: stl.u32 l[r7.w], r9.w, 4
MESA: info: stl.u32 l[r7.w+16], r14.y, 4
MESA: info: stl.u32 l[r7.w+32], r9.y, 2
MESA: info: chmask
MESA: info: chsh
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r0.z (VARYING_SLOT_PRIMITIVE_ID) r0.y (VARYING_SLOT_PATCH3) r0.x (TCS_HEADER)
MESA: info: ; VERT: inputs: r0.x (SYSTEM_VALUE_TCS_HEADER_IR3 slot=85 cm=1,il=0,b=0) r0.y (SYSTEM_VALUE_REL_PATCH_ID_IR3 slot=86 cm=1,il=0,b=0) r0.z (SYSTEM_VALUE_PRIMITIVE_ID slot=35 cm=1,il=0,b=0) r0.w (SYSTEM_VALUE_VERTEX_ID slot=9 cm=1,il=0,b=0)
MESA: info: ; VERT prog 92/1: 2240 instr, 156 nops, 2084 non-nops, 66 mov, 110 cov, 5408 dwords
MESA: info: ; VERT prog 92/1: 0 last-baryf, 0 last-helper, 0 half, 19 full, 20 constlen
MESA: info: ; VERT prog 92/1: 178 cat0, 176 cat1, 1155 cat2, 708 cat3, 5 cat4, 15 cat5, 3 cat6, 0 cat7
MESA: info: ; VERT prog 92/1: 30 sstall, 5 (ss), 230 systall, 6 (sy), 5 loops
MESA: info: ; VERT prog 92/1: 10 max_waves, 0 double_threadsize
MESA: info: ; 606 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x82530cf6, 0xa5e57a6d, 0xd3b8ec78, 0xb744a37e, 0xf4522a5a, 0x7b9c05e7, 0x78a94a37, 0xa0da35c5}
MESA: info: inputs_read: 32-33
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: uses_discard: true
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: depth_layout: 1
MESA: info: inputs: 2
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_VAR0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none float #1 (VARYING_SLOT_VAR1.x, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none float #2 (FRAG_RESULT_DEPTH.x, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000005 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x5)) (desc_set=1)
MESA: info:             con 32    %131 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32    %138 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32x2  %133 = @load_ubo_vec4 (%4, %138 (0x1)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %6 = frcp %133.x
MESA: info:                              @store_const_ir3 (%6) (base=0)
MESA: info:             con 32      %7 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32    %181 = ffma %7 (2.000000), %133.y, %133.x
MESA: info:             con 32     %10 = f2i32 %181
MESA: info:                              @store_const_ir3 (%10) (base=1)
MESA: info:             con 32     %11 = frcp %181
MESA: info:                              @store_const_ir3 (%11) (base=2)
MESA: info:             con 32     %12 = ftrunc %181
MESA: info:                              @store_const_ir3 (%12) (base=3)
MESA: info:             con 32     %13 = load_const (0xffffffff = -1 = 4294967295)
MESA: info:             con 32     %14 = iadd %10, %13 (0xffffffff)
MESA: info:                              @store_const_ir3 (%14) (base=4)
MESA: info:             con 32     %16 = @bindless_resource_ir3 (%131 (0x4)) (desc_set=0)
MESA: info:             con 32     %17 = load_const (0x00000000 = 0.000000)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%16, %17 (0x0)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %17 (0x0)) (base=32, range=4)
MESA: info:             con 32     %21 = load_const (0x00000007 = 0.000000)
MESA: info:             con 32     %22 = @bindless_resource_ir3 (%21 (0x7)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%22, %17 (0x0)) (base=48, range=256)
MESA: info:             con 32     %24 = load_const (0x00000100 = 0.000000 = 256)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%22, %24 (0x100)) (base=1072, range=16)
MESA: info:             con 32     %25 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32     %26 = @bindless_resource_ir3 (%25 (0x2)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%26)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %27 = load_const (0x00000000)
MESA: info:     div 32x2   %28 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32     %29 = @load_interpolated_input (%28, %27 (0x0)) (base=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR1 slots=1)
MESA: info:     div 32x4   %30 = @load_interpolated_input (%28, %27 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32     %32 = load_const (0x00000002)
MESA: info:     con 32     %36 = @load_const_ir3 (%27 (0x0)) (base=16)
MESA: info:     con 32     %37 = load_const (0x3f000000 = 0.500000)
MESA: info:     div 32     %38 = fadd %30.w, %37 (0.500000)
MESA: info:     div 32     %39 = fadd %29, %37 (0.500000)
MESA: info:     div 32     %40 = ffloor %38
MESA: info:     div 32     %41 = ffloor %39
MESA: info:     con 32     %43 = load_const (0x00000010 = 16)
MESA: info:     con 32x2   %47 = @load_const_ir3 (%27 (0x0)) (base=36)
MESA: info:     div 32x2  %182 = fmul %30.yz, %47.xx
MESA: info:     div 32x2  %183 = ffloor %182
MESA: info:     div 32x2  %184 = fadd %183, %37 (0.500000).xx
MESA: info:     con 32     %55 = @load_const_ir3 (%27 (0x0)) (base=0)
MESA: info:     div 32x2  %185 = fmul %184, %55.xx
MESA: info:     con 32     %59 = @load_const_ir3 (%27 (0x0)) (base=1)
MESA: info:     div 32     %60 = f2i32 %40
MESA: info:     div 32     %61 = f2i32 %41
MESA: info:     div 32    %158 = umul_low %59, %60
MESA: info:     div 32    %159 = imadsh_mix16 %59, %60, %158
MESA: info:     div 32    %160 = imadsh_mix16 %60, %59, %159
MESA: info:     div 32    %155 = umul_low %59, %61
MESA: info:     div 32    %156 = imadsh_mix16 %59, %61, %155
MESA: info:     div 32    %157 = imadsh_mix16 %61, %59, %156
MESA: info:     div 32x2  %186 = ffma %185, %47.xx, %47.yy
MESA: info:     con 32     %69 = @load_const_ir3 (%27 (0x0)) (base=2)
MESA: info:     div 32    %178 = ffma %186.x, %69, %40
MESA: info:     div 32    %177 = ffma %186.y, %69, %41
MESA: info:     con 32     %75 = @load_const_ir3 (%27 (0x0)) (base=3)
MESA: info:     div 32     %76 = fmul %178, %75
MESA: info:     div 32     %77 = fmul %177, %75
MESA: info:     div 32     %78 = f2i32 %76
MESA: info:     div 32     %79 = f2i32 %77
MESA: info:     div 32     %80 = imax %78, %160
MESA: info:     div 32     %81 = imax %79, %157
MESA: info:     con 32     %82 = load_const (0xffffffff = -1 = 4294967295)
MESA: info:     con 32     %84 = @load_const_ir3 (%27 (0x0)) (base=4)
MESA: info:     div 32     %85 = iadd %84, %160
MESA: info:     div 32     %86 = iadd %84, %157
MESA: info:     div 32     %87 = imin %80, %85
MESA: info:     div 32     %88 = imin %81, %86
MESA: info:     div 32x2   %89 = vec2 %87, %88
MESA: info:     con 32     %90 = @bindless_resource_ir3 (%32 (0x2)) (desc_set=2)
MESA: info:     div 32x4   %91 = (float32)txf %90 (texture_handle), %89 (coord), %27 (0x0) (lod), 0 (texture)
MESA: info:     con 32     %92 = load_const (0x437f0000 = 255.000000)
MESA: info:     div 32    %176 = ffma %92 (255.000000), %91.x, %37 (0.500000)
MESA: info:     div 32     %95 = f2i32 %176
MESA: info:     div 32     %96 = ishl %60, %32 (0x2)
MESA: info:     div 32     %97 = iadd %96, %61
MESA: info:     con 32     %98 = load_const (0x00000011 = 17)
MESA: info:     div 32    %152 = umul_low %98 (0x11), %97
MESA: info:     div 32    %153 = imadsh_mix16 %98 (0x11), %97, %152
MESA: info:     con 32    %100 = load_const (0x00000110 = 272)
MESA: info:     div 32    %149 = umul_low %97, %100 (0x110)
MESA: info:     div 32    %151 = imadsh_mix16 %100 (0x110), %97, %149
MESA: info:     div 32    %105 = ushr %151, %32 (0x2)
MESA: info:     div 32    %106 = @load_const_ir3 (%105) (base=48)
MESA: info:     div 1     %107 = ige %43 (0x10), %106
MESA: info:     div 32    %108 = iadd %95, %153
MESA: info:     div 32    %113 = ishl %108, %32 (0x2)
MESA: info:     div 32    %114 = @load_const_ir3 (%113) (base=52)
MESA: info:     div 32    %135 = bcsel %107, %114, %95
MESA: info:     div 32    %136 = iadd %82 (0xffffffff), %135
MESA: info:     con 32    %118 = load_const (0x000000fe = 254)
MESA: info:     div 1     %119 = ieq %136, %118 (0xfe)
MESA: info:                      @demote_if (%119)
MESA: info:     div 32    %120 = mov %30.x
MESA: info:     div 32    %121 = @ddx (%120)
MESA: info:     div 32    %122 = fabs %121
MESA: info:     div 32    %123 = fmul %30.x, %36
MESA: info:     div 32    %124 = @ddy (%123)
MESA: info:     div 32    %125 = fabs %124
MESA: info:     div 32    %126 = fmax %122, %125
MESA: info:     con 32    %127 = load_const (0x3f000200 = 0.500031)
MESA: info:     div 32    %128 = fadd %127 (0.500031), %126
MESA: info:     div 32    %175 = ffma %37 (0.500000), %30.x, %128
MESA: info:                      @store_output (%175, %27 (0x0)) (base=0, range=1, wrmask=x, component=0, src_type=float32, io location=FRAG_RESULT_DEPTH slots=1, xfb(), xfb2())
MESA: info:                      // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 355925dc2c33ef2b6739506fc457f829898aba12:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (280 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      3
MESA: info: ;   range[0]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  0
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          5
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          7
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           272 vec4 (0b -> 4352b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @const(c284.x)	0x437f0000, 0x3f000000, 0x00000011, 0x00000110
MESA: info: @const(c285.x)	0x3f000200, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l31
MESA: info: getone #l31
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 1, 5
MESA: info: mova1 a1.x, 16
MESA: info: mov.u32u32 r0.z, 256
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 2
MESA: info: (sy)(ss)mul.f r48.y, (2.0), r48.y
MESA: info: add.f r48.y, r48.y, r48.x
MESA: info: cov.f32s32 r48.z, r48.y
MESA: info: trunc.f r48.w, r48.y
MESA: info: add.u r49.x, r48.z, -1
MESA: info: (ss)rcp r48.x, r48.x
MESA: info: rcp r48.y, r48.y
MESA: info: stc.u32 c[1], r48.z, 1
MESA: info: stc.u32 c[3], r48.w, 1
MESA: info: stc.u32 c[4], r49.x, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[2], r48.y, 1
MESA: info: (rpt2)nop
MESA: info: ldc.4.k.imm.base0 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, 32
MESA: info: (rpt4)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 5
MESA: info: (ss)mova1 a1.x, 48
MESA: info: (rpt4)nop
MESA: info: ldc.256.k.imm.base1 c[a1.x], 0, 7
MESA: info: (ss)mova1 a1.x, 1072
MESA: info: (rpt4)nop
MESA: info: ldc.16.k.imm.base1 c[a1.x], r0.z, 7
MESA: info: (sy)(ss)shpe
MESA: info: l31:
MESA: info: (jp)bary.f r1.y, 1, r0.x
MESA: info: bary.f r1.z, 2, r0.x
MESA: info: bary.f r0.w, 3, r0.x
MESA: info: bary.f r1.x, 4, r0.x
MESA: info: bary.f (ei)r0.x, 0, (last)r0.x
MESA: info: mul.f r1.y, (last)r1.y, c9.x
MESA: info: mul.f r1.z, (last)r1.z, c9.x
MESA: info: add.f r0.w, (last)r0.w, (0.5)
MESA: info: floor.f r1.y, (last)r1.y
MESA: info: floor.f r1.z, (last)r1.z
MESA: info: add.f r1.x, (last)r1.x, (0.5)
MESA: info: add.f r1.y, (last)r1.y, (0.5)
MESA: info: add.f r1.z, (last)r1.z, (0.5)
MESA: info: floor.f r0.w, (last)r0.w
MESA: info: mul.f r1.y, (last)r1.y, c0.x
MESA: info: mul.f r1.z, (last)r1.z, c0.x
MESA: info: floor.f r1.x, (last)r1.x
MESA: info: mad.f32 r1.y, c9.x, r1.y, c9.y
MESA: info: mad.f32 r1.z, c9.x, r1.z, c9.y
MESA: info: mov.f32f32 r2.x, c0.y
MESA: info: mad.f32 r1.y, c0.z, r1.y, r0.w
MESA: info: cov.f32s32 r0.w, (last)r0.w
MESA: info: mad.f32 r1.z, c0.z, r1.z, r1.x
MESA: info: cov.f32s32 r1.x, (last)r1.x
MESA: info: mull.u r1.w, c0.y, r0.w
MESA: info: mul.f r1.y, (last)r1.y, c0.w
MESA: info: madsh.m16 r1.w, c0.y, r0.w, (last)r1.w
MESA: info: mul.f r1.z, (last)r1.z, c0.w
MESA: info: mull.u r2.y, c0.y, r1.x
MESA: info: madsh.m16 r1.w, r0.w, r2.x, (last)r1.w
MESA: info: shl.b r0.w, (last)r0.w, 2
MESA: info: madsh.m16 r2.y, c0.y, r1.x, (last)r2.y
MESA: info: cov.f32s32 r1.y, (last)r1.y
MESA: info: cov.f32s32 r1.z, (last)r1.z
MESA: info: add.u r0.w, (last)r0.w, r1.x
MESA: info: madsh.m16 r1.x, (last)r1.x, r2.x, (last)r2.y
MESA: info: max.s r1.y, (last)r1.y, r1.w
MESA: info: add.u r1.w, c1.x, (last)r1.w
MESA: info: max.s r1.z, (last)r1.z, r1.x
MESA: info: add.u r1.x, c1.x, (last)r1.x
MESA: info: min.s r1.y, (last)r1.y, (last)r1.w
MESA: info: mull.u r2.w, 17, r0.w
MESA: info: min.s r1.z, (last)r1.z, (last)r1.x
MESA: info: mull.u r3.x, r0.w, 272
MESA: info: madsh.m16 r2.w, c284.z, r0.w, (last)r2.w
MESA: info: madsh.m16 r0.w, c284.w, r0.w, (last)r3.x
MESA: info: (nop1) mul.f r3.y, r0.x, c4.x
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: isaml.base2 (f32)(x)r2.z, r1.y, r40.x, s#0, t#2
MESA: info: (nop2) shr.b r0.w, (last)r0.w, 2
MESA: info: cov.u32s16 hr1.z, (last)r0.w
MESA: info: (rpt1)nop
MESA: info: mova a0.x, (last)hr1.z
MESA: info: (sy)(nop2) mad.f32 r2.z, c284.x, r2.z, c284.y
MESA: info: cov.f32s32 r2.z, (last)r2.z
MESA: info: nop
MESA: info: (ul)cmps.s.ge r3.z, 16, c<a0.x + 48>
MESA: info: (nop2) add.u r2.w, r2.z, (last)r2.w
MESA: info: (nop2) shl.b r2.w, (last)r2.w, 2
MESA: info: cov.u32s16 hr5.z, (last)r2.w
MESA: info: (rpt1)nop
MESA: info: mova a0.x, (last)hr5.z
MESA: info: (rpt4)nop
MESA: info: (nop2) (ul)sel.b32 r3.z, c<a0.x + 52>, r3.z, (last)r2.z
MESA: info: (nop2) add.u r3.z, -1, (last)r3.z
MESA: info: (nop3) cmps.s.eq p0.x, (last)r3.z, 254
MESA: info: (rpt1)nop
MESA: info: kill p0.x
MESA: info: dsy (f32)(x)r3.w, r3.y
MESA: info: dsx (f32)(x)r4.x, r0.x
MESA: info: (sy)(nop2) max.f r4.x, (last)(abs)r4.x, (last)(abs)r3.w
MESA: info: (nop1) add.f r4.x, c285.x, (last)r4.x
MESA: info: mad.f32 r0.x, c284.y, r0.x, (last)r4.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r0.x (FRAG_RESULT_DEPTH)
MESA: info: ; FRAG: inputs: r0.x (VARYING_SLOT_VAR0 slot=32 cm=f,il=0,b=1) r1.x (VARYING_SLOT_VAR1 slot=33 cm=1,il=4,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 95/1: 100 instr, 31 nops, 69 non-nops, 3 mov, 7 cov, 224 dwords
MESA: info: ; FRAG prog 95/1: 4 last-baryf, 99 last-helper, 0 half, 5 full, 288 constlen
MESA: info: ; FRAG prog 95/1: 33 cat0, 10 cat1, 40 cat2, 13 cat3, 0 cat4, 3 cat5, 0 cat6, 1 cat7
MESA: info: ; FRAG prog 95/1: 0 sstall, 0 (ss), 51 systall, 2 (sy), 0 loops
MESA: info: ; FRAG prog 95/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 45 preamble-instr, 0 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; posz: r0.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x82530cf6, 0xa5e57a6d, 0xd3b8ec78, 0xb744a37e, 0xf4522a5a, 0x7b9c05e7, 0x78a94a37, 0xa0da35c5}
MESA: info: inputs_read: 32-33
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: uses_discard: true
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: depth_layout: 1
MESA: info: inputs: 2
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_VAR0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none float #1 (VARYING_SLOT_VAR1.x, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none float #2 (FRAG_RESULT_DEPTH.x, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000005 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x5)) (desc_set=1)
MESA: info:             con 32    %126 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32    %139 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32x2  %128 = @load_ubo_vec4 (%4, %139 (0x1)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %6 = frcp %128.x
MESA: info:                              @store_const_ir3 (%6) (base=0)
MESA: info:             con 32      %7 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32    %181 = ffma %7 (2.000000), %128.y, %128.x
MESA: info:             con 32     %10 = f2i32 %181
MESA: info:                              @store_const_ir3 (%10) (base=1)
MESA: info:             con 32     %11 = frcp %181
MESA: info:                              @store_const_ir3 (%11) (base=2)
MESA: info:             con 32     %12 = ftrunc %181
MESA: info:                              @store_const_ir3 (%12) (base=3)
MESA: info:             con 32     %13 = load_const (0xffffffff = -1 = 4294967295)
MESA: info:             con 32     %14 = iadd %10, %13 (0xffffffff)
MESA: info:                              @store_const_ir3 (%14) (base=4)
MESA: info:             con 32     %16 = @bindless_resource_ir3 (%126 (0x4)) (desc_set=0)
MESA: info:             con 32     %17 = load_const (0x00000000 = 0.000000)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%16, %17 (0x0)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %17 (0x0)) (base=32, range=4)
MESA: info:             con 32     %21 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32     %22 = @bindless_resource_ir3 (%21 (0x2)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%22)
MESA: info:             con 32     %23 = load_const (0x00000007 = 0.000000)
MESA: info:             con 32     %24 = @bindless_resource_ir3 (%23 (0x7)) (desc_set=1)
MESA: info:                              @prefetch_ubo_ir3 (%24)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %27 = load_const (0x00000000)
MESA: info:     div 32x2   %28 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32     %29 = @load_interpolated_input (%28, %27 (0x0)) (base=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR1 slots=1)
MESA: info:     div 32x4   %30 = @load_interpolated_input (%28, %27 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32     %31 = load_const (0x00000004)
MESA: info:     con 32     %32 = load_const (0x00000002)
MESA: info:     con 32     %36 = @load_const_ir3 (%27 (0x0)) (base=16)
MESA: info:     con 32     %37 = load_const (0x3f000000 = 0.500000)
MESA: info:     div 32     %38 = fadd %30.w, %37 (0.500000)
MESA: info:     div 32     %39 = fadd %29, %37 (0.500000)
MESA: info:     div 32     %40 = ffloor %38
MESA: info:     div 32     %41 = ffloor %39
MESA: info:     con 32     %43 = load_const (0x00000010 = 16)
MESA: info:     con 32x2   %47 = @load_const_ir3 (%27 (0x0)) (base=36)
MESA: info:     div 32x2  %182 = fmul %30.yz, %47.xx
MESA: info:     div 32x2  %183 = ffloor %182
MESA: info:     div 32x2  %184 = fadd %183, %37 (0.500000).xx
MESA: info:     con 32     %55 = @load_const_ir3 (%27 (0x0)) (base=0)
MESA: info:     div 32x2  %185 = fmul %184, %55.xx
MESA: info:     con 32     %59 = @load_const_ir3 (%27 (0x0)) (base=1)
MESA: info:     div 32     %60 = f2i32 %40
MESA: info:     div 32     %61 = f2i32 %41
MESA: info:     div 32    %158 = umul_low %59, %60
MESA: info:     div 32    %159 = imadsh_mix16 %59, %60, %158
MESA: info:     div 32    %160 = imadsh_mix16 %60, %59, %159
MESA: info:     div 32    %155 = umul_low %59, %61
MESA: info:     div 32    %156 = imadsh_mix16 %59, %61, %155
MESA: info:     div 32    %157 = imadsh_mix16 %61, %59, %156
MESA: info:     div 32x2  %186 = ffma %185, %47.xx, %47.yy
MESA: info:     con 32     %69 = @load_const_ir3 (%27 (0x0)) (base=2)
MESA: info:     div 32    %178 = ffma %186.x, %69, %40
MESA: info:     div 32    %177 = ffma %186.y, %69, %41
MESA: info:     con 32     %75 = @load_const_ir3 (%27 (0x0)) (base=3)
MESA: info:     div 32     %76 = fmul %178, %75
MESA: info:     div 32     %77 = fmul %177, %75
MESA: info:     div 32     %78 = f2i32 %76
MESA: info:     div 32     %79 = f2i32 %77
MESA: info:     div 32     %80 = imax %78, %160
MESA: info:     div 32     %81 = imax %79, %157
MESA: info:     con 32     %82 = load_const (0xffffffff = -1 = 4294967295)
MESA: info:     con 32     %84 = @load_const_ir3 (%27 (0x0)) (base=4)
MESA: info:     div 32     %85 = iadd %84, %160
MESA: info:     div 32     %86 = iadd %84, %157
MESA: info:     div 32     %87 = imin %80, %85
MESA: info:     div 32     %88 = imin %81, %86
MESA: info:     div 32x2   %89 = vec2 %87, %88
MESA: info:     con 32     %90 = @bindless_resource_ir3 (%32 (0x2)) (desc_set=2)
MESA: info:     div 32x4   %91 = (float32)txf %90 (texture_handle), %89 (coord), %27 (0x0) (lod), 0 (texture)
MESA: info:     con 32     %92 = load_const (0x437f0000 = 255.000000)
MESA: info:     div 32    %176 = ffma %92 (255.000000), %91.x, %37 (0.500000)
MESA: info:     div 32     %95 = f2i32 %176
MESA: info:     div 32     %96 = ishl %60, %32 (0x2)
MESA: info:     div 32     %97 = iadd %96, %61
MESA: info:     con 32     %98 = load_const (0x00000011 = 17)
MESA: info:     div 32    %152 = umul_low %98 (0x11), %97
MESA: info:     div 32    %153 = imadsh_mix16 %98 (0x11), %97, %152
MESA: info:     con 32    %100 = load_const (0x00000110 = 272)
MESA: info:     con 32    %101 = load_const (0x00000007 = 0.000000)
MESA: info:     div 32    %149 = umul_low %97, %100 (0x110)
MESA: info:     div 32    %151 = imadsh_mix16 %100 (0x110), %97, %149
MESA: info:     con 32    %103 = @bindless_resource_ir3 (%101 (0x7)) (desc_set=1)
MESA: info:     div 32    %130 = ushr %151, %31 (0x4)
MESA: info:     div 32    %131 = @load_ubo_vec4 (%103, %130) (access=speculatable, base=0, component=0)
MESA: info:     div 1     %105 = ige %43 (0x10), %131
MESA: info:     div 32    %106 = iadd %95, %153
MESA: info:     div 32    %107 = ishl %106, %31 (0x4)
MESA: info:     div 32    %108 = iadd %107, %43 (0x10)
MESA: info:     div 32    %133 = ushr %108, %31 (0x4)
MESA: info:     div 32    %134 = @load_ubo_vec4 (%103, %133) (access=speculatable, base=0, component=0)
MESA: info:     div 32    %136 = bcsel %105, %134, %95
MESA: info:     div 32    %137 = iadd %82 (0xffffffff), %136
MESA: info:     con 32    %113 = load_const (0x000000fe = 254)
MESA: info:     div 1     %114 = ieq %137, %113 (0xfe)
MESA: info:                      @demote_if (%114)
MESA: info:     div 32    %115 = mov %30.x
MESA: info:     div 32    %116 = @ddx (%115)
MESA: info:     div 32    %117 = fabs %116
MESA: info:     div 32    %118 = fmul %30.x, %36
MESA: info:     div 32    %119 = @ddy (%118)
MESA: info:     div 32    %120 = fabs %119
MESA: info:     div 32    %121 = fmax %117, %120
MESA: info:     con 32    %122 = load_const (0x3f000200 = 0.500031)
MESA: info:     div 32    %123 = fadd %122 (0.500031), %121
MESA: info:     div 32    %175 = ffma %37 (0.500000), %30.x, %123
MESA: info:                      @store_output (%175, %27 (0x0)) (base=0, range=1, wrmask=x, component=0, src_type=float32, io location=FRAG_RESULT_DEPTH slots=1, xfb(), xfb2())
MESA: info:                      // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 e4c0bc006894a6adc725722998d3e26c715d9fee:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (8 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      2
MESA: info: ;   range[0]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  0
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          5
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @const(c12.x)	0x437f0000, 0x3f000000, 0x00000011, 0x00000110
MESA: info: @const(c13.x)	0x3f000200, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l24
MESA: info: getone #l24
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 1, 5
MESA: info: mova1 a1.x, (r)16
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 2
MESA: info: ldc.offset0.1.imm.base1 r63.x, 0, 7
MESA: info: (sy)(ss)mul.f r48.y, (2.0), r48.y
MESA: info: add.f r48.y, r48.y, r48.x
MESA: info: cov.f32s32 r48.z, r48.y
MESA: info: trunc.f r48.w, r48.y
MESA: info: add.u r49.x, r48.z, -1
MESA: info: (ss)rcp r48.x, r48.x
MESA: info: rcp r48.y, r48.y
MESA: info: stc.u32 c[1], r48.z, 1
MESA: info: stc.u32 c[3], r48.w, 1
MESA: info: stc.u32 c[4], r49.x, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[2], r48.y, 1
MESA: info: ldc.4.k.imm.base0 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 5
MESA: info: (sy)(ss)shpe
MESA: info: l24:
MESA: info: (jp)bary.f r1.x, 1, r0.x
MESA: info: bary.f r1.y, 2, r0.x
MESA: info: bary.f r0.z, 3, r0.x
MESA: info: bary.f r0.w, 4, r0.x
MESA: info: bary.f (ei)r0.x, 0, (last)r0.x
MESA: info: mul.f r1.x, (last)r1.x, c9.x
MESA: info: mul.f r1.y, (last)r1.y, c9.x
MESA: info: add.f r0.z, (last)r0.z, (0.5)
MESA: info: floor.f r1.x, (last)r1.x
MESA: info: floor.f r1.y, (last)r1.y
MESA: info: add.f r0.w, (last)r0.w, (0.5)
MESA: info: add.f r1.x, (last)r1.x, (0.5)
MESA: info: add.f r1.y, (last)r1.y, (0.5)
MESA: info: floor.f r0.z, (last)r0.z
MESA: info: mul.f r1.x, (last)r1.x, c0.x
MESA: info: mul.f r1.y, (last)r1.y, c0.x
MESA: info: floor.f r0.w, (last)r0.w
MESA: info: mad.f32 r1.x, c9.x, r1.x, c9.y
MESA: info: mad.f32 r1.y, c9.x, r1.y, c9.y
MESA: info: mov.f32f32 r1.w, c0.y
MESA: info: mad.f32 r1.x, c0.z, r1.x, r0.z
MESA: info: cov.f32s32 r0.z, (last)r0.z
MESA: info: mad.f32 r1.y, c0.z, r1.y, r0.w
MESA: info: cov.f32s32 r0.w, (last)r0.w
MESA: info: mull.u r1.z, c0.y, r0.z
MESA: info: mul.f r1.x, (last)r1.x, c0.w
MESA: info: madsh.m16 r1.z, c0.y, r0.z, (last)r1.z
MESA: info: mul.f r1.y, (last)r1.y, c0.w
MESA: info: mull.u r2.x, c0.y, r0.w
MESA: info: madsh.m16 r1.z, r0.z, r1.w, (last)r1.z
MESA: info: shl.b r0.z, (last)r0.z, 2
MESA: info: madsh.m16 r2.x, c0.y, r0.w, (last)r2.x
MESA: info: cov.f32s32 r1.x, (last)r1.x
MESA: info: cov.f32s32 r1.y, (last)r1.y
MESA: info: add.u r0.z, (last)r0.z, r0.w
MESA: info: madsh.m16 r0.w, (last)r0.w, r1.w, (last)r2.x
MESA: info: max.s r1.x, (last)r1.x, r1.z
MESA: info: add.u r1.z, c1.x, (last)r1.z
MESA: info: max.s r1.y, (last)r1.y, r0.w
MESA: info: add.u r0.w, c1.x, (last)r0.w
MESA: info: min.s r1.x, (last)r1.x, (last)r1.z
MESA: info: mull.u r2.z, 17, r0.z
MESA: info: min.s r1.y, (last)r1.y, (last)r0.w
MESA: info: madsh.m16 r2.z, c12.z, r0.z, (last)r2.z
MESA: info: mull.u r2.w, r0.z, 272
MESA: info: mul.f r3.y, r0.x, c4.x
MESA: info: (nop1) madsh.m16 r0.z, c12.w, r0.z, (last)r2.w
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: isaml.base2 (f32)(x)r2.y, r1.x, r40.x, s#0, t#2
MESA: info: nop
MESA: info: shr.b r0.z, (last)r0.z, 4
MESA: info: (sy)(nop2) mad.f32 r2.y, c12.x, r2.y, c12.y
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: nop
MESA: info: ldc.offset0.1.imm.base1 r3.x, r0.z, 7
MESA: info: nop
MESA: info: (nop2) add.u r2.z, r2.y, (last)r2.z
MESA: info: (nop2) shl.b r2.z, (last)r2.z, 4
MESA: info: (nop2) add.u r2.z, (last)r2.z, 16
MESA: info: (nop3) shr.b r2.z, (last)r2.z, 4
MESA: info: (rpt1)nop
MESA: info: ldc.offset0.1.imm.base1 r3.z, r2.z, 7
MESA: info: (sy)(nop2) cmps.s.ge r3.x, 16, (last)r3.x
MESA: info: (nop2) sel.b32 r3.z, (last)r3.z, r3.x, (last)r2.y
MESA: info: (nop2) add.u r3.z, -1, (last)r3.z
MESA: info: (nop3) cmps.s.eq p0.x, (last)r3.z, 254
MESA: info: (rpt1)nop
MESA: info: kill p0.x
MESA: info: dsy (f32)(x)r3.w, r3.y
MESA: info: dsx (f32)(x)r4.x, r0.x
MESA: info: (sy)(nop2) max.f r4.x, (last)(abs)r4.x, (last)(abs)r3.w
MESA: info: (nop1) add.f r4.x, c13.x, (last)r4.x
MESA: info: mad.f32 r0.x, c12.y, r0.x, (last)r4.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r0.x (FRAG_RESULT_DEPTH)
MESA: info: ; FRAG: inputs: r0.x (VARYING_SLOT_VAR0 slot=32 cm=f,il=0,b=1) r0.w (VARYING_SLOT_VAR1 slot=33 cm=1,il=4,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 95/2: 100 instr, 31 nops, 69 non-nops, 1 mov, 5 cov, 224 dwords
MESA: info: ; FRAG prog 95/2: 4 last-baryf, 99 last-helper, 0 half, 5 full, 16 constlen
MESA: info: ; FRAG prog 95/2: 33 cat0, 6 cat1, 42 cat2, 13 cat3, 0 cat4, 3 cat5, 2 cat6, 1 cat7
MESA: info: ; FRAG prog 95/2: 0 sstall, 0 (ss), 70 systall, 3 (sy), 0 loops
MESA: info: ; FRAG prog 95/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 24 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; posz: r0.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xde68d1d5, 0xc71b50d0, 0xbea0a2b5, 0x56c3efa4, 0xb6f8117a, 0xe2e21a0e, 0x6c399ac9, 0x26225292}
MESA: info: inputs_read: 15-22
MESA: info: outputs_written: 0,32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 8
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #1 (VERT_ATTRIB_GENERIC1.xyz, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #2 (VERT_ATTRIB_GENERIC2.xyz, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #3 (VERT_ATTRIB_GENERIC3.xyz, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #4 (VERT_ATTRIB_GENERIC4.xyz, 4, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #5 (VERT_ATTRIB_GENERIC5.xyz, 5, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #6 (VERT_ATTRIB_GENERIC6.xyz, 6, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #7 (VERT_ATTRIB_GENERIC7.xy, 7, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #8 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec3 #9 (VARYING_SLOT_VAR0.xyz, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #10
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %5 = @bindless_resource_ir3 (%3 (0x1)) (desc_set=1)
MESA: info:             con 32    %170 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %161 = @load_ubo_vec4 (%5, %170 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %7 = frcp %161
MESA: info:             con 32      %8 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %164 = @load_ubo_vec4 (%8, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %10 = fmul %164.x, %161
MESA: info:                              @store_const_ir3 (%10) (base=0)
MESA: info:             con 32     %11 = fmul %164.y, %7
MESA: info:                              @store_const_ir3 (%11) (base=1)
MESA: info:             con 32    %171 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32x2  %167 = @load_ubo_vec4 (%8, %171 (0x10)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %209 = fmul %167, %161.xx
MESA: info:             con 32x2  %210 = fabs %209.yx
MESA: info:             con 32     %18 = fneg %210.y
MESA: info:             con 1      %19 = feq! %210.x, %18
MESA: info:             con 32     %20 = b2i32 %19
MESA: info:                              @store_const_ir3 (%20) (base=2)
MESA: info:             con 32     %21 = fneg %209.x
MESA: info:                              @store_const_ir3 (%21) (base=3)
MESA: info:             con 32    %208 = fsub %209.y, %209.x
MESA: info:             con 32     %23 = frcp %208
MESA: info:                              @store_const_ir3 (%23) (base=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%5, %170 (0x18)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%5, %2 (0x0)) (base=32, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %30 = load_const (0x00000000)
MESA: info:     div 32x3   %31 = @load_input (%30 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3   %32 = @load_input (%30 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3   %33 = @load_input (%30 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3   %34 = @load_input (%30 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32x3   %35 = @load_input (%30 (0x0)) (base=4, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC4 slots=1)
MESA: info:     div 32x3   %36 = @load_input (%30 (0x0)) (base=5, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC5 slots=1)
MESA: info:     div 32x3   %37 = @load_input (%30 (0x0)) (base=6, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC6 slots=1)
MESA: info:     div 32x2   %38 = @load_input (%30 (0x0)) (base=7, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC7 slots=1)
MESA: info:     con 32x4   %46 = @load_const_ir3 (%30 (0x0)) (base=16)
MESA: info:     div 32x3  %212 = fmax %46.xyz, %35
MESA: info:     div 32x3  %214 = fmin %212, %36
MESA: info:     div 32x3  %216 = fsub %46.xyz, %214
MESA: info:     div 32     %60 = fmul %216.y, %216.y
MESA: info:     div 32    %204 = ffma %216.z, %216.z, %60
MESA: info:     div 32    %203 = ffma %216.x, %216.x, %204
MESA: info:     div 32     %64 = fsqrt %203
MESA: info:     con 32     %65 = load_const (0x3f800000 = 1.000000)
MESA: info:     con 32     %67 = @load_const_ir3 (%30 (0x0)) (base=0)
MESA: info:     con 32     %69 = @load_const_ir3 (%30 (0x0)) (base=1)
MESA: info:     div 32    %202 = fsub %67, %64
MESA: info:     con 32     %72 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32     %73 = fmul %72 (2.000000), %202
MESA: info:     div 32     %74 = fmul %73, %69
MESA: info:     div 32     %75 = fsat %74
MESA: info:     con 32     %77 = @load_const_ir3 (%30 (0x0)) (base=2)
MESA: info:     con 32     %81 = @load_const_ir3 (%30 (0x0)) (base=3)
MESA: info:     div 32     %82 = fadd %64, %81
MESA: info:     con 32     %84 = @load_const_ir3 (%30 (0x0)) (base=4)
MESA: info:     div 32     %85 = fmul %82, %84
MESA: info:     div 32     %86 = fsat %85
MESA: info:     div 32    %201 = fsub %65 (1.000000), %86
MESA: info:     div 32x3  %218 = ffma %37, %201.xxx, %86.xxx
MESA: info:     div 32x3  %220 = icsel_eqz %77.xxx, %218, %37
MESA: info:     div 32x2  %221 = fmul %75.xx, %220.xy
MESA: info:     div 32x3  %223 = fmul %32, %221.yyy
MESA: info:     div 32x3  %225 = ffma %31, %221.xxx, %223
MESA: info:     div 32x3  %227 = ffma %33, %220.zzz, %225
MESA: info:     div 32x3  %229 = fadd %227, %34
MESA: info:     con 32x4  %120 = @load_const_ir3 (%30 (0x0)) (base=32)
MESA: info:     con 32x4  %128 = @load_const_ir3 (%30 (0x0)) (base=36)
MESA: info:     div 32x4  %232 = fmul %128, %229.yyyy
MESA: info:     div 32x4  %235 = ffma %120, %229.xxxx, %232
MESA: info:     con 32x4  %140 = @load_const_ir3 (%30 (0x0)) (base=40)
MESA: info:     div 32x4  %238 = ffma %140, %229.zzzz, %235
MESA: info:     con 32x4  %152 = @load_const_ir3 (%30 (0x0)) (base=44)
MESA: info:     div 32x4  %241 = fadd %238, %152
MESA: info:                      @store_output (%241, %30 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x3  %158 = vec3 %241.z, %38.x, %38.y
MESA: info:                      @store_output (%158, %30 (0x0)) (base=1, range=1, wrmask=xyz, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 17f1e23259f1b88f2452e2b35de8c990565de66f:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (8 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c12.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      2
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (384b -> 448b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0x7)
MESA: info: @in(r3.w)	in5 (wrmask=0x7)
MESA: info: @in(r4.z)	in6 (wrmask=0x7)
MESA: info: @in(r5.z)	in7 (wrmask=0x3)
MESA: info: shps #l26
MESA: info: getone #l26
MESA: info: ldc.u.offset0.2.imm.base1 r48.y, 0, 0
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 16, 0
MESA: info: ldc.u.offset3.1.imm.base1 r48.x, 24, 1
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)(rpt1)mul.f r49.y, (r)r48.w, r48.x
MESA: info: mul.f r48.y, r48.y, r48.x
MESA: info: cmps.f.eq hr51.z, (abs)r49.z, (absneg)r49.y
MESA: info: add.f r49.z, r49.z, (neg)r49.y
MESA: info: cov.u16s32 r50.x, hr51.z
MESA: info: absneg.f r49.y, (neg)r49.y
MESA: info: (ss)rcp r48.x, r48.x
MESA: info: rcp r49.z, r49.z
MESA: info: stc.u32 c[0], r48.y, 1
MESA: info: stc.u32 c[2], r50.x, 1
MESA: info: stc.u32 c[3], r49.y, 1
MESA: info: (ss)mul.f r48.z, r48.z, r48.x
MESA: info: stc.u32 c[4], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[1], r48.z, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 24, 1
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l26:
MESA: info: (jp)max.f r3.y, c4.y, (last)r3.y
MESA: info: max.f r3.z, c4.z, (last)r3.z
MESA: info: max.f r3.x, c4.x, (last)r3.x
MESA: info: min.f r3.y, (last)r3.y, (last)r4.x
MESA: info: min.f r3.z, (last)r3.z, (last)r4.y
MESA: info: min.f r3.x, (last)r3.x, (last)r3.w
MESA: info: add.f r3.y, c4.y, (last)(neg)r3.y
MESA: info: add.f r3.z, c4.z, (last)(neg)r3.z
MESA: info: add.f r3.x, c4.x, (last)(neg)r3.x
MESA: info: mul.f r3.y, (last)r3.y, r3.y
MESA: info: mov.f32f32 r6.x, c0.z
MESA: info: (nop1) mad.f32 r3.z, (last)r3.z, r3.z, (last)r3.y
MESA: info: (nop3) mad.f32 r3.x, (last)r3.x, r3.x, (last)r3.z
MESA: info: (rpt1)nop
MESA: info: sqrt r3.x, (last)r3.x
MESA: info: (ss)add.f r6.y, c0.x, (neg)r3.x
MESA: info: (nop1) add.f r3.x, (last)r3.x, c0.w
MESA: info: mul.f r6.y, (2.0), (last)r6.y
MESA: info: (sat)(nop1) mul.f r3.x, (last)r3.x, c1.x
MESA: info: (sat)mul.f r6.y, (last)r6.y, c0.y
MESA: info: (nop2) add.f r6.z, (1.0), (neg)r3.x
MESA: info: mad.f32 r6.w, r4.z, r6.z, r3.x
MESA: info: (rpt1)mad.f32 r7.x, (r)r4.w, r6.z, (last)r3.x
MESA: info: sel.b32 r4.z, (last)r4.z, r6.x, (last)r6.w
MESA: info: (rpt1)sel.b32 r4.w, (r)(last)r4.w, r6.x, (r)(last)r7.x
MESA: info: mul.f r4.z, r6.y, (last)r4.z
MESA: info: (nop2) mul.f r6.y, (last)r6.y, (last)r4.w
MESA: info: mul.f r1.x, (last)r1.x, r6.y
MESA: info: mul.f r0.w, (last)r0.w, r6.y
MESA: info: mul.f r1.y, (last)r1.y, (last)r6.y
MESA: info: mad.f32 r0.y, (last)r0.y, r4.z, (last)r1.x
MESA: info: mad.f32 r0.x, (last)r0.x, r4.z, (last)r0.w
MESA: info: mad.f32 r0.z, (last)r0.z, r4.z, (last)r1.y
MESA: info: mad.f32 r1.w, (last)r1.w, r5.x, (last)r0.y
MESA: info: mad.f32 r1.z, (last)r1.z, r5.x, (last)r0.x
MESA: info: mad.f32 r2.x, (last)r2.x, r5.x, (last)r0.z
MESA: info: add.f r1.w, (last)r1.w, (last)r2.z
MESA: info: add.f r1.z, (last)r1.z, (last)r2.y
MESA: info: add.f r2.x, (last)r2.x, (last)r2.w
MESA: info: mul.f r7.z, c9.x, r1.w
MESA: info: mul.f r8.y, c9.y, r1.w
MESA: info: (rpt1)mul.f r8.z, (r)c9.z, (last)r1.w
MESA: info: mad.f32 r7.z, c8.x, r1.z, (last)r7.z
MESA: info: (rpt1)mad.f32 r8.z, (r)c8.z, r1.z, (r)(last)r8.z
MESA: info: (rpt1)mad.f32 r8.z, (r)c10.z, r2.x, (r)(last)r8.z
MESA: info: mad.f32 r8.y, c8.y, r1.z, (last)r8.y
MESA: info: mad.f32 r7.w, c10.x, r2.x, (last)r7.z
MESA: info: add.f r5.y, (last)r8.z, c11.z
MESA: info: mad.f32 r8.x, c10.y, r2.x, (last)r8.y
MESA: info: add.f r9.w, (last)r8.w, c11.w
MESA: info: mov.u32u32 r9.z, r5.y
MESA: info: (rpt1)add.f r9.x, (last)(r)r7.w, (r)c11.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r9.x (VARYING_SLOT_POS) r5.y (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (VERT_ATTRIB_GENERIC4 slot=19 cm=7,il=0,b=0) r3.w (VERT_ATTRIB_GENERIC5 slot=20 cm=7,il=0,b=0) r4.z (VERT_ATTRIB_GENERIC6 slot=21 cm=7,il=0,b=0) r5.z (VERT_ATTRIB_GENERIC7 slot=22 cm=3,il=0,b=0)
MESA: info: ; VERT prog 96/1: 70 instr, 12 nops, 58 non-nops, 2 mov, 0 cov, 166 dwords
MESA: info: ; VERT prog 96/1: 0 last-baryf, 0 last-helper, 0 half, 10 full, 12 constlen
MESA: info: ; VERT prog 96/1: 13 cat0, 2 cat1, 32 cat2, 22 cat3, 1 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 96/1: 10 sstall, 1 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 96/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 27 preamble-instr, 1 early-preamble
MESA: info: ; pos: r9.x
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xde68d1d5, 0xc71b50d0, 0xbea0a2b5, 0x56c3efa4, 0xb6f8117a, 0xe2e21a0e, 0x6c399ac9, 0x26225292}
MESA: info: inputs_read: 15-22
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 8
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #1 (VERT_ATTRIB_GENERIC1.xyz, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #2 (VERT_ATTRIB_GENERIC2.xyz, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #3 (VERT_ATTRIB_GENERIC3.xyz, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #4 (VERT_ATTRIB_GENERIC4.xyz, 4, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #5 (VERT_ATTRIB_GENERIC5.xyz, 5, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #6 (VERT_ATTRIB_GENERIC6.xyz, 6, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #7 (VERT_ATTRIB_GENERIC7.xy, 7, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #8 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec3 #9 (VARYING_SLOT_VAR0.xyz, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #10
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %5 = @bindless_resource_ir3 (%3 (0x1)) (desc_set=1)
MESA: info:             con 32    %170 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %161 = @load_ubo_vec4 (%5, %170 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %7 = frcp %161
MESA: info:             con 32      %8 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32x2  %164 = @load_ubo_vec4 (%8, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %10 = fmul %164.x, %161
MESA: info:                              @store_const_ir3 (%10) (base=0)
MESA: info:             con 32     %11 = fmul %164.y, %7
MESA: info:                              @store_const_ir3 (%11) (base=1)
MESA: info:             con 32    %171 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32x2  %167 = @load_ubo_vec4 (%8, %171 (0x10)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x2  %209 = fmul %167, %161.xx
MESA: info:             con 32x2  %210 = fabs %209.yx
MESA: info:             con 32     %18 = fneg %210.y
MESA: info:             con 1      %19 = feq! %210.x, %18
MESA: info:             con 32     %20 = b2i32 %19
MESA: info:                              @store_const_ir3 (%20) (base=2)
MESA: info:             con 32     %21 = fneg %209.x
MESA: info:                              @store_const_ir3 (%21) (base=3)
MESA: info:             con 32    %208 = fsub %209.y, %209.x
MESA: info:             con 32     %23 = frcp %208
MESA: info:                              @store_const_ir3 (%23) (base=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%5, %170 (0x18)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%5, %2 (0x0)) (base=32, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %30 = load_const (0x00000000)
MESA: info:     div 32x3   %31 = @load_input (%30 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3   %32 = @load_input (%30 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3   %33 = @load_input (%30 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3   %34 = @load_input (%30 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32x3   %35 = @load_input (%30 (0x0)) (base=4, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC4 slots=1)
MESA: info:     div 32x3   %36 = @load_input (%30 (0x0)) (base=5, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC5 slots=1)
MESA: info:     div 32x3   %37 = @load_input (%30 (0x0)) (base=6, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC6 slots=1)
MESA: info:     con 32x4   %46 = @load_const_ir3 (%30 (0x0)) (base=16)
MESA: info:     div 32x3  %212 = fmax %46.xyz, %35
MESA: info:     div 32x3  %214 = fmin %212, %36
MESA: info:     div 32x3  %216 = fsub %46.xyz, %214
MESA: info:     div 32     %60 = fmul %216.y, %216.y
MESA: info:     div 32    %204 = ffma %216.z, %216.z, %60
MESA: info:     div 32    %203 = ffma %216.x, %216.x, %204
MESA: info:     div 32     %64 = fsqrt %203
MESA: info:     con 32     %65 = load_const (0x3f800000 = 1.000000)
MESA: info:     con 32     %67 = @load_const_ir3 (%30 (0x0)) (base=0)
MESA: info:     con 32     %69 = @load_const_ir3 (%30 (0x0)) (base=1)
MESA: info:     div 32    %202 = fsub %67, %64
MESA: info:     con 32     %72 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32     %73 = fmul %72 (2.000000), %202
MESA: info:     div 32     %74 = fmul %73, %69
MESA: info:     div 32     %75 = fsat %74
MESA: info:     con 32     %77 = @load_const_ir3 (%30 (0x0)) (base=2)
MESA: info:     con 32     %81 = @load_const_ir3 (%30 (0x0)) (base=3)
MESA: info:     div 32     %82 = fadd %64, %81
MESA: info:     con 32     %84 = @load_const_ir3 (%30 (0x0)) (base=4)
MESA: info:     div 32     %85 = fmul %82, %84
MESA: info:     div 32     %86 = fsat %85
MESA: info:     div 32    %201 = fsub %65 (1.000000), %86
MESA: info:     div 32x3  %218 = ffma %37, %201.xxx, %86.xxx
MESA: info:     div 32x3  %220 = icsel_eqz %77.xxx, %218, %37
MESA: info:     div 32x2  %221 = fmul %75.xx, %220.xy
MESA: info:     div 32x3  %223 = fmul %32, %221.yyy
MESA: info:     div 32x3  %225 = ffma %31, %221.xxx, %223
MESA: info:     div 32x3  %227 = ffma %33, %220.zzz, %225
MESA: info:     div 32x3  %229 = fadd %227, %34
MESA: info:     con 32x4  %120 = @load_const_ir3 (%30 (0x0)) (base=32)
MESA: info:     con 32x4  %128 = @load_const_ir3 (%30 (0x0)) (base=36)
MESA: info:     div 32x4  %232 = fmul %128, %229.yyyy
MESA: info:     div 32x4  %235 = ffma %120, %229.xxxx, %232
MESA: info:     con 32x4  %140 = @load_const_ir3 (%30 (0x0)) (base=40)
MESA: info:     div 32x4  %238 = ffma %140, %229.zzzz, %235
MESA: info:     con 32x4  %152 = @load_const_ir3 (%30 (0x0)) (base=44)
MESA: info:     div 32x4  %241 = fadd %238, %152
MESA: info:                      @store_output (%241, %30 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                      // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 d7d01ef7e82e678b984f6514de2e09d22ea49a8d:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (8 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c12.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      2
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (384b -> 448b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0x7)
MESA: info: @in(r3.w)	in5 (wrmask=0x7)
MESA: info: @in(r4.z)	in6 (wrmask=0x7)
MESA: info: shps #l26
MESA: info: getone #l26
MESA: info: ldc.u.offset0.2.imm.base1 r48.y, 0, 0
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 16, 0
MESA: info: ldc.u.offset3.1.imm.base1 r48.x, 24, 1
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)(rpt1)mul.f r49.y, (r)r48.w, r48.x
MESA: info: mul.f r48.y, r48.y, r48.x
MESA: info: cmps.f.eq hr51.z, (abs)r49.z, (absneg)r49.y
MESA: info: add.f r49.z, r49.z, (neg)r49.y
MESA: info: cov.u16s32 r50.x, hr51.z
MESA: info: absneg.f r49.y, (neg)r49.y
MESA: info: (ss)rcp r48.x, r48.x
MESA: info: rcp r49.z, r49.z
MESA: info: stc.u32 c[0], r48.y, 1
MESA: info: stc.u32 c[2], r50.x, 1
MESA: info: stc.u32 c[3], r49.y, 1
MESA: info: (ss)mul.f r48.z, r48.z, r48.x
MESA: info: stc.u32 c[4], r49.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[1], r48.z, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 24, 1
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l26:
MESA: info: (jp)max.f r3.y, c4.y, (last)r3.y
MESA: info: max.f r3.z, c4.z, (last)r3.z
MESA: info: max.f r3.x, c4.x, (last)r3.x
MESA: info: min.f r3.y, (last)r3.y, (last)r4.x
MESA: info: min.f r3.z, (last)r3.z, (last)r4.y
MESA: info: min.f r3.x, (last)r3.x, (last)r3.w
MESA: info: add.f r3.y, c4.y, (last)(neg)r3.y
MESA: info: add.f r3.z, c4.z, (last)(neg)r3.z
MESA: info: add.f r3.x, c4.x, (last)(neg)r3.x
MESA: info: mul.f r3.y, (last)r3.y, r3.y
MESA: info: mov.f32f32 r5.y, c0.z
MESA: info: (nop1) mad.f32 r3.z, (last)r3.z, r3.z, (last)r3.y
MESA: info: (nop3) mad.f32 r3.x, (last)r3.x, r3.x, (last)r3.z
MESA: info: (rpt1)nop
MESA: info: sqrt r3.x, (last)r3.x
MESA: info: (ss)add.f r5.z, c0.x, (neg)r3.x
MESA: info: (nop1) add.f r3.x, (last)r3.x, c0.w
MESA: info: mul.f r5.z, (2.0), (last)r5.z
MESA: info: (sat)(nop1) mul.f r3.x, (last)r3.x, c1.x
MESA: info: (sat)mul.f r5.z, (last)r5.z, c0.y
MESA: info: (nop2) add.f r5.w, (1.0), (neg)r3.x
MESA: info: mad.f32 r6.x, r4.z, r5.w, r3.x
MESA: info: (rpt1)mad.f32 r6.y, (r)r4.w, r5.w, (last)r3.x
MESA: info: sel.b32 r4.z, (last)r4.z, r5.y, (last)r6.x
MESA: info: (rpt1)sel.b32 r4.w, (r)(last)r4.w, r5.y, (r)(last)r6.y
MESA: info: mul.f r4.z, r5.z, (last)r4.z
MESA: info: (nop2) mul.f r5.z, (last)r5.z, (last)r4.w
MESA: info: mul.f r1.x, (last)r1.x, r5.z
MESA: info: mul.f r0.w, (last)r0.w, r5.z
MESA: info: mad.f32 r0.y, (last)r0.y, r4.z, (last)r1.x
MESA: info: mul.f r1.y, (last)r1.y, (last)r5.z
MESA: info: mad.f32 r0.x, (last)r0.x, r4.z, (last)r0.w
MESA: info: mad.f32 r1.w, (last)r1.w, r5.x, (last)r0.y
MESA: info: mad.f32 r0.z, (last)r0.z, r4.z, (last)r1.y
MESA: info: mad.f32 r1.z, (last)r1.z, r5.x, (last)r0.x
MESA: info: add.f r1.w, (last)r1.w, (last)r2.z
MESA: info: mad.f32 r2.x, (last)r2.x, r5.x, (last)r0.z
MESA: info: add.f r1.z, (last)r1.z, (last)r2.y
MESA: info: mul.f r6.w, c9.x, r1.w
MESA: info: add.f r2.x, (last)r2.x, (last)r2.w
MESA: info: mul.f r8.x, c9.y, r1.w
MESA: info: mad.f32 r6.w, c8.x, r1.z, (last)r6.w
MESA: info: mad.f32 r8.x, c8.y, r1.z, (last)r8.x
MESA: info: mad.f32 r7.x, c10.x, r2.x, (last)r6.w
MESA: info: mad.f32 r7.y, c10.y, r2.x, (last)r8.x
MESA: info: (rpt1)mul.f r8.y, (r)c9.z, (last)r1.w
MESA: info: (rpt1)mad.f32 r8.y, (r)c8.z, r1.z, (r)(last)r8.y
MESA: info: (rpt1)mad.f32 r7.z, (r)c10.z, r2.x, (r)(last)r8.y
MESA: info: (rpt3)add.f r8.w, (last)(r)r7.x, (r)c11.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r8.w (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (VERT_ATTRIB_GENERIC4 slot=19 cm=7,il=0,b=0) r3.w (VERT_ATTRIB_GENERIC5 slot=20 cm=7,il=0,b=0) r4.z (VERT_ATTRIB_GENERIC6 slot=21 cm=7,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0)
MESA: info: ; BVERT prog 96/2: 69 instr, 12 nops, 57 non-nops, 1 mov, 0 cov, 160 dwords
MESA: info: ; BVERT prog 96/2: 0 last-baryf, 0 last-helper, 0 half, 10 full, 12 constlen
MESA: info: ; BVERT prog 96/2: 13 cat0, 1 cat1, 32 cat2, 22 cat3, 1 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 96/2: 10 sstall, 1 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 96/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 27 preamble-instr, 1 early-preamble
MESA: info: ; pos: r8.w
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0xae9137cb, 0x0caf0eb9, 0xae5705a9, 0x042daf5d, 0x790fc17b, 0x0e36f696, 0x76f6d30a, 0x3f59ddec}
MESA: info: inputs_read: 32
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: uses_discard: true
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: depth_layout: 1
MESA: info: inputs: 1
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VARYING_SLOT_VAR0.xyz, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none float #1 (FRAG_RESULT_DEPTH.x, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #2
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x4)) (desc_set=0)
MESA: info:             con 32     %4 = load_const (0x00000000 = 0.000000)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %4 (0x0)) (base=0, range=4)
MESA: info:             con 32     %5 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32     %6 = @bindless_resource_ir3 (%5 (0x2)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%6, %4 (0x0)) (base=16, range=4)
MESA: info:             con 32     %9 = @bindless_resource_ir3 (%4 (0x0)) (desc_set=2)
MESA: info:             con 32    %10 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32    %11 = @bindless_resource_ir3 (%10 (0x1)) (desc_set=2)
MESA: info:                             @prefetch_sam_ir3 (%9, %11)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32    %12 = load_const (0x00000000)
MESA: info:     div 32x2  %13 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32    %14 = @load_interpolated_input (%13, %12 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32    %20 = @load_const_ir3 (%12 (0x0)) (base=0)
MESA: info:     con 32    %24 = @load_const_ir3 (%12 (0x0)) (base=16)
MESA: info:     con 32    %25 = load_const (0x3f800000 = 1.000000)
MESA: info:     con 1     %26 = flt! %25 (1.000000), %24
MESA: info:                     @demote_if (%26)
MESA: info:     div 32x2  %27 = @load_barycentric_centroid (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x2  %28 = @load_interpolated_input (%27, %12 (0x0)) (base=0, component=1, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32    %29 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32    %30 = @bindless_resource_ir3 (%29 (0x1)) (desc_set=2)
MESA: info:     con 32    %31 = @bindless_resource_ir3 (%12 (0x0)) (desc_set=2)
MESA: info:     div 32x4  %32 = (float32)tex (pre-dispatchable) %31 (texture_handle), %30 (sampler_handle), %28 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 1     %33 = flt! %32.w, %24
MESA: info:                     @demote_if (%33)
MESA: info:     div 32    %34 = @ddx (%14)
MESA: info:     div 32    %35 = fabs %34
MESA: info:     div 32    %36 = fmul %14, %20
MESA: info:     div 32    %37 = @ddy (%36)
MESA: info:     div 32    %38 = fabs %37
MESA: info:     div 32    %39 = fmax %35, %38
MESA: info:     con 32    %40 = load_const (0x3f000200 = 0.500031)
MESA: info:     div 32    %41 = fadd %40 (0.500031), %39
MESA: info:     con 32    %42 = load_const (0x3f000000 = 0.500000)
MESA: info:     div 32    %46 = ffma %42 (0.500000), %14, %41
MESA: info:                     @store_output (%46, %12 (0x0)) (base=0, range=1, wrmask=x, component=0, src_type=float32, io location=FRAG_RESULT_DEPTH slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 7b70bb41d38ec8c6a5c5bbe0ffb9a9965423c24e:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (8 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      2
MESA: info: ;   range[0]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  0
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          2
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @tex(r0.z)	src=1, bindless=1, samp=1, tex=0, wrmask=0x8, opc=sam
MESA: info: @const(c8.x)	0x3f000000, 0x3f000200, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l10
MESA: info: getone #l10
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base0 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)16
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 2
MESA: info: (sy)(ss)shpe
MESA: info: l10:
MESA: info: (jp)bary.f (ei)r0.x, 0, (last)r0.x
MESA: info: (sy)cmps.f.lt p0.x, (last)r1.y, c4.x
MESA: info: cmps.f.lt p0.y, (1.0), c4.x
MESA: info: (nop3) mul.f r1.z, r0.x, c0.x
MESA: info: nop
MESA: info: kill p0.y
MESA: info: kill p0.x
MESA: info: dsy (f32)(x)r1.w, r1.z
MESA: info: dsx (f32)(x)r2.x, r0.x
MESA: info: (sy)(nop2) max.f r2.x, (last)(abs)r2.x, (last)(abs)r1.w
MESA: info: (nop1) add.f r2.x, c8.y, (last)r2.x
MESA: info: mad.f32 r0.x, c8.x, r0.x, (last)r2.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r0.x (FRAG_RESULT_DEPTH)
MESA: info: ; FRAG: inputs: r0.x (VARYING_SLOT_VAR0 slot=32 cm=7,il=0,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_CENTROID slot=58 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 97/1: 19 instr, 7 nops, 12 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; FRAG prog 97/1: 0 last-baryf, 18 last-helper, 0 half, 3 full, 12 constlen
MESA: info: ; FRAG prog 97/1: 10 cat0, 0 cat1, 6 cat2, 1 cat3, 0 cat4, 2 cat5, 0 cat6, 0 cat7
MESA: info: ; FRAG prog 97/1: 0 sstall, 0 (ss), 29 systall, 2 (sy), 0 loops
MESA: info: ; FRAG prog 97/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 10 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; posz: r0.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xdaaaa28d, 0x5ebb97fd, 0x81850d25, 0x6f2baa35, 0x7980bde6, 0xd8482bb2, 0x14233fe3, 0x4656aa9c}
MESA: info: inputs_read: 15-18
MESA: info: outputs_written: 0,32
MESA: info: system_values_read: 0x00000000'00000000'00000000'00000200
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 4
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #1 (VERT_ATTRIB_GENERIC1.xyz, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #2 (VERT_ATTRIB_GENERIC2.xyz, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #3 (VERT_ATTRIB_GENERIC3.xyz, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #4 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec3 #5 (VARYING_SLOT_VAR0.xyz, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #6
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     decl_var  INTERP_MODE_NONE none vec2[4] #7
MESA: info:     decl_var  INTERP_MODE_NONE none vec3[4] #8
MESA: info:     decl_var  INTERP_MODE_NONE none vec4[7] #9
MESA: info:     decl_var  INTERP_MODE_NONE none vec2[4] #10
MESA: info:     decl_var  INTERP_MODE_NONE none vec3[4] #11
MESA: info:     con block b0:         // preds:
MESA: info:     div 32       %0 = @decl_reg (num_components=2, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %1 = @decl_reg (num_components=3, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %2 = @decl_reg (num_components=2, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %3 = @decl_reg (num_components=4, num_array_elems=7, bit_size=32, divergent=1)
MESA: info:     div 32       %4 = @decl_reg (num_components=3, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     con 1        %5 = @preamble_start_ir3
MESA: info:                       // succs: b1 b5
MESA: info:     if %5 {
MESA: info:         con block b1:         // preds: b0
MESA: info:         div 1        %6 = @elect_any_ir3
MESA: info:                           // succs: b2 b3
MESA: info:         if %6 {
MESA: info:             div block b2:         // preds: b1
MESA: info:             con 32       %7 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32       %8 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32      %10 = @bindless_resource_ir3 (%7 (0.000000)) (desc_set=1)
MESA: info:             con 32     %730 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32     %715 = @load_ubo_vec4 (%10, %730 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %12 = load_const (0x3f800000 = 1.000000 = 1065353216)
MESA: info:             con 32      %13 = frcp %715
MESA: info:                               @store_const_ir3 (%13) (base=0)
MESA: info:             con 32      %14 = @bindless_resource_ir3 (%8 (0x4)) (desc_set=1)
MESA: info:             con 32x2   %718 = @load_ubo_vec4 (%14, %7 (0.000000)) (access=speculatable, base=0, component=0)
MESA: info:             con 1       %16 = fge! %7 (0.000000), %718.x
MESA: info:             con 32x2  %1193 = fabs %718
MESA: info:             con 32      %19 = bcsel %16, %1193.x, %718.y
MESA: info:             con 32      %20 = bcsel %16, %718.y, %1193.x
MESA: info:             con 32      %21 = fabs %20
MESA: info:             con 32      %22 = load_const (0x5d5e0b6b = 1.000000e+18)
MESA: info:             con 1       %23 = fge! %21, %22 (1.000000e+18)
MESA: info:             con 32      %24 = load_const (0x3e800000 = 0.250000)
MESA: info:             con 32      %25 = bcsel %23, %24 (0x3e800000), %12 (0x3f800000)
MESA: info:             con 32      %26 = fmul %20, %25
MESA: info:             con 32      %27 = frcp %26
MESA: info:             con 32      %28 = fmul %19, %25
MESA: info:             con 32      %29 = fabs %28
MESA: info:             con 32      %30 = fabs %27
MESA: info:             con 32      %31 = fmul %29, %30
MESA: info:             con 1       %32 = feq! %1193.x, %1193.y
MESA: info:             con 32      %33 = bcsel %32, %12 (0x3f800000), %31
MESA: info:             con 1       %34 = fge! %12 (1.000000), %33
MESA: info:             con 32      %35 = frcp %33
MESA: info:             con 32      %36 = bcsel %34, %33, %35
MESA: info:             con 32      %37 = fmul %36, %36
MESA: info:             con 32      %38 = load_const (0xbc46c6a5 = -0.012132)
MESA: info:             con 32      %40 = load_const (0x3d5be101 = 0.053681)
MESA: info:             con 32    %1190 = ffma %38 (-0.012132), %37, %40 (0.053681)
MESA: info:             con 32      %43 = load_const (0xbdf0555d = -0.117350)
MESA: info:             con 32    %1189 = ffma %1190, %37, %43 (-0.117350)
MESA: info:             con 32      %46 = load_const (0x3e468bc1 = 0.193892)
MESA: info:             con 32    %1188 = ffma %1189, %37, %46 (0.193892)
MESA: info:             con 32      %49 = load_const (0xbeaa5476 = -0.332676)
MESA: info:             con 32    %1187 = ffma %1188, %37, %49 (-0.332676)
MESA: info:             con 32      %52 = load_const (0x3f7ffea5 = 0.999979)
MESA: info:             con 32    %1186 = ffma %1187, %37, %52 (0.999979)
MESA: info:             con 32      %54 = load_const (0xbfc90fdb = -1.570796)
MESA: info:             con 32      %55 = bcsel %34, %7 (0x0), %54 (0xbfc90fdb)
MESA: info:             con 32      %56 = fabs %36
MESA: info:             con 32    %1185 = ffma %56, %1186, %55
MESA: info:             con 32      %59 = load_const (0x7fffffff = 2147483647)
MESA: info:             con 32      %61 = load_const (0x80000000 = -2147483648 = 2147483648)
MESA: info:             con 32      %62 = iand %33, %61 (0x80000000)
MESA: info:             con 32    %1192 = andg_ir3 %1185, %59 (0x7fffffff), %62
MESA: info:             con 32      %64 = load_const (0x3fc90fdb = 1.570796)
MESA: info:             con 32      %65 = bcsel %16, %64 (0x3fc90fdb), %7 (0x0)
MESA: info:             con 32      %66 = fadd %65, %1192
MESA: info:             con 32      %67 = fmin %718.y, %27
MESA: info:             con 1       %68 = flt! %67, %7 (0.000000)
MESA: info:             con 32      %69 = fneg %66
MESA: info:             con 32      %70 = bcsel %68, %69, %66
MESA: info:             con 32      %71 = load_const (0x3f060a92 = 0.523599)
MESA: info:             con 32      %72 = fadd %70, %71 (0.523599)
MESA: info:                               @store_const_ir3 (%72) (base=1)
MESA: info:             con 32      %74 = fmul %718.y, %718.y
MESA: info:             con 32    %1184 = ffma %718.x, %718.x, %74
MESA: info:             con 32      %76 = frsq %1184
MESA: info:             con 32x2  %1194 = fmul %718.yx, %76.xx
MESA: info:             con 32    %1195 = mov %1194.x
MESA: info:             con 32    %1196 = mov %1194.y
MESA: info:                               @store_const_ir3 (%1195) (base=2)
MESA: info:                               @store_const_ir3 (%1196) (base=3)
MESA: info:             con 32      %79 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %80 = @bindless_resource_ir3 (%79 (0x2)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%80, %7 (0.000000)) (base=16, range=196)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%10, %730 (0x18)) (base=800, range=4)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%10, %7 (0.000000)) (base=816, range=4)
MESA: info:             con 32      %88 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %89 = @bindless_resource_ir3 (%88 (0x1)) (desc_set=3)
MESA: info:                               @prefetch_tex_ir3 (%89)
MESA: info:             con 32      %91 = @bindless_resource_ir3 (%7 (0.000000)) (desc_set=3)
MESA: info:                               @prefetch_tex_ir3 (%91)
MESA: info:                               @preamble_end_ir3
MESA: info:                               // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:         // preds: b4 b5
MESA: info:     con 32      %92 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x3    %93 = @load_input (%92 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3    %94 = @load_input (%92 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3    %95 = @load_input (%92 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3    %96 = @load_input (%92 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32     %100 = @load_vertex_id
MESA: info:     con 32     %101 = load_const (0x00000006)
MESA: info:     con 32     %102 = load_const (0x00000010 = 16)
MESA: info:     con 32     %103 = load_const (0x0000ffff = 65535)
MESA: info:     div 32     %104 = iand %100, %103 (0xffff)
MESA: info:     div 32     %106 = ushr %100, %102 (0x10)
MESA: info:     con 32x3  %1205 = load_const (0x0000aaab, 0x0000aaaa, 0xaaaaaaab) = (+43691, +43690, -1431655765) = (43691, 43690, 2863311531)
MESA: info:     div 32x3  %1206 = umul_low %104.xxx, %1205 (0xaaab, 0xaaaa, 0xaaaaaaab)
MESA: info:     con 32x2  %1199 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1200 = imadsh_mix16 %1199 (0xaaab, 0xaaaa), %104.xx, %1206.xy
MESA: info:     con 32x2  %1201 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1202 = umul_low %106.xx, %1201 (0xaaab, 0xaaaa)
MESA: info:     con 32x2  %1203 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1204 = imadsh_mix16 %1203 (0xaaab, 0xaaaa), %106.xx, %1202
MESA: info:     con 32     %112 = load_const (0xaaaaaaab = -1431655765 = 2863311531)
MESA: info:     div 32     %895 = imadsh_mix16 %104, %112 (0xaaaaaaab), %1206.z
MESA: info:     div 32     %896 = imadsh_mix16 %112 (0xaaaaaaab), %104, %895
MESA: info:     div 1      %114 = ult %896, %1200.x
MESA: info:     div 32     %115 = b2i32 %114
MESA: info:     div 32     %117 = ushr %1200.y, %102 (0x10)
MESA: info:     div 32     %835 = iadd3 %1204.y, %115, %117
MESA: info:     con 32     %119 = load_const (0xaaab0000 = -1431633920 = 2863333376)
MESA: info:     con 32    %1075 = load_const (0x00000000)
MESA: info:     div 32     %892 = imadsh_mix16 %106, %119 (0xaaab0000), %1075 (0x0)
MESA: info:     div 32     %121 = iadd %896, %892
MESA: info:     div 1      %122 = ult %121, %896
MESA: info:     div 32     %123 = b2i32 %122
MESA: info:     div 32     %125 = ushr %1204.x, %102 (0x10)
MESA: info:     div 32     %834 = iadd3 %835, %123, %125
MESA: info:     con 32     %127 = load_const (0x00000002)
MESA: info:     con 32x2  %1207 = load_const (0x00000002, 0x00000003)
MESA: info:     div 32x2  %1208 = ushr %834.xx, %1207 (0x2, 0x3)
MESA: info:     con 32x2  %1209 = load_const (0x00000006, 0x0000000c) = (6, 12)
MESA: info:     div 32x2  %1210 = umul_low %1208, %1209 (0x6, 0xc)
MESA: info:     con 32x2  %1211 = load_const (0x00000006, 0x0000000c) = (6, 12)
MESA: info:     div 32x2  %1212 = imadsh_mix16 %1211 (0x6, 0xc), %1208, %1210
MESA: info:     div 32x2  %1213 = isub %100.xx, %1212
MESA: info:     div 32    %1214 = mov %1213.x
MESA: info:     con 32     %134 = load_const (0x0000000c = 0.000000 = 12)
MESA: info:     div 1      %138 = ilt %1213.y, %101 (0x6)
MESA: info:     div 1      %139 = ilt %100, %92 (0x0)
MESA: info:     div 32     %140 = iabs %100
MESA: info:     div 32     %141 = iand %140, %103 (0xffff)
MESA: info:     div 32     %142 = ushr %140, %102 (0x10)
MESA: info:     con 32x3  %1223 = load_const (0x0000aaab, 0x00002aaa, 0x2aaaaaab) = (43691, 10922, 715827883)
MESA: info:     div 32x3  %1224 = umul_low %141.xxx, %1223 (0xaaab, 0x2aaa, 0x2aaaaaab)
MESA: info:     con 32x2  %1217 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1218 = imadsh_mix16 %1217 (0xaaab, 0x2aaa), %141.xx, %1224.xy
MESA: info:     con 32x2  %1219 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1220 = umul_low %142.xx, %1219 (0xaaab, 0x2aaa)
MESA: info:     con 32x2  %1221 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1222 = imadsh_mix16 %1221 (0xaaab, 0x2aaa), %142.xx, %1220
MESA: info:     con 32     %148 = load_const (0x2aaaaaab = 715827883)
MESA: info:     div 32     %871 = imadsh_mix16 %141, %148 (0x2aaaaaab), %1224.z
MESA: info:     div 32     %872 = imadsh_mix16 %148 (0x2aaaaaab), %141, %871
MESA: info:     div 1      %150 = ult %872, %1218.x
MESA: info:     div 32     %151 = b2i32 %150
MESA: info:     div 32     %153 = ushr %1218.y, %102 (0x10)
MESA: info:     div 32     %831 = iadd3 %1222.y, %151, %153
MESA: info:     con 32    %1070 = load_const (0x00000000)
MESA: info:     div 32     %868 = imadsh_mix16 %142, %119 (0xaaab0000), %1070 (0x0)
MESA: info:     div 32     %156 = iadd %872, %868
MESA: info:     div 1      %157 = ult %156, %872
MESA: info:     div 32     %158 = b2i32 %157
MESA: info:     div 32     %160 = ushr %1222.x, %102 (0x10)
MESA: info:     div 32     %830 = iadd3 %831, %158, %160
MESA: info:     con 32     %162 = load_const (0x00000001)
MESA: info:     div 32     %163 = inot %830
MESA: info:     div 32     %164 = inot %156
MESA: info:     div 32     %165 = iadd %164, %162 (0x1)
MESA: info:     div 1      %166 = ult %165, %164
MESA: info:     div 32     %167 = b2i32 %166
MESA: info:     div 32     %168 = iadd %163, %167
MESA: info:     div 32     %169 = bcsel %139, %168, %830
MESA: info:     div 32     %170 = ishr %169, %162 (0x1)
MESA: info:     con 32     %171 = load_const (0x0000001f = 31)
MESA: info:     div 32     %172 = ushr %170, %171 (0x1f)
MESA: info:     div 32     %173 = iadd %170, %172
MESA: info:     con 32     %174 = load_const (0x00000004 = 0.000000)
MESA: info:     con 32x2  %1225 = load_const (0x00000004, 0x00000002)
MESA: info:     div 32x2  %1226 = ishl %173.xx, %1225 (0x4, 0x2)
MESA: info:     div 32    %1227 = mov %1226.x
MESA: info:     div 32    %1228 = mov %1226.y
MESA: info:     con 32     %176 = @bindless_resource_ir3 (%162 (0x1)) (desc_set=3)
MESA: info:     div 32x3   %722 = @load_ssbo_ir3 (%176, %1227, %1228) (base=0, access=readonly|reorderable|speculatable, align_mul=16, align_offset=0)
MESA: info:     div 32x3  %1230 = fmul %94, %722.yyy
MESA: info:     div 32x3  %1232 = ffma %93, %722.xxx, %1230
MESA: info:     div 32x3  %1234 = ffma %95, %722.zzz, %1232
MESA: info:     con 32     %193 = @bindless_resource_ir3 (%92 (0x0)) (desc_set=3)
MESA: info:     div 32x4   %726 = @load_ssbo_ir3 (%193, %1227, %1228) (base=0, access=readonly|reorderable|speculatable, align_mul=16, align_offset=0)
MESA: info:     div 32     %195 = f2i32 %726.w
MESA: info:     div 32x3  %1236 = fmul %94, %726.yyy
MESA: info:     div 32x3  %1238 = ffma %93, %726.xxx, %1236
MESA: info:     div 32x3  %1240 = ffma %95, %726.zzz, %1238
MESA: info:     div 32x3  %1242 = fadd %1240, %96
MESA: info:     div 32     %215 = fmul %1234.y, %1234.y
MESA: info:     div 32    %1169 = ffma %1234.z, %1234.z, %215
MESA: info:     div 32    %1168 = ffma %1234.x, %1234.x, %1169
MESA: info:     div 32     %219 = frsq %1168
MESA: info:     div 32x3  %1244 = fmul %1234, %219.xxx
MESA: info:     div 32     %223 = fsqrt %1168
MESA: info:     con 32     %224 = load_const (0x000000b0 = 176)
MESA: info:     div 32     %864 = umul_low %195, %224 (0xb0)
MESA: info:     div 32     %866 = imadsh_mix16 %224 (0xb0), %195, %864
MESA: info:     div 32     %228 = ushr %866, %127 (0x2)
MESA: info:     div 32x4   %229 = @load_const_ir3 (%228) (base=16)
MESA: info:     div 32x4   %236 = @load_const_ir3 (%228) (base=20)
MESA: info:     div 32x4   %240 = @load_const_ir3 (%228) (base=24)
MESA: info:     div 32x4   %246 = @load_const_ir3 (%228) (base=28)
MESA: info:     div 32x4   %250 = @load_const_ir3 (%228) (base=32)
MESA: info:     div 32x4   %256 = @load_const_ir3 (%228) (base=36)
MESA: info:     div 32x4   %260 = @load_const_ir3 (%228) (base=40)
MESA: info:     div 32x2   %268 = @load_const_ir3 (%228) (base=44)
MESA: info:     div 32x4   %272 = @load_const_ir3 (%228) (base=48)
MESA: info:     div 32x4   %276 = @load_const_ir3 (%228) (base=52)
MESA: info:     div 32x3   %280 = @load_const_ir3 (%228) (base=56)
MESA: info:     con 32     %732 = load_const (0x00000060 = 0.000000 = 96)
MESA: info:     con 32x4   %285 = @load_const_ir3 (%732 (0x60)) (base=704)
MESA: info:     div 32x3  %1246 = fmul %223.xxx, %1244
MESA: info:     div 32x4  %1249 = fmul %276.xyxx, %1246.xxyz
MESA: info:     div 32x4  %1252 = fmul %280.xyxx, %1246.xxyz
MESA: info:     div 32     %297 = fmul %1246.y, %276.y
MESA: info:     div 32     %298 = fneg %297
MESA: info:     div 32     %299 = fmul %1246.y, %280.y
MESA: info:     div 32     %300 = fneg %299
MESA: info:     div 32     %301 = fmul %276.z, %223
MESA: info:     div 32     %302 = fmul %280.z, %223
MESA: info:     div 32x4  %1255 = fmin %1249, %1252
MESA: info:     div 32     %307 = fmin %298, %300
MESA: info:     div 32     %308 = fadd %1255.x, %307
MESA: info:     div 32     %309 = fadd %1255.z, %1255.y
MESA: info:     div 32     %310 = fmin %301, %302
MESA: info:     div 32     %311 = fadd %1255.w, %310
MESA: info:     div 32     %312 = fadd %308, %1242.x
MESA: info:     div 32     %313 = fadd %309, %1242.y
MESA: info:     div 32     %314 = fadd %311, %1242.z
MESA: info:     div 32x4  %1258 = fmax %1249, %1252
MESA: info:     div 32     %319 = fmax %298, %300
MESA: info:     div 32     %320 = fadd %1258.x, %319
MESA: info:     div 32     %321 = fadd %1258.z, %1258.y
MESA: info:     div 32     %322 = fmax %301, %302
MESA: info:     div 32     %323 = fadd %1258.w, %322
MESA: info:     div 32     %324 = fadd %320, %1242.x
MESA: info:     div 32     %325 = fadd %321, %1242.y
MESA: info:     div 32     %326 = fadd %323, %1242.z
MESA: info:     div 32     %327 = fmax %285.x, %312
MESA: info:     div 32     %328 = fmax %285.y, %313
MESA: info:     div 32     %329 = fmax %285.z, %314
MESA: info:     div 32     %330 = fmin %327, %324
MESA: info:     div 32     %331 = fmin %328, %325
MESA: info:     div 32     %332 = fmin %329, %326
MESA: info:     div 32    %1167 = fsub %285.x, %330
MESA: info:     div 32    %1166 = fsub %285.y, %331
MESA: info:     div 32    %1165 = fsub %285.z, %332
MESA: info:     div 32     %340 = fmul %1166, %1166
MESA: info:     div 32    %1164 = ffma %1165, %1165, %340
MESA: info:     div 32    %1163 = ffma %1167, %1167, %1164
MESA: info:     div 32     %344 = fsqrt %1163
MESA: info:     con 32     %347 = @load_const_ir3 (%92 (0x0)) (base=0)
MESA: info:     div 32     %353 = ishl %195, %127 (0x2)
MESA: info:     con 32     %742 = load_const (0x00000200 = 512)
MESA: info:     div 32     %743 = iadd %353, %742 (0x200)
MESA: info:     div 32x2   %354 = @load_const_ir3 (%743) (base=208)
MESA: info:     div 32     %356 = fmul %354.y, %347
MESA: info:     div 32     %357 = fneg %344
MESA: info:     div 32    %1162 = ffma %354.x, %285.w, %357
MESA: info:     con 32     %359 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32     %360 = fmul %359 (2.000000), %1162
MESA: info:     div 32     %361 = fmul %360, %356
MESA: info:     div 32     %362 = fsat %361
MESA: info:     div 1      %363 = flt! %92 (0.000000), %362
MESA: info:                       // succs: b7 b11
MESA: info:     if %363 {
MESA: info:         div block b7:         // preds: b6
MESA: info:         div 32     %364 = fmul %223, %362
MESA: info:         con 32     %365 = load_const (0x3f000000 = 0.500000)
MESA: info:         div 32     %366 = fmul %268.y, %365 (0.500000)
MESA: info:         div 32     %367 = fmul %366, %223
MESA: info:         con 32     %733 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:         con 32     %370 = @load_const_ir3 (%733 (0xa)) (base=816)
MESA: info:                           // succs: b8 b9
MESA: info:         if %138 {
MESA: info:             div block b8:         // preds: b7
MESA: info:             con 32     %345 = load_const (0x3f800000 = 1.000000 = 1065353216)
MESA: info:             con 32     %372 = load_const (0x5d5e0b6b = 1.000000e+18)
MESA: info:             con 32     %373 = load_const (0x3e800000 = 0.250000)
MESA: info:             con 32     %374 = load_const (0xbc46c6a5 = -0.012132)
MESA: info:             con 32     %375 = load_const (0x3d5be101 = 0.053681)
MESA: info:             con 32     %376 = load_const (0xbdf0555d = -0.117350)
MESA: info:             con 32     %377 = load_const (0x3e468bc1 = 0.193892)
MESA: info:             con 32     %378 = load_const (0xbeaa5476 = -0.332676)
MESA: info:             con 32     %379 = load_const (0x3f7ffea5 = 0.999979)
MESA: info:             con 32     %380 = load_const (0xbfc90fdb = -1.570796)
MESA: info:             con 32     %381 = load_const (0x7fffffff = 2147483647)
MESA: info:             con 32     %382 = load_const (0x80000000 = -2147483648 = 2147483648)
MESA: info:             con 32     %383 = load_const (0x3fc90fdb = 1.570796)
MESA: info:             div 1      %384 = fge! %92 (0.000000), %1244.x
MESA: info:             div 32x2  %1259 = fabs %1244.xy
MESA: info:             div 32     %386 = bcsel %384, %1259.x, %1244.y
MESA: info:             div 32     %387 = bcsel %384, %1244.y, %1259.x
MESA: info:             div 32     %388 = fabs %387
MESA: info:             div 1      %389 = fge! %388, %372 (1.000000e+18)
MESA: info:             div 32     %390 = bcsel %389, %373 (0x3e800000), %345 (0x3f800000)
MESA: info:             div 32     %391 = fmul %387, %390
MESA: info:             div 32     %392 = frcp %391
MESA: info:             div 32     %393 = fmul %386, %390
MESA: info:             div 32     %394 = fabs %393
MESA: info:             div 32     %395 = fabs %392
MESA: info:             div 32     %396 = fmul %394, %395
MESA: info:             div 1      %398 = feq! %1259.x, %1259.y
MESA: info:             div 32     %399 = bcsel %398, %345 (0x3f800000), %396
MESA: info:             div 1      %400 = fge! %345 (1.000000), %399
MESA: info:             div 32     %401 = frcp %399
MESA: info:             div 32     %402 = bcsel %400, %399, %401
MESA: info:             div 32     %403 = fmul %402, %402
MESA: info:             div 32    %1161 = ffma %374 (-0.012132), %403, %375 (0.053681)
MESA: info:             div 32    %1160 = ffma %1161, %403, %376 (-0.117350)
MESA: info:             div 32    %1159 = ffma %1160, %403, %377 (0.193892)
MESA: info:             div 32    %1158 = ffma %1159, %403, %378 (-0.332676)
MESA: info:             div 32    %1157 = ffma %1158, %403, %379 (0.999979)
MESA: info:             div 32     %414 = bcsel %400, %92 (0x0), %380 (0xbfc90fdb)
MESA: info:             div 32     %415 = fabs %402
MESA: info:             div 32    %1156 = ffma %415, %1157, %414
MESA: info:             div 32     %419 = iand %399, %382 (0x80000000)
MESA: info:             div 32    %1191 = andg_ir3 %1156, %381 (0x7fffffff), %419
MESA: info:             div 32     %421 = bcsel %384, %383 (0x3fc90fdb), %92 (0x0)
MESA: info:             div 32     %422 = fadd %421, %1191
MESA: info:             div 32     %423 = fmin %1244.y, %392
MESA: info:             div 1      %424 = flt! %423, %92 (0.000000)
MESA: info:             div 32     %425 = fneg %422
MESA: info:             div 32     %426 = bcsel %424, %425, %422
MESA: info:             con 32     %428 = @load_const_ir3 (%92 (0x0)) (base=1)
MESA: info:             div 32    %1155 = fsub %428, %426
MESA: info:             con 32     %431 = load_const (0x3f747644 = 0.954930)
MESA: info:             con 32     %433 = load_const (0x41400000 = 12.000000)
MESA: info:             div 32    %1154 = ffma %431 (0.954930), %1155, %433 (12.000000)
MESA: info:             div 32     %435 = f2i32 %1154
MESA: info:             div 32     %436 = iand %435, %103 (0xffff)
MESA: info:             div 32     %437 = ushr %435, %102 (0x10)
MESA: info:             con 32x3  %1268 = load_const (0x0000aaab, 0x0000aaaa, 0xaaaaaaab) = (+43691, +43690, -1431655765) = (43691, 43690, 2863311531)
MESA: info:             div 32x3  %1269 = umul_low %436.xxx, %1268 (0xaaab, 0xaaaa, 0xaaaaaaab)
MESA: info:             con 32x2  %1262 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1263 = imadsh_mix16 %1262 (0xaaab, 0xaaaa), %436.xx, %1269.xy
MESA: info:             con 32x2  %1264 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1265 = umul_low %437.xx, %1264 (0xaaab, 0xaaaa)
MESA: info:             con 32x2  %1266 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1267 = imadsh_mix16 %1266 (0xaaab, 0xaaaa), %437.xx, %1265
MESA: info:             div 32     %850 = imadsh_mix16 %436, %112 (0xaaaaaaab), %1269.z
MESA: info:             div 32     %851 = imadsh_mix16 %112 (0xaaaaaaab), %436, %850
MESA: info:             div 1      %443 = ult %851, %1263.x
MESA: info:             div 32     %444 = b2i32 %443
MESA: info:             div 32     %446 = ushr %1263.y, %102 (0x10)
MESA: info:             div 32     %801 = iadd3 %1267.y, %444, %446
MESA: info:             con 32    %1013 = load_const (0x00000000)
MESA: info:             div 32     %847 = imadsh_mix16 %437, %119 (0xaaab0000), %1013 (0x0)
MESA: info:             div 32     %449 = iadd %851, %847
MESA: info:             div 1      %450 = ult %449, %851
MESA: info:             div 32     %451 = b2i32 %450
MESA: info:             div 32     %453 = ushr %1267.x, %102 (0x10)
MESA: info:             div 32     %800 = iadd3 %801, %451, %453
MESA: info:             div 32     %455 = ushr %800, %127 (0x2)
MESA: info:             div 32     %843 = umul_low %455, %101 (0x6)
MESA: info:             div 32     %845 = imadsh_mix16 %101 (0x6), %455, %843
MESA: info:             div 32    %1153 = isub %435, %845
MESA: info:             con 32     %460 = @load_const_ir3 (%92 (0x0)) (base=2)
MESA: info:             con 32     %462 = @load_const_ir3 (%92 (0x0)) (base=3)
MESA: info:             con 32x2  %1270 = load_const (0xbf000000, 0x3f000000) = (-0.500000, 0.500000)
MESA: info:             div 32x2  %1271 = fmul %1270 (-0.500000, 0.500000), %268.xx
MESA: info:             div 32x2  %1272 = fmul %460.xx, %1271
MESA: info:             div 32x2  %1273 = fmul %1271, %462.xx
MESA: info:             div 32x2  %1274 = fneg %1272
MESA: info:             div 32x2  %1275 = ffma %1274, %364.xx, %1242.xx
MESA: info:             div 32x2  %1276 = ffma %364.xx, %1273, %1242.yy
MESA: info:             div 32x3   %480 = vec3 %1275.x, %1276.x, %1242.z
MESA: info:             div 32x3   %481 = vec3 %1275.y, %1276.y, %1242.z
MESA: info:             div 32    %1146 = ffma %223, %268.y, %1242.z
MESA: info:             div 32x3   %484 = vec3 %1275.x, %1276.x, %1146
MESA: info:             div 32x3   %485 = vec3 %1275.y, %1276.y, %1146
MESA: info:                               @store_reg (%480, %4) (base=0, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%481, %4) (base=1, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%484, %4) (base=2, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%485, %4) (base=3, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%229, %3) (base=0, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%236, %3) (base=1, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%240, %3) (base=2, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%246, %3) (base=3, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%250, %3) (base=4, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%256, %3) (base=5, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%260, %3) (base=6, wrmask=xyzw, legacy_fsat=0)
MESA: info:             div 32x4   %502 = @load_reg_indirect (%3, %1153) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             div 32x2   %503 = vec2 %502.x, %502.y
MESA: info:             div 32x2   %504 = vec2 %502.z, %502.w
MESA: info:             div 1x2   %1277 = flt! %502.xy, %502.zw
MESA: info:             div 1      %507 = ieq %1277.x, %1277.y
MESA: info:             div 32x2  %1278 = fsub %502.zw, %502.xy
MESA: info:             div 32     %512 = bcsel %507, %1278.x, %92 (0x0)
MESA: info:             div 32     %513 = bcsel %507, %92 (0x0), %1278.y
MESA: info:             div 32     %514 = fadd %502.x, %512
MESA: info:             div 32     %515 = fadd %502.y, %513
MESA: info:             div 32x2   %516 = vec2 %514, %515
MESA: info:             div 32    %1143 = fsub %502.z, %512
MESA: info:             div 32    %1142 = fsub %502.w, %513
MESA: info:             div 32x2   %521 = vec2 %1143, %1142
MESA: info:                               @store_reg (%503, %2) (base=0, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%516, %2) (base=1, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%521, %2) (base=2, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%504, %2) (base=3, wrmask=xy, legacy_fsat=0)
MESA: info:             div 32x2   %529 = @load_reg_indirect (%2, %1214) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             div 32x3   %532 = @load_reg_indirect (%4, %1214) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             con 32x4   %535 = @load_const_ir3 (%92 (0x0)) (base=816)
MESA: info:             con 32x4   %542 = @load_const_ir3 (%174 (0x4)) (base=816)
MESA: info:             div 32x4  %1281 = fmul %542, %532.yyyy
MESA: info:             div 32x4  %1284 = ffma %535, %532.xxxx, %1281
MESA: info:             con 32     %735 = load_const (0x00000008 = 0.000000)
MESA: info:             con 32x2   %553 = @load_const_ir3 (%735 (0x8)) (base=816)
MESA: info:             con 32     %736 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:             con 32     %556 = @load_const_ir3 (%736 (0xb)) (base=816)
MESA: info:             div 32x2  %1285 = ffma %553, %532.zz, %1284.xy
MESA: info:             div 32    %1135 = ffma %556, %532.z, %1284.w
MESA: info:             div 32    %1134 = ffma %370, %532.z, %1284.z
MESA: info:             con 32x4   %567 = @load_const_ir3 (%134 (0xc)) (base=816)
MESA: info:             div 32x2  %1286 = fadd %1285, %567.xy
MESA: info:             div 32x2  %1319 = mov %1286.yx
MESA: info:             div 32     %570 = fadd %1135, %567.w
MESA: info:             div 32     %571 = fadd %1134, %567.z
MESA: info:             div 32    %1132 = fneg %367
MESA: info:             div 32    %1133 = ffma %1132, %370, %571
MESA: info:                               // succs: b10
MESA: info:         } else {
MESA: info:             div block b9:         // preds: b7
MESA: info:             div 32x2  %1289 = fmul %272.yw, %1244.xx
MESA: info:             div 32x2  %1290 = fmul %1244.yy, %272.yw
MESA: info:             div 32x2  %1292 = fneg %1290
MESA: info:             div 32x4  %1294 = ffma %272.xzxz, %1244.xxxx, %1292.xxyy
MESA: info:             div 32x4  %1297 = ffma %272.xzxz, %1244.yyyy, %1289.xxyy
MESA: info:             div 32x2  %1298 = ffma %272.xz, %1244.zz, %276.ww
MESA: info:             div 32x4  %1301 = ffma %364.xxxx, %1294, %1242.xxxx
MESA: info:             div 32x4  %1304 = ffma %364.xxxx, %1297, %1242.yyyy
MESA: info:             div 32x2  %1305 = ffma %223.xx, %1298, %1242.zz
MESA: info:             div 32x3   %616 = vec3 %1301.x, %1304.x, %1305.x
MESA: info:             div 32x3   %617 = vec3 %1301.y, %1304.y, %1305.y
MESA: info:             div 32x3   %618 = vec3 %1301.z, %1304.z, %1305.x
MESA: info:             div 32x3   %619 = vec3 %1301.w, %1304.w, %1305.y
MESA: info:                               @store_reg (%616, %1) (base=0, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%617, %1) (base=1, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%618, %1) (base=2, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%619, %1) (base=3, wrmask=xyz, legacy_fsat=0)
MESA: info:             div 1x2   %1306 = flt! %260.xy, %260.zw
MESA: info:             div 1      %627 = ieq %1306.x, %1306.y
MESA: info:             div 32x2  %1307 = fsub %260.zw, %260.xy
MESA: info:             div 32     %632 = bcsel %627, %1307.x, %92 (0x0)
MESA: info:             div 32     %633 = bcsel %627, %92 (0x0), %1307.y
MESA: info:             div 32     %634 = fadd %260.x, %632
MESA: info:             div 32     %635 = fadd %260.y, %633
MESA: info:             div 32x2   %636 = vec2 %634, %635
MESA: info:             div 32    %1109 = fsub %260.z, %632
MESA: info:             div 32    %1108 = fsub %260.w, %633
MESA: info:             div 32x2   %641 = vec2 %1109, %1108
MESA: info:             div 32x2   %644 = vec2 %260.x, %260.y
MESA: info:                               @store_reg (%644, %0) (base=0, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%636, %0) (base=1, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%641, %0) (base=2, wrmask=xy, legacy_fsat=0)
MESA: info:             div 32x2   %648 = vec2 %260.z, %260.w
MESA: info:                               @store_reg (%648, %0) (base=3, wrmask=xy, legacy_fsat=0)
MESA: info:             div 32x2   %651 = @load_reg_indirect (%0, %1214) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             div 32x3   %654 = @load_reg_indirect (%1, %1214) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             con 32x4   %657 = @load_const_ir3 (%92 (0x0)) (base=816)
MESA: info:             con 32x4   %664 = @load_const_ir3 (%174 (0x4)) (base=816)
MESA: info:             div 32x4  %1310 = fmul %664, %654.yyyy
MESA: info:             div 32x4  %1313 = ffma %657, %654.xxxx, %1310
MESA: info:             con 32     %739 = load_const (0x00000008 = 0.000000)
MESA: info:             con 32x2   %675 = @load_const_ir3 (%739 (0x8)) (base=816)
MESA: info:             con 32     %740 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:             con 32     %678 = @load_const_ir3 (%740 (0xb)) (base=816)
MESA: info:             div 32x2  %1314 = ffma %675, %654.zz, %1313.xy
MESA: info:             div 32    %1101 = ffma %678, %654.z, %1313.w
MESA: info:             div 32    %1100 = ffma %370, %654.z, %1313.z
MESA: info:             con 32x4   %689 = @load_const_ir3 (%134 (0xc)) (base=816)
MESA: info:             div 32x2  %1315 = fadd %1314, %689.xy
MESA: info:             div 32x2  %1320 = mov %1315.yx
MESA: info:             div 32     %692 = fadd %1101, %689.w
MESA: info:             div 32     %693 = fadd %1100, %689.z
MESA: info:             div 32    %1098 = fneg %367
MESA: info:             div 32    %1099 = ffma %1098, %370, %693
MESA: info:                               // succs: b10
MESA: info:         }
MESA: info:         div block b10:        // preds: b8 b9
MESA: info:         div 32     %696 = phi b8: %570, b9: %692
MESA: info:         div 32x2  %1318 = phi b8: %1319, b9: %1320
MESA: info:         div 32     %699 = phi b8: %1133, b9: %1099
MESA: info:         div 32     %700 = phi b8: %571, b9: %693
MESA: info:         div 32x2   %701 = phi b8: %529, b9: %651
MESA: info:         div 32     %702 = mov %701.x
MESA: info:         div 32     %703 = mov %701.y
MESA: info:                           // succs: b12
MESA: info:     } else {
MESA: info:         div block b11:        // preds: b6
MESA: info:         con 32      %97 = undefined
MESA: info:         con 32      %98 = undefined
MESA: info:         con 32      %99 = undefined
MESA: info:         con 32x2  %1324 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:                           // succs: b12
MESA: info:     }
MESA: info:     con block b12:        // preds: b10 b11
MESA: info:     div 32     %704 = phi b10: %703, b11: %97
MESA: info:     div 32     %705 = phi b10: %702, b11: %98
MESA: info:     div 32     %706 = phi b10: %696, b11: %92 (0x0)
MESA: info:     div 32x2  %1323 = phi b10: %1318, b11: %1324 (0.000000, 0.000000)
MESA: info:     div 32     %709 = phi b10: %699, b11: %99
MESA: info:     div 32     %710 = phi b10: %700, b11: %92 (0x0)
MESA: info:     div 32x4   %711 = vec4 %1323.y, %1323.x, %710, %706
MESA: info:                       @store_output (%711, %92 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x3   %712 = vec3 %709, %705, %704
MESA: info:                       @store_output (%712, %92 (0x0)) (base=1, range=1, wrmask=xyz, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                       // succs: b13
MESA: info:     block b13:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 67b10112b5a5cda07a45d1658ba6e47f041424e1:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (204 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c208.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      3
MESA: info: ;   range[0]:
MESA: info: ;     block:          2
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           196 vec4 (0b -> 3136b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c200.x
MESA: info: ;     size:           4 vec4 (384b -> 448b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c204.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0x1)
MESA: info: @const(c209.x)	0x3fc90fdb, 0x00000000, 0x3f800000, 0x3e800000
MESA: info: @const(c210.x)	0x5d5e0b6b, 0xbc46c6a5, 0x3d5be101, 0xbdf0555d
MESA: info: @const(c211.x)	0x3e468bc1, 0xbeaa5476, 0x3f7ffea5, 0xbfc90fdb
MESA: info: @const(c212.x)	0x80000000, 0x3f060a92, 0x00002aaa, 0x2aaaaaab
MESA: info: @const(c213.x)	0x0000ffff, 0x0000aaab, 0x00000200, 0x000000b0
MESA: info: @const(c214.x)	0x0000000c, 0x0000aaaa, 0xaaaaaaab, 0xbf000000
MESA: info: @const(c215.x)	0x3f747644, 0x41400000, 0x00000006, 0xd0d0d0d0
MESA: info: shps #l66
MESA: info: getone #l66
MESA: info: ldc.u.offset0.2.imm.base1 r48.y, 0, 4
MESA: info: ldc.u.offset3.1.imm.base1 r48.x, 24, 0
MESA: info: mov.u32u32 r48.w, 0x7fffffff
MESA: info: mova1 a1.x, (r)16
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 1
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cmps.f.ge r49.x, (0.0), r48.y
MESA: info: absneg.f r49.y, (abs)r48.y
MESA: info: sel.b32 r49.z, r48.z, r49.x, r49.y
MESA: info: cmps.f.ge r49.w, (abs)r49.z, c210.x
MESA: info: sel.b32 r49.w, c209.w, r49.w, c209.z
MESA: info: mul.f r49.z, r49.z, r49.w
MESA: info: cmps.f.eq r50.x, (abs)r48.y, (abs)r48.z
MESA: info: mul.f r51.z, r48.y, r48.y
MESA: info: mul.f r51.w, r48.z, r48.z
MESA: info: sel.b32 r49.y, r49.y, r49.x, r48.z
MESA: info: add.f r51.z, r51.z, r51.w
MESA: info: mul.f r49.y, r49.y, r49.w
MESA: info: rcp r48.x, r48.x
MESA: info: sel.b32 r49.x, c209.x, r49.x, c209.y
MESA: info: (ss)rcp r49.z, r49.z
MESA: info: rsq r51.z, r51.z
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: (ss)mul.f r49.y, (abs)r49.y, (abs)r49.z
MESA: info: sel.b32 r50.x, c209.z, r50.x, r49.y
MESA: info: mul.f r52.x, r48.z, r51.z
MESA: info: mul.f r52.y, r48.y, r51.z
MESA: info: min.f r49.z, r48.z, r49.z
MESA: info: cmps.f.ge r50.y, (1.0), r50.x
MESA: info: cmps.f.lt r49.z, r49.z, (0.0)
MESA: info: (ss)rcp r50.z, r50.x
MESA: info: stc.u32 c[2], r52.x, 1
MESA: info: stc.u32 c[3], r52.y, 1
MESA: info: (ss)sel.b32 r50.z, r50.x, r50.y, r50.z
MESA: info: mul.f r50.w, r50.z, r50.z
MESA: info: and.b r50.x, r50.x, c212.x
MESA: info: sel.b32 r50.y, c209.y, r50.y, c211.w
MESA: info: mul.f r51.x, c210.y, r50.w
MESA: info: add.f r51.x, r51.x, c210.z
MESA: info: mul.f r51.x, r51.x, r50.w
MESA: info: add.f r51.x, r51.x, c210.w
MESA: info: mul.f r51.x, r51.x, r50.w
MESA: info: add.f r51.x, r51.x, c211.x
MESA: info: mul.f r51.x, r51.x, r50.w
MESA: info: add.f r51.x, r51.x, c211.y
MESA: info: mul.f r51.x, r51.x, r50.w
MESA: info: add.f r51.x, r51.x, c211.z
MESA: info: mul.f r50.z, (abs)r50.z, r51.x
MESA: info: add.f r50.z, r50.z, r50.y
MESA: info: andg r50.z, r50.z, r48.w, r50.x
MESA: info: add.f r49.x, r49.x, r50.z
MESA: info: absneg.f r51.y, (neg)r49.x
MESA: info: sel.b32 r51.y, r51.y, r49.z, r49.x
MESA: info: add.f r51.y, r51.y, c212.y
MESA: info: (ss)nop
MESA: info: stc.u32 c[1], r51.y, 1
MESA: info: ldc.196.k.imm.base1 c[a1.x], 0, 2
MESA: info: (ss)mova1 a1.x, (r)800
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 24, 0
MESA: info: (ss)mova1 a1.x, (r)816
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l66:
MESA: info: (jp)and.b r20.y, r3.x, c213.x
MESA: info: shr.b r20.z, r3.x, 16
MESA: info: mov.u32u32 r20.w, 0xaaaaaaab
MESA: info: mov.u32u32 r22.z, 0xaaab0000
MESA: info: mull.u r22.x, r20.y, c214.z
MESA: info: mull.u r21.x, r20.y, c213.y
MESA: info: mull.u r21.y, r20.y, c214.y
MESA: info: mull.u r21.z, r20.z, c213.y
MESA: info: mull.u r21.w, r20.z, c214.y
MESA: info: madsh.m16 r22.x, r20.y, r20.w, (last)r22.x
MESA: info: madsh.m16 r21.x, c213.y, r20.y, (last)r21.x
MESA: info: madsh.m16 r21.y, c214.y, r20.y, (last)r21.y
MESA: info: madsh.m16 r21.z, c213.y, r20.z, (last)r21.z
MESA: info: madsh.m16 r21.w, c214.y, r20.z, (last)r21.w
MESA: info: madsh.m16 r20.y, c214.z, r20.y, (last)r22.x
MESA: info: madsh.m16 r20.z, (last)r20.z, r22.z, c209.y
MESA: info: absneg.s r23.x, (abs)r3.x
MESA: info: cmps.u.lt hr42.x, r20.y, (last)r21.x
MESA: info: add.u r20.z, r20.y, (last)r20.z
MESA: info: and.b r23.w, r23.x, c213.x
MESA: info: mov.u32u32 r23.y, 0x2aaaaaab
MESA: info: cov.u16s32 r22.y, (last)hr42.x
MESA: info: cmps.u.lt hr41.x, (last)r20.z, (last)r20.y
MESA: info: shr.b r23.x, (last)r23.x, 16
MESA: info: shr.b r21.y, (last)r21.y, 16
MESA: info: mull.u r25.z, r23.w, c212.w
MESA: info: mull.u r24.z, r23.w, c213.y
MESA: info: mull.u r24.w, r23.w, c212.z
MESA: info: cov.u16s32 r22.w, (last)hr41.x
MESA: info: mull.u r25.x, r23.x, c213.y
MESA: info: mull.u r25.y, r23.x, c212.z
MESA: info: sad.s32 r21.w, (last)r21.w, r22.y, (last)r21.y
MESA: info: madsh.m16 r23.y, r23.w, r23.y, (last)r25.z
MESA: info: shr.b r21.z, (last)r21.z, 16
MESA: info: madsh.m16 r24.z, c213.y, r23.w, (last)r24.z
MESA: info: madsh.m16 r24.w, c212.z, r23.w, (last)r24.w
MESA: info: madsh.m16 r25.x, c213.y, r23.x, (last)r25.x
MESA: info: madsh.m16 r25.y, c212.z, r23.x, (last)r25.y
MESA: info: madsh.m16 r23.w, c212.w, r23.w, (last)r23.y
MESA: info: madsh.m16 r23.x, (last)r23.x, r22.z, c209.y
MESA: info: sad.s32 r21.w, (last)r21.w, r22.w, (last)r21.z
MESA: info: cmps.u.lt hr40.z, r23.w, (last)r24.z
MESA: info: add.u r23.x, r23.w, (last)r23.x
MESA: info: shr.b r23.z, r21.w, 2
MESA: info: shr.b r21.w, (last)r21.w, 3
MESA: info: cov.u16s32 r20.z, (last)hr40.z
MESA: info: cmps.u.lt hr47.z, r23.x, (last)r23.w
MESA: info: not.b r23.x, (last)r23.x
MESA: info: shr.b r24.w, (last)r24.w, 16
MESA: info: mull.u r24.y, r21.w, 12
MESA: info: cov.u16s32 r21.x, (last)hr47.z
MESA: info: add.u r21.y, r23.x, 1
MESA: info: sad.s32 r25.y, (last)r25.y, r20.z, (last)r24.w
MESA: info: madsh.m16 r21.w, c214.x, r21.w, (last)r24.y
MESA: info: shr.b r25.x, (last)r25.x, 16
MESA: info: cmps.u.lt hr42.z, (last)r21.y, (last)r23.x
MESA: info: sub.u r21.w, r3.x, (last)r21.w
MESA: info: sad.s32 r25.y, (last)r25.y, r21.x, (last)r25.x
MESA: info: mull.u r24.x, r23.z, 6
MESA: info: cov.u16s32 r21.z, (last)hr42.z
MESA: info: cmps.s.lt p0.x, (last)r21.w, 6
MESA: info: madsh.m16 r23.z, c215.z, r23.z, (last)r24.x
MESA: info: not.b r21.w, r25.y
MESA: info: mov.f32f32 r22.y, c200.w
MESA: info: sub.u r23.z, r3.x, (last)r23.z
MESA: info: add.u r21.w, (last)r21.w, (last)r21.z
MESA: info: cmps.s.lt r3.x, (last)r3.x, 0
MESA: info: mov.f32f32 r22.x, c0.x
MESA: info: nop
MESA: info: (nop2) sel.b32 r21.w, (last)r21.w, r3.x, (last)r25.y
MESA: info: (nop2) ashr.b r21.w, (last)r21.w, 1
MESA: info: (nop2) shr.b r22.w, r21.w, 31
MESA: info: (nop2) add.u r21.w, (last)r21.w, (last)r22.w
MESA: info: (nop3) shl.b r21.w, (last)r21.w, 2
MESA: info: (rpt1)nop
MESA: info: isam.v.base3 (u32)(xyz)r23.w, r21.w, s#0, t#1
MESA: info: isam.v.base3 (u32)(xyzw)r26.x, r21.w, s#0, t#0
MESA: info: (sy)mul.f r24.z, r0.w, r24.x
MESA: info: (rpt1)mul.f r25.z, (r)r1.x, (last)r24.x
MESA: info: mad.f32 r24.z, r0.x, r23.w, (last)r24.z
MESA: info: (rpt1)mad.f32 r25.z, (r)r0.y, r23.w, (r)(last)r25.z
MESA: info: (rpt1)mad.f32 r25.x, (r)r1.w, r24.y, (r)(last)r25.z
MESA: info: mad.f32 r24.w, r1.z, r24.y, (last)r24.z
MESA: info: mul.f r27.x, r25.x, r25.x
MESA: info: cov.f32s32 r26.w, (last)r26.w
MESA: info: mad.f32 r27.x, r25.y, r25.y, (last)r27.x
MESA: info: mul.f r0.w, (last)r0.w, r26.y
MESA: info: mad.f32 r27.x, r24.w, r24.w, (last)r27.x
MESA: info: mull.u r27.y, r26.w, 176
MESA: info: mul.f r1.x, (last)r1.x, r26.y
MESA: info: madsh.m16 r27.y, c213.w, r26.w, (last)r27.y
MESA: info: shl.b r26.w, (last)r26.w, 2
MESA: info: mul.f r1.y, (last)r1.y, (last)r26.y
MESA: info: rsq r20.z, r27.x
MESA: info: shr.b r27.y, (last)r27.y, 2
MESA: info: add.u r26.w, (last)r26.w, c213.z
MESA: info: mad.f32 r0.x, (last)r0.x, r26.x, (last)r0.w
MESA: info: cov.u32s16 hr40.z, (last)r27.y
MESA: info: mad.f32 r0.y, (last)r0.y, r26.x, (last)r1.x
MESA: info: mad.f32 r0.z, (last)r0.z, r26.x, (last)r1.y
MESA: info: mova a0.x, (last)hr40.z
MESA: info: cov.u32s16 hr40.w, (last)r26.w
MESA: info: mad.f32 r1.z, (last)r1.z, r26.z, (last)r0.x
MESA: info: mad.f32 r1.w, (last)r1.w, r26.z, (last)r0.y
MESA: info: (ss)sqrt r27.x, (last)r27.x
MESA: info: (rpt2)mul.f r24.w, (last)(r)r24.w, (last)r20.z
MESA: info: mad.f32 r2.x, (last)r2.x, r26.z, (last)r0.z
MESA: info: add.f r1.w, (last)r1.w, (last)r2.z
MESA: info: add.f r1.z, (last)r1.z, (last)r2.y
MESA: info: add.f r2.x, (last)r2.x, (last)r2.w
MESA: info: mov.f32f32 r21.x, c<a0.x + 45>
MESA: info: mov.f32f32 r21.y, c<a0.x + 44>
MESA: info: mov.f32f32 r21.z, c<a0.x + 16>
MESA: info: mov.f32f32 r21.w, c<a0.x + 17>
MESA: info: mov.f32f32 r22.w, c<a0.x + 18>
MESA: info: (ss)(rpt2)mul.f r25.z, r27.x, (r)r24.w
MESA: info: mul.f r26.y, c<a0.x + 52>, r25.z
MESA: info: mul.f r26.z, c<a0.x + 56>, r25.z
MESA: info: mul.f r26.w, c<a0.x + 53>, r25.z
MESA: info: mul.f r27.y, c<a0.x + 52>, r25.w
MESA: info: mul.f r27.z, c<a0.x + 56>, r25.w
MESA: info: mul.f r25.z, c<a0.x + 57>, (last)r25.z
MESA: info: mul.f r29.y, c<a0.x + 54>, r27.x
MESA: info: mul.f r29.z, c<a0.x + 58>, r27.x
MESA: info: mul.f r27.w, c<a0.x + 52>, r26.x
MESA: info: mul.f r26.x, c<a0.x + 56>, (last)r26.x
MESA: info: mul.f r28.x, r25.w, c<a0.x + 53>
MESA: info: min.f r29.x, r27.y, r27.z
MESA: info: min.f r28.w, r26.w, r25.z
MESA: info: mul.f r25.w, (last)r25.w, c<a0.x + 57>
MESA: info: min.f r30.x, r29.y, r29.z
MESA: info: min.f r29.w, r27.w, r26.x
MESA: info: min.f r28.y, r26.y, r26.z
MESA: info: max.f r27.y, (last)r27.y, (last)r27.z
MESA: info: add.f r29.x, (last)r29.x, (last)r28.w
MESA: info: max.f r26.w, (last)r26.w, (last)r25.z
MESA: info: min.f r28.z, (neg)r28.x, (neg)r25.w
MESA: info: max.f r29.y, (last)r29.y, (last)r29.z
MESA: info: add.f r29.w, (last)r29.w, (last)r30.x
MESA: info: max.f r27.w, (last)r27.w, (last)r26.x
MESA: info: max.f r26.y, (last)r26.y, (last)r26.z
MESA: info: add.f r29.x, (last)r29.x, r1.w
MESA: info: add.f r27.y, (last)r27.y, (last)r26.w
MESA: info: add.f r28.y, (last)r28.y, (last)r28.z
MESA: info: max.f r28.x, (last)(neg)r28.x, (last)(neg)r25.w
MESA: info: add.f r29.w, (last)r29.w, r2.x
MESA: info: add.f r27.w, (last)r27.w, (last)r29.y
MESA: info: max.f r29.x, c200.y, (last)r29.x
MESA: info: add.f r27.y, (last)r27.y, r1.w
MESA: info: add.f r28.y, (last)r28.y, r1.z
MESA: info: add.f r26.y, (last)r26.y, (last)r28.x
MESA: info: max.f r29.w, c200.z, (last)r29.w
MESA: info: add.f r27.w, (last)r27.w, r2.x
MESA: info: min.f r29.x, (last)r29.x, (last)r27.y
MESA: info: max.f r28.y, c200.x, (last)r28.y
MESA: info: add.f r26.y, (last)r26.y, r1.z
MESA: info: min.f r29.w, (last)r29.w, (last)r27.w
MESA: info: add.f r29.x, c200.y, (last)(neg)r29.x
MESA: info: min.f r28.y, (last)r28.y, (last)r26.y
MESA: info: add.f r29.w, c200.z, (last)(neg)r29.w
MESA: info: mul.f r29.x, (last)r29.x, r29.x
MESA: info: add.f r28.y, c200.x, (last)(neg)r28.y
MESA: info: mad.f32 r29.w, (last)r29.w, r29.w, (last)r29.x
MESA: info: mov.f32f32 r23.x, c<a0.x + 19>
MESA: info: mad.f32 r28.y, (last)r28.y, r28.y, (last)r29.w
MESA: info: mov.f32f32 r23.y, c<a0.x + 20>
MESA: info: mov.f32f32 r23.w, c<a0.x + 21>
MESA: info: mov.f32f32 r24.x, c<a0.x + 22>
MESA: info: mov.f32f32 r24.y, c<a0.x + 23>
MESA: info: mov.f32f32 r30.y, c<a0.x + 24>
MESA: info: sqrt r28.y, (last)r28.y
MESA: info: mov.f32f32 r30.z, c<a0.x + 25>
MESA: info: mov.f32f32 r30.w, c<a0.x + 26>
MESA: info: mov.f32f32 r31.x, c<a0.x + 27>
MESA: info: mov.f32f32 r31.y, c<a0.x + 28>
MESA: info: mov.f32f32 r31.z, c<a0.x + 29>
MESA: info: mov.f32f32 r31.w, c<a0.x + 30>
MESA: info: mov.f32f32 r0.w, c<a0.x + 34>
MESA: info: mov.f32f32 r1.x, c<a0.x + 35>
MESA: info: mov.f32f32 r1.y, c<a0.x + 36>
MESA: info: mov.f32f32 r0.x, c<a0.x + 31>
MESA: info: mov.f32f32 r0.y, c<a0.x + 32>
MESA: info: mov.f32f32 r0.z, c<a0.x + 33>
MESA: info: mov.f32f32 r2.z, c<a0.x + 38>
MESA: info: mov.f32f32 r2.y, c<a0.x + 37>
MESA: info: mov.f32f32 r2.w, c<a0.x + 39>
MESA: info: mov.f32f32 r27.z, c<a0.x + 50>
MESA: info: mov.f32f32 r25.z, c<a0.x + 40>
MESA: info: mov.f32f32 r26.x, c<a0.x + 42>
MESA: info: mov.f32f32 r26.z, c<a0.x + 49>
MESA: info: mov.f32f32 r26.w, c<a0.x + 51>
MESA: info: mov.f32f32 r25.w, c<a0.x + 41>
MESA: info: mov.f32f32 r27.y, c<a0.x + 48>
MESA: info: mov.f32f32 r27.w, c<a0.x + 55>
MESA: info: (ul)mov.f32f32 r26.y, c<a0.x + 43>
MESA: info: mova a0.x, (last)hr40.w
MESA: info: (rpt4)nop
MESA: info: (ss)mad.f32 r22.y, c<a0.x + 208>, r22.y, (neg)(last)r28.y
MESA: info: (nop1) (ul)mul.f r22.x, c<a0.x + 209>, (last)r22.x
MESA: info: (nop2) mul.f r22.y, (2.0), (last)r22.y
MESA: info: (sat)(nop2) mul.f r22.y, (last)r22.y, (last)r22.x
MESA: info: (nop3) cmps.f.lt p0.y, (0.0), r22.y
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l523
MESA: info: mul.f r28.x, r21.x, (0.5)
MESA: info: (nop1) mul.f r22.y, r27.x, (last)r22.y
MESA: info: mul.f r28.x, (last)r28.x, r27.x
MESA: info: predt
MESA: info: cmps.f.ge r28.y, (0.0), r24.w
MESA: info: absneg.f r28.z, (abs)r24.w
MESA: info: cmps.f.eq r24.w, (last)(abs)r24.w, (abs)r25.x
MESA: info: sel.b32 r28.w, r25.x, r28.y, r28.z
MESA: info: sel.b32 r28.z, (last)r28.z, r28.y, r25.x
MESA: info: mul.f r29.z, c214.w, r21.y
MESA: info: cmps.f.ge r29.x, (abs)r28.w, c210.x
MESA: info: mul.f r21.y, (0.5), (last)r21.y
MESA: info: mul.f r29.w, c0.z, r29.z
MESA: info: sel.b32 r29.x, c209.w, r29.x, c209.z
MESA: info: mul.f r30.x, c0.z, r21.y
MESA: info: mul.f r29.z, (last)r29.z, c0.w
MESA: info: mul.f r28.w, (last)r28.w, r29.x
MESA: info: mul.f r28.z, (last)r28.z, (last)r29.x
MESA: info: mul.f r21.y, (last)r21.y, c0.w
MESA: info: mad.f32 r29.w, (neg)(last)r29.w, r22.y, r1.z
MESA: info: mad.f32 r30.x, (neg)(last)r30.x, r22.y, (last)r1.z
MESA: info: mad.f32 r29.z, r22.y, r29.z, r1.w
MESA: info: rcp r28.w, (last)r28.w
MESA: info: mad.f32 r22.y, (last)r22.y, r21.y, (last)r1.w
MESA: info: mov.u32u32 r29.y, 0x7fffffff
MESA: info: sel.b32 r28.y, c209.x, r28.y, c209.y
MESA: info: mad.f32 r27.x, (last)r27.x, r21.x, r2.x
MESA: info: mov.u32u32 r17.y, r29.w
MESA: info: mov.u32u32 r17.z, r29.z
MESA: info: mov.u32u32 r17.w, r2.x
MESA: info: mov.u32u32 r18.x, r30.x
MESA: info: mov.u32u32 r18.y, r22.y
MESA: info: mov.u32u32 r18.z, r2.x
MESA: info: (ss)mul.f r28.z, (last)(abs)r28.z, (abs)r28.w
MESA: info: min.f r25.x, (last)r25.x, (last)r28.w
MESA: info: sel.b32 r24.w, c209.z, r24.w, (last)r28.z
MESA: info: mov.u32u32 r18.w, (last)r29.w
MESA: info: cmps.f.lt r25.x, (last)r25.x, (0.0)
MESA: info: cmps.f.ge r1.z, (1.0), r24.w
MESA: info: and.b r3.x, r24.w, c212.x
MESA: info: mov.u32u32 r19.x, (last)r29.z
MESA: info: rcp r1.w, r24.w
MESA: info: sel.b32 r3.y, c209.y, r1.z, c211.w
MESA: info: mov.u32u32 r19.y, r27.x
MESA: info: mov.u32u32 r19.z, (last)r30.x
MESA: info: mov.u32u32 r19.w, r22.y
MESA: info: mov.u32u32 r20.x, r27.x
MESA: info: mov.u32u32 r10.y, (last)r21.z
MESA: info: mov.u32u32 r10.z, (last)r21.w
MESA: info: mov.u32u32 r10.w, (last)r22.w
MESA: info: mov.u32u32 r11.x, (last)r23.x
MESA: info: mov.u32u32 r11.y, (last)r23.y
MESA: info: (ss)sel.b32 r24.w, (last)r24.w, r1.z, r1.w
MESA: info: mov.u32u32 r11.z, (last)r23.w
MESA: info: mov.u32u32 r11.w, (last)r24.x
MESA: info: mul.f r3.z, r24.w, r24.w
MESA: info: absneg.f r24.w, (last)(abs)r24.w
MESA: info: mov.u32u32 r12.x, (last)r24.y
MESA: info: mad.f32 r3.w, c210.y, r3.z, c210.z
MESA: info: mov.u32u32 r12.y, (last)r30.y
MESA: info: mov.u32u32 r12.z, (last)r30.z
MESA: info: mad.f32 r3.w, (last)r3.w, r3.z, c210.w
MESA: info: mov.u32u32 r12.w, (last)r30.w
MESA: info: mov.u32u32 r13.x, (last)r31.x
MESA: info: mad.f32 r3.w, (last)r3.w, r3.z, c211.x
MESA: info: mov.u32u32 r13.y, (last)r31.y
MESA: info: mov.u32u32 r13.z, (last)r31.z
MESA: info: mad.f32 r3.w, (last)r3.w, r3.z, c211.y
MESA: info: mov.u32u32 r13.w, (last)r31.w
MESA: info: mov.u32u32 r14.x, (last)r0.x
MESA: info: mad.f32 r3.w, (last)r3.w, r3.z, c211.z
MESA: info: mov.u32u32 r14.y, (last)r0.y
MESA: info: mov.u32u32 r14.z, (last)r0.z
MESA: info: mad.f32 r24.w, (last)r24.w, r3.w, r3.y
MESA: info: mov.u32u32 r14.w, (last)r0.w
MESA: info: mov.u32u32 r15.x, (last)r1.x
MESA: info: andg r24.w, (last)r24.w, r29.y, (last)r3.x
MESA: info: mov.u32u32 r15.y, (last)r1.y
MESA: info: mov.u32u32 r15.z, (last)r2.y
MESA: info: add.f r28.y, (last)r28.y, r24.w
MESA: info: mov.u32u32 r15.w, (last)r2.z
MESA: info: mov.u32u32 r16.x, (last)r2.w
MESA: info: absneg.f r4.y, (neg)r28.y
MESA: info: mov.u32u32 r16.y, r25.z
MESA: info: mov.u32u32 r16.z, r25.w
MESA: info: sel.b32 r4.y, (last)r4.y, r25.x, (last)r28.y
MESA: info: mov.u32u32 r16.w, r26.x
MESA: info: mov.u32u32 r17.x, r26.y
MESA: info: add.f r4.y, c0.y, (last)(neg)r4.y
MESA: info: cov.u32s16 hr47.x, r23.z
MESA: info: nop
MESA: info: mad.f32 r4.y, c215.x, r4.y, c215.y
MESA: info: shl.b hr8.x, hr47.x, h(1)
MESA: info: mull.u hr47.x, (last)hr47.x, h(3)
MESA: info: cov.f32s32 r4.y, (last)r4.y
MESA: info: (rpt1)nop
MESA: info: and.b r4.z, r4.y, c213.x
MESA: info: (nop1) shr.b r4.w, r4.y, 16
MESA: info: mull.u r6.x, r4.z, c214.z
MESA: info: mull.u r5.x, r4.z, c213.y
MESA: info: mull.u r5.y, r4.z, c214.y
MESA: info: mull.u r5.z, r4.w, c213.y
MESA: info: mull.u r5.w, r4.w, c214.y
MESA: info: madsh.m16 r20.w, r4.z, r20.w, r6.x
MESA: info: madsh.m16 r5.x, c213.y, r4.z, (last)r5.x
MESA: info: madsh.m16 r5.y, c214.y, r4.z, (last)r5.y
MESA: info: madsh.m16 r5.z, c213.y, r4.w, (last)r5.z
MESA: info: madsh.m16 r5.w, c214.y, r4.w, (last)r5.w
MESA: info: madsh.m16 r4.z, c214.z, r4.z, (last)r20.w
MESA: info: madsh.m16 r4.w, (last)r4.w, r22.z, c209.y
MESA: info: shr.b r5.y, (last)r5.y, 16
MESA: info: cmps.u.lt hr10.x, r4.z, r5.x
MESA: info: add.u r4.w, r4.z, (last)r4.w
MESA: info: shr.b r5.z, (last)r5.z, 16
MESA: info: cov.u16s32 r6.y, hr10.x
MESA: info: (nop1) cmps.u.lt hr9.z, r4.w, r4.z
MESA: info: sad.s32 r5.w, (last)r5.w, r6.y, r5.y
MESA: info: cov.u16s32 r6.z, hr9.z
MESA: info: (rpt1)nop
MESA: info: (nop2) sad.s32 r5.w, (last)r5.w, r6.z, r5.z
MESA: info: (nop2) shr.b r5.w, (last)r5.w, 2
MESA: info: (nop1) mull.u r6.w, r5.w, 6
MESA: info: (nop2) madsh.m16 r5.w, c215.z, r5.w, r6.w
MESA: info: (nop2) sub.u r4.y, (last)r4.y, r5.w
MESA: info: cov.u32s16 hr8.z, r4.y
MESA: info: (rpt1)nop
MESA: info: (nop2) shl.b hr8.z, (last)hr8.z, h(2)
MESA: info: mova a0.x, hr8.z
MESA: info: (rpt4)nop
MESA: info: mov.u32u32 r7.x, r<a0.x + 41>
MESA: info: mov.u32u32 r7.y, r<a0.x + 42>
MESA: info: mov.u32u32 r7.z, r<a0.x + 43>
MESA: info: (ul)mov.u32u32 r7.w, r<a0.x + 44>
MESA: info: mova a0.x, hr8.x
MESA: info: (rpt1)cmps.f.lt hr16.x, (r)r7.x, (r)r7.z
MESA: info: add.f r10.z, r7.z, (neg)r7.x
MESA: info: add.f r10.w, r7.w, (neg)r7.y
MESA: info: cmps.s.eq r10.y, hr16.x, hr16.y
MESA: info: mov.u32u32 r8.y, r7.x
MESA: info: mov.u32u32 r8.z, r7.y
MESA: info: sel.b32 r10.z, (last)r10.z, r10.y, c209.y
MESA: info: (nop1) sel.b32 r10.y, c209.y, r10.y, (last)r10.w
MESA: info: add.f r7.x, (last)r7.x, r10.z
MESA: info: add.f r7.y, (last)r7.y, r10.y
MESA: info: add.f r10.z, r7.z, (last)(neg)r10.z
MESA: info: add.f r10.y, r7.w, (last)(neg)r10.y
MESA: info: mov.u32u32 r8.w, r7.x
MESA: info: mov.u32u32 r9.x, r7.y
MESA: info: mov.u32u32 r9.y, (last)r10.z
MESA: info: mov.u32u32 r9.z, (last)r10.y
MESA: info: mov.u32u32 r9.w, r7.z
MESA: info: mov.u32u32 r10.x, r7.w
MESA: info: (rpt1)nop
MESA: info: mov.u32u32 r11.y, r<a0.x + 33>
MESA: info: (ul)mov.u32u32 r11.z, r<a0.x + 34>
MESA: info: mova a0.x, hr47.x
MESA: info: (rpt4)nop
MESA: info: mov.u32u32 r11.w, r<a0.x + 69>
MESA: info: mov.u32u32 r12.x, r<a0.x + 70>
MESA: info: (ul)mov.u32u32 r17.y, r<a0.x + 71>
MESA: info: nop
MESA: info: mul.f r12.y, c205.x, r12.x
MESA: info: mul.f r13.z, c205.y, r12.x
MESA: info: (rpt1)mul.f r13.w, (r)c205.z, (last)r12.x
MESA: info: mad.f32 r12.y, c204.x, r11.w, (last)r12.y
MESA: info: mad.f32 r13.z, c204.y, r11.w, (last)r13.z
MESA: info: (rpt1)mad.f32 r13.w, (r)c204.z, r11.w, (r)(last)r13.w
MESA: info: mad.f32 r13.w, c206.z, r17.y, (last)r13.w
MESA: info: mad.f32 r12.y, c206.x, r17.y, (last)r12.y
MESA: info: mad.f32 r13.z, c206.y, r17.y, (last)r13.z
MESA: info: mad.f32 r17.y, c206.w, r17.y, (last)r14.x
MESA: info: add.f r13.x, (last)r13.w, c207.z
MESA: info: add.f r12.z, (last)r12.y, c207.x
MESA: info: add.f r12.w, (last)r13.z, c207.y
MESA: info: add.f r13.y, (last)r17.y, c207.w
MESA: info: mad.f32 r11.x, c206.z, (neg)r28.x, r13.x
MESA: info: predf
MESA: info: (rpt4)nop
MESA: info: (rpt1)cmps.f.lt hr33.z, (r)r25.z, (r)r26.x
MESA: info: (rpt1)mul.f r14.y, r25.x, (r)r26.z
MESA: info: cov.u32s16 hr47.x, (last)r23.z
MESA: info: (rpt1)mul.f r26.z, (last)(r)r26.z, r24.w
MESA: info: add.f r17.y, r26.x, (neg)r25.z
MESA: info: cmps.s.eq r17.x, (last)hr33.z, (last)hr33.w
MESA: info: (rpt1)mad.f32 r14.w, (r)r27.y, r24.w, (neg)(last)r14.y
MESA: info: (rpt1)mad.f32 r15.y, (r)r27.y, r24.w, (neg)(last)r14.z
MESA: info: (rpt1)mad.f32 r15.w, (r)r27.y, r25.x, (last)r26.z
MESA: info: (rpt1)mad.f32 r16.y, (r)r27.y, r25.x, (last)r26.w
MESA: info: mad.f32 r27.y, (last)r27.y, r25.y, r27.w
MESA: info: mad.f32 r27.z, (last)r27.z, r25.y, (last)r27.w
MESA: info: add.f r17.z, r26.y, (neg)r25.w
MESA: info: shl.b hr35.z, hr47.x, h(1)
MESA: info: sel.b32 r17.y, (last)r17.y, r17.x, c209.y
MESA: info: (rpt1)mad.f32 r14.w, r22.y, (r)r14.w, r1.z
MESA: info: (rpt1)mad.f32 r15.y, r22.y, (r)r15.y, (last)r1.z
MESA: info: (rpt1)mad.f32 r15.w, r22.y, (r)r15.w, r1.w
MESA: info: (rpt1)mad.f32 r16.y, (last)r22.y, (r)r16.y, (last)r1.w
MESA: info: mad.f32 r27.y, r27.x, r27.y, r2.x
MESA: info: sel.b32 r17.x, c209.y, r17.x, (last)r17.z
MESA: info: mad.f32 r27.x, (last)r27.x, r27.z, (last)r2.x
MESA: info: mova a0.x, (last)hr35.z
MESA: info: mov.u32u32 r5.y, (last)r14.w
MESA: info: mov.u32u32 r5.z, (last)r15.w
MESA: info: mov.u32u32 r5.w, r27.y
MESA: info: mov.u32u32 r6.x, (last)r15.x
MESA: info: mov.u32u32 r6.y, (last)r16.x
MESA: info: mov.u32u32 r6.z, r27.x
MESA: info: mov.u32u32 r6.w, (last)r15.y
MESA: info: mov.u32u32 r7.x, (last)r16.y
MESA: info: mov.u32u32 r7.y, (last)r27.y
MESA: info: mov.u32u32 r7.z, (last)r15.z
MESA: info: mov.u32u32 r7.w, (last)r16.z
MESA: info: mov.u32u32 r8.x, (last)r27.x
MESA: info: mov.u32u32 r3.y, r25.z
MESA: info: add.f r25.z, (last)r25.z, r17.y
MESA: info: mov.u32u32 r3.z, r25.w
MESA: info: add.f r17.y, r26.x, (last)(neg)r17.y
MESA: info: add.f r25.w, (last)r25.w, r17.x
MESA: info: add.f r17.x, r26.y, (last)(neg)r17.x
MESA: info: mull.u hr47.x, (last)hr47.x, h(3)
MESA: info: mov.u32u32 r3.w, (last)r25.z
MESA: info: mov.u32u32 r4.x, (last)r25.w
MESA: info: mov.u32u32 r4.y, (last)r17.y
MESA: info: mov.u32u32 r4.z, (last)r17.x
MESA: info: mov.u32u32 r4.w, (last)r26.x
MESA: info: mov.u32u32 r5.x, (last)r26.y
MESA: info: (rpt1)nop
MESA: info: mov.u32u32 r11.y, r<a0.x + 13>
MESA: info: (ul)mov.u32u32 r11.z, r<a0.x + 14>
MESA: info: mova a0.x, (last)hr47.x
MESA: info: (rpt4)nop
MESA: info: mov.u32u32 r18.x, r<a0.x + 21>
MESA: info: mov.u32u32 r18.y, r<a0.x + 22>
MESA: info: (ul)mov.u32u32 r5.y, r<a0.x + 23>
MESA: info: nop
MESA: info: mul.f r18.z, c205.x, r18.y
MESA: info: mul.f r18.w, c205.y, r18.y
MESA: info: (rpt1)mul.f r19.x, (r)c205.z, (last)r18.y
MESA: info: mad.f32 r18.z, c204.x, r18.x, (last)r18.z
MESA: info: mad.f32 r18.w, c204.y, r18.x, (last)r18.w
MESA: info: (rpt1)mad.f32 r19.x, (r)c204.z, r18.x, (r)(last)r19.x
MESA: info: mad.f32 r19.x, c206.z, r5.y, (last)r19.x
MESA: info: mad.f32 r18.z, c206.x, r5.y, (last)r18.z
MESA: info: mad.f32 r18.w, c206.y, r5.y, (last)r18.w
MESA: info: mad.f32 r5.y, c206.w, r5.y, (last)r19.y
MESA: info: add.f r13.x, (last)r19.x, c207.z
MESA: info: add.f r12.z, (last)r18.z, c207.x
MESA: info: add.f r12.w, (last)r18.w, c207.y
MESA: info: add.f r13.y, (last)r5.y, c207.w
MESA: info: mad.f32 r11.x, c206.z, (neg)r28.x, r13.x
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: jump #l527
MESA: info: l523:
MESA: info: (jp)mov.u32u32 r13.y, 0
MESA: info: mov.u32u32 r13.x, 0
MESA: info: mov.u32u32 r12.z, 0
MESA: info: mov.u32u32 r12.w, 0
MESA: info: l527:
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r12.z (VARYING_SLOT_POS) r11.x (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (SYSTEM_VALUE_VERTEX_ID slot=9 cm=1,il=0,b=0)
MESA: info: ; VERT prog 98/1: 552 instr, 84 nops, 468 non-nops, 134 mov, 14 cov, 1064 dwords
MESA: info: ; VERT prog 98/1: 0 last-baryf, 0 last-helper, 0 half, 32 full, 216 constlen
MESA: info: ; VERT prog 98/1: 90 cat0, 148 cat1, 195 cat2, 112 cat3, 5 cat4, 2 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 98/1: 0 sstall, 5 (ss), 64 systall, 1 (sy), 0 loops
MESA: info: ; VERT prog 98/1: 6 max_waves, 0 double_threadsize
MESA: info: ; 66 preamble-instr, 1 early-preamble
MESA: info: ; pos: r12.z
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xdaaaa28d, 0x5ebb97fd, 0x81850d25, 0x6f2baa35, 0x7980bde6, 0xd8482bb2, 0x14233fe3, 0x4656aa9c}
MESA: info: inputs_read: 15-18
MESA: info: outputs_written: 0
MESA: info: system_values_read: 0x00000000'00000000'00000000'00000200
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 4
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #1 (VERT_ATTRIB_GENERIC1.xyz, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #2 (VERT_ATTRIB_GENERIC2.xyz, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #3 (VERT_ATTRIB_GENERIC3.xyz, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #4 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec3 #5 (VARYING_SLOT_VAR0.xyz, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #6
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     decl_var  INTERP_MODE_NONE none vec2[4] #7
MESA: info:     decl_var  INTERP_MODE_NONE none vec3[4] #8
MESA: info:     decl_var  INTERP_MODE_NONE none vec4[7] #9
MESA: info:     decl_var  INTERP_MODE_NONE none vec2[4] #10
MESA: info:     decl_var  INTERP_MODE_NONE none vec3[4] #11
MESA: info:     con block b0:         // preds:
MESA: info:     div 32       %0 = @decl_reg (num_components=2, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %1 = @decl_reg (num_components=3, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %2 = @decl_reg (num_components=2, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %3 = @decl_reg (num_components=4, num_array_elems=7, bit_size=32, divergent=1)
MESA: info:     div 32       %4 = @decl_reg (num_components=3, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     con 1        %5 = @preamble_start_ir3
MESA: info:                       // succs: b1 b5
MESA: info:     if %5 {
MESA: info:         con block b1:         // preds: b0
MESA: info:         div 1        %6 = @elect_any_ir3
MESA: info:                           // succs: b2 b3
MESA: info:         if %6 {
MESA: info:             div block b2:         // preds: b1
MESA: info:             con 32       %7 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32       %8 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32      %10 = @bindless_resource_ir3 (%7 (0.000000)) (desc_set=1)
MESA: info:             con 32     %730 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32     %715 = @load_ubo_vec4 (%10, %730 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %12 = load_const (0x3f800000 = 1.000000 = 1065353216)
MESA: info:             con 32      %13 = frcp %715
MESA: info:                               @store_const_ir3 (%13) (base=0)
MESA: info:             con 32      %14 = @bindless_resource_ir3 (%8 (0x4)) (desc_set=1)
MESA: info:             con 32x2   %718 = @load_ubo_vec4 (%14, %7 (0.000000)) (access=speculatable, base=0, component=0)
MESA: info:             con 1       %16 = fge! %7 (0.000000), %718.x
MESA: info:             con 32x2  %1177 = fabs %718
MESA: info:             con 32      %19 = bcsel %16, %1177.x, %718.y
MESA: info:             con 32      %20 = bcsel %16, %718.y, %1177.x
MESA: info:             con 32      %21 = fabs %20
MESA: info:             con 32      %22 = load_const (0x5d5e0b6b = 1.000000e+18)
MESA: info:             con 1       %23 = fge! %21, %22 (1.000000e+18)
MESA: info:             con 32      %24 = load_const (0x3e800000 = 0.250000)
MESA: info:             con 32      %25 = bcsel %23, %24 (0x3e800000), %12 (0x3f800000)
MESA: info:             con 32      %26 = fmul %20, %25
MESA: info:             con 32      %27 = frcp %26
MESA: info:             con 32      %28 = fmul %19, %25
MESA: info:             con 32      %29 = fabs %28
MESA: info:             con 32      %30 = fabs %27
MESA: info:             con 32      %31 = fmul %29, %30
MESA: info:             con 1       %32 = feq! %1177.x, %1177.y
MESA: info:             con 32      %33 = bcsel %32, %12 (0x3f800000), %31
MESA: info:             con 1       %34 = fge! %12 (1.000000), %33
MESA: info:             con 32      %35 = frcp %33
MESA: info:             con 32      %36 = bcsel %34, %33, %35
MESA: info:             con 32      %37 = fmul %36, %36
MESA: info:             con 32      %38 = load_const (0xbc46c6a5 = -0.012132)
MESA: info:             con 32      %40 = load_const (0x3d5be101 = 0.053681)
MESA: info:             con 32    %1174 = ffma %38 (-0.012132), %37, %40 (0.053681)
MESA: info:             con 32      %43 = load_const (0xbdf0555d = -0.117350)
MESA: info:             con 32    %1173 = ffma %1174, %37, %43 (-0.117350)
MESA: info:             con 32      %46 = load_const (0x3e468bc1 = 0.193892)
MESA: info:             con 32    %1172 = ffma %1173, %37, %46 (0.193892)
MESA: info:             con 32      %49 = load_const (0xbeaa5476 = -0.332676)
MESA: info:             con 32    %1171 = ffma %1172, %37, %49 (-0.332676)
MESA: info:             con 32      %52 = load_const (0x3f7ffea5 = 0.999979)
MESA: info:             con 32    %1170 = ffma %1171, %37, %52 (0.999979)
MESA: info:             con 32      %54 = load_const (0xbfc90fdb = -1.570796)
MESA: info:             con 32      %55 = bcsel %34, %7 (0x0), %54 (0xbfc90fdb)
MESA: info:             con 32      %56 = fabs %36
MESA: info:             con 32    %1169 = ffma %56, %1170, %55
MESA: info:             con 32      %59 = load_const (0x7fffffff = 2147483647)
MESA: info:             con 32      %61 = load_const (0x80000000 = -2147483648 = 2147483648)
MESA: info:             con 32      %62 = iand %33, %61 (0x80000000)
MESA: info:             con 32    %1176 = andg_ir3 %1169, %59 (0x7fffffff), %62
MESA: info:             con 32      %64 = load_const (0x3fc90fdb = 1.570796)
MESA: info:             con 32      %65 = bcsel %16, %64 (0x3fc90fdb), %7 (0x0)
MESA: info:             con 32      %66 = fadd %65, %1176
MESA: info:             con 32      %67 = fmin %718.y, %27
MESA: info:             con 1       %68 = flt! %67, %7 (0.000000)
MESA: info:             con 32      %69 = fneg %66
MESA: info:             con 32      %70 = bcsel %68, %69, %66
MESA: info:             con 32      %71 = load_const (0x3f060a92 = 0.523599)
MESA: info:             con 32      %72 = fadd %70, %71 (0.523599)
MESA: info:                               @store_const_ir3 (%72) (base=1)
MESA: info:             con 32      %74 = fmul %718.y, %718.y
MESA: info:             con 32    %1168 = ffma %718.x, %718.x, %74
MESA: info:             con 32      %76 = frsq %1168
MESA: info:             con 32x2  %1178 = fmul %718.yx, %76.xx
MESA: info:             con 32    %1179 = mov %1178.x
MESA: info:             con 32    %1180 = mov %1178.y
MESA: info:                               @store_const_ir3 (%1179) (base=2)
MESA: info:                               @store_const_ir3 (%1180) (base=3)
MESA: info:             con 32      %79 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %80 = @bindless_resource_ir3 (%79 (0x2)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%80, %7 (0.000000)) (base=16, range=196)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%10, %730 (0x18)) (base=800, range=4)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%10, %7 (0.000000)) (base=816, range=4)
MESA: info:             con 32      %88 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %89 = @bindless_resource_ir3 (%88 (0x1)) (desc_set=3)
MESA: info:                               @prefetch_tex_ir3 (%89)
MESA: info:             con 32      %91 = @bindless_resource_ir3 (%7 (0.000000)) (desc_set=3)
MESA: info:                               @prefetch_tex_ir3 (%91)
MESA: info:                               @preamble_end_ir3
MESA: info:                               // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:         // preds: b4 b5
MESA: info:     con 32      %92 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x3    %93 = @load_input (%92 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3    %94 = @load_input (%92 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3    %95 = @load_input (%92 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3    %96 = @load_input (%92 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32     %100 = @load_vertex_id
MESA: info:     con 32     %101 = load_const (0x00000006)
MESA: info:     con 32     %102 = load_const (0x00000010 = 16)
MESA: info:     con 32     %103 = load_const (0x0000ffff = 65535)
MESA: info:     div 32     %104 = iand %100, %103 (0xffff)
MESA: info:     div 32     %106 = ushr %100, %102 (0x10)
MESA: info:     con 32x3  %1189 = load_const (0x0000aaab, 0x0000aaaa, 0xaaaaaaab) = (+43691, +43690, -1431655765) = (43691, 43690, 2863311531)
MESA: info:     div 32x3  %1190 = umul_low %104.xxx, %1189 (0xaaab, 0xaaaa, 0xaaaaaaab)
MESA: info:     con 32x2  %1183 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1184 = imadsh_mix16 %1183 (0xaaab, 0xaaaa), %104.xx, %1190.xy
MESA: info:     con 32x2  %1185 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1186 = umul_low %106.xx, %1185 (0xaaab, 0xaaaa)
MESA: info:     con 32x2  %1187 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1188 = imadsh_mix16 %1187 (0xaaab, 0xaaaa), %106.xx, %1186
MESA: info:     con 32     %112 = load_const (0xaaaaaaab = -1431655765 = 2863311531)
MESA: info:     div 32     %891 = imadsh_mix16 %104, %112 (0xaaaaaaab), %1190.z
MESA: info:     div 32     %892 = imadsh_mix16 %112 (0xaaaaaaab), %104, %891
MESA: info:     div 1      %114 = ult %892, %1184.x
MESA: info:     div 32     %115 = b2i32 %114
MESA: info:     div 32     %117 = ushr %1184.y, %102 (0x10)
MESA: info:     div 32     %831 = iadd3 %1188.y, %115, %117
MESA: info:     con 32     %119 = load_const (0xaaab0000 = -1431633920 = 2863333376)
MESA: info:     con 32    %1067 = load_const (0x00000000)
MESA: info:     div 32     %888 = imadsh_mix16 %106, %119 (0xaaab0000), %1067 (0x0)
MESA: info:     div 32     %121 = iadd %892, %888
MESA: info:     div 1      %122 = ult %121, %892
MESA: info:     div 32     %123 = b2i32 %122
MESA: info:     div 32     %125 = ushr %1188.x, %102 (0x10)
MESA: info:     div 32     %830 = iadd3 %831, %123, %125
MESA: info:     con 32     %127 = load_const (0x00000002)
MESA: info:     con 32x2  %1191 = load_const (0x00000002, 0x00000003)
MESA: info:     div 32x2  %1192 = ushr %830.xx, %1191 (0x2, 0x3)
MESA: info:     con 32x2  %1193 = load_const (0x00000006, 0x0000000c) = (6, 12)
MESA: info:     div 32x2  %1194 = umul_low %1192, %1193 (0x6, 0xc)
MESA: info:     con 32x2  %1195 = load_const (0x00000006, 0x0000000c) = (6, 12)
MESA: info:     div 32x2  %1196 = imadsh_mix16 %1195 (0x6, 0xc), %1192, %1194
MESA: info:     div 32x2  %1197 = isub %100.xx, %1196
MESA: info:     div 32    %1198 = mov %1197.x
MESA: info:     con 32     %134 = load_const (0x0000000c = 0.000000 = 12)
MESA: info:     div 1      %138 = ilt %1197.y, %101 (0x6)
MESA: info:     div 1      %139 = ilt %100, %92 (0x0)
MESA: info:     div 32     %140 = iabs %100
MESA: info:     div 32     %141 = iand %140, %103 (0xffff)
MESA: info:     div 32     %142 = ushr %140, %102 (0x10)
MESA: info:     con 32x3  %1207 = load_const (0x0000aaab, 0x00002aaa, 0x2aaaaaab) = (43691, 10922, 715827883)
MESA: info:     div 32x3  %1208 = umul_low %141.xxx, %1207 (0xaaab, 0x2aaa, 0x2aaaaaab)
MESA: info:     con 32x2  %1201 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1202 = imadsh_mix16 %1201 (0xaaab, 0x2aaa), %141.xx, %1208.xy
MESA: info:     con 32x2  %1203 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1204 = umul_low %142.xx, %1203 (0xaaab, 0x2aaa)
MESA: info:     con 32x2  %1205 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1206 = imadsh_mix16 %1205 (0xaaab, 0x2aaa), %142.xx, %1204
MESA: info:     con 32     %148 = load_const (0x2aaaaaab = 715827883)
MESA: info:     div 32     %867 = imadsh_mix16 %141, %148 (0x2aaaaaab), %1208.z
MESA: info:     div 32     %868 = imadsh_mix16 %148 (0x2aaaaaab), %141, %867
MESA: info:     div 1      %150 = ult %868, %1202.x
MESA: info:     div 32     %151 = b2i32 %150
MESA: info:     div 32     %153 = ushr %1202.y, %102 (0x10)
MESA: info:     div 32     %827 = iadd3 %1206.y, %151, %153
MESA: info:     con 32    %1062 = load_const (0x00000000)
MESA: info:     div 32     %864 = imadsh_mix16 %142, %119 (0xaaab0000), %1062 (0x0)
MESA: info:     div 32     %156 = iadd %868, %864
MESA: info:     div 1      %157 = ult %156, %868
MESA: info:     div 32     %158 = b2i32 %157
MESA: info:     div 32     %160 = ushr %1206.x, %102 (0x10)
MESA: info:     div 32     %826 = iadd3 %827, %158, %160
MESA: info:     con 32     %162 = load_const (0x00000001)
MESA: info:     div 32     %163 = inot %826
MESA: info:     div 32     %164 = inot %156
MESA: info:     div 32     %165 = iadd %164, %162 (0x1)
MESA: info:     div 1      %166 = ult %165, %164
MESA: info:     div 32     %167 = b2i32 %166
MESA: info:     div 32     %168 = iadd %163, %167
MESA: info:     div 32     %169 = bcsel %139, %168, %826
MESA: info:     div 32     %170 = ishr %169, %162 (0x1)
MESA: info:     con 32     %171 = load_const (0x0000001f = 31)
MESA: info:     div 32     %172 = ushr %170, %171 (0x1f)
MESA: info:     div 32     %173 = iadd %170, %172
MESA: info:     con 32     %174 = load_const (0x00000004 = 0.000000)
MESA: info:     con 32x2  %1209 = load_const (0x00000004, 0x00000002)
MESA: info:     div 32x2  %1210 = ishl %173.xx, %1209 (0x4, 0x2)
MESA: info:     div 32    %1211 = mov %1210.x
MESA: info:     div 32    %1212 = mov %1210.y
MESA: info:     con 32     %176 = @bindless_resource_ir3 (%162 (0x1)) (desc_set=3)
MESA: info:     div 32x3   %722 = @load_ssbo_ir3 (%176, %1211, %1212) (base=0, access=readonly|reorderable|speculatable, align_mul=16, align_offset=0)
MESA: info:     div 32x3  %1214 = fmul %94, %722.yyy
MESA: info:     div 32x3  %1216 = ffma %93, %722.xxx, %1214
MESA: info:     div 32x3  %1218 = ffma %95, %722.zzz, %1216
MESA: info:     con 32     %193 = @bindless_resource_ir3 (%92 (0x0)) (desc_set=3)
MESA: info:     div 32x4   %726 = @load_ssbo_ir3 (%193, %1211, %1212) (base=0, access=readonly|reorderable|speculatable, align_mul=16, align_offset=0)
MESA: info:     div 32     %195 = f2i32 %726.w
MESA: info:     div 32x3  %1220 = fmul %94, %726.yyy
MESA: info:     div 32x3  %1222 = ffma %93, %726.xxx, %1220
MESA: info:     div 32x3  %1224 = ffma %95, %726.zzz, %1222
MESA: info:     div 32x3  %1226 = fadd %1224, %96
MESA: info:     div 32     %215 = fmul %1218.y, %1218.y
MESA: info:     div 32    %1153 = ffma %1218.z, %1218.z, %215
MESA: info:     div 32    %1152 = ffma %1218.x, %1218.x, %1153
MESA: info:     div 32     %219 = frsq %1152
MESA: info:     div 32x3  %1228 = fmul %1218, %219.xxx
MESA: info:     div 32     %223 = fsqrt %1152
MESA: info:     con 32     %224 = load_const (0x000000b0 = 176)
MESA: info:     div 32     %860 = umul_low %195, %224 (0xb0)
MESA: info:     div 32     %862 = imadsh_mix16 %224 (0xb0), %195, %860
MESA: info:     div 32     %228 = ushr %862, %127 (0x2)
MESA: info:     div 32x4   %229 = @load_const_ir3 (%228) (base=16)
MESA: info:     div 32x4   %236 = @load_const_ir3 (%228) (base=20)
MESA: info:     div 32x4   %240 = @load_const_ir3 (%228) (base=24)
MESA: info:     div 32x4   %246 = @load_const_ir3 (%228) (base=28)
MESA: info:     div 32x4   %250 = @load_const_ir3 (%228) (base=32)
MESA: info:     div 32x4   %256 = @load_const_ir3 (%228) (base=36)
MESA: info:     div 32x4   %260 = @load_const_ir3 (%228) (base=40)
MESA: info:     div 32x2   %268 = @load_const_ir3 (%228) (base=44)
MESA: info:     div 32x4   %272 = @load_const_ir3 (%228) (base=48)
MESA: info:     div 32x4   %276 = @load_const_ir3 (%228) (base=52)
MESA: info:     div 32x3   %280 = @load_const_ir3 (%228) (base=56)
MESA: info:     con 32     %732 = load_const (0x00000060 = 0.000000 = 96)
MESA: info:     con 32x4   %285 = @load_const_ir3 (%732 (0x60)) (base=704)
MESA: info:     div 32x3  %1230 = fmul %223.xxx, %1228
MESA: info:     div 32x4  %1233 = fmul %276.xyxx, %1230.xxyz
MESA: info:     div 32x4  %1236 = fmul %280.xyxx, %1230.xxyz
MESA: info:     div 32     %297 = fmul %1230.y, %276.y
MESA: info:     div 32     %298 = fneg %297
MESA: info:     div 32     %299 = fmul %1230.y, %280.y
MESA: info:     div 32     %300 = fneg %299
MESA: info:     div 32     %301 = fmul %276.z, %223
MESA: info:     div 32     %302 = fmul %280.z, %223
MESA: info:     div 32x4  %1239 = fmin %1233, %1236
MESA: info:     div 32     %307 = fmin %298, %300
MESA: info:     div 32     %308 = fadd %1239.x, %307
MESA: info:     div 32     %309 = fadd %1239.z, %1239.y
MESA: info:     div 32     %310 = fmin %301, %302
MESA: info:     div 32     %311 = fadd %1239.w, %310
MESA: info:     div 32     %312 = fadd %308, %1226.x
MESA: info:     div 32     %313 = fadd %309, %1226.y
MESA: info:     div 32     %314 = fadd %311, %1226.z
MESA: info:     div 32x4  %1242 = fmax %1233, %1236
MESA: info:     div 32     %319 = fmax %298, %300
MESA: info:     div 32     %320 = fadd %1242.x, %319
MESA: info:     div 32     %321 = fadd %1242.z, %1242.y
MESA: info:     div 32     %322 = fmax %301, %302
MESA: info:     div 32     %323 = fadd %1242.w, %322
MESA: info:     div 32     %324 = fadd %320, %1226.x
MESA: info:     div 32     %325 = fadd %321, %1226.y
MESA: info:     div 32     %326 = fadd %323, %1226.z
MESA: info:     div 32     %327 = fmax %285.x, %312
MESA: info:     div 32     %328 = fmax %285.y, %313
MESA: info:     div 32     %329 = fmax %285.z, %314
MESA: info:     div 32     %330 = fmin %327, %324
MESA: info:     div 32     %331 = fmin %328, %325
MESA: info:     div 32     %332 = fmin %329, %326
MESA: info:     div 32    %1151 = fsub %285.x, %330
MESA: info:     div 32    %1150 = fsub %285.y, %331
MESA: info:     div 32    %1149 = fsub %285.z, %332
MESA: info:     div 32     %340 = fmul %1150, %1150
MESA: info:     div 32    %1148 = ffma %1149, %1149, %340
MESA: info:     div 32    %1147 = ffma %1151, %1151, %1148
MESA: info:     div 32     %344 = fsqrt %1147
MESA: info:     con 32     %347 = @load_const_ir3 (%92 (0x0)) (base=0)
MESA: info:     div 32     %353 = ishl %195, %127 (0x2)
MESA: info:     con 32     %742 = load_const (0x00000200 = 512)
MESA: info:     div 32     %743 = iadd %353, %742 (0x200)
MESA: info:     div 32x2   %354 = @load_const_ir3 (%743) (base=208)
MESA: info:     div 32     %356 = fmul %354.y, %347
MESA: info:     div 32     %357 = fneg %344
MESA: info:     div 32    %1146 = ffma %354.x, %285.w, %357
MESA: info:     con 32     %359 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32     %360 = fmul %359 (2.000000), %1146
MESA: info:     div 32     %361 = fmul %360, %356
MESA: info:     div 32     %362 = fsat %361
MESA: info:     div 1      %363 = flt! %92 (0.000000), %362
MESA: info:                       // succs: b7 b11
MESA: info:     if %363 {
MESA: info:         div block b7:         // preds: b6
MESA: info:         div 32     %364 = fmul %223, %362
MESA: info:         con 32     %733 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:         con 32     %370 = @load_const_ir3 (%733 (0xa)) (base=816)
MESA: info:                           // succs: b8 b9
MESA: info:         if %138 {
MESA: info:             div block b8:         // preds: b7
MESA: info:             con 32     %345 = load_const (0x3f800000 = 1.000000 = 1065353216)
MESA: info:             con 32     %372 = load_const (0x5d5e0b6b = 1.000000e+18)
MESA: info:             con 32     %373 = load_const (0x3e800000 = 0.250000)
MESA: info:             con 32     %374 = load_const (0xbc46c6a5 = -0.012132)
MESA: info:             con 32     %375 = load_const (0x3d5be101 = 0.053681)
MESA: info:             con 32     %376 = load_const (0xbdf0555d = -0.117350)
MESA: info:             con 32     %377 = load_const (0x3e468bc1 = 0.193892)
MESA: info:             con 32     %378 = load_const (0xbeaa5476 = -0.332676)
MESA: info:             con 32     %379 = load_const (0x3f7ffea5 = 0.999979)
MESA: info:             con 32     %380 = load_const (0xbfc90fdb = -1.570796)
MESA: info:             con 32     %381 = load_const (0x7fffffff = 2147483647)
MESA: info:             con 32     %382 = load_const (0x80000000 = -2147483648 = 2147483648)
MESA: info:             con 32     %383 = load_const (0x3fc90fdb = 1.570796)
MESA: info:             div 1      %384 = fge! %92 (0.000000), %1228.x
MESA: info:             div 32x2  %1243 = fabs %1228.xy
MESA: info:             div 32     %386 = bcsel %384, %1243.x, %1228.y
MESA: info:             div 32     %387 = bcsel %384, %1228.y, %1243.x
MESA: info:             div 32     %388 = fabs %387
MESA: info:             div 1      %389 = fge! %388, %372 (1.000000e+18)
MESA: info:             div 32     %390 = bcsel %389, %373 (0x3e800000), %345 (0x3f800000)
MESA: info:             div 32     %391 = fmul %387, %390
MESA: info:             div 32     %392 = frcp %391
MESA: info:             div 32     %393 = fmul %386, %390
MESA: info:             div 32     %394 = fabs %393
MESA: info:             div 32     %395 = fabs %392
MESA: info:             div 32     %396 = fmul %394, %395
MESA: info:             div 1      %398 = feq! %1243.x, %1243.y
MESA: info:             div 32     %399 = bcsel %398, %345 (0x3f800000), %396
MESA: info:             div 1      %400 = fge! %345 (1.000000), %399
MESA: info:             div 32     %401 = frcp %399
MESA: info:             div 32     %402 = bcsel %400, %399, %401
MESA: info:             div 32     %403 = fmul %402, %402
MESA: info:             div 32    %1145 = ffma %374 (-0.012132), %403, %375 (0.053681)
MESA: info:             div 32    %1144 = ffma %1145, %403, %376 (-0.117350)
MESA: info:             div 32    %1143 = ffma %1144, %403, %377 (0.193892)
MESA: info:             div 32    %1142 = ffma %1143, %403, %378 (-0.332676)
MESA: info:             div 32    %1141 = ffma %1142, %403, %379 (0.999979)
MESA: info:             div 32     %414 = bcsel %400, %92 (0x0), %380 (0xbfc90fdb)
MESA: info:             div 32     %415 = fabs %402
MESA: info:             div 32    %1140 = ffma %415, %1141, %414
MESA: info:             div 32     %419 = iand %399, %382 (0x80000000)
MESA: info:             div 32    %1175 = andg_ir3 %1140, %381 (0x7fffffff), %419
MESA: info:             div 32     %421 = bcsel %384, %383 (0x3fc90fdb), %92 (0x0)
MESA: info:             div 32     %422 = fadd %421, %1175
MESA: info:             div 32     %423 = fmin %1228.y, %392
MESA: info:             div 1      %424 = flt! %423, %92 (0.000000)
MESA: info:             div 32     %425 = fneg %422
MESA: info:             div 32     %426 = bcsel %424, %425, %422
MESA: info:             con 32     %428 = @load_const_ir3 (%92 (0x0)) (base=1)
MESA: info:             div 32    %1139 = fsub %428, %426
MESA: info:             con 32     %431 = load_const (0x3f747644 = 0.954930)
MESA: info:             con 32     %433 = load_const (0x41400000 = 12.000000)
MESA: info:             div 32    %1138 = ffma %431 (0.954930), %1139, %433 (12.000000)
MESA: info:             div 32     %435 = f2i32 %1138
MESA: info:             div 32     %436 = iand %435, %103 (0xffff)
MESA: info:             div 32     %437 = ushr %435, %102 (0x10)
MESA: info:             con 32x3  %1252 = load_const (0x0000aaab, 0x0000aaaa, 0xaaaaaaab) = (+43691, +43690, -1431655765) = (43691, 43690, 2863311531)
MESA: info:             div 32x3  %1253 = umul_low %436.xxx, %1252 (0xaaab, 0xaaaa, 0xaaaaaaab)
MESA: info:             con 32x2  %1246 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1247 = imadsh_mix16 %1246 (0xaaab, 0xaaaa), %436.xx, %1253.xy
MESA: info:             con 32x2  %1248 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1249 = umul_low %437.xx, %1248 (0xaaab, 0xaaaa)
MESA: info:             con 32x2  %1250 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1251 = imadsh_mix16 %1250 (0xaaab, 0xaaaa), %437.xx, %1249
MESA: info:             div 32     %846 = imadsh_mix16 %436, %112 (0xaaaaaaab), %1253.z
MESA: info:             div 32     %847 = imadsh_mix16 %112 (0xaaaaaaab), %436, %846
MESA: info:             div 1      %443 = ult %847, %1247.x
MESA: info:             div 32     %444 = b2i32 %443
MESA: info:             div 32     %446 = ushr %1247.y, %102 (0x10)
MESA: info:             div 32     %797 = iadd3 %1251.y, %444, %446
MESA: info:             con 32    %1005 = load_const (0x00000000)
MESA: info:             div 32     %843 = imadsh_mix16 %437, %119 (0xaaab0000), %1005 (0x0)
MESA: info:             div 32     %449 = iadd %847, %843
MESA: info:             div 1      %450 = ult %449, %847
MESA: info:             div 32     %451 = b2i32 %450
MESA: info:             div 32     %453 = ushr %1251.x, %102 (0x10)
MESA: info:             div 32     %796 = iadd3 %797, %451, %453
MESA: info:             div 32     %455 = ushr %796, %127 (0x2)
MESA: info:             div 32     %839 = umul_low %455, %101 (0x6)
MESA: info:             div 32     %841 = imadsh_mix16 %101 (0x6), %455, %839
MESA: info:             div 32    %1137 = isub %435, %841
MESA: info:             con 32     %460 = @load_const_ir3 (%92 (0x0)) (base=2)
MESA: info:             con 32     %462 = @load_const_ir3 (%92 (0x0)) (base=3)
MESA: info:             con 32x2  %1254 = load_const (0xbf000000, 0x3f000000) = (-0.500000, 0.500000)
MESA: info:             div 32x2  %1255 = fmul %1254 (-0.500000, 0.500000), %268.xx
MESA: info:             div 32x2  %1256 = fmul %460.xx, %1255
MESA: info:             div 32x2  %1257 = fmul %1255, %462.xx
MESA: info:             div 32x2  %1258 = fneg %1256
MESA: info:             div 32x2  %1259 = ffma %1258, %364.xx, %1226.xx
MESA: info:             div 32x2  %1260 = ffma %364.xx, %1257, %1226.yy
MESA: info:             div 32x3   %480 = vec3 %1259.x, %1260.x, %1226.z
MESA: info:             div 32x3   %481 = vec3 %1259.y, %1260.y, %1226.z
MESA: info:             div 32    %1130 = ffma %223, %268.y, %1226.z
MESA: info:             div 32x3   %484 = vec3 %1259.x, %1260.x, %1130
MESA: info:             div 32x3   %485 = vec3 %1259.y, %1260.y, %1130
MESA: info:                               @store_reg (%480, %4) (base=0, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%481, %4) (base=1, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%484, %4) (base=2, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%485, %4) (base=3, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%229, %3) (base=0, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%236, %3) (base=1, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%240, %3) (base=2, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%246, %3) (base=3, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%250, %3) (base=4, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%256, %3) (base=5, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%260, %3) (base=6, wrmask=xyzw, legacy_fsat=0)
MESA: info:             div 32x4   %502 = @load_reg_indirect (%3, %1137) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             div 32x2   %503 = vec2 %502.x, %502.y
MESA: info:             div 32x2   %504 = vec2 %502.z, %502.w
MESA: info:             div 1x2   %1261 = flt! %502.xy, %502.zw
MESA: info:             div 1      %507 = ieq %1261.x, %1261.y
MESA: info:             div 32x2  %1262 = fsub %502.zw, %502.xy
MESA: info:             div 32     %512 = bcsel %507, %1262.x, %92 (0x0)
MESA: info:             div 32     %513 = bcsel %507, %92 (0x0), %1262.y
MESA: info:             div 32     %514 = fadd %502.x, %512
MESA: info:             div 32     %515 = fadd %502.y, %513
MESA: info:             div 32x2   %516 = vec2 %514, %515
MESA: info:             div 32    %1127 = fsub %502.z, %512
MESA: info:             div 32    %1126 = fsub %502.w, %513
MESA: info:             div 32x2   %521 = vec2 %1127, %1126
MESA: info:                               @store_reg (%503, %2) (base=0, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%516, %2) (base=1, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%521, %2) (base=2, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%504, %2) (base=3, wrmask=xy, legacy_fsat=0)
MESA: info:             div 32x3   %532 = @load_reg_indirect (%4, %1198) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             con 32x4   %535 = @load_const_ir3 (%92 (0x0)) (base=816)
MESA: info:             con 32x4   %542 = @load_const_ir3 (%174 (0x4)) (base=816)
MESA: info:             div 32x4  %1265 = fmul %542, %532.yyyy
MESA: info:             div 32x4  %1268 = ffma %535, %532.xxxx, %1265
MESA: info:             con 32     %735 = load_const (0x00000008 = 0.000000)
MESA: info:             con 32x2   %553 = @load_const_ir3 (%735 (0x8)) (base=816)
MESA: info:             con 32     %736 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:             con 32     %556 = @load_const_ir3 (%736 (0xb)) (base=816)
MESA: info:             div 32x2  %1269 = ffma %553, %532.zz, %1268.xy
MESA: info:             div 32    %1119 = ffma %556, %532.z, %1268.w
MESA: info:             div 32    %1118 = ffma %370, %532.z, %1268.z
MESA: info:             con 32x4   %567 = @load_const_ir3 (%134 (0xc)) (base=816)
MESA: info:             div 32x2  %1270 = fadd %1269, %567.xy
MESA: info:             div 32x2  %1303 = mov %1270.yx
MESA: info:             div 32     %570 = fadd %1119, %567.w
MESA: info:             div 32     %571 = fadd %1118, %567.z
MESA: info:                               // succs: b10
MESA: info:         } else {
MESA: info:             div block b9:         // preds: b7
MESA: info:             div 32x2  %1273 = fmul %272.yw, %1228.xx
MESA: info:             div 32x2  %1274 = fmul %1228.yy, %272.yw
MESA: info:             div 32x2  %1276 = fneg %1274
MESA: info:             div 32x4  %1278 = ffma %272.xzxz, %1228.xxxx, %1276.xxyy
MESA: info:             div 32x4  %1281 = ffma %272.xzxz, %1228.yyyy, %1273.xxyy
MESA: info:             div 32x2  %1282 = ffma %272.xz, %1228.zz, %276.ww
MESA: info:             div 32x4  %1285 = ffma %364.xxxx, %1278, %1226.xxxx
MESA: info:             div 32x4  %1288 = ffma %364.xxxx, %1281, %1226.yyyy
MESA: info:             div 32x2  %1289 = ffma %223.xx, %1282, %1226.zz
MESA: info:             div 32x3   %616 = vec3 %1285.x, %1288.x, %1289.x
MESA: info:             div 32x3   %617 = vec3 %1285.y, %1288.y, %1289.y
MESA: info:             div 32x3   %618 = vec3 %1285.z, %1288.z, %1289.x
MESA: info:             div 32x3   %619 = vec3 %1285.w, %1288.w, %1289.y
MESA: info:                               @store_reg (%616, %1) (base=0, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%617, %1) (base=1, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%618, %1) (base=2, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%619, %1) (base=3, wrmask=xyz, legacy_fsat=0)
MESA: info:             div 1x2   %1290 = flt! %260.xy, %260.zw
MESA: info:             div 1      %627 = ieq %1290.x, %1290.y
MESA: info:             div 32x2  %1291 = fsub %260.zw, %260.xy
MESA: info:             div 32     %632 = bcsel %627, %1291.x, %92 (0x0)
MESA: info:             div 32     %633 = bcsel %627, %92 (0x0), %1291.y
MESA: info:             div 32     %634 = fadd %260.x, %632
MESA: info:             div 32     %635 = fadd %260.y, %633
MESA: info:             div 32x2   %636 = vec2 %634, %635
MESA: info:             div 32    %1095 = fsub %260.z, %632
MESA: info:             div 32    %1094 = fsub %260.w, %633
MESA: info:             div 32x2   %641 = vec2 %1095, %1094
MESA: info:             div 32x2   %644 = vec2 %260.x, %260.y
MESA: info:                               @store_reg (%644, %0) (base=0, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%636, %0) (base=1, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%641, %0) (base=2, wrmask=xy, legacy_fsat=0)
MESA: info:             div 32x2   %648 = vec2 %260.z, %260.w
MESA: info:                               @store_reg (%648, %0) (base=3, wrmask=xy, legacy_fsat=0)
MESA: info:             div 32x3   %654 = @load_reg_indirect (%1, %1198) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             con 32x4   %657 = @load_const_ir3 (%92 (0x0)) (base=816)
MESA: info:             con 32x4   %664 = @load_const_ir3 (%174 (0x4)) (base=816)
MESA: info:             div 32x4  %1294 = fmul %664, %654.yyyy
MESA: info:             div 32x4  %1297 = ffma %657, %654.xxxx, %1294
MESA: info:             con 32     %739 = load_const (0x00000008 = 0.000000)
MESA: info:             con 32x2   %675 = @load_const_ir3 (%739 (0x8)) (base=816)
MESA: info:             con 32     %740 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:             con 32     %678 = @load_const_ir3 (%740 (0xb)) (base=816)
MESA: info:             div 32x2  %1298 = ffma %675, %654.zz, %1297.xy
MESA: info:             div 32    %1087 = ffma %678, %654.z, %1297.w
MESA: info:             div 32    %1086 = ffma %370, %654.z, %1297.z
MESA: info:             con 32x4   %689 = @load_const_ir3 (%134 (0xc)) (base=816)
MESA: info:             div 32x2  %1299 = fadd %1298, %689.xy
MESA: info:             div 32x2  %1304 = mov %1299.yx
MESA: info:             div 32     %692 = fadd %1087, %689.w
MESA: info:             div 32     %693 = fadd %1086, %689.z
MESA: info:                               // succs: b10
MESA: info:         }
MESA: info:         div block b10:        // preds: b8 b9
MESA: info:         div 32     %696 = phi b8: %570, b9: %692
MESA: info:         div 32x2  %1302 = phi b8: %1303, b9: %1304
MESA: info:         div 32     %700 = phi b8: %571, b9: %693
MESA: info:                           // succs: b12
MESA: info:     } else {
MESA: info:         div block b11:        // preds: b6
MESA: info:         con 32x2  %1308 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:                           // succs: b12
MESA: info:     }
MESA: info:     con block b12:        // preds: b10 b11
MESA: info:     div 32     %706 = phi b10: %696, b11: %92 (0x0)
MESA: info:     div 32x2  %1307 = phi b10: %1302, b11: %1308 (0.000000, 0.000000)
MESA: info:     div 32     %710 = phi b10: %700, b11: %92 (0x0)
MESA: info:     div 32x4   %711 = vec4 %1307.y, %1307.x, %710, %706
MESA: info:                       @store_output (%711, %92 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                       // succs: b13
MESA: info:     block b13:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 4fb523960abb25936ebca6af4449b74d207f60ae:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (204 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c208.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      3
MESA: info: ;   range[0]:
MESA: info: ;     block:          2
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           196 vec4 (0b -> 3136b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c200.x
MESA: info: ;     size:           4 vec4 (384b -> 448b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c204.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0x1)
MESA: info: @const(c209.x)	0x3fc90fdb, 0x00000000, 0x3f800000, 0x3e800000
MESA: info: @const(c210.x)	0x5d5e0b6b, 0xbc46c6a5, 0x3d5be101, 0xbdf0555d
MESA: info: @const(c211.x)	0x3e468bc1, 0xbeaa5476, 0x3f7ffea5, 0xbfc90fdb
MESA: info: @const(c212.x)	0x80000000, 0x3f060a92, 0x00002aaa, 0x2aaaaaab
MESA: info: @const(c213.x)	0x0000ffff, 0x0000aaab, 0x00000200, 0x000000b0
MESA: info: @const(c214.x)	0x0000000c, 0x0000aaaa, 0xaaaaaaab, 0xbf000000
MESA: info: @const(c215.x)	0x3f747644, 0x41400000, 0x00000006, 0xd0d0d0d0
MESA: info: shps #l66
MESA: info: getone #l66
MESA: info: ldc.u.offset0.2.imm.base1 r48.y, 0, 4
MESA: info: ldc.u.offset3.1.imm.base1 r48.x, 24, 0
MESA: info: mov.u32u32 r48.w, 0x7fffffff
MESA: info: mova1 a1.x, (r)16
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 1
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)cmps.f.ge r49.x, (0.0), r48.y
MESA: info: absneg.f r49.y, (abs)r48.y
MESA: info: sel.b32 r49.z, r48.z, r49.x, r49.y
MESA: info: cmps.f.ge r49.w, (abs)r49.z, c210.x
MESA: info: sel.b32 r49.w, c209.w, r49.w, c209.z
MESA: info: mul.f r49.z, r49.z, r49.w
MESA: info: cmps.f.eq r50.x, (abs)r48.y, (abs)r48.z
MESA: info: mul.f r51.z, r48.y, r48.y
MESA: info: mul.f r51.w, r48.z, r48.z
MESA: info: sel.b32 r49.y, r49.y, r49.x, r48.z
MESA: info: add.f r51.z, r51.z, r51.w
MESA: info: mul.f r49.y, r49.y, r49.w
MESA: info: rcp r48.x, r48.x
MESA: info: sel.b32 r49.x, c209.x, r49.x, c209.y
MESA: info: (ss)rcp r49.z, r49.z
MESA: info: rsq r51.z, r51.z
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: (ss)mul.f r49.y, (abs)r49.y, (abs)r49.z
MESA: info: sel.b32 r50.x, c209.z, r50.x, r49.y
MESA: info: mul.f r52.x, r48.z, r51.z
MESA: info: mul.f r52.y, r48.y, r51.z
MESA: info: min.f r49.z, r48.z, r49.z
MESA: info: cmps.f.ge r50.y, (1.0), r50.x
MESA: info: cmps.f.lt r49.z, r49.z, (0.0)
MESA: info: (ss)rcp r50.z, r50.x
MESA: info: stc.u32 c[2], r52.x, 1
MESA: info: stc.u32 c[3], r52.y, 1
MESA: info: (ss)sel.b32 r50.z, r50.x, r50.y, r50.z
MESA: info: mul.f r50.w, r50.z, r50.z
MESA: info: and.b r50.x, r50.x, c212.x
MESA: info: sel.b32 r50.y, c209.y, r50.y, c211.w
MESA: info: mul.f r51.x, c210.y, r50.w
MESA: info: add.f r51.x, r51.x, c210.z
MESA: info: mul.f r51.x, r51.x, r50.w
MESA: info: add.f r51.x, r51.x, c210.w
MESA: info: mul.f r51.x, r51.x, r50.w
MESA: info: add.f r51.x, r51.x, c211.x
MESA: info: mul.f r51.x, r51.x, r50.w
MESA: info: add.f r51.x, r51.x, c211.y
MESA: info: mul.f r51.x, r51.x, r50.w
MESA: info: add.f r51.x, r51.x, c211.z
MESA: info: mul.f r50.z, (abs)r50.z, r51.x
MESA: info: add.f r50.z, r50.z, r50.y
MESA: info: andg r50.z, r50.z, r48.w, r50.x
MESA: info: add.f r49.x, r49.x, r50.z
MESA: info: absneg.f r51.y, (neg)r49.x
MESA: info: sel.b32 r51.y, r51.y, r49.z, r49.x
MESA: info: add.f r51.y, r51.y, c212.y
MESA: info: (ss)nop
MESA: info: stc.u32 c[1], r51.y, 1
MESA: info: ldc.196.k.imm.base1 c[a1.x], 0, 2
MESA: info: (ss)mova1 a1.x, (r)800
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 24, 0
MESA: info: (ss)mova1 a1.x, (r)816
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l66:
MESA: info: (jp)and.b r20.y, r3.x, c213.x
MESA: info: shr.b r20.z, r3.x, 16
MESA: info: mov.u32u32 r20.w, 0xaaaaaaab
MESA: info: mov.u32u32 r22.z, 0xaaab0000
MESA: info: mull.u r22.x, r20.y, c214.z
MESA: info: mull.u r21.x, r20.y, c213.y
MESA: info: mull.u r21.y, r20.y, c214.y
MESA: info: mull.u r21.z, r20.z, c213.y
MESA: info: mull.u r21.w, r20.z, c214.y
MESA: info: madsh.m16 r22.x, r20.y, r20.w, (last)r22.x
MESA: info: madsh.m16 r21.x, c213.y, r20.y, (last)r21.x
MESA: info: madsh.m16 r21.y, c214.y, r20.y, (last)r21.y
MESA: info: madsh.m16 r21.z, c213.y, r20.z, (last)r21.z
MESA: info: madsh.m16 r21.w, c214.y, r20.z, (last)r21.w
MESA: info: madsh.m16 r20.y, c214.z, r20.y, (last)r22.x
MESA: info: madsh.m16 r20.z, (last)r20.z, r22.z, c209.y
MESA: info: absneg.s r23.x, (abs)r3.x
MESA: info: cmps.u.lt hr42.x, r20.y, (last)r21.x
MESA: info: add.u r20.z, r20.y, (last)r20.z
MESA: info: and.b r23.w, r23.x, c213.x
MESA: info: mov.u32u32 r23.y, 0x2aaaaaab
MESA: info: cov.u16s32 r22.y, (last)hr42.x
MESA: info: cmps.u.lt hr41.x, (last)r20.z, (last)r20.y
MESA: info: shr.b r23.x, (last)r23.x, 16
MESA: info: shr.b r21.y, (last)r21.y, 16
MESA: info: mull.u r25.z, r23.w, c212.w
MESA: info: mull.u r24.z, r23.w, c213.y
MESA: info: mull.u r24.w, r23.w, c212.z
MESA: info: cov.u16s32 r22.w, (last)hr41.x
MESA: info: mull.u r25.x, r23.x, c213.y
MESA: info: mull.u r25.y, r23.x, c212.z
MESA: info: sad.s32 r21.w, (last)r21.w, r22.y, (last)r21.y
MESA: info: madsh.m16 r23.y, r23.w, r23.y, (last)r25.z
MESA: info: shr.b r21.z, (last)r21.z, 16
MESA: info: madsh.m16 r24.z, c213.y, r23.w, (last)r24.z
MESA: info: madsh.m16 r24.w, c212.z, r23.w, (last)r24.w
MESA: info: madsh.m16 r25.x, c213.y, r23.x, (last)r25.x
MESA: info: madsh.m16 r25.y, c212.z, r23.x, (last)r25.y
MESA: info: madsh.m16 r23.w, c212.w, r23.w, (last)r23.y
MESA: info: madsh.m16 r23.x, (last)r23.x, r22.z, c209.y
MESA: info: sad.s32 r21.w, (last)r21.w, r22.w, (last)r21.z
MESA: info: cmps.u.lt hr40.z, r23.w, (last)r24.z
MESA: info: add.u r23.x, r23.w, (last)r23.x
MESA: info: shr.b r23.z, r21.w, 2
MESA: info: shr.b r21.w, (last)r21.w, 3
MESA: info: cov.u16s32 r20.z, (last)hr40.z
MESA: info: cmps.u.lt hr47.z, r23.x, (last)r23.w
MESA: info: not.b r23.x, (last)r23.x
MESA: info: shr.b r24.w, (last)r24.w, 16
MESA: info: mull.u r24.y, r21.w, 12
MESA: info: cov.u16s32 r21.x, (last)hr47.z
MESA: info: add.u r21.y, r23.x, 1
MESA: info: sad.s32 r25.y, (last)r25.y, r20.z, (last)r24.w
MESA: info: madsh.m16 r21.w, c214.x, r21.w, (last)r24.y
MESA: info: shr.b r25.x, (last)r25.x, 16
MESA: info: cmps.u.lt hr42.z, (last)r21.y, (last)r23.x
MESA: info: sub.u r21.w, r3.x, (last)r21.w
MESA: info: sad.s32 r25.y, (last)r25.y, r21.x, (last)r25.x
MESA: info: mull.u r24.x, r23.z, 6
MESA: info: cov.u16s32 r21.z, (last)hr42.z
MESA: info: cmps.s.lt p0.x, (last)r21.w, 6
MESA: info: madsh.m16 r23.z, c215.z, r23.z, (last)r24.x
MESA: info: not.b r21.w, r25.y
MESA: info: mov.f32f32 r22.y, c200.w
MESA: info: sub.u r23.z, r3.x, (last)r23.z
MESA: info: add.u r21.w, (last)r21.w, (last)r21.z
MESA: info: cmps.s.lt r3.x, (last)r3.x, 0
MESA: info: mov.f32f32 r22.x, c0.x
MESA: info: nop
MESA: info: (nop2) sel.b32 r21.w, (last)r21.w, r3.x, (last)r25.y
MESA: info: (nop2) ashr.b r21.w, (last)r21.w, 1
MESA: info: (nop2) shr.b r22.w, r21.w, 31
MESA: info: (nop2) add.u r21.w, (last)r21.w, (last)r22.w
MESA: info: (nop3) shl.b r21.w, (last)r21.w, 2
MESA: info: (rpt1)nop
MESA: info: isam.v.base3 (u32)(xyz)r23.w, r21.w, s#0, t#1
MESA: info: isam.v.base3 (u32)(xyzw)r26.x, r21.w, s#0, t#0
MESA: info: (sy)mul.f r24.z, r0.w, r24.x
MESA: info: (rpt1)mul.f r25.z, (r)r1.x, (last)r24.x
MESA: info: mad.f32 r24.z, r0.x, r23.w, (last)r24.z
MESA: info: (rpt1)mad.f32 r25.z, (r)r0.y, r23.w, (r)(last)r25.z
MESA: info: (rpt1)mad.f32 r25.x, (r)r1.w, r24.y, (r)(last)r25.z
MESA: info: mad.f32 r24.w, r1.z, r24.y, (last)r24.z
MESA: info: mul.f r27.x, r25.x, r25.x
MESA: info: cov.f32s32 r26.w, (last)r26.w
MESA: info: mad.f32 r27.x, r25.y, r25.y, (last)r27.x
MESA: info: mul.f r0.w, (last)r0.w, r26.y
MESA: info: mad.f32 r27.x, r24.w, r24.w, (last)r27.x
MESA: info: mull.u r27.y, r26.w, 176
MESA: info: mul.f r1.x, (last)r1.x, r26.y
MESA: info: madsh.m16 r27.y, c213.w, r26.w, (last)r27.y
MESA: info: shl.b r26.w, (last)r26.w, 2
MESA: info: mul.f r1.y, (last)r1.y, (last)r26.y
MESA: info: rsq r20.z, r27.x
MESA: info: shr.b r27.y, (last)r27.y, 2
MESA: info: add.u r26.w, (last)r26.w, c213.z
MESA: info: mad.f32 r0.x, (last)r0.x, r26.x, (last)r0.w
MESA: info: cov.u32s16 hr40.z, (last)r27.y
MESA: info: mad.f32 r0.y, (last)r0.y, r26.x, (last)r1.x
MESA: info: mad.f32 r0.z, (last)r0.z, r26.x, (last)r1.y
MESA: info: mova a0.x, (last)hr40.z
MESA: info: cov.u32s16 hr40.w, (last)r26.w
MESA: info: mad.f32 r1.z, (last)r1.z, r26.z, (last)r0.x
MESA: info: mad.f32 r1.w, (last)r1.w, r26.z, (last)r0.y
MESA: info: (ss)sqrt r27.x, (last)r27.x
MESA: info: (rpt2)mul.f r24.w, (last)(r)r24.w, (last)r20.z
MESA: info: mad.f32 r2.x, (last)r2.x, r26.z, (last)r0.z
MESA: info: add.f r1.w, (last)r1.w, (last)r2.z
MESA: info: add.f r1.z, (last)r1.z, (last)r2.y
MESA: info: add.f r2.x, (last)r2.x, (last)r2.w
MESA: info: mov.f32f32 r21.x, c<a0.x + 44>
MESA: info: mov.f32f32 r21.y, c<a0.x + 45>
MESA: info: mov.f32f32 r21.z, c<a0.x + 16>
MESA: info: mov.f32f32 r21.w, c<a0.x + 17>
MESA: info: mov.f32f32 r22.w, c<a0.x + 18>
MESA: info: (ss)(rpt2)mul.f r25.z, r27.x, (r)r24.w
MESA: info: mul.f r26.y, c<a0.x + 52>, r25.z
MESA: info: mul.f r26.z, c<a0.x + 56>, r25.z
MESA: info: mul.f r26.w, c<a0.x + 53>, r25.z
MESA: info: mul.f r27.y, c<a0.x + 52>, r25.w
MESA: info: mul.f r27.z, c<a0.x + 56>, r25.w
MESA: info: mul.f r25.z, c<a0.x + 57>, (last)r25.z
MESA: info: mul.f r29.y, c<a0.x + 54>, r27.x
MESA: info: mul.f r29.z, c<a0.x + 58>, r27.x
MESA: info: mul.f r27.w, c<a0.x + 52>, r26.x
MESA: info: mul.f r26.x, c<a0.x + 56>, (last)r26.x
MESA: info: mul.f r28.x, r25.w, c<a0.x + 53>
MESA: info: min.f r29.x, r27.y, r27.z
MESA: info: min.f r28.w, r26.w, r25.z
MESA: info: mul.f r25.w, (last)r25.w, c<a0.x + 57>
MESA: info: min.f r30.x, r29.y, r29.z
MESA: info: min.f r29.w, r27.w, r26.x
MESA: info: min.f r28.y, r26.y, r26.z
MESA: info: max.f r27.y, (last)r27.y, (last)r27.z
MESA: info: add.f r29.x, (last)r29.x, (last)r28.w
MESA: info: max.f r26.w, (last)r26.w, (last)r25.z
MESA: info: min.f r28.z, (neg)r28.x, (neg)r25.w
MESA: info: max.f r29.y, (last)r29.y, (last)r29.z
MESA: info: add.f r29.w, (last)r29.w, (last)r30.x
MESA: info: max.f r27.w, (last)r27.w, (last)r26.x
MESA: info: max.f r26.y, (last)r26.y, (last)r26.z
MESA: info: add.f r29.x, (last)r29.x, r1.w
MESA: info: add.f r27.y, (last)r27.y, (last)r26.w
MESA: info: add.f r28.y, (last)r28.y, (last)r28.z
MESA: info: max.f r28.x, (last)(neg)r28.x, (last)(neg)r25.w
MESA: info: add.f r29.w, (last)r29.w, r2.x
MESA: info: add.f r27.w, (last)r27.w, (last)r29.y
MESA: info: max.f r29.x, c200.y, (last)r29.x
MESA: info: add.f r27.y, (last)r27.y, r1.w
MESA: info: add.f r28.y, (last)r28.y, r1.z
MESA: info: add.f r26.y, (last)r26.y, (last)r28.x
MESA: info: max.f r29.w, c200.z, (last)r29.w
MESA: info: add.f r27.w, (last)r27.w, r2.x
MESA: info: min.f r29.x, (last)r29.x, (last)r27.y
MESA: info: max.f r28.y, c200.x, (last)r28.y
MESA: info: add.f r26.y, (last)r26.y, r1.z
MESA: info: min.f r29.w, (last)r29.w, (last)r27.w
MESA: info: add.f r29.x, c200.y, (last)(neg)r29.x
MESA: info: min.f r28.y, (last)r28.y, (last)r26.y
MESA: info: add.f r29.w, c200.z, (last)(neg)r29.w
MESA: info: mul.f r29.x, (last)r29.x, r29.x
MESA: info: add.f r28.y, c200.x, (last)(neg)r28.y
MESA: info: mad.f32 r29.w, (last)r29.w, r29.w, (last)r29.x
MESA: info: mov.f32f32 r23.x, c<a0.x + 19>
MESA: info: mad.f32 r28.y, (last)r28.y, r28.y, (last)r29.w
MESA: info: mov.f32f32 r23.y, c<a0.x + 20>
MESA: info: mov.f32f32 r23.w, c<a0.x + 21>
MESA: info: mov.f32f32 r24.x, c<a0.x + 22>
MESA: info: mov.f32f32 r24.y, c<a0.x + 23>
MESA: info: mov.f32f32 r30.y, c<a0.x + 24>
MESA: info: sqrt r28.y, (last)r28.y
MESA: info: mov.f32f32 r30.z, c<a0.x + 25>
MESA: info: mov.f32f32 r30.w, c<a0.x + 26>
MESA: info: mov.f32f32 r31.x, c<a0.x + 27>
MESA: info: mov.f32f32 r31.y, c<a0.x + 28>
MESA: info: mov.f32f32 r31.z, c<a0.x + 29>
MESA: info: mov.f32f32 r31.w, c<a0.x + 30>
MESA: info: mov.f32f32 r0.w, c<a0.x + 34>
MESA: info: mov.f32f32 r1.x, c<a0.x + 35>
MESA: info: mov.f32f32 r1.y, c<a0.x + 36>
MESA: info: mov.f32f32 r0.x, c<a0.x + 31>
MESA: info: mov.f32f32 r0.y, c<a0.x + 32>
MESA: info: mov.f32f32 r0.z, c<a0.x + 33>
MESA: info: mov.f32f32 r2.z, c<a0.x + 38>
MESA: info: mov.f32f32 r2.y, c<a0.x + 37>
MESA: info: mov.f32f32 r2.w, c<a0.x + 39>
MESA: info: mov.f32f32 r27.z, c<a0.x + 50>
MESA: info: mov.f32f32 r25.z, c<a0.x + 40>
MESA: info: mov.f32f32 r26.x, c<a0.x + 42>
MESA: info: mov.f32f32 r26.z, c<a0.x + 49>
MESA: info: mov.f32f32 r26.w, c<a0.x + 51>
MESA: info: mov.f32f32 r25.w, c<a0.x + 41>
MESA: info: mov.f32f32 r27.y, c<a0.x + 48>
MESA: info: mov.f32f32 r27.w, c<a0.x + 55>
MESA: info: (ul)mov.f32f32 r26.y, c<a0.x + 43>
MESA: info: mova a0.x, (last)hr40.w
MESA: info: (rpt4)nop
MESA: info: (ss)mad.f32 r22.y, c<a0.x + 208>, r22.y, (neg)(last)r28.y
MESA: info: (nop1) (ul)mul.f r22.x, c<a0.x + 209>, (last)r22.x
MESA: info: (nop2) mul.f r22.y, (2.0), (last)r22.y
MESA: info: (sat)(nop2) mul.f r22.y, (last)r22.y, (last)r22.x
MESA: info: (nop3) cmps.f.lt p0.y, (0.0), r22.y
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l504
MESA: info: mul.f r22.y, r27.x, (last)r22.y
MESA: info: predt
MESA: info: cmps.f.ge r28.x, (0.0), r24.w
MESA: info: absneg.f r28.y, (abs)r24.w
MESA: info: cmps.f.eq r24.w, (last)(abs)r24.w, (abs)r25.x
MESA: info: sel.b32 r28.z, r25.x, r28.x, r28.y
MESA: info: sel.b32 r28.y, (last)r28.y, r28.x, r25.x
MESA: info: mul.f r29.y, c214.w, r21.x
MESA: info: cmps.f.ge r28.w, (abs)r28.z, c210.x
MESA: info: mul.f r21.x, (0.5), (last)r21.x
MESA: info: mul.f r29.z, c0.z, r29.y
MESA: info: sel.b32 r28.w, c209.w, r28.w, c209.z
MESA: info: mul.f r29.w, c0.z, r21.x
MESA: info: mad.f32 r29.z, (neg)(last)r29.z, r22.y, r1.z
MESA: info: mul.f r28.z, (last)r28.z, r28.w
MESA: info: mul.f r28.y, (last)r28.y, (last)r28.w
MESA: info: mad.f32 r29.w, (neg)(last)r29.w, r22.y, (last)r1.z
MESA: info: mul.f r29.y, (last)r29.y, c0.w
MESA: info: mul.f r21.x, (last)r21.x, c0.w
MESA: info: mov.u32u32 r29.x, 0x7fffffff
MESA: info: rcp r28.z, (last)r28.z
MESA: info: mad.f32 r29.y, r22.y, r29.y, r1.w
MESA: info: mad.f32 r22.y, (last)r22.y, r21.x, (last)r1.w
MESA: info: sel.b32 r28.x, c209.x, r28.x, c209.y
MESA: info: cov.u32s16 hr47.x, r23.z
MESA: info: mad.f32 r27.x, (last)r27.x, r21.y, r2.x
MESA: info: mov.u32u32 r17.y, r29.z
MESA: info: mull.u hr47.x, (last)hr47.x, h(3)
MESA: info: mov.u32u32 r17.z, r29.y
MESA: info: mov.u32u32 r17.w, r2.x
MESA: info: mov.u32u32 r18.x, r29.w
MESA: info: (ss)mul.f r28.y, (last)(abs)r28.y, (abs)r28.z
MESA: info: min.f r25.x, (last)r25.x, (last)r28.z
MESA: info: sel.b32 r24.w, c209.z, r24.w, (last)r28.y
MESA: info: mov.u32u32 r18.y, r22.y
MESA: info: cmps.f.lt r25.x, (last)r25.x, (0.0)
MESA: info: cmps.f.ge r30.x, (1.0), r24.w
MESA: info: and.b r1.w, r24.w, c212.x
MESA: info: mov.u32u32 r18.z, r2.x
MESA: info: rcp r1.z, r24.w
MESA: info: sel.b32 r3.x, c209.y, r30.x, c211.w
MESA: info: mov.u32u32 r18.w, (last)r29.z
MESA: info: mov.u32u32 r19.x, (last)r29.y
MESA: info: mov.u32u32 r19.y, r27.x
MESA: info: mov.u32u32 r19.z, (last)r29.w
MESA: info: mov.u32u32 r19.w, r22.y
MESA: info: mov.u32u32 r20.x, r27.x
MESA: info: mov.u32u32 r10.y, (last)r21.z
MESA: info: mov.u32u32 r10.z, (last)r21.w
MESA: info: mov.u32u32 r10.w, (last)r22.w
MESA: info: (ss)sel.b32 r24.w, (last)r24.w, r30.x, r1.z
MESA: info: mov.u32u32 r11.x, (last)r23.x
MESA: info: mov.u32u32 r11.y, (last)r23.y
MESA: info: mul.f r3.y, r24.w, r24.w
MESA: info: absneg.f r24.w, (last)(abs)r24.w
MESA: info: mov.u32u32 r11.z, (last)r23.w
MESA: info: mad.f32 r3.z, c210.y, r3.y, c210.z
MESA: info: mov.u32u32 r11.w, (last)r24.x
MESA: info: mov.u32u32 r12.x, (last)r24.y
MESA: info: mad.f32 r3.z, (last)r3.z, r3.y, c210.w
MESA: info: mov.u32u32 r12.y, (last)r30.y
MESA: info: mov.u32u32 r12.z, (last)r30.z
MESA: info: mad.f32 r3.z, (last)r3.z, r3.y, c211.x
MESA: info: mov.u32u32 r12.w, (last)r30.w
MESA: info: mov.u32u32 r13.x, (last)r31.x
MESA: info: mad.f32 r3.z, (last)r3.z, r3.y, c211.y
MESA: info: mov.u32u32 r13.y, (last)r31.y
MESA: info: mov.u32u32 r13.z, (last)r31.z
MESA: info: mad.f32 r3.z, (last)r3.z, r3.y, c211.z
MESA: info: mov.u32u32 r13.w, (last)r31.w
MESA: info: mov.u32u32 r14.x, (last)r0.x
MESA: info: mad.f32 r24.w, (last)r24.w, r3.z, (last)r3.x
MESA: info: mov.u32u32 r14.y, (last)r0.y
MESA: info: mov.u32u32 r14.z, (last)r0.z
MESA: info: andg r24.w, (last)r24.w, r29.x, r1.w
MESA: info: mov.u32u32 r14.w, (last)r0.w
MESA: info: mov.u32u32 r15.x, (last)r1.x
MESA: info: add.f r28.x, (last)r28.x, r24.w
MESA: info: mov.u32u32 r15.y, (last)r1.y
MESA: info: mov.u32u32 r15.z, (last)r2.y
MESA: info: absneg.f r3.w, (neg)r28.x
MESA: info: mov.u32u32 r15.w, (last)r2.z
MESA: info: mov.u32u32 r16.x, (last)r2.w
MESA: info: sel.b32 r3.w, (last)r3.w, r25.x, (last)r28.x
MESA: info: mov.u32u32 r16.y, r25.z
MESA: info: mov.u32u32 r16.z, r25.w
MESA: info: add.f r3.w, c0.y, (last)(neg)r3.w
MESA: info: mov.u32u32 r16.w, r26.x
MESA: info: mov.u32u32 r17.x, r26.y
MESA: info: (nop2) mad.f32 r3.w, c215.x, r3.w, c215.y
MESA: info: cov.f32s32 r3.w, (last)r3.w
MESA: info: (rpt1)nop
MESA: info: and.b r4.x, r3.w, c213.x
MESA: info: (nop1) shr.b r4.y, r3.w, 16
MESA: info: mull.u r5.z, r4.x, c214.z
MESA: info: mull.u r4.z, r4.x, c213.y
MESA: info: mull.u r4.w, r4.x, c214.y
MESA: info: mull.u r5.x, r4.y, c213.y
MESA: info: mull.u r5.y, r4.y, c214.y
MESA: info: madsh.m16 r20.w, r4.x, r20.w, r5.z
MESA: info: madsh.m16 r4.z, c213.y, r4.x, (last)r4.z
MESA: info: madsh.m16 r4.w, c214.y, r4.x, (last)r4.w
MESA: info: madsh.m16 r5.x, c213.y, r4.y, (last)r5.x
MESA: info: madsh.m16 r5.y, c214.y, r4.y, (last)r5.y
MESA: info: madsh.m16 r4.x, c214.z, r4.x, (last)r20.w
MESA: info: madsh.m16 r4.y, (last)r4.y, r22.z, c209.y
MESA: info: shr.b r4.w, (last)r4.w, 16
MESA: info: cmps.u.lt hr9.x, r4.x, r4.z
MESA: info: add.u r4.y, r4.x, (last)r4.y
MESA: info: shr.b r5.x, (last)r5.x, 16
MESA: info: cov.u16s32 r5.w, hr9.x
MESA: info: (nop1) cmps.u.lt hr8.z, r4.y, r4.x
MESA: info: sad.s32 r5.y, (last)r5.y, r5.w, r4.w
MESA: info: cov.u16s32 r6.x, hr8.z
MESA: info: (rpt1)nop
MESA: info: (nop2) sad.s32 r5.y, (last)r5.y, r6.x, r5.x
MESA: info: (nop2) shr.b r5.y, (last)r5.y, 2
MESA: info: (nop1) mull.u r6.y, r5.y, 6
MESA: info: (nop2) madsh.m16 r5.y, c215.z, r5.y, r6.y
MESA: info: (nop2) sub.u r3.w, (last)r3.w, r5.y
MESA: info: cov.u32s16 hr7.z, r3.w
MESA: info: (rpt1)nop
MESA: info: (nop2) shl.b hr7.z, (last)hr7.z, h(2)
MESA: info: mova a0.x, hr7.z
MESA: info: (rpt4)nop
MESA: info: mov.u32u32 r6.z, r<a0.x + 41>
MESA: info: mov.u32u32 r6.w, r<a0.x + 42>
MESA: info: mov.u32u32 r7.x, r<a0.x + 43>
MESA: info: (ul)mov.u32u32 r7.y, r<a0.x + 44>
MESA: info: mova a0.x, hr47.x
MESA: info: (rpt1)cmps.f.lt hr15.x, (r)r6.z, (r)r7.x
MESA: info: add.f r8.x, r7.x, (neg)r6.z
MESA: info: add.f r10.y, r7.y, (neg)r6.w
MESA: info: cmps.s.eq r7.w, hr15.x, hr15.y
MESA: info: mov.u32u32 r10.z, r<a0.x + 69>
MESA: info: mov.u32u32 r10.w, r<a0.x + 70>
MESA: info: sel.b32 r8.x, (last)r8.x, r7.w, c209.y
MESA: info: (ul)mov.u32u32 r17.y, r<a0.x + 71>
MESA: info: mul.f r11.x, c205.x, r10.w
MESA: info: mul.f r12.y, c205.y, r10.w
MESA: info: sel.b32 r7.w, c209.y, r7.w, (last)r10.y
MESA: info: (rpt1)mul.f r12.z, (r)c205.z, (last)r10.w
MESA: info: mad.f32 r11.x, c204.x, r10.z, (last)r11.x
MESA: info: mad.f32 r12.y, c204.y, r10.z, (last)r12.y
MESA: info: (rpt1)mad.f32 r12.z, (r)c204.z, r10.z, (r)(last)r12.z
MESA: info: mov.u32u32 r8.y, r6.z
MESA: info: mad.f32 r11.x, c206.x, r17.y, (last)r11.x
MESA: info: mad.f32 r12.y, c206.y, r17.y, (last)r12.y
MESA: info: mad.f32 r12.z, c206.z, r17.y, (last)r12.z
MESA: info: add.f r6.z, (last)r6.z, r8.x
MESA: info: mov.u32u32 r8.z, r6.w
MESA: info: mad.f32 r17.y, c206.w, r17.y, (last)r12.w
MESA: info: add.f r8.x, r7.x, (last)(neg)r8.x
MESA: info: add.f r6.w, (last)r6.w, r7.w
MESA: info: add.f r7.w, r7.y, (last)(neg)r7.w
MESA: info: add.f r11.y, (last)r11.x, c207.x
MESA: info: add.f r11.z, (last)r12.y, c207.y
MESA: info: add.f r11.w, (last)r12.z, c207.z
MESA: info: mov.u32u32 r8.w, r6.z
MESA: info: add.f r12.x, (last)r17.y, c207.w
MESA: info: mov.u32u32 r9.x, r6.w
MESA: info: mov.u32u32 r9.y, r8.x
MESA: info: mov.u32u32 r9.z, r7.w
MESA: info: mov.u32u32 r9.w, r7.x
MESA: info: mov.u32u32 r10.x, r7.y
MESA: info: predf
MESA: info: (rpt4)nop
MESA: info: cov.u32s16 hr47.x, (last)r23.z
MESA: info: (rpt1)mul.f r13.x, r25.x, (r)r26.z
MESA: info: mull.u hr47.x, (last)hr47.x, h(3)
MESA: info: (rpt1)mul.f r26.z, (last)(r)r26.z, r24.w
MESA: info: (rpt1)mad.f32 r13.z, (r)r27.y, r24.w, (neg)(last)r13.x
MESA: info: (rpt1)mad.f32 r14.x, (r)r27.y, r24.w, (neg)(last)r13.y
MESA: info: (rpt1)mad.f32 r14.z, (r)r27.y, r25.x, (last)r26.z
MESA: info: (rpt1)mad.f32 r15.x, (r)r27.y, r25.x, (last)r26.w
MESA: info: mad.f32 r27.y, (last)r27.y, r25.y, r27.w
MESA: info: mad.f32 r27.z, (last)r27.z, r25.y, (last)r27.w
MESA: info: mova a0.x, (last)hr47.x
MESA: info: (rpt1)mad.f32 r13.z, r22.y, (r)r13.z, r1.z
MESA: info: (rpt1)mad.f32 r14.x, r22.y, (r)r14.x, (last)r1.z
MESA: info: (rpt1)mad.f32 r14.z, r22.y, (r)r14.z, r1.w
MESA: info: (rpt1)mad.f32 r15.x, (last)r22.y, (r)r15.x, (last)r1.w
MESA: info: mad.f32 r27.y, r27.x, r27.y, r2.x
MESA: info: mad.f32 r27.x, (last)r27.x, r27.z, (last)r2.x
MESA: info: (rpt1)cmps.f.lt hr31.x, (r)r25.z, (r)r26.x
MESA: info: mov.u32u32 r5.y, (last)r13.z
MESA: info: mov.u32u32 r5.z, (last)r14.z
MESA: info: mov.u32u32 r5.w, r27.y
MESA: info: mov.u32u32 r6.x, (last)r13.w
MESA: info: mov.u32u32 r6.y, (last)r14.w
MESA: info: mov.u32u32 r6.z, r27.x
MESA: info: mov.u32u32 r6.w, (last)r14.x
MESA: info: mov.u32u32 r7.x, (last)r15.x
MESA: info: mov.u32u32 r7.y, (last)r27.y
MESA: info: mov.u32u32 r7.z, (last)r14.y
MESA: info: mov.u32u32 r7.w, (last)r15.y
MESA: info: mov.u32u32 r8.x, (last)r27.x
MESA: info: add.f r16.x, r26.x, (neg)r25.z
MESA: info: cmps.s.eq r15.w, (last)hr31.x, (last)hr31.y
MESA: info: mov.u32u32 r16.z, r<a0.x + 21>
MESA: info: mov.u32u32 r16.w, r<a0.x + 22>
MESA: info: add.f r16.y, r26.y, (neg)r25.w
MESA: info: sel.b32 r16.x, (last)r16.x, r15.w, c209.y
MESA: info: mul.f r17.x, c205.x, r16.w
MESA: info: mul.f r17.y, c205.y, r16.w
MESA: info: (ul)mov.u32u32 r5.y, r<a0.x + 23>
MESA: info: sel.b32 r15.w, c209.y, r15.w, (last)r16.y
MESA: info: (rpt1)mul.f r17.z, (r)c205.z, (last)r16.w
MESA: info: mad.f32 r17.x, c204.x, r16.z, (last)r17.x
MESA: info: mad.f32 r17.y, c204.y, r16.z, (last)r17.y
MESA: info: (rpt1)mad.f32 r17.z, (r)c204.z, r16.z, (r)(last)r17.z
MESA: info: mov.u32u32 r3.y, r25.z
MESA: info: mad.f32 r17.x, c206.x, r5.y, (last)r17.x
MESA: info: mad.f32 r17.y, c206.y, r5.y, (last)r17.y
MESA: info: mad.f32 r17.z, c206.z, r5.y, (last)r17.z
MESA: info: add.f r25.z, (last)r25.z, r16.x
MESA: info: mov.u32u32 r3.z, r25.w
MESA: info: mad.f32 r5.y, c206.w, r5.y, (last)r17.w
MESA: info: add.f r16.x, r26.x, (last)(neg)r16.x
MESA: info: add.f r25.w, (last)r25.w, r15.w
MESA: info: add.f r15.w, r26.y, (last)(neg)r15.w
MESA: info: add.f r11.y, (last)r17.x, c207.x
MESA: info: add.f r11.z, (last)r17.y, c207.y
MESA: info: add.f r11.w, (last)r17.z, c207.z
MESA: info: mov.u32u32 r3.w, (last)r25.z
MESA: info: add.f r12.x, (last)r5.y, c207.w
MESA: info: mov.u32u32 r4.x, (last)r25.w
MESA: info: mov.u32u32 r4.y, (last)r16.x
MESA: info: mov.u32u32 r4.z, (last)r15.w
MESA: info: mov.u32u32 r4.w, (last)r26.x
MESA: info: mov.u32u32 r5.x, (last)r26.y
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: jump #l508
MESA: info: l504:
MESA: info: (jp)mov.u32u32 r12.x, 0
MESA: info: mov.u32u32 r11.w, 0
MESA: info: mov.u32u32 r11.y, 0
MESA: info: mov.u32u32 r11.z, 0
MESA: info: l508:
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r11.y (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (SYSTEM_VALUE_VERTEX_ID slot=9 cm=1,il=0,b=0)
MESA: info: ; BVERT prog 98/2: 523 instr, 67 nops, 456 non-nops, 128 mov, 14 cov, 1026 dwords
MESA: info: ; BVERT prog 98/2: 0 last-baryf, 0 last-helper, 0 half, 32 full, 216 constlen
MESA: info: ; BVERT prog 98/2: 73 cat0, 142 cat1, 191 cat2, 110 cat3, 5 cat4, 2 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 98/2: 0 sstall, 5 (ss), 64 systall, 1 (sy), 0 loops
MESA: info: ; BVERT prog 98/2: 6 max_waves, 0 double_threadsize
MESA: info: ; 66 preamble-instr, 1 early-preamble
MESA: info: ; pos: r11.y
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xdaaaa28d, 0x5ebb97fd, 0x81850d25, 0x6f2baa35, 0x7980bde6, 0xd8482bb2, 0x14233fe3, 0x4656aa9c}
MESA: info: inputs_read: 15-18
MESA: info: outputs_written: 0,32
MESA: info: system_values_read: 0x00000000'00000000'00000000'00000200
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 4
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #1 (VERT_ATTRIB_GENERIC1.xyz, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #2 (VERT_ATTRIB_GENERIC2.xyz, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #3 (VERT_ATTRIB_GENERIC3.xyz, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #4 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec3 #5 (VARYING_SLOT_VAR0.xyz, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #6
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     decl_var  INTERP_MODE_NONE none vec2[4] #7
MESA: info:     decl_var  INTERP_MODE_NONE none vec3[4] #8
MESA: info:     decl_var  INTERP_MODE_NONE none vec4[7] #9
MESA: info:     decl_var  INTERP_MODE_NONE none vec2[4] #10
MESA: info:     decl_var  INTERP_MODE_NONE none vec3[4] #11
MESA: info:     con block b0:         // preds:
MESA: info:     div 32       %0 = @decl_reg (num_components=2, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %1 = @decl_reg (num_components=3, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %2 = @decl_reg (num_components=2, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %3 = @decl_reg (num_components=4, num_array_elems=7, bit_size=32, divergent=1)
MESA: info:     div 32       %4 = @decl_reg (num_components=3, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     con 1        %5 = @preamble_start_ir3
MESA: info:                       // succs: b1 b5
MESA: info:     if %5 {
MESA: info:         con block b1:         // preds: b0
MESA: info:         div 1        %6 = @elect_any_ir3
MESA: info:                           // succs: b2 b3
MESA: info:         if %6 {
MESA: info:             div block b2:         // preds: b1
MESA: info:             con 32       %7 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32       %8 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32      %10 = @bindless_resource_ir3 (%7 (0.000000)) (desc_set=1)
MESA: info:             con 32     %764 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32     %713 = @load_ubo_vec4 (%10, %764 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %12 = load_const (0x3f800000 = 1.000000 = 1065353216)
MESA: info:             con 32      %13 = frcp %713
MESA: info:                               @store_const_ir3 (%13) (base=0)
MESA: info:             con 32      %14 = @bindless_resource_ir3 (%8 (0x4)) (desc_set=1)
MESA: info:             con 32x2   %716 = @load_ubo_vec4 (%14, %7 (0.000000)) (access=speculatable, base=0, component=0)
MESA: info:             con 1       %16 = fge! %7 (0.000000), %716.x
MESA: info:             con 32x2  %1236 = fabs %716
MESA: info:             con 32      %19 = bcsel %16, %1236.x, %716.y
MESA: info:             con 32      %20 = bcsel %16, %716.y, %1236.x
MESA: info:             con 32      %21 = fabs %20
MESA: info:             con 32      %22 = load_const (0x5d5e0b6b = 1.000000e+18)
MESA: info:             con 1       %23 = fge! %21, %22 (1.000000e+18)
MESA: info:             con 32      %24 = load_const (0x3e800000 = 0.250000)
MESA: info:             con 32      %25 = bcsel %23, %24 (0x3e800000), %12 (0x3f800000)
MESA: info:             con 32      %26 = fmul %20, %25
MESA: info:             con 32      %27 = frcp %26
MESA: info:             con 32      %28 = fmul %19, %25
MESA: info:             con 32      %29 = fabs %28
MESA: info:             con 32      %30 = fabs %27
MESA: info:             con 32      %31 = fmul %29, %30
MESA: info:             con 1       %32 = feq! %1236.x, %1236.y
MESA: info:             con 32      %33 = bcsel %32, %12 (0x3f800000), %31
MESA: info:             con 1       %34 = fge! %12 (1.000000), %33
MESA: info:             con 32      %35 = frcp %33
MESA: info:             con 32      %36 = bcsel %34, %33, %35
MESA: info:             con 32      %37 = fmul %36, %36
MESA: info:             con 32      %38 = load_const (0xbc46c6a5 = -0.012132)
MESA: info:             con 32      %40 = load_const (0x3d5be101 = 0.053681)
MESA: info:             con 32    %1233 = ffma %38 (-0.012132), %37, %40 (0.053681)
MESA: info:             con 32      %43 = load_const (0xbdf0555d = -0.117350)
MESA: info:             con 32    %1232 = ffma %1233, %37, %43 (-0.117350)
MESA: info:             con 32      %46 = load_const (0x3e468bc1 = 0.193892)
MESA: info:             con 32    %1231 = ffma %1232, %37, %46 (0.193892)
MESA: info:             con 32      %49 = load_const (0xbeaa5476 = -0.332676)
MESA: info:             con 32    %1230 = ffma %1231, %37, %49 (-0.332676)
MESA: info:             con 32      %52 = load_const (0x3f7ffea5 = 0.999979)
MESA: info:             con 32    %1229 = ffma %1230, %37, %52 (0.999979)
MESA: info:             con 32      %54 = load_const (0xbfc90fdb = -1.570796)
MESA: info:             con 32      %55 = bcsel %34, %7 (0x0), %54 (0xbfc90fdb)
MESA: info:             con 32      %56 = fabs %36
MESA: info:             con 32    %1228 = ffma %56, %1229, %55
MESA: info:             con 32      %59 = load_const (0x7fffffff = 2147483647)
MESA: info:             con 32      %61 = load_const (0x80000000 = -2147483648 = 2147483648)
MESA: info:             con 32      %62 = iand %33, %61 (0x80000000)
MESA: info:             con 32    %1235 = andg_ir3 %1228, %59 (0x7fffffff), %62
MESA: info:             con 32      %64 = load_const (0x3fc90fdb = 1.570796)
MESA: info:             con 32      %65 = bcsel %16, %64 (0x3fc90fdb), %7 (0x0)
MESA: info:             con 32      %66 = fadd %65, %1235
MESA: info:             con 32      %67 = fmin %716.y, %27
MESA: info:             con 1       %68 = flt! %67, %7 (0.000000)
MESA: info:             con 32      %69 = fneg %66
MESA: info:             con 32      %70 = bcsel %68, %69, %66
MESA: info:             con 32      %71 = load_const (0x3f060a92 = 0.523599)
MESA: info:             con 32      %72 = fadd %70, %71 (0.523599)
MESA: info:                               @store_const_ir3 (%72) (base=1)
MESA: info:             con 32      %74 = fmul %716.y, %716.y
MESA: info:             con 32    %1227 = ffma %716.x, %716.x, %74
MESA: info:             con 32      %76 = frsq %1227
MESA: info:             con 32x2  %1237 = fmul %716.yx, %76.xx
MESA: info:             con 32    %1238 = mov %1237.x
MESA: info:             con 32    %1239 = mov %1237.y
MESA: info:                               @store_const_ir3 (%1238) (base=2)
MESA: info:                               @store_const_ir3 (%1239) (base=3)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%10, %764 (0x18)) (base=16, range=4)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%10, %7 (0.000000)) (base=32, range=4)
MESA: info:             con 32      %85 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %86 = @bindless_resource_ir3 (%85 (0x1)) (desc_set=3)
MESA: info:                               @prefetch_tex_ir3 (%86)
MESA: info:             con 32      %88 = @bindless_resource_ir3 (%7 (0.000000)) (desc_set=3)
MESA: info:                               @prefetch_tex_ir3 (%88)
MESA: info:             con 32      %89 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %90 = @bindless_resource_ir3 (%89 (0x2)) (desc_set=1)
MESA: info:                               @prefetch_ubo_ir3 (%90)
MESA: info:                               @preamble_end_ir3
MESA: info:                               // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:         // preds: b4 b5
MESA: info:     con 32     %113 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x3   %114 = @load_input (%113 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3   %115 = @load_input (%113 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3   %116 = @load_input (%113 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3   %117 = @load_input (%113 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32     %121 = @load_vertex_id
MESA: info:     con 32     %122 = load_const (0x00000006)
MESA: info:     con 32     %123 = load_const (0x00000010 = 16)
MESA: info:     con 32     %124 = load_const (0x0000ffff = 65535)
MESA: info:     div 32     %125 = iand %121, %124 (0xffff)
MESA: info:     div 32     %127 = ushr %121, %123 (0x10)
MESA: info:     con 32x3  %1248 = load_const (0x0000aaab, 0x0000aaaa, 0xaaaaaaab) = (+43691, +43690, -1431655765) = (43691, 43690, 2863311531)
MESA: info:     div 32x3  %1249 = umul_low %125.xxx, %1248 (0xaaab, 0xaaaa, 0xaaaaaaab)
MESA: info:     con 32x2  %1242 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1243 = imadsh_mix16 %1242 (0xaaab, 0xaaaa), %125.xx, %1249.xy
MESA: info:     con 32x2  %1244 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1245 = umul_low %127.xx, %1244 (0xaaab, 0xaaaa)
MESA: info:     con 32x2  %1246 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1247 = imadsh_mix16 %1246 (0xaaab, 0xaaaa), %127.xx, %1245
MESA: info:     con 32     %133 = load_const (0xaaaaaaab = -1431655765 = 2863311531)
MESA: info:     div 32     %938 = imadsh_mix16 %125, %133 (0xaaaaaaab), %1249.z
MESA: info:     div 32     %939 = imadsh_mix16 %133 (0xaaaaaaab), %125, %938
MESA: info:     div 1      %135 = ult %939, %1243.x
MESA: info:     div 32     %136 = b2i32 %135
MESA: info:     div 32     %138 = ushr %1243.y, %123 (0x10)
MESA: info:     div 32     %878 = iadd3 %1247.y, %136, %138
MESA: info:     con 32     %140 = load_const (0xaaab0000 = -1431633920 = 2863333376)
MESA: info:     con 32    %1118 = load_const (0x00000000)
MESA: info:     div 32     %935 = imadsh_mix16 %127, %140 (0xaaab0000), %1118 (0x0)
MESA: info:     div 32     %142 = iadd %939, %935
MESA: info:     div 1      %143 = ult %142, %939
MESA: info:     div 32     %144 = b2i32 %143
MESA: info:     div 32     %146 = ushr %1247.x, %123 (0x10)
MESA: info:     div 32     %877 = iadd3 %878, %144, %146
MESA: info:     con 32     %148 = load_const (0x00000002)
MESA: info:     con 32x2  %1250 = load_const (0x00000002, 0x00000003)
MESA: info:     div 32x2  %1251 = ushr %877.xx, %1250 (0x2, 0x3)
MESA: info:     con 32x2  %1252 = load_const (0x00000006, 0x0000000c) = (6, 12)
MESA: info:     div 32x2  %1253 = umul_low %1251, %1252 (0x6, 0xc)
MESA: info:     con 32x2  %1254 = load_const (0x00000006, 0x0000000c) = (6, 12)
MESA: info:     div 32x2  %1255 = imadsh_mix16 %1254 (0x6, 0xc), %1251, %1253
MESA: info:     div 32x2  %1256 = isub %121.xx, %1255
MESA: info:     div 32    %1257 = mov %1256.x
MESA: info:     div 1      %159 = ilt %1256.y, %122 (0x6)
MESA: info:     div 1      %160 = ilt %121, %113 (0x0)
MESA: info:     div 32     %161 = iabs %121
MESA: info:     div 32     %162 = iand %161, %124 (0xffff)
MESA: info:     div 32     %163 = ushr %161, %123 (0x10)
MESA: info:     con 32x3  %1266 = load_const (0x0000aaab, 0x00002aaa, 0x2aaaaaab) = (43691, 10922, 715827883)
MESA: info:     div 32x3  %1267 = umul_low %162.xxx, %1266 (0xaaab, 0x2aaa, 0x2aaaaaab)
MESA: info:     con 32x2  %1260 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1261 = imadsh_mix16 %1260 (0xaaab, 0x2aaa), %162.xx, %1267.xy
MESA: info:     con 32x2  %1262 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1263 = umul_low %163.xx, %1262 (0xaaab, 0x2aaa)
MESA: info:     con 32x2  %1264 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1265 = imadsh_mix16 %1264 (0xaaab, 0x2aaa), %163.xx, %1263
MESA: info:     con 32     %169 = load_const (0x2aaaaaab = 715827883)
MESA: info:     div 32     %914 = imadsh_mix16 %162, %169 (0x2aaaaaab), %1267.z
MESA: info:     div 32     %915 = imadsh_mix16 %169 (0x2aaaaaab), %162, %914
MESA: info:     div 1      %171 = ult %915, %1261.x
MESA: info:     div 32     %172 = b2i32 %171
MESA: info:     div 32     %174 = ushr %1261.y, %123 (0x10)
MESA: info:     div 32     %874 = iadd3 %1265.y, %172, %174
MESA: info:     con 32    %1113 = load_const (0x00000000)
MESA: info:     div 32     %911 = imadsh_mix16 %163, %140 (0xaaab0000), %1113 (0x0)
MESA: info:     div 32     %177 = iadd %915, %911
MESA: info:     div 1      %178 = ult %177, %915
MESA: info:     div 32     %179 = b2i32 %178
MESA: info:     div 32     %181 = ushr %1265.x, %123 (0x10)
MESA: info:     div 32     %873 = iadd3 %874, %179, %181
MESA: info:     con 32     %183 = load_const (0x00000001)
MESA: info:     div 32     %184 = inot %873
MESA: info:     div 32     %185 = inot %177
MESA: info:     div 32     %186 = iadd %185, %183 (0x1)
MESA: info:     div 1      %187 = ult %186, %185
MESA: info:     div 32     %188 = b2i32 %187
MESA: info:     div 32     %189 = iadd %184, %188
MESA: info:     div 32     %190 = bcsel %160, %189, %873
MESA: info:     div 32     %191 = ishr %190, %183 (0x1)
MESA: info:     con 32     %192 = load_const (0x0000001f = 31)
MESA: info:     div 32     %193 = ushr %191, %192 (0x1f)
MESA: info:     div 32     %194 = iadd %191, %193
MESA: info:     con 32     %195 = load_const (0x00000004)
MESA: info:     con 32x2  %1268 = load_const (0x00000004, 0x00000002)
MESA: info:     div 32x2  %1269 = ishl %194.xx, %1268 (0x4, 0x2)
MESA: info:     div 32    %1270 = mov %1269.x
MESA: info:     div 32    %1271 = mov %1269.y
MESA: info:     con 32     %197 = @bindless_resource_ir3 (%183 (0x1)) (desc_set=3)
MESA: info:     div 32x3   %756 = @load_ssbo_ir3 (%197, %1270, %1271) (base=0, access=readonly|reorderable|speculatable, align_mul=16, align_offset=0)
MESA: info:     div 32x3  %1273 = fmul %115, %756.yyy
MESA: info:     div 32x3  %1275 = ffma %114, %756.xxx, %1273
MESA: info:     div 32x3  %1277 = ffma %116, %756.zzz, %1275
MESA: info:     con 32     %214 = @bindless_resource_ir3 (%113 (0x0)) (desc_set=3)
MESA: info:     div 32x4   %760 = @load_ssbo_ir3 (%214, %1270, %1271) (base=0, access=readonly|reorderable|speculatable, align_mul=16, align_offset=0)
MESA: info:     div 32     %216 = f2i32 %760.w
MESA: info:     div 32x3  %1279 = fmul %115, %760.yyy
MESA: info:     div 32x3  %1281 = ffma %114, %760.xxx, %1279
MESA: info:     div 32x3  %1283 = ffma %116, %760.zzz, %1281
MESA: info:     div 32x3  %1285 = fadd %1283, %117
MESA: info:     div 32     %236 = fmul %1277.y, %1277.y
MESA: info:     div 32    %1212 = ffma %1277.z, %1277.z, %236
MESA: info:     div 32    %1211 = ffma %1277.x, %1277.x, %1212
MESA: info:     div 32     %240 = frsq %1211
MESA: info:     div 32x3  %1287 = fmul %1277, %240.xxx
MESA: info:     div 32     %244 = fsqrt %1211
MESA: info:     con 32     %245 = load_const (0x000000b0 = 176)
MESA: info:     div 32     %907 = umul_low %216, %245 (0xb0)
MESA: info:     div 32     %909 = imadsh_mix16 %245 (0xb0), %216, %907
MESA: info:     con 32     %247 = @bindless_resource_ir3 (%148 (0x2)) (desc_set=1)
MESA: info:     div 32     %718 = ushr %909, %195 (0x4)
MESA: info:     div 32x4   %719 = @load_ubo_vec4 (%247, %718) (access=speculatable, base=0, component=0)
MESA: info:     con 32x4  %1297 = load_const (0x00000010, 0x00000020, 0x00000030, 0x00000040) = (16, 32, 48, 64)
MESA: info:     div 32x4  %1298 = iadd %909.xxxx, %1297 (0x10, 0x20, 0x30, 0x40)
MESA: info:     div 32x4  %1299 = ushr %1298, %195 (0x4).xxxx
MESA: info:     div 32    %1300 = mov %1299.w
MESA: info:     div 32    %1296 = mov %1299.z
MESA: info:     div 32    %1291 = mov %1299.x
MESA: info:     div 32    %1292 = mov %1299.y
MESA: info:     div 32x4   %722 = @load_ubo_vec4 (%247, %1291) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4   %725 = @load_ubo_vec4 (%247, %1292) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4   %728 = @load_ubo_vec4 (%247, %1296) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4   %731 = @load_ubo_vec4 (%247, %1300) (access=speculatable, base=0, component=0)
MESA: info:     con 32x4  %1310 = load_const (0x00000050, 0x00000060, 0x00000070, 0x00000080) = (80, 96, 112, 128)
MESA: info:     div 32x4  %1311 = iadd %909.xxxx, %1310 (0x50, 0x60, 0x70, 0x80)
MESA: info:     div 32x4  %1312 = ushr %1311, %195 (0x4).xxxx
MESA: info:     div 32    %1313 = mov %1312.w
MESA: info:     div 32    %1309 = mov %1312.z
MESA: info:     div 32    %1304 = mov %1312.x
MESA: info:     div 32    %1305 = mov %1312.y
MESA: info:     div 32x4   %734 = @load_ubo_vec4 (%247, %1304) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4   %737 = @load_ubo_vec4 (%247, %1305) (access=speculatable, base=0, component=0)
MESA: info:     div 32x2   %740 = @load_ubo_vec4 (%247, %1309) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4   %743 = @load_ubo_vec4 (%247, %1313) (access=speculatable, base=0, component=0)
MESA: info:     con 32x2  %1314 = load_const (0x00000090, 0x000000a0) = (144, 160)
MESA: info:     div 32x2  %1315 = iadd %909.xx, %1314 (0x90, 0xa0)
MESA: info:     div 32x2  %1316 = ushr %1315, %195 (0x4).xx
MESA: info:     div 32    %1317 = mov %1316.x
MESA: info:     div 32    %1318 = mov %1316.y
MESA: info:     div 32x4   %746 = @load_ubo_vec4 (%247, %1317) (access=speculatable, base=0, component=0)
MESA: info:     div 32x3   %749 = @load_ubo_vec4 (%247, %1318) (access=speculatable, base=0, component=0)
MESA: info:     con 32x4   %286 = @load_const_ir3 (%113 (0x0)) (base=16)
MESA: info:     div 32x3  %1320 = fmul %244.xxx, %1287
MESA: info:     div 32x4  %1323 = fmul %746.xyxx, %1320.xxyz
MESA: info:     div 32x4  %1326 = fmul %749.xyxx, %1320.xxyz
MESA: info:     div 32     %298 = fmul %1320.y, %746.y
MESA: info:     div 32     %299 = fneg %298
MESA: info:     div 32     %300 = fmul %1320.y, %749.y
MESA: info:     div 32     %301 = fneg %300
MESA: info:     div 32     %302 = fmul %746.z, %244
MESA: info:     div 32     %303 = fmul %749.z, %244
MESA: info:     div 32x4  %1329 = fmin %1323, %1326
MESA: info:     div 32     %308 = fmin %299, %301
MESA: info:     div 32     %309 = fadd %1329.x, %308
MESA: info:     div 32     %310 = fadd %1329.z, %1329.y
MESA: info:     div 32     %311 = fmin %302, %303
MESA: info:     div 32     %312 = fadd %1329.w, %311
MESA: info:     div 32     %313 = fadd %309, %1285.x
MESA: info:     div 32     %314 = fadd %310, %1285.y
MESA: info:     div 32     %315 = fadd %312, %1285.z
MESA: info:     div 32x4  %1332 = fmax %1323, %1326
MESA: info:     div 32     %320 = fmax %299, %301
MESA: info:     div 32     %321 = fadd %1332.x, %320
MESA: info:     div 32     %322 = fadd %1332.z, %1332.y
MESA: info:     div 32     %323 = fmax %302, %303
MESA: info:     div 32     %324 = fadd %1332.w, %323
MESA: info:     div 32     %325 = fadd %321, %1285.x
MESA: info:     div 32     %326 = fadd %322, %1285.y
MESA: info:     div 32     %327 = fadd %324, %1285.z
MESA: info:     div 32     %328 = fmax %286.x, %313
MESA: info:     div 32     %329 = fmax %286.y, %314
MESA: info:     div 32     %330 = fmax %286.z, %315
MESA: info:     div 32     %331 = fmin %328, %325
MESA: info:     div 32     %332 = fmin %329, %326
MESA: info:     div 32     %333 = fmin %330, %327
MESA: info:     div 32    %1210 = fsub %286.x, %331
MESA: info:     div 32    %1209 = fsub %286.y, %332
MESA: info:     div 32    %1208 = fsub %286.z, %333
MESA: info:     div 32     %341 = fmul %1209, %1209
MESA: info:     div 32    %1207 = ffma %1208, %1208, %341
MESA: info:     div 32    %1206 = ffma %1210, %1210, %1207
MESA: info:     div 32     %345 = fsqrt %1206
MESA: info:     con 32     %348 = @load_const_ir3 (%113 (0x0)) (base=0)
MESA: info:     con 32     %349 = load_const (0x00000b00 = 2816)
MESA: info:     div 32     %350 = ishl %216, %195 (0x4)
MESA: info:     div 32     %351 = iadd %350, %349 (0xb00)
MESA: info:     div 32     %751 = ushr %351, %195 (0x4)
MESA: info:     div 32x2   %752 = @load_ubo_vec4 (%247, %751) (access=speculatable, base=0, component=0)
MESA: info:     div 32     %354 = fmul %752.y, %348
MESA: info:     div 32     %355 = fneg %345
MESA: info:     div 32    %1205 = ffma %752.x, %286.w, %355
MESA: info:     con 32     %357 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32     %358 = fmul %357 (2.000000), %1205
MESA: info:     div 32     %359 = fmul %358, %354
MESA: info:     div 32     %360 = fsat %359
MESA: info:     div 1      %361 = flt! %113 (0.000000), %360
MESA: info:                       // succs: b7 b11
MESA: info:     if %361 {
MESA: info:         div block b7:         // preds: b6
MESA: info:         div 32     %362 = fmul %244, %360
MESA: info:         con 32     %363 = load_const (0x3f000000 = 0.500000)
MESA: info:         div 32     %364 = fmul %740.y, %363 (0.500000)
MESA: info:         div 32     %365 = fmul %364, %244
MESA: info:         con 32     %368 = @load_const_ir3 (%113 (0x0)) (base=42)
MESA: info:                           // succs: b8 b9
MESA: info:         if %159 {
MESA: info:             div block b8:         // preds: b7
MESA: info:             con 32     %346 = load_const (0x3f800000 = 1.000000 = 1065353216)
MESA: info:             con 32     %370 = load_const (0x5d5e0b6b = 1.000000e+18)
MESA: info:             con 32     %371 = load_const (0x3e800000 = 0.250000)
MESA: info:             con 32     %372 = load_const (0xbc46c6a5 = -0.012132)
MESA: info:             con 32     %373 = load_const (0x3d5be101 = 0.053681)
MESA: info:             con 32     %374 = load_const (0xbdf0555d = -0.117350)
MESA: info:             con 32     %375 = load_const (0x3e468bc1 = 0.193892)
MESA: info:             con 32     %376 = load_const (0xbeaa5476 = -0.332676)
MESA: info:             con 32     %377 = load_const (0x3f7ffea5 = 0.999979)
MESA: info:             con 32     %378 = load_const (0xbfc90fdb = -1.570796)
MESA: info:             con 32     %379 = load_const (0x7fffffff = 2147483647)
MESA: info:             con 32     %380 = load_const (0x80000000 = -2147483648 = 2147483648)
MESA: info:             con 32     %381 = load_const (0x3fc90fdb = 1.570796)
MESA: info:             div 1      %382 = fge! %113 (0.000000), %1287.x
MESA: info:             div 32x2  %1333 = fabs %1287.xy
MESA: info:             div 32     %384 = bcsel %382, %1333.x, %1287.y
MESA: info:             div 32     %385 = bcsel %382, %1287.y, %1333.x
MESA: info:             div 32     %386 = fabs %385
MESA: info:             div 1      %387 = fge! %386, %370 (1.000000e+18)
MESA: info:             div 32     %388 = bcsel %387, %371 (0x3e800000), %346 (0x3f800000)
MESA: info:             div 32     %389 = fmul %385, %388
MESA: info:             div 32     %390 = frcp %389
MESA: info:             div 32     %391 = fmul %384, %388
MESA: info:             div 32     %392 = fabs %391
MESA: info:             div 32     %393 = fabs %390
MESA: info:             div 32     %394 = fmul %392, %393
MESA: info:             div 1      %396 = feq! %1333.x, %1333.y
MESA: info:             div 32     %397 = bcsel %396, %346 (0x3f800000), %394
MESA: info:             div 1      %398 = fge! %346 (1.000000), %397
MESA: info:             div 32     %399 = frcp %397
MESA: info:             div 32     %400 = bcsel %398, %397, %399
MESA: info:             div 32     %401 = fmul %400, %400
MESA: info:             div 32    %1204 = ffma %372 (-0.012132), %401, %373 (0.053681)
MESA: info:             div 32    %1203 = ffma %1204, %401, %374 (-0.117350)
MESA: info:             div 32    %1202 = ffma %1203, %401, %375 (0.193892)
MESA: info:             div 32    %1201 = ffma %1202, %401, %376 (-0.332676)
MESA: info:             div 32    %1200 = ffma %1201, %401, %377 (0.999979)
MESA: info:             div 32     %412 = bcsel %398, %113 (0x0), %378 (0xbfc90fdb)
MESA: info:             div 32     %413 = fabs %400
MESA: info:             div 32    %1199 = ffma %413, %1200, %412
MESA: info:             div 32     %417 = iand %397, %380 (0x80000000)
MESA: info:             div 32    %1234 = andg_ir3 %1199, %379 (0x7fffffff), %417
MESA: info:             div 32     %419 = bcsel %382, %381 (0x3fc90fdb), %113 (0x0)
MESA: info:             div 32     %420 = fadd %419, %1234
MESA: info:             div 32     %421 = fmin %1287.y, %390
MESA: info:             div 1      %422 = flt! %421, %113 (0.000000)
MESA: info:             div 32     %423 = fneg %420
MESA: info:             div 32     %424 = bcsel %422, %423, %420
MESA: info:             con 32     %426 = @load_const_ir3 (%113 (0x0)) (base=1)
MESA: info:             div 32    %1198 = fsub %426, %424
MESA: info:             con 32     %429 = load_const (0x3f747644 = 0.954930)
MESA: info:             con 32     %431 = load_const (0x41400000 = 12.000000)
MESA: info:             div 32    %1197 = ffma %429 (0.954930), %1198, %431 (12.000000)
MESA: info:             div 32     %433 = f2i32 %1197
MESA: info:             div 32     %434 = iand %433, %124 (0xffff)
MESA: info:             div 32     %435 = ushr %433, %123 (0x10)
MESA: info:             con 32x3  %1342 = load_const (0x0000aaab, 0x0000aaaa, 0xaaaaaaab) = (+43691, +43690, -1431655765) = (43691, 43690, 2863311531)
MESA: info:             div 32x3  %1343 = umul_low %434.xxx, %1342 (0xaaab, 0xaaaa, 0xaaaaaaab)
MESA: info:             con 32x2  %1336 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1337 = imadsh_mix16 %1336 (0xaaab, 0xaaaa), %434.xx, %1343.xy
MESA: info:             con 32x2  %1338 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1339 = umul_low %435.xx, %1338 (0xaaab, 0xaaaa)
MESA: info:             con 32x2  %1340 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1341 = imadsh_mix16 %1340 (0xaaab, 0xaaaa), %435.xx, %1339
MESA: info:             div 32     %893 = imadsh_mix16 %434, %133 (0xaaaaaaab), %1343.z
MESA: info:             div 32     %894 = imadsh_mix16 %133 (0xaaaaaaab), %434, %893
MESA: info:             div 1      %441 = ult %894, %1337.x
MESA: info:             div 32     %442 = b2i32 %441
MESA: info:             div 32     %444 = ushr %1337.y, %123 (0x10)
MESA: info:             div 32     %844 = iadd3 %1341.y, %442, %444
MESA: info:             con 32    %1056 = load_const (0x00000000)
MESA: info:             div 32     %890 = imadsh_mix16 %435, %140 (0xaaab0000), %1056 (0x0)
MESA: info:             div 32     %447 = iadd %894, %890
MESA: info:             div 1      %448 = ult %447, %894
MESA: info:             div 32     %449 = b2i32 %448
MESA: info:             div 32     %451 = ushr %1341.x, %123 (0x10)
MESA: info:             div 32     %843 = iadd3 %844, %449, %451
MESA: info:             div 32     %453 = ushr %843, %148 (0x2)
MESA: info:             div 32     %886 = umul_low %453, %122 (0x6)
MESA: info:             div 32     %888 = imadsh_mix16 %122 (0x6), %453, %886
MESA: info:             div 32    %1196 = isub %433, %888
MESA: info:             con 32     %458 = @load_const_ir3 (%113 (0x0)) (base=2)
MESA: info:             con 32     %460 = @load_const_ir3 (%113 (0x0)) (base=3)
MESA: info:             con 32x2  %1344 = load_const (0xbf000000, 0x3f000000) = (-0.500000, 0.500000)
MESA: info:             div 32x2  %1345 = fmul %1344 (-0.500000, 0.500000), %740.xx
MESA: info:             div 32x2  %1346 = fmul %458.xx, %1345
MESA: info:             div 32x2  %1347 = fmul %1345, %460.xx
MESA: info:             div 32x2  %1348 = fneg %1346
MESA: info:             div 32x2  %1349 = ffma %1348, %362.xx, %1285.xx
MESA: info:             div 32x2  %1350 = ffma %362.xx, %1347, %1285.yy
MESA: info:             div 32x3   %478 = vec3 %1349.x, %1350.x, %1285.z
MESA: info:             div 32x3   %479 = vec3 %1349.y, %1350.y, %1285.z
MESA: info:             div 32    %1189 = ffma %244, %740.y, %1285.z
MESA: info:             div 32x3   %482 = vec3 %1349.x, %1350.x, %1189
MESA: info:             div 32x3   %483 = vec3 %1349.y, %1350.y, %1189
MESA: info:                               @store_reg (%478, %4) (base=0, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%479, %4) (base=1, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%482, %4) (base=2, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%483, %4) (base=3, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%719, %3) (base=0, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%722, %3) (base=1, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%725, %3) (base=2, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%728, %3) (base=3, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%731, %3) (base=4, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%734, %3) (base=5, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%737, %3) (base=6, wrmask=xyzw, legacy_fsat=0)
MESA: info:             div 32x4   %500 = @load_reg_indirect (%3, %1196) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             div 32x2   %501 = vec2 %500.x, %500.y
MESA: info:             div 32x2   %502 = vec2 %500.z, %500.w
MESA: info:             div 1x2   %1351 = flt! %500.xy, %500.zw
MESA: info:             div 1      %505 = ieq %1351.x, %1351.y
MESA: info:             div 32x2  %1352 = fsub %500.zw, %500.xy
MESA: info:             div 32     %510 = bcsel %505, %1352.x, %113 (0x0)
MESA: info:             div 32     %511 = bcsel %505, %113 (0x0), %1352.y
MESA: info:             div 32     %512 = fadd %500.x, %510
MESA: info:             div 32     %513 = fadd %500.y, %511
MESA: info:             div 32x2   %514 = vec2 %512, %513
MESA: info:             div 32    %1186 = fsub %500.z, %510
MESA: info:             div 32    %1185 = fsub %500.w, %511
MESA: info:             div 32x2   %519 = vec2 %1186, %1185
MESA: info:                               @store_reg (%501, %2) (base=0, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%514, %2) (base=1, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%519, %2) (base=2, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%502, %2) (base=3, wrmask=xy, legacy_fsat=0)
MESA: info:             div 32x2   %527 = @load_reg_indirect (%2, %1257) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             div 32x3   %530 = @load_reg_indirect (%4, %1257) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             con 32x4   %533 = @load_const_ir3 (%113 (0x0)) (base=32)
MESA: info:             con 32x4   %540 = @load_const_ir3 (%113 (0x0)) (base=36)
MESA: info:             div 32x4  %1355 = fmul %540, %530.yyyy
MESA: info:             div 32x4  %1358 = ffma %533, %530.xxxx, %1355
MESA: info:             con 32x2   %551 = @load_const_ir3 (%113 (0x0)) (base=40)
MESA: info:             con 32     %554 = @load_const_ir3 (%113 (0x0)) (base=43)
MESA: info:             div 32x2  %1359 = ffma %551, %530.zz, %1358.xy
MESA: info:             div 32    %1178 = ffma %554, %530.z, %1358.w
MESA: info:             div 32    %1177 = ffma %368, %530.z, %1358.z
MESA: info:             con 32x4   %565 = @load_const_ir3 (%113 (0x0)) (base=44)
MESA: info:             div 32x2  %1360 = fadd %1359, %565.xy
MESA: info:             div 32x2  %1393 = mov %1360.yx
MESA: info:             div 32     %568 = fadd %1178, %565.w
MESA: info:             div 32     %569 = fadd %1177, %565.z
MESA: info:             div 32    %1175 = fneg %365
MESA: info:             div 32    %1176 = ffma %1175, %368, %569
MESA: info:                               // succs: b10
MESA: info:         } else {
MESA: info:             div block b9:         // preds: b7
MESA: info:             div 32x2  %1363 = fmul %743.yw, %1287.xx
MESA: info:             div 32x2  %1364 = fmul %1287.yy, %743.yw
MESA: info:             div 32x2  %1366 = fneg %1364
MESA: info:             div 32x4  %1368 = ffma %743.xzxz, %1287.xxxx, %1366.xxyy
MESA: info:             div 32x4  %1371 = ffma %743.xzxz, %1287.yyyy, %1363.xxyy
MESA: info:             div 32x2  %1372 = ffma %743.xz, %1287.zz, %746.ww
MESA: info:             div 32x4  %1375 = ffma %362.xxxx, %1368, %1285.xxxx
MESA: info:             div 32x4  %1378 = ffma %362.xxxx, %1371, %1285.yyyy
MESA: info:             div 32x2  %1379 = ffma %244.xx, %1372, %1285.zz
MESA: info:             div 32x3   %614 = vec3 %1375.x, %1378.x, %1379.x
MESA: info:             div 32x3   %615 = vec3 %1375.y, %1378.y, %1379.y
MESA: info:             div 32x3   %616 = vec3 %1375.z, %1378.z, %1379.x
MESA: info:             div 32x3   %617 = vec3 %1375.w, %1378.w, %1379.y
MESA: info:                               @store_reg (%614, %1) (base=0, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%615, %1) (base=1, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%616, %1) (base=2, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%617, %1) (base=3, wrmask=xyz, legacy_fsat=0)
MESA: info:             div 1x2   %1380 = flt! %737.xy, %737.zw
MESA: info:             div 1      %625 = ieq %1380.x, %1380.y
MESA: info:             div 32x2  %1381 = fsub %737.zw, %737.xy
MESA: info:             div 32     %630 = bcsel %625, %1381.x, %113 (0x0)
MESA: info:             div 32     %631 = bcsel %625, %113 (0x0), %1381.y
MESA: info:             div 32     %632 = fadd %737.x, %630
MESA: info:             div 32     %633 = fadd %737.y, %631
MESA: info:             div 32x2   %634 = vec2 %632, %633
MESA: info:             div 32    %1152 = fsub %737.z, %630
MESA: info:             div 32    %1151 = fsub %737.w, %631
MESA: info:             div 32x2   %639 = vec2 %1152, %1151
MESA: info:             div 32x2   %642 = vec2 %737.x, %737.y
MESA: info:                               @store_reg (%642, %0) (base=0, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%634, %0) (base=1, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%639, %0) (base=2, wrmask=xy, legacy_fsat=0)
MESA: info:             div 32x2   %646 = vec2 %737.z, %737.w
MESA: info:                               @store_reg (%646, %0) (base=3, wrmask=xy, legacy_fsat=0)
MESA: info:             div 32x2   %649 = @load_reg_indirect (%0, %1257) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             div 32x3   %652 = @load_reg_indirect (%1, %1257) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             con 32x4   %655 = @load_const_ir3 (%113 (0x0)) (base=32)
MESA: info:             con 32x4   %662 = @load_const_ir3 (%113 (0x0)) (base=36)
MESA: info:             div 32x4  %1384 = fmul %662, %652.yyyy
MESA: info:             div 32x4  %1387 = ffma %655, %652.xxxx, %1384
MESA: info:             con 32x2   %673 = @load_const_ir3 (%113 (0x0)) (base=40)
MESA: info:             con 32     %676 = @load_const_ir3 (%113 (0x0)) (base=43)
MESA: info:             div 32x2  %1388 = ffma %673, %652.zz, %1387.xy
MESA: info:             div 32    %1144 = ffma %676, %652.z, %1387.w
MESA: info:             div 32    %1143 = ffma %368, %652.z, %1387.z
MESA: info:             con 32x4   %687 = @load_const_ir3 (%113 (0x0)) (base=44)
MESA: info:             div 32x2  %1389 = fadd %1388, %687.xy
MESA: info:             div 32x2  %1394 = mov %1389.yx
MESA: info:             div 32     %690 = fadd %1144, %687.w
MESA: info:             div 32     %691 = fadd %1143, %687.z
MESA: info:             div 32    %1141 = fneg %365
MESA: info:             div 32    %1142 = ffma %1141, %368, %691
MESA: info:                               // succs: b10
MESA: info:         }
MESA: info:         div block b10:        // preds: b8 b9
MESA: info:         div 32     %694 = phi b8: %568, b9: %690
MESA: info:         div 32x2  %1392 = phi b8: %1393, b9: %1394
MESA: info:         div 32     %697 = phi b8: %1176, b9: %1142
MESA: info:         div 32     %698 = phi b8: %569, b9: %691
MESA: info:         div 32x2   %699 = phi b8: %527, b9: %649
MESA: info:         div 32     %700 = mov %699.x
MESA: info:         div 32     %701 = mov %699.y
MESA: info:                           // succs: b12
MESA: info:     } else {
MESA: info:         div block b11:        // preds: b6
MESA: info:         con 32     %118 = undefined
MESA: info:         con 32     %119 = undefined
MESA: info:         con 32     %120 = undefined
MESA: info:         con 32x2  %1398 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:                           // succs: b12
MESA: info:     }
MESA: info:     con block b12:        // preds: b10 b11
MESA: info:     div 32     %702 = phi b10: %701, b11: %118
MESA: info:     div 32     %703 = phi b10: %700, b11: %119
MESA: info:     div 32     %704 = phi b10: %694, b11: %113 (0x0)
MESA: info:     div 32x2  %1397 = phi b10: %1392, b11: %1398 (0.000000, 0.000000)
MESA: info:     div 32     %707 = phi b10: %697, b11: %120
MESA: info:     div 32     %708 = phi b10: %698, b11: %113 (0x0)
MESA: info:     div 32x4   %709 = vec4 %1397.y, %1397.x, %708, %704
MESA: info:                       @store_output (%709, %113 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x3   %710 = vec3 %707, %703, %702
MESA: info:                       @store_output (%710, %113 (0x0)) (base=1, range=1, wrmask=xyz, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                       // succs: b13
MESA: info:     block b13:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 6bc3207d0827ec5cbd4e8aa03b7a1a01c05869b0:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (8 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c12.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      2
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (384b -> 448b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0x1)
MESA: info: @const(c13.x)	0x3fc90fdb, 0x00000000, 0x3f800000, 0x3e800000
MESA: info: @const(c14.x)	0x5d5e0b6b, 0xbc46c6a5, 0x3d5be101, 0xbdf0555d
MESA: info: @const(c15.x)	0x3e468bc1, 0xbeaa5476, 0x3f7ffea5, 0xbfc90fdb
MESA: info: @const(c16.x)	0x80000000, 0x3f060a92, 0x00002aaa, 0x2aaaaaab
MESA: info: @const(c17.x)	0x0000ffff, 0x0000aaab, 0x00000b00, 0x000000b0
MESA: info: @const(c18.x)	0x0000000c, 0x0000aaaa, 0xaaaaaaab, 0xbf000000
MESA: info: @const(c19.x)	0x3f747644, 0x41400000, 0x00000006, 0xd0d0d0d0
MESA: info: shps #l64
MESA: info: getone #l64
MESA: info: ldc.u.offset0.2.imm.base1 r48.y, 0, 4
MESA: info: ldc.u.offset3.1.imm.base1 r48.x, 24, 0
MESA: info: mov.u32u32 r48.w, 0x7fffffff
MESA: info: mova1 a1.x, (r)16
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 1
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: ldc.offset0.1.imm.base1 r63.x, 0, 2
MESA: info: (sy)(ss)cmps.f.ge r49.x, (0.0), r48.y
MESA: info: absneg.f r49.y, (abs)r48.y
MESA: info: sel.b32 r49.z, r48.z, r49.x, r49.y
MESA: info: cmps.f.ge r49.w, (abs)r49.z, c14.x
MESA: info: sel.b32 r49.w, c13.w, r49.w, c13.z
MESA: info: mul.f r49.z, r49.z, r49.w
MESA: info: cmps.f.eq r50.x, (abs)r48.y, (abs)r48.z
MESA: info: mul.f r51.z, r48.y, r48.y
MESA: info: mul.f r51.w, r48.z, r48.z
MESA: info: sel.b32 r49.y, r49.y, r49.x, r48.z
MESA: info: add.f r51.z, r51.z, r51.w
MESA: info: mul.f r49.y, r49.y, r49.w
MESA: info: rcp r48.x, r48.x
MESA: info: sel.b32 r49.x, c13.x, r49.x, c13.y
MESA: info: (ss)rcp r49.z, r49.z
MESA: info: rsq r51.z, r51.z
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: (ss)mul.f r49.y, (abs)r49.y, (abs)r49.z
MESA: info: sel.b32 r50.x, c13.z, r50.x, r49.y
MESA: info: mul.f r52.x, r48.z, r51.z
MESA: info: mul.f r52.y, r48.y, r51.z
MESA: info: min.f r49.z, r48.z, r49.z
MESA: info: cmps.f.ge r50.y, (1.0), r50.x
MESA: info: cmps.f.lt r49.z, r49.z, (0.0)
MESA: info: (ss)rcp r50.z, r50.x
MESA: info: stc.u32 c[2], r52.x, 1
MESA: info: stc.u32 c[3], r52.y, 1
MESA: info: (ss)sel.b32 r50.z, r50.x, r50.y, r50.z
MESA: info: mul.f r50.w, r50.z, r50.z
MESA: info: and.b r50.x, r50.x, c16.x
MESA: info: sel.b32 r50.y, c13.y, r50.y, c15.w
MESA: info: mul.f r51.x, c14.y, r50.w
MESA: info: add.f r51.x, r51.x, c14.z
MESA: info: mul.f r51.x, r51.x, r50.w
MESA: info: add.f r51.x, r51.x, c14.w
MESA: info: mul.f r51.x, r51.x, r50.w
MESA: info: add.f r51.x, r51.x, c15.x
MESA: info: mul.f r51.x, r51.x, r50.w
MESA: info: add.f r51.x, r51.x, c15.y
MESA: info: mul.f r51.x, r51.x, r50.w
MESA: info: add.f r51.x, r51.x, c15.z
MESA: info: mul.f r50.z, (abs)r50.z, r51.x
MESA: info: add.f r50.z, r50.z, r50.y
MESA: info: andg r50.z, r50.z, r48.w, r50.x
MESA: info: add.f r49.x, r49.x, r50.z
MESA: info: absneg.f r51.y, (neg)r49.x
MESA: info: sel.b32 r51.y, r51.y, r49.z, r49.x
MESA: info: add.f r51.y, r51.y, c16.y
MESA: info: (ss)nop
MESA: info: stc.u32 c[1], r51.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 24, 0
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l64:
MESA: info: (jp)and.b r20.y, r3.x, c17.x
MESA: info: shr.b r20.z, r3.x, 16
MESA: info: mov.u32u32 r20.w, 0xaaaaaaab
MESA: info: mov.u32u32 r22.z, 0xaaab0000
MESA: info: mull.u r22.x, r20.y, c18.z
MESA: info: mull.u r21.x, r20.y, c17.y
MESA: info: mull.u r21.y, r20.y, c18.y
MESA: info: mull.u r21.z, r20.z, c17.y
MESA: info: mull.u r21.w, r20.z, c18.y
MESA: info: madsh.m16 r22.x, r20.y, r20.w, (last)r22.x
MESA: info: madsh.m16 r21.x, c17.y, r20.y, (last)r21.x
MESA: info: madsh.m16 r21.y, c18.y, r20.y, (last)r21.y
MESA: info: madsh.m16 r21.z, c17.y, r20.z, (last)r21.z
MESA: info: madsh.m16 r21.w, c18.y, r20.z, (last)r21.w
MESA: info: madsh.m16 r20.y, c18.z, r20.y, (last)r22.x
MESA: info: madsh.m16 r20.z, (last)r20.z, r22.z, c13.y
MESA: info: absneg.s r23.x, (abs)r3.x
MESA: info: cmps.u.lt hr42.x, r20.y, (last)r21.x
MESA: info: add.u r20.z, r20.y, (last)r20.z
MESA: info: and.b r23.w, r23.x, c17.x
MESA: info: mov.u32u32 r23.y, 0x2aaaaaab
MESA: info: cov.u16s32 r22.y, (last)hr42.x
MESA: info: cmps.u.lt hr41.x, (last)r20.z, (last)r20.y
MESA: info: shr.b r23.x, (last)r23.x, 16
MESA: info: shr.b r21.y, (last)r21.y, 16
MESA: info: mull.u r25.z, r23.w, c16.w
MESA: info: mull.u r24.z, r23.w, c17.y
MESA: info: mull.u r24.w, r23.w, c16.z
MESA: info: cov.u16s32 r22.w, (last)hr41.x
MESA: info: mull.u r25.x, r23.x, c17.y
MESA: info: mull.u r25.y, r23.x, c16.z
MESA: info: sad.s32 r21.w, (last)r21.w, r22.y, (last)r21.y
MESA: info: madsh.m16 r23.y, r23.w, r23.y, (last)r25.z
MESA: info: shr.b r21.z, (last)r21.z, 16
MESA: info: madsh.m16 r24.z, c17.y, r23.w, (last)r24.z
MESA: info: madsh.m16 r24.w, c16.z, r23.w, (last)r24.w
MESA: info: madsh.m16 r25.x, c17.y, r23.x, (last)r25.x
MESA: info: madsh.m16 r25.y, c16.z, r23.x, (last)r25.y
MESA: info: madsh.m16 r23.w, c16.w, r23.w, (last)r23.y
MESA: info: madsh.m16 r23.x, (last)r23.x, r22.z, c13.y
MESA: info: sad.s32 r21.w, (last)r21.w, r22.w, (last)r21.z
MESA: info: cmps.u.lt hr40.z, r23.w, (last)r24.z
MESA: info: add.u r23.x, r23.w, (last)r23.x
MESA: info: shr.b r23.z, r21.w, 2
MESA: info: shr.b r21.w, (last)r21.w, 3
MESA: info: cov.u16s32 r20.z, (last)hr40.z
MESA: info: cmps.u.lt hr47.z, r23.x, (last)r23.w
MESA: info: not.b r23.x, (last)r23.x
MESA: info: shr.b r24.w, (last)r24.w, 16
MESA: info: mull.u r24.y, r21.w, 12
MESA: info: cov.u16s32 r21.x, (last)hr47.z
MESA: info: add.u r21.y, r23.x, 1
MESA: info: sad.s32 r25.y, (last)r25.y, r20.z, (last)r24.w
MESA: info: madsh.m16 r21.w, c18.x, r21.w, (last)r24.y
MESA: info: shr.b r25.x, (last)r25.x, 16
MESA: info: cmps.u.lt hr42.z, (last)r21.y, (last)r23.x
MESA: info: sub.u r21.w, r3.x, (last)r21.w
MESA: info: sad.s32 r25.y, (last)r25.y, r21.x, (last)r25.x
MESA: info: mull.u r24.x, r23.z, 6
MESA: info: cov.u16s32 r21.z, (last)hr42.z
MESA: info: cmps.s.lt p0.x, (last)r21.w, 6
MESA: info: madsh.m16 r23.z, c19.z, r23.z, (last)r24.x
MESA: info: (nop1) not.b r21.w, r25.y
MESA: info: sub.u r23.z, r3.x, (last)r23.z
MESA: info: add.u r21.w, (last)r21.w, (last)r21.z
MESA: info: (nop2) cmps.s.lt r3.x, (last)r3.x, 0
MESA: info: (nop2) sel.b32 r21.w, (last)r21.w, r3.x, (last)r25.y
MESA: info: (nop2) ashr.b r21.w, (last)r21.w, 1
MESA: info: (nop2) shr.b r22.x, r21.w, 31
MESA: info: (nop2) add.u r21.w, (last)r21.w, (last)r22.x
MESA: info: (nop3) shl.b r21.w, (last)r21.w, 2
MESA: info: (rpt1)nop
MESA: info: isam.v.base3 (u32)(xyz)r22.w, r21.w, s#0, t#1
MESA: info: isam.v.base3 (u32)(xyzw)r25.y, r21.w, s#0, t#0
MESA: info: (sy)cov.f32s32 r26.x, (last)r26.x
MESA: info: (rpt1)mul.f r24.w, (r)r1.x, r23.x
MESA: info: mull.u r27.z, r26.x, 176
MESA: info: mul.f r1.y, (last)r1.y, r25.z
MESA: info: madsh.m16 r27.z, c17.w, r26.x, (last)r27.z
MESA: info: (rpt1)mad.f32 r24.w, (r)r0.y, r22.w, (r)(last)r24.w
MESA: info: add.u r28.x, r27.z, 16
MESA: info: shr.b r27.w, r27.z, 4
MESA: info: add.u r28.y, r27.z, 32
MESA: info: shr.b r28.x, (last)r28.x, 4
MESA: info: mad.f32 r0.z, (last)r0.z, r25.y, (last)r1.y
MESA: info: add.u r1.y, r27.z, 96
MESA: info: shr.b r28.y, (last)r28.y, 4
MESA: info: ldc.offset0.4.imm.base1 r28.z, r27.w, 2
MESA: info: (ss)add.u r27.w, r27.z, 144
MESA: info: shr.b r1.y, (last)r1.y, 4
MESA: info: ldc.offset0.4.imm.base1 r30.x, r28.x, 2
MESA: info: (ss)add.u r28.x, r27.z, 160
MESA: info: mul.f r23.w, r0.w, (last)r23.x
MESA: info: (rpt1)shr.b r27.w, (last)(r)r27.w, 4
MESA: info: ldc.offset0.4.imm.base1 r31.x, r28.y, 2
MESA: info: mul.f r1.x, (last)r1.x, r25.z
MESA: info: shl.b r26.x, (last)r26.x, 4
MESA: info: mad.f32 r23.w, r0.x, r22.w, (last)r23.w
MESA: info: mul.f r0.w, (last)r0.w, (last)r25.z
MESA: info: (rpt1)mad.f32 r24.y, (r)r1.w, r23.y, (r)(last)r24.w
MESA: info: mad.f32 r0.y, (last)r0.y, r25.y, (last)r1.x
MESA: info: mad.f32 r24.x, r1.z, r23.y, (last)r23.w
MESA: info: mad.f32 r0.x, (last)r0.x, r25.y, (last)r0.w
MESA: info: ldc.offset0.4.imm.base1 r24.w, r1.y, 2
MESA: info: (ss)mov.u32u32 r1.y, (last)r23.z
MESA: info: ldc.offset0.4.imm.base1 r23.x, r27.w, 2
MESA: info: add.u r29.z, r27.z, 48
MESA: info: add.u r29.w, r27.z, 64
MESA: info: add.u r20.y, r27.z, 112
MESA: info: add.u r20.z, r27.z, 128
MESA: info: add.u r26.x, (last)r26.x, c17.z
MESA: info: mad.f32 r1.z, (last)r1.z, r25.w, (last)r0.x
MESA: info: add.u r0.x, (last)r27.z, 80
MESA: info: (ss)nop
MESA: info: ldc.offset0.3.imm.base1 r27.z, r28.x, 2
MESA: info: shr.b r29.z, (last)r29.z, 4
MESA: info: shr.b r29.w, (last)r29.w, 4
MESA: info: shr.b r20.y, (last)r20.y, 4
MESA: info: shr.b r20.z, (last)r20.z, 4
MESA: info: shr.b r26.x, (last)r26.x, 4
MESA: info: shr.b r0.x, (last)r0.x, 4
MESA: info: mul.f r26.y, r24.y, r24.y
MESA: info: mad.f32 r2.x, (last)r2.x, r25.w, (last)r0.z
MESA: info: mad.f32 r1.w, (last)r1.w, r25.w, (last)r0.y
MESA: info: ldc.offset0.4.imm.base1 r0.y, r29.z, 2
MESA: info: mad.f32 r26.y, r24.z, r24.z, (last)r26.y
MESA: info: add.f r1.z, (last)r1.z, (last)r2.y
MESA: info: ldc.offset0.4.imm.base1 r21.x, r0.x, 2
MESA: info: add.f r2.x, (last)r2.x, (last)r2.w
MESA: info: add.f r1.w, (last)r1.w, (last)r2.z
MESA: info: ldc.offset0.4.imm.base1 r2.y, r29.w, 2
MESA: info: (ss)nop
MESA: info: ldc.offset0.2.imm.base1 r29.z, r20.y, 2
MESA: info: mad.f32 r26.y, r24.x, r24.x, (last)r26.y
MESA: info: mov.u32u32 r0.x, (last)r22.z
MESA: info: ldc.offset0.4.imm.base1 r22.x, r20.z, 2
MESA: info: (ss)nop
MESA: info: ldc.offset0.2.imm.base1 r20.y, r26.x, 2
MESA: info: (rpt2)nop
MESA: info: rsq r26.z, r26.y
MESA: info: (ss)sqrt r26.y, (last)r26.y
MESA: info: (rpt2)mul.f r24.x, (last)(r)r24.x, (last)r26.z
MESA: info: (ss)(rpt2)mul.f r26.w, r26.y, (r)r24.x
MESA: info: (sy)mul.f r28.y, r23.x, r26.w
MESA: info: mul.f r25.w, r27.z, r26.w
MESA: info: mul.f r26.x, r23.y, r26.w
MESA: info: mul.f r23.y, r27.x, (last)r23.y
MESA: info: mul.f r26.w, r27.w, (last)r26.w
MESA: info: mul.f r27.w, r27.x, (last)r27.w
MESA: info: mul.f r26.z, r23.x, r27.x
MESA: info: mul.f r23.x, (last)r23.x, r27.y
MESA: info: mul.f r27.x, r27.z, (last)r27.x
MESA: info: mul.f r27.z, (last)r27.z, (last)r27.y
MESA: info: min.f r27.y, r28.y, r25.w
MESA: info: max.f r28.y, (last)r28.y, (last)r25.w
MESA: info: min.f r25.w, (neg)r23.y, (neg)r27.w
MESA: info: max.f r23.y, (last)(neg)r23.y, (last)(neg)r27.w
MESA: info: mul.f r23.z, (last)r23.z, r26.y
MESA: info: add.f r27.y, (last)r27.y, (last)r25.w
MESA: info: add.f r28.y, (last)r28.y, (last)r23.y
MESA: info: mul.f r28.x, (last)r28.x, r26.y
MESA: info: add.f r27.y, (last)r27.y, r1.z
MESA: info: add.f r28.y, (last)r28.y, r1.z
MESA: info: min.f r27.w, r26.x, r26.w
MESA: info: max.f r27.y, c4.x, (last)r27.y
MESA: info: min.f r25.w, r23.x, r27.z
MESA: info: min.f r23.y, r23.z, r28.x
MESA: info: min.f r27.y, (last)r27.y, (last)r28.y
MESA: info: min.f r28.y, r26.z, r27.x
MESA: info: max.f r26.x, (last)r26.x, (last)r26.w
MESA: info: max.f r26.z, (last)r26.z, (last)r27.x
MESA: info: add.f r28.y, (last)r28.y, (last)r27.w
MESA: info: max.f r23.x, (last)r23.x, (last)r27.z
MESA: info: add.f r25.w, (last)r25.w, (last)r23.y
MESA: info: max.f r23.z, (last)r23.z, (last)r28.x
MESA: info: add.f r26.z, (last)r26.z, (last)r26.x
MESA: info: add.f r28.y, (last)r28.y, r1.w
MESA: info: add.f r25.w, (last)r25.w, r2.x
MESA: info: add.f r23.x, (last)r23.x, (last)r23.z
MESA: info: add.f r26.z, (last)r26.z, r1.w
MESA: info: max.f r28.y, c4.y, (last)r28.y
MESA: info: max.f r25.w, c4.z, (last)r25.w
MESA: info: add.f r23.x, (last)r23.x, r2.x
MESA: info: min.f r28.y, (last)r28.y, (last)r26.z
MESA: info: add.f r27.y, c4.x, (last)(neg)r27.y
MESA: info: min.f r25.w, (last)r25.w, (last)r23.x
MESA: info: add.f r28.y, c4.y, (last)(neg)r28.y
MESA: info: mul.f r20.z, (last)r20.z, c0.x
MESA: info: add.f r25.w, c4.z, (last)(neg)r25.w
MESA: info: (nop1) mul.f r28.y, (last)r28.y, r28.y
MESA: info: (nop1) mad.f32 r25.w, (last)r25.w, r25.w, (last)r28.y
MESA: info: (nop3) mad.f32 r27.y, (last)r27.y, r27.y, (last)r25.w
MESA: info: (rpt1)nop
MESA: info: sqrt r27.y, (last)r27.y
MESA: info: (ss)(nop2) mad.f32 r20.y, c4.w, r20.y, (neg)(last)r27.y
MESA: info: (nop2) mul.f r20.y, (2.0), (last)r20.y
MESA: info: (sat)(nop2) mul.f r20.y, (last)r20.y, (last)r20.z
MESA: info: (nop3) cmps.f.lt p0.y, (0.0), r20.y
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l523
MESA: info: mul.f r26.x, r29.w, (0.5)
MESA: info: (nop1) mul.f r20.y, r26.y, (last)r20.y
MESA: info: mul.f r26.x, (last)r26.x, r26.y
MESA: info: predt
MESA: info: cmps.f.ge r26.z, (0.0), r24.x
MESA: info: absneg.f r26.w, (abs)r24.x
MESA: info: cmps.f.eq r24.x, (last)(abs)r24.x, (abs)r24.y
MESA: info: sel.b32 r27.x, r24.y, r26.z, r26.w
MESA: info: sel.b32 r26.w, (last)r26.w, r26.z, r24.y
MESA: info: mul.f r27.w, c18.w, r29.z
MESA: info: cmps.f.ge r27.y, (abs)r27.x, c14.x
MESA: info: mul.f r29.z, (0.5), (last)r29.z
MESA: info: mul.f r28.x, c0.z, r27.w
MESA: info: sel.b32 r27.y, c13.w, r27.y, c13.z
MESA: info: mul.f r28.y, c0.z, r29.z
MESA: info: mad.f32 r28.x, (neg)(last)r28.x, r20.y, r1.z
MESA: info: mul.f r27.x, (last)r27.x, r27.y
MESA: info: mul.f r26.w, (last)r26.w, (last)r27.y
MESA: info: mad.f32 r28.y, (neg)(last)r28.y, r20.y, (last)r1.z
MESA: info: mul.f r27.w, (last)r27.w, c0.w
MESA: info: mul.f r29.z, (last)r29.z, c0.w
MESA: info: mov.u32u32 r27.z, 0x7fffffff
MESA: info: rcp r27.x, (last)r27.x
MESA: info: mad.f32 r27.w, r20.y, r27.w, r1.w
MESA: info: mad.f32 r20.y, (last)r20.y, r29.z, (last)r1.w
MESA: info: sel.b32 r26.z, c13.x, r26.z, c13.y
MESA: info: mad.f32 r26.y, (last)r26.y, r29.w, r2.x
MESA: info: mov.u32u32 r17.y, r28.x
MESA: info: mov.u32u32 r17.z, r27.w
MESA: info: mov.u32u32 r17.w, r2.x
MESA: info: mov.u32u32 r18.x, r28.y
MESA: info: mov.u32u32 r18.y, r20.y
MESA: info: mov.u32u32 r18.z, r2.x
MESA: info: (ss)mul.f r26.w, (last)(abs)r26.w, (abs)r27.x
MESA: info: min.f r24.y, (last)r24.y, (last)r27.x
MESA: info: sel.b32 r24.x, c13.z, r24.x, (last)r26.w
MESA: info: mov.u32u32 r18.w, (last)r28.x
MESA: info: cmps.f.lt r24.y, (last)r24.y, (0.0)
MESA: info: cmps.f.ge r29.z, (1.0), r24.x
MESA: info: and.b r1.w, r24.x, c16.x
MESA: info: mov.u32u32 r19.x, (last)r27.w
MESA: info: rcp r1.z, r24.x
MESA: info: sel.b32 r3.y, c13.y, r29.z, c15.w
MESA: info: mov.u32u32 r19.y, r26.y
MESA: info: mov.u32u32 r19.z, (last)r28.y
MESA: info: mov.u32u32 r19.w, r20.y
MESA: info: mov.u32u32 r20.x, r26.y
MESA: info: mov.u32u32 r10.y, (last)r28.z
MESA: info: mov.u32u32 r10.z, (last)r28.w
MESA: info: mov.u32u32 r10.w, (last)r29.x
MESA: info: mov.u32u32 r11.x, (last)r29.y
MESA: info: mov.u32u32 r11.y, (last)r30.x
MESA: info: (ss)sel.b32 r24.x, (last)r24.x, r29.z, r1.z
MESA: info: mov.u32u32 r11.z, (last)r30.y
MESA: info: mov.u32u32 r11.w, (last)r30.z
MESA: info: mul.f r3.z, r24.x, r24.x
MESA: info: absneg.f r24.x, (last)(abs)r24.x
MESA: info: mov.u32u32 r12.x, (last)r30.w
MESA: info: mad.f32 r3.w, c14.y, r3.z, c14.z
MESA: info: mov.u32u32 r12.y, (last)r31.x
MESA: info: mov.u32u32 r12.z, (last)r31.y
MESA: info: mad.f32 r3.w, (last)r3.w, r3.z, c14.w
MESA: info: mov.u32u32 r12.w, (last)r31.z
MESA: info: mov.u32u32 r13.x, (last)r31.w
MESA: info: mad.f32 r3.w, (last)r3.w, r3.z, c15.x
MESA: info: mov.u32u32 r13.y, (last)r0.y
MESA: info: mov.u32u32 r13.z, (last)r0.z
MESA: info: mad.f32 r3.w, (last)r3.w, r3.z, c15.y
MESA: info: mov.u32u32 r13.w, (last)r0.w
MESA: info: mov.u32u32 r14.x, (last)r1.x
MESA: info: mad.f32 r3.w, (last)r3.w, r3.z, c15.z
MESA: info: mov.u32u32 r14.y, (last)r2.y
MESA: info: mov.u32u32 r14.z, (last)r2.z
MESA: info: mad.f32 r24.x, (last)r24.x, r3.w, r3.y
MESA: info: mov.u32u32 r14.w, (last)r2.w
MESA: info: mov.u32u32 r15.x, (last)r3.x
MESA: info: andg r24.x, (last)r24.x, r27.z, r1.w
MESA: info: mov.u32u32 r15.y, (last)r21.x
MESA: info: mov.u32u32 r15.z, (last)r21.y
MESA: info: add.f r26.z, (last)r26.z, r24.x
MESA: info: mov.u32u32 r15.w, (last)r21.z
MESA: info: mov.u32u32 r16.x, (last)r21.w
MESA: info: absneg.f r4.y, (neg)r26.z
MESA: info: mov.u32u32 r16.y, r24.w
MESA: info: mov.u32u32 r16.z, r25.x
MESA: info: sel.b32 r4.y, (last)r4.y, r24.y, (last)r26.z
MESA: info: mov.u32u32 r16.w, r25.y
MESA: info: mov.u32u32 r17.x, r25.z
MESA: info: add.f r4.y, c0.y, (last)(neg)r4.y
MESA: info: cov.u32s16 hr2.z, r1.y
MESA: info: nop
MESA: info: mad.f32 r4.y, c19.x, r4.y, c19.y
MESA: info: shl.b hr8.x, hr2.z, h(1)
MESA: info: mull.u hr2.z, (last)hr2.z, h(3)
MESA: info: cov.f32s32 r4.y, (last)r4.y
MESA: info: (rpt1)nop
MESA: info: and.b r4.z, r4.y, c17.x
MESA: info: (nop1) shr.b r4.w, r4.y, 16
MESA: info: mull.u r6.x, r4.z, c18.z
MESA: info: mull.u r5.x, r4.z, c17.y
MESA: info: mull.u r5.y, r4.z, c18.y
MESA: info: mull.u r5.z, r4.w, c17.y
MESA: info: mull.u r5.w, r4.w, c18.y
MESA: info: madsh.m16 r20.w, r4.z, r20.w, r6.x
MESA: info: madsh.m16 r5.x, c17.y, r4.z, (last)r5.x
MESA: info: madsh.m16 r5.y, c18.y, r4.z, (last)r5.y
MESA: info: madsh.m16 r5.z, c17.y, r4.w, (last)r5.z
MESA: info: madsh.m16 r5.w, c18.y, r4.w, (last)r5.w
MESA: info: madsh.m16 r4.z, c18.z, r4.z, (last)r20.w
MESA: info: madsh.m16 r4.w, (last)r4.w, r0.x, c13.y
MESA: info: shr.b r5.y, (last)r5.y, 16
MESA: info: cmps.u.lt hr10.x, r4.z, r5.x
MESA: info: add.u r4.w, r4.z, (last)r4.w
MESA: info: shr.b r5.z, (last)r5.z, 16
MESA: info: cov.u16s32 r6.y, hr10.x
MESA: info: (nop1) cmps.u.lt hr9.z, r4.w, r4.z
MESA: info: sad.s32 r5.w, (last)r5.w, r6.y, r5.y
MESA: info: cov.u16s32 r6.z, hr9.z
MESA: info: (rpt1)nop
MESA: info: (nop2) sad.s32 r5.w, (last)r5.w, r6.z, r5.z
MESA: info: (nop2) shr.b r5.w, (last)r5.w, 2
MESA: info: (nop1) mull.u r6.w, r5.w, 6
MESA: info: (nop2) madsh.m16 r5.w, c19.z, r5.w, r6.w
MESA: info: (nop2) sub.u r4.y, (last)r4.y, r5.w
MESA: info: cov.u32s16 hr8.z, r4.y
MESA: info: (rpt1)nop
MESA: info: (nop2) shl.b hr8.z, (last)hr8.z, h(2)
MESA: info: mova a0.x, hr8.z
MESA: info: (rpt4)nop
MESA: info: mov.u32u32 r7.x, r<a0.x + 41>
MESA: info: mov.u32u32 r7.y, r<a0.x + 42>
MESA: info: mov.u32u32 r7.z, r<a0.x + 43>
MESA: info: (ul)mov.u32u32 r7.w, r<a0.x + 44>
MESA: info: mova a0.x, hr8.x
MESA: info: (rpt1)cmps.f.lt hr16.x, (r)r7.x, (r)r7.z
MESA: info: add.f r10.z, r7.z, (neg)r7.x
MESA: info: add.f r10.w, r7.w, (neg)r7.y
MESA: info: cmps.s.eq r10.y, hr16.x, hr16.y
MESA: info: mov.u32u32 r8.y, r7.x
MESA: info: mov.u32u32 r8.z, r7.y
MESA: info: sel.b32 r10.z, (last)r10.z, r10.y, c13.y
MESA: info: (nop1) sel.b32 r10.y, c13.y, r10.y, (last)r10.w
MESA: info: add.f r7.x, (last)r7.x, r10.z
MESA: info: add.f r7.y, (last)r7.y, r10.y
MESA: info: add.f r10.z, r7.z, (last)(neg)r10.z
MESA: info: add.f r10.y, r7.w, (last)(neg)r10.y
MESA: info: mov.u32u32 r8.w, r7.x
MESA: info: mov.u32u32 r9.x, r7.y
MESA: info: mov.u32u32 r9.y, (last)r10.z
MESA: info: mov.u32u32 r9.z, (last)r10.y
MESA: info: mov.u32u32 r9.w, r7.z
MESA: info: mov.u32u32 r10.x, r7.w
MESA: info: (rpt1)nop
MESA: info: mov.u32u32 r11.y, r<a0.x + 33>
MESA: info: (ul)mov.u32u32 r11.z, r<a0.x + 34>
MESA: info: mova a0.x, hr2.z
MESA: info: (rpt4)nop
MESA: info: mov.u32u32 r11.w, r<a0.x + 69>
MESA: info: mov.u32u32 r12.x, r<a0.x + 70>
MESA: info: (ul)mov.u32u32 r17.y, r<a0.x + 71>
MESA: info: nop
MESA: info: mul.f r12.y, c9.x, r12.x
MESA: info: mul.f r13.z, c9.y, r12.x
MESA: info: (rpt1)mul.f r13.w, (r)c9.z, (last)r12.x
MESA: info: mad.f32 r12.y, c8.x, r11.w, (last)r12.y
MESA: info: mad.f32 r13.z, c8.y, r11.w, (last)r13.z
MESA: info: (rpt1)mad.f32 r13.w, (r)c8.z, r11.w, (r)(last)r13.w
MESA: info: mad.f32 r13.w, c10.z, r17.y, (last)r13.w
MESA: info: mad.f32 r12.y, c10.x, r17.y, (last)r12.y
MESA: info: mad.f32 r13.z, c10.y, r17.y, (last)r13.z
MESA: info: mad.f32 r17.y, c10.w, r17.y, (last)r14.x
MESA: info: add.f r13.x, (last)r13.w, c11.z
MESA: info: add.f r12.z, (last)r12.y, c11.x
MESA: info: add.f r12.w, (last)r13.z, c11.y
MESA: info: add.f r13.y, (last)r17.y, c11.w
MESA: info: mad.f32 r11.x, c10.z, (neg)r26.x, r13.x
MESA: info: predf
MESA: info: (rpt4)nop
MESA: info: (rpt1)cmps.f.lt hr33.z, (r)r24.w, (r)r25.y
MESA: info: mul.f r14.y, r24.y, r22.y
MESA: info: mul.f r14.z, r24.y, r22.w
MESA: info: cov.u32s16 hr2.z, (last)r1.y
MESA: info: mul.f r22.y, (last)r22.y, r24.x
MESA: info: mul.f r22.w, (last)r22.w, r24.x
MESA: info: add.f r17.y, r25.y, (neg)r24.w
MESA: info: cmps.s.eq r17.x, (last)hr33.z, (last)hr33.w
MESA: info: mad.f32 r14.w, r22.x, r24.x, (neg)r14.y
MESA: info: mad.f32 r15.x, r22.z, r24.x, (neg)(last)r14.y
MESA: info: mad.f32 r15.y, r22.x, r24.x, (neg)r14.z
MESA: info: mad.f32 r15.z, r22.z, r24.x, (neg)(last)r14.z
MESA: info: mad.f32 r15.w, r22.x, r24.y, r22.y
MESA: info: mad.f32 r16.x, r22.z, r24.y, (last)r22.y
MESA: info: mad.f32 r16.y, r22.x, r24.y, r22.w
MESA: info: mad.f32 r16.z, r22.z, r24.y, (last)r22.w
MESA: info: mad.f32 r22.x, (last)r22.x, r24.z, r23.w
MESA: info: mad.f32 r22.z, (last)r22.z, r24.z, (last)r23.w
MESA: info: add.f r17.z, r25.z, (neg)r25.x
MESA: info: shl.b hr35.z, hr2.z, h(1)
MESA: info: sel.b32 r17.y, (last)r17.y, r17.x, c13.y
MESA: info: (rpt1)mad.f32 r14.w, r20.y, (r)r14.w, r1.z
MESA: info: (rpt1)mad.f32 r15.y, r20.y, (r)r15.y, (last)r1.z
MESA: info: (rpt1)mad.f32 r15.w, r20.y, (r)r15.w, r1.w
MESA: info: (rpt1)mad.f32 r16.y, (last)r20.y, (r)r16.y, (last)r1.w
MESA: info: mad.f32 r22.x, r26.y, r22.x, r2.x
MESA: info: sel.b32 r17.x, c13.y, r17.x, (last)r17.z
MESA: info: mad.f32 r26.y, (last)r26.y, r22.z, (last)r2.x
MESA: info: mova a0.x, (last)hr35.z
MESA: info: mov.u32u32 r5.y, (last)r14.w
MESA: info: mov.u32u32 r5.z, (last)r15.w
MESA: info: mov.u32u32 r5.w, r22.x
MESA: info: mov.u32u32 r6.x, (last)r15.x
MESA: info: mov.u32u32 r6.y, (last)r16.x
MESA: info: mov.u32u32 r6.z, r26.y
MESA: info: mov.u32u32 r6.w, (last)r15.y
MESA: info: mov.u32u32 r7.x, (last)r16.y
MESA: info: mov.u32u32 r7.y, (last)r22.x
MESA: info: mov.u32u32 r7.z, (last)r15.z
MESA: info: mov.u32u32 r7.w, (last)r16.z
MESA: info: mov.u32u32 r8.x, (last)r26.y
MESA: info: mov.u32u32 r3.y, r24.w
MESA: info: add.f r24.w, (last)r24.w, r17.y
MESA: info: mov.u32u32 r3.z, r25.x
MESA: info: add.f r17.y, r25.y, (last)(neg)r17.y
MESA: info: add.f r25.x, (last)r25.x, r17.x
MESA: info: add.f r17.x, r25.z, (last)(neg)r17.x
MESA: info: mull.u hr2.z, (last)hr2.z, h(3)
MESA: info: mov.u32u32 r3.w, (last)r24.w
MESA: info: mov.u32u32 r4.x, (last)r25.x
MESA: info: mov.u32u32 r4.y, (last)r17.y
MESA: info: mov.u32u32 r4.z, (last)r17.x
MESA: info: mov.u32u32 r4.w, (last)r25.y
MESA: info: mov.u32u32 r5.x, (last)r25.z
MESA: info: (rpt1)nop
MESA: info: mov.u32u32 r11.y, r<a0.x + 13>
MESA: info: (ul)mov.u32u32 r11.z, r<a0.x + 14>
MESA: info: mova a0.x, (last)hr2.z
MESA: info: (rpt4)nop
MESA: info: mov.u32u32 r18.x, r<a0.x + 21>
MESA: info: mov.u32u32 r18.y, r<a0.x + 22>
MESA: info: (ul)mov.u32u32 r5.y, r<a0.x + 23>
MESA: info: nop
MESA: info: mul.f r18.z, c9.x, r18.y
MESA: info: mul.f r18.w, c9.y, r18.y
MESA: info: (rpt1)mul.f r19.x, (r)c9.z, (last)r18.y
MESA: info: mad.f32 r18.z, c8.x, r18.x, (last)r18.z
MESA: info: mad.f32 r18.w, c8.y, r18.x, (last)r18.w
MESA: info: (rpt1)mad.f32 r19.x, (r)c8.z, r18.x, (r)(last)r19.x
MESA: info: mad.f32 r19.x, c10.z, r5.y, (last)r19.x
MESA: info: mad.f32 r18.z, c10.x, r5.y, (last)r18.z
MESA: info: mad.f32 r18.w, c10.y, r5.y, (last)r18.w
MESA: info: mad.f32 r5.y, c10.w, r5.y, (last)r19.y
MESA: info: add.f r13.x, (last)r19.x, c11.z
MESA: info: add.f r12.z, (last)r18.z, c11.x
MESA: info: add.f r12.w, (last)r18.w, c11.y
MESA: info: add.f r13.y, (last)r5.y, c11.w
MESA: info: mad.f32 r11.x, c10.z, (neg)r26.x, r13.x
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: jump #l527
MESA: info: l523:
MESA: info: (jp)mov.u32u32 r13.y, 0
MESA: info: mov.u32u32 r13.x, 0
MESA: info: mov.u32u32 r12.z, 0
MESA: info: mov.u32u32 r12.w, 0
MESA: info: l527:
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r12.z (VARYING_SLOT_POS) r11.x (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (SYSTEM_VALUE_VERTEX_ID slot=9 cm=1,il=0,b=0)
MESA: info: ; VERT prog 98/3: 557 instr, 95 nops, 462 non-nops, 97 mov, 12 cov, 1064 dwords
MESA: info: ; VERT prog 98/3: 0 last-baryf, 0 last-helper, 0 half, 32 full, 20 constlen
MESA: info: ; VERT prog 98/3: 101 cat0, 109 cat1, 216 cat2, 112 cat3, 5 cat4, 2 cat5, 12 cat6, 0 cat7
MESA: info: ; VERT prog 98/3: 27 sstall, 11 (ss), 79 systall, 2 (sy), 0 loops
MESA: info: ; VERT prog 98/3: 6 max_waves, 0 double_threadsize
MESA: info: ; 64 preamble-instr, 1 early-preamble
MESA: info: ; pos: r12.z
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xdaaaa28d, 0x5ebb97fd, 0x81850d25, 0x6f2baa35, 0x7980bde6, 0xd8482bb2, 0x14233fe3, 0x4656aa9c}
MESA: info: inputs_read: 15-18
MESA: info: outputs_written: 0
MESA: info: system_values_read: 0x00000000'00000000'00000000'00000200
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 4
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #1 (VERT_ATTRIB_GENERIC1.xyz, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #2 (VERT_ATTRIB_GENERIC2.xyz, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #3 (VERT_ATTRIB_GENERIC3.xyz, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #4 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec3 #5 (VARYING_SLOT_VAR0.xyz, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #6
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     decl_var  INTERP_MODE_NONE none vec2[4] #7
MESA: info:     decl_var  INTERP_MODE_NONE none vec3[4] #8
MESA: info:     decl_var  INTERP_MODE_NONE none vec4[7] #9
MESA: info:     decl_var  INTERP_MODE_NONE none vec2[4] #10
MESA: info:     decl_var  INTERP_MODE_NONE none vec3[4] #11
MESA: info:     con block b0:         // preds:
MESA: info:     div 32       %0 = @decl_reg (num_components=2, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %1 = @decl_reg (num_components=3, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %2 = @decl_reg (num_components=2, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %3 = @decl_reg (num_components=4, num_array_elems=7, bit_size=32, divergent=1)
MESA: info:     div 32       %4 = @decl_reg (num_components=3, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     con 1        %5 = @preamble_start_ir3
MESA: info:                       // succs: b1 b5
MESA: info:     if %5 {
MESA: info:         con block b1:         // preds: b0
MESA: info:         div 1        %6 = @elect_any_ir3
MESA: info:                           // succs: b2 b3
MESA: info:         if %6 {
MESA: info:             div block b2:         // preds: b1
MESA: info:             con 32       %7 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32       %8 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32      %10 = @bindless_resource_ir3 (%7 (0.000000)) (desc_set=1)
MESA: info:             con 32     %764 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32     %713 = @load_ubo_vec4 (%10, %764 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %12 = load_const (0x3f800000 = 1.000000 = 1065353216)
MESA: info:             con 32      %13 = frcp %713
MESA: info:                               @store_const_ir3 (%13) (base=0)
MESA: info:             con 32      %14 = @bindless_resource_ir3 (%8 (0x4)) (desc_set=1)
MESA: info:             con 32x2   %716 = @load_ubo_vec4 (%14, %7 (0.000000)) (access=speculatable, base=0, component=0)
MESA: info:             con 1       %16 = fge! %7 (0.000000), %716.x
MESA: info:             con 32x2  %1220 = fabs %716
MESA: info:             con 32      %19 = bcsel %16, %1220.x, %716.y
MESA: info:             con 32      %20 = bcsel %16, %716.y, %1220.x
MESA: info:             con 32      %21 = fabs %20
MESA: info:             con 32      %22 = load_const (0x5d5e0b6b = 1.000000e+18)
MESA: info:             con 1       %23 = fge! %21, %22 (1.000000e+18)
MESA: info:             con 32      %24 = load_const (0x3e800000 = 0.250000)
MESA: info:             con 32      %25 = bcsel %23, %24 (0x3e800000), %12 (0x3f800000)
MESA: info:             con 32      %26 = fmul %20, %25
MESA: info:             con 32      %27 = frcp %26
MESA: info:             con 32      %28 = fmul %19, %25
MESA: info:             con 32      %29 = fabs %28
MESA: info:             con 32      %30 = fabs %27
MESA: info:             con 32      %31 = fmul %29, %30
MESA: info:             con 1       %32 = feq! %1220.x, %1220.y
MESA: info:             con 32      %33 = bcsel %32, %12 (0x3f800000), %31
MESA: info:             con 1       %34 = fge! %12 (1.000000), %33
MESA: info:             con 32      %35 = frcp %33
MESA: info:             con 32      %36 = bcsel %34, %33, %35
MESA: info:             con 32      %37 = fmul %36, %36
MESA: info:             con 32      %38 = load_const (0xbc46c6a5 = -0.012132)
MESA: info:             con 32      %40 = load_const (0x3d5be101 = 0.053681)
MESA: info:             con 32    %1217 = ffma %38 (-0.012132), %37, %40 (0.053681)
MESA: info:             con 32      %43 = load_const (0xbdf0555d = -0.117350)
MESA: info:             con 32    %1216 = ffma %1217, %37, %43 (-0.117350)
MESA: info:             con 32      %46 = load_const (0x3e468bc1 = 0.193892)
MESA: info:             con 32    %1215 = ffma %1216, %37, %46 (0.193892)
MESA: info:             con 32      %49 = load_const (0xbeaa5476 = -0.332676)
MESA: info:             con 32    %1214 = ffma %1215, %37, %49 (-0.332676)
MESA: info:             con 32      %52 = load_const (0x3f7ffea5 = 0.999979)
MESA: info:             con 32    %1213 = ffma %1214, %37, %52 (0.999979)
MESA: info:             con 32      %54 = load_const (0xbfc90fdb = -1.570796)
MESA: info:             con 32      %55 = bcsel %34, %7 (0x0), %54 (0xbfc90fdb)
MESA: info:             con 32      %56 = fabs %36
MESA: info:             con 32    %1212 = ffma %56, %1213, %55
MESA: info:             con 32      %59 = load_const (0x7fffffff = 2147483647)
MESA: info:             con 32      %61 = load_const (0x80000000 = -2147483648 = 2147483648)
MESA: info:             con 32      %62 = iand %33, %61 (0x80000000)
MESA: info:             con 32    %1219 = andg_ir3 %1212, %59 (0x7fffffff), %62
MESA: info:             con 32      %64 = load_const (0x3fc90fdb = 1.570796)
MESA: info:             con 32      %65 = bcsel %16, %64 (0x3fc90fdb), %7 (0x0)
MESA: info:             con 32      %66 = fadd %65, %1219
MESA: info:             con 32      %67 = fmin %716.y, %27
MESA: info:             con 1       %68 = flt! %67, %7 (0.000000)
MESA: info:             con 32      %69 = fneg %66
MESA: info:             con 32      %70 = bcsel %68, %69, %66
MESA: info:             con 32      %71 = load_const (0x3f060a92 = 0.523599)
MESA: info:             con 32      %72 = fadd %70, %71 (0.523599)
MESA: info:                               @store_const_ir3 (%72) (base=1)
MESA: info:             con 32      %74 = fmul %716.y, %716.y
MESA: info:             con 32    %1211 = ffma %716.x, %716.x, %74
MESA: info:             con 32      %76 = frsq %1211
MESA: info:             con 32x2  %1221 = fmul %716.yx, %76.xx
MESA: info:             con 32    %1222 = mov %1221.x
MESA: info:             con 32    %1223 = mov %1221.y
MESA: info:                               @store_const_ir3 (%1222) (base=2)
MESA: info:                               @store_const_ir3 (%1223) (base=3)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%10, %764 (0x18)) (base=16, range=4)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%10, %7 (0.000000)) (base=32, range=4)
MESA: info:             con 32      %85 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %86 = @bindless_resource_ir3 (%85 (0x1)) (desc_set=3)
MESA: info:                               @prefetch_tex_ir3 (%86)
MESA: info:             con 32      %88 = @bindless_resource_ir3 (%7 (0.000000)) (desc_set=3)
MESA: info:                               @prefetch_tex_ir3 (%88)
MESA: info:             con 32      %89 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %90 = @bindless_resource_ir3 (%89 (0x2)) (desc_set=1)
MESA: info:                               @prefetch_ubo_ir3 (%90)
MESA: info:                               @preamble_end_ir3
MESA: info:                               // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:         // preds: b4 b5
MESA: info:     con 32     %113 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x3   %114 = @load_input (%113 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3   %115 = @load_input (%113 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3   %116 = @load_input (%113 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3   %117 = @load_input (%113 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32     %121 = @load_vertex_id
MESA: info:     con 32     %122 = load_const (0x00000006)
MESA: info:     con 32     %123 = load_const (0x00000010 = 16)
MESA: info:     con 32     %124 = load_const (0x0000ffff = 65535)
MESA: info:     div 32     %125 = iand %121, %124 (0xffff)
MESA: info:     div 32     %127 = ushr %121, %123 (0x10)
MESA: info:     con 32x3  %1232 = load_const (0x0000aaab, 0x0000aaaa, 0xaaaaaaab) = (+43691, +43690, -1431655765) = (43691, 43690, 2863311531)
MESA: info:     div 32x3  %1233 = umul_low %125.xxx, %1232 (0xaaab, 0xaaaa, 0xaaaaaaab)
MESA: info:     con 32x2  %1226 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1227 = imadsh_mix16 %1226 (0xaaab, 0xaaaa), %125.xx, %1233.xy
MESA: info:     con 32x2  %1228 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1229 = umul_low %127.xx, %1228 (0xaaab, 0xaaaa)
MESA: info:     con 32x2  %1230 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1231 = imadsh_mix16 %1230 (0xaaab, 0xaaaa), %127.xx, %1229
MESA: info:     con 32     %133 = load_const (0xaaaaaaab = -1431655765 = 2863311531)
MESA: info:     div 32     %934 = imadsh_mix16 %125, %133 (0xaaaaaaab), %1233.z
MESA: info:     div 32     %935 = imadsh_mix16 %133 (0xaaaaaaab), %125, %934
MESA: info:     div 1      %135 = ult %935, %1227.x
MESA: info:     div 32     %136 = b2i32 %135
MESA: info:     div 32     %138 = ushr %1227.y, %123 (0x10)
MESA: info:     div 32     %874 = iadd3 %1231.y, %136, %138
MESA: info:     con 32     %140 = load_const (0xaaab0000 = -1431633920 = 2863333376)
MESA: info:     con 32    %1110 = load_const (0x00000000)
MESA: info:     div 32     %931 = imadsh_mix16 %127, %140 (0xaaab0000), %1110 (0x0)
MESA: info:     div 32     %142 = iadd %935, %931
MESA: info:     div 1      %143 = ult %142, %935
MESA: info:     div 32     %144 = b2i32 %143
MESA: info:     div 32     %146 = ushr %1231.x, %123 (0x10)
MESA: info:     div 32     %873 = iadd3 %874, %144, %146
MESA: info:     con 32     %148 = load_const (0x00000002)
MESA: info:     con 32x2  %1234 = load_const (0x00000002, 0x00000003)
MESA: info:     div 32x2  %1235 = ushr %873.xx, %1234 (0x2, 0x3)
MESA: info:     con 32x2  %1236 = load_const (0x00000006, 0x0000000c) = (6, 12)
MESA: info:     div 32x2  %1237 = umul_low %1235, %1236 (0x6, 0xc)
MESA: info:     con 32x2  %1238 = load_const (0x00000006, 0x0000000c) = (6, 12)
MESA: info:     div 32x2  %1239 = imadsh_mix16 %1238 (0x6, 0xc), %1235, %1237
MESA: info:     div 32x2  %1240 = isub %121.xx, %1239
MESA: info:     div 32    %1241 = mov %1240.x
MESA: info:     div 1      %159 = ilt %1240.y, %122 (0x6)
MESA: info:     div 1      %160 = ilt %121, %113 (0x0)
MESA: info:     div 32     %161 = iabs %121
MESA: info:     div 32     %162 = iand %161, %124 (0xffff)
MESA: info:     div 32     %163 = ushr %161, %123 (0x10)
MESA: info:     con 32x3  %1250 = load_const (0x0000aaab, 0x00002aaa, 0x2aaaaaab) = (43691, 10922, 715827883)
MESA: info:     div 32x3  %1251 = umul_low %162.xxx, %1250 (0xaaab, 0x2aaa, 0x2aaaaaab)
MESA: info:     con 32x2  %1244 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1245 = imadsh_mix16 %1244 (0xaaab, 0x2aaa), %162.xx, %1251.xy
MESA: info:     con 32x2  %1246 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1247 = umul_low %163.xx, %1246 (0xaaab, 0x2aaa)
MESA: info:     con 32x2  %1248 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1249 = imadsh_mix16 %1248 (0xaaab, 0x2aaa), %163.xx, %1247
MESA: info:     con 32     %169 = load_const (0x2aaaaaab = 715827883)
MESA: info:     div 32     %910 = imadsh_mix16 %162, %169 (0x2aaaaaab), %1251.z
MESA: info:     div 32     %911 = imadsh_mix16 %169 (0x2aaaaaab), %162, %910
MESA: info:     div 1      %171 = ult %911, %1245.x
MESA: info:     div 32     %172 = b2i32 %171
MESA: info:     div 32     %174 = ushr %1245.y, %123 (0x10)
MESA: info:     div 32     %870 = iadd3 %1249.y, %172, %174
MESA: info:     con 32    %1105 = load_const (0x00000000)
MESA: info:     div 32     %907 = imadsh_mix16 %163, %140 (0xaaab0000), %1105 (0x0)
MESA: info:     div 32     %177 = iadd %911, %907
MESA: info:     div 1      %178 = ult %177, %911
MESA: info:     div 32     %179 = b2i32 %178
MESA: info:     div 32     %181 = ushr %1249.x, %123 (0x10)
MESA: info:     div 32     %869 = iadd3 %870, %179, %181
MESA: info:     con 32     %183 = load_const (0x00000001)
MESA: info:     div 32     %184 = inot %869
MESA: info:     div 32     %185 = inot %177
MESA: info:     div 32     %186 = iadd %185, %183 (0x1)
MESA: info:     div 1      %187 = ult %186, %185
MESA: info:     div 32     %188 = b2i32 %187
MESA: info:     div 32     %189 = iadd %184, %188
MESA: info:     div 32     %190 = bcsel %160, %189, %869
MESA: info:     div 32     %191 = ishr %190, %183 (0x1)
MESA: info:     con 32     %192 = load_const (0x0000001f = 31)
MESA: info:     div 32     %193 = ushr %191, %192 (0x1f)
MESA: info:     div 32     %194 = iadd %191, %193
MESA: info:     con 32     %195 = load_const (0x00000004)
MESA: info:     con 32x2  %1252 = load_const (0x00000004, 0x00000002)
MESA: info:     div 32x2  %1253 = ishl %194.xx, %1252 (0x4, 0x2)
MESA: info:     div 32    %1254 = mov %1253.x
MESA: info:     div 32    %1255 = mov %1253.y
MESA: info:     con 32     %197 = @bindless_resource_ir3 (%183 (0x1)) (desc_set=3)
MESA: info:     div 32x3   %756 = @load_ssbo_ir3 (%197, %1254, %1255) (base=0, access=readonly|reorderable|speculatable, align_mul=16, align_offset=0)
MESA: info:     div 32x3  %1257 = fmul %115, %756.yyy
MESA: info:     div 32x3  %1259 = ffma %114, %756.xxx, %1257
MESA: info:     div 32x3  %1261 = ffma %116, %756.zzz, %1259
MESA: info:     con 32     %214 = @bindless_resource_ir3 (%113 (0x0)) (desc_set=3)
MESA: info:     div 32x4   %760 = @load_ssbo_ir3 (%214, %1254, %1255) (base=0, access=readonly|reorderable|speculatable, align_mul=16, align_offset=0)
MESA: info:     div 32     %216 = f2i32 %760.w
MESA: info:     div 32x3  %1263 = fmul %115, %760.yyy
MESA: info:     div 32x3  %1265 = ffma %114, %760.xxx, %1263
MESA: info:     div 32x3  %1267 = ffma %116, %760.zzz, %1265
MESA: info:     div 32x3  %1269 = fadd %1267, %117
MESA: info:     div 32     %236 = fmul %1261.y, %1261.y
MESA: info:     div 32    %1196 = ffma %1261.z, %1261.z, %236
MESA: info:     div 32    %1195 = ffma %1261.x, %1261.x, %1196
MESA: info:     div 32     %240 = frsq %1195
MESA: info:     div 32x3  %1271 = fmul %1261, %240.xxx
MESA: info:     div 32     %244 = fsqrt %1195
MESA: info:     con 32     %245 = load_const (0x000000b0 = 176)
MESA: info:     div 32     %903 = umul_low %216, %245 (0xb0)
MESA: info:     div 32     %905 = imadsh_mix16 %245 (0xb0), %216, %903
MESA: info:     con 32     %247 = @bindless_resource_ir3 (%148 (0x2)) (desc_set=1)
MESA: info:     div 32     %718 = ushr %905, %195 (0x4)
MESA: info:     div 32x4   %719 = @load_ubo_vec4 (%247, %718) (access=speculatable, base=0, component=0)
MESA: info:     con 32x4  %1281 = load_const (0x00000010, 0x00000020, 0x00000030, 0x00000040) = (16, 32, 48, 64)
MESA: info:     div 32x4  %1282 = iadd %905.xxxx, %1281 (0x10, 0x20, 0x30, 0x40)
MESA: info:     div 32x4  %1283 = ushr %1282, %195 (0x4).xxxx
MESA: info:     div 32    %1284 = mov %1283.w
MESA: info:     div 32    %1280 = mov %1283.z
MESA: info:     div 32    %1275 = mov %1283.x
MESA: info:     div 32    %1276 = mov %1283.y
MESA: info:     div 32x4   %722 = @load_ubo_vec4 (%247, %1275) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4   %725 = @load_ubo_vec4 (%247, %1276) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4   %728 = @load_ubo_vec4 (%247, %1280) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4   %731 = @load_ubo_vec4 (%247, %1284) (access=speculatable, base=0, component=0)
MESA: info:     con 32x4  %1294 = load_const (0x00000050, 0x00000060, 0x00000070, 0x00000080) = (80, 96, 112, 128)
MESA: info:     div 32x4  %1295 = iadd %905.xxxx, %1294 (0x50, 0x60, 0x70, 0x80)
MESA: info:     div 32x4  %1296 = ushr %1295, %195 (0x4).xxxx
MESA: info:     div 32    %1297 = mov %1296.w
MESA: info:     div 32    %1293 = mov %1296.z
MESA: info:     div 32    %1288 = mov %1296.x
MESA: info:     div 32    %1289 = mov %1296.y
MESA: info:     div 32x4   %734 = @load_ubo_vec4 (%247, %1288) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4   %737 = @load_ubo_vec4 (%247, %1289) (access=speculatable, base=0, component=0)
MESA: info:     div 32x2   %740 = @load_ubo_vec4 (%247, %1293) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4   %743 = @load_ubo_vec4 (%247, %1297) (access=speculatable, base=0, component=0)
MESA: info:     con 32x2  %1298 = load_const (0x00000090, 0x000000a0) = (144, 160)
MESA: info:     div 32x2  %1299 = iadd %905.xx, %1298 (0x90, 0xa0)
MESA: info:     div 32x2  %1300 = ushr %1299, %195 (0x4).xx
MESA: info:     div 32    %1301 = mov %1300.x
MESA: info:     div 32    %1302 = mov %1300.y
MESA: info:     div 32x4   %746 = @load_ubo_vec4 (%247, %1301) (access=speculatable, base=0, component=0)
MESA: info:     div 32x3   %749 = @load_ubo_vec4 (%247, %1302) (access=speculatable, base=0, component=0)
MESA: info:     con 32x4   %286 = @load_const_ir3 (%113 (0x0)) (base=16)
MESA: info:     div 32x3  %1304 = fmul %244.xxx, %1271
MESA: info:     div 32x4  %1307 = fmul %746.xyxx, %1304.xxyz
MESA: info:     div 32x4  %1310 = fmul %749.xyxx, %1304.xxyz
MESA: info:     div 32     %298 = fmul %1304.y, %746.y
MESA: info:     div 32     %299 = fneg %298
MESA: info:     div 32     %300 = fmul %1304.y, %749.y
MESA: info:     div 32     %301 = fneg %300
MESA: info:     div 32     %302 = fmul %746.z, %244
MESA: info:     div 32     %303 = fmul %749.z, %244
MESA: info:     div 32x4  %1313 = fmin %1307, %1310
MESA: info:     div 32     %308 = fmin %299, %301
MESA: info:     div 32     %309 = fadd %1313.x, %308
MESA: info:     div 32     %310 = fadd %1313.z, %1313.y
MESA: info:     div 32     %311 = fmin %302, %303
MESA: info:     div 32     %312 = fadd %1313.w, %311
MESA: info:     div 32     %313 = fadd %309, %1269.x
MESA: info:     div 32     %314 = fadd %310, %1269.y
MESA: info:     div 32     %315 = fadd %312, %1269.z
MESA: info:     div 32x4  %1316 = fmax %1307, %1310
MESA: info:     div 32     %320 = fmax %299, %301
MESA: info:     div 32     %321 = fadd %1316.x, %320
MESA: info:     div 32     %322 = fadd %1316.z, %1316.y
MESA: info:     div 32     %323 = fmax %302, %303
MESA: info:     div 32     %324 = fadd %1316.w, %323
MESA: info:     div 32     %325 = fadd %321, %1269.x
MESA: info:     div 32     %326 = fadd %322, %1269.y
MESA: info:     div 32     %327 = fadd %324, %1269.z
MESA: info:     div 32     %328 = fmax %286.x, %313
MESA: info:     div 32     %329 = fmax %286.y, %314
MESA: info:     div 32     %330 = fmax %286.z, %315
MESA: info:     div 32     %331 = fmin %328, %325
MESA: info:     div 32     %332 = fmin %329, %326
MESA: info:     div 32     %333 = fmin %330, %327
MESA: info:     div 32    %1194 = fsub %286.x, %331
MESA: info:     div 32    %1193 = fsub %286.y, %332
MESA: info:     div 32    %1192 = fsub %286.z, %333
MESA: info:     div 32     %341 = fmul %1193, %1193
MESA: info:     div 32    %1191 = ffma %1192, %1192, %341
MESA: info:     div 32    %1190 = ffma %1194, %1194, %1191
MESA: info:     div 32     %345 = fsqrt %1190
MESA: info:     con 32     %348 = @load_const_ir3 (%113 (0x0)) (base=0)
MESA: info:     con 32     %349 = load_const (0x00000b00 = 2816)
MESA: info:     div 32     %350 = ishl %216, %195 (0x4)
MESA: info:     div 32     %351 = iadd %350, %349 (0xb00)
MESA: info:     div 32     %751 = ushr %351, %195 (0x4)
MESA: info:     div 32x2   %752 = @load_ubo_vec4 (%247, %751) (access=speculatable, base=0, component=0)
MESA: info:     div 32     %354 = fmul %752.y, %348
MESA: info:     div 32     %355 = fneg %345
MESA: info:     div 32    %1189 = ffma %752.x, %286.w, %355
MESA: info:     con 32     %357 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32     %358 = fmul %357 (2.000000), %1189
MESA: info:     div 32     %359 = fmul %358, %354
MESA: info:     div 32     %360 = fsat %359
MESA: info:     div 1      %361 = flt! %113 (0.000000), %360
MESA: info:                       // succs: b7 b11
MESA: info:     if %361 {
MESA: info:         div block b7:         // preds: b6
MESA: info:         div 32     %362 = fmul %244, %360
MESA: info:         con 32     %368 = @load_const_ir3 (%113 (0x0)) (base=42)
MESA: info:                           // succs: b8 b9
MESA: info:         if %159 {
MESA: info:             div block b8:         // preds: b7
MESA: info:             con 32     %346 = load_const (0x3f800000 = 1.000000 = 1065353216)
MESA: info:             con 32     %370 = load_const (0x5d5e0b6b = 1.000000e+18)
MESA: info:             con 32     %371 = load_const (0x3e800000 = 0.250000)
MESA: info:             con 32     %372 = load_const (0xbc46c6a5 = -0.012132)
MESA: info:             con 32     %373 = load_const (0x3d5be101 = 0.053681)
MESA: info:             con 32     %374 = load_const (0xbdf0555d = -0.117350)
MESA: info:             con 32     %375 = load_const (0x3e468bc1 = 0.193892)
MESA: info:             con 32     %376 = load_const (0xbeaa5476 = -0.332676)
MESA: info:             con 32     %377 = load_const (0x3f7ffea5 = 0.999979)
MESA: info:             con 32     %378 = load_const (0xbfc90fdb = -1.570796)
MESA: info:             con 32     %379 = load_const (0x7fffffff = 2147483647)
MESA: info:             con 32     %380 = load_const (0x80000000 = -2147483648 = 2147483648)
MESA: info:             con 32     %381 = load_const (0x3fc90fdb = 1.570796)
MESA: info:             div 1      %382 = fge! %113 (0.000000), %1271.x
MESA: info:             div 32x2  %1317 = fabs %1271.xy
MESA: info:             div 32     %384 = bcsel %382, %1317.x, %1271.y
MESA: info:             div 32     %385 = bcsel %382, %1271.y, %1317.x
MESA: info:             div 32     %386 = fabs %385
MESA: info:             div 1      %387 = fge! %386, %370 (1.000000e+18)
MESA: info:             div 32     %388 = bcsel %387, %371 (0x3e800000), %346 (0x3f800000)
MESA: info:             div 32     %389 = fmul %385, %388
MESA: info:             div 32     %390 = frcp %389
MESA: info:             div 32     %391 = fmul %384, %388
MESA: info:             div 32     %392 = fabs %391
MESA: info:             div 32     %393 = fabs %390
MESA: info:             div 32     %394 = fmul %392, %393
MESA: info:             div 1      %396 = feq! %1317.x, %1317.y
MESA: info:             div 32     %397 = bcsel %396, %346 (0x3f800000), %394
MESA: info:             div 1      %398 = fge! %346 (1.000000), %397
MESA: info:             div 32     %399 = frcp %397
MESA: info:             div 32     %400 = bcsel %398, %397, %399
MESA: info:             div 32     %401 = fmul %400, %400
MESA: info:             div 32    %1188 = ffma %372 (-0.012132), %401, %373 (0.053681)
MESA: info:             div 32    %1187 = ffma %1188, %401, %374 (-0.117350)
MESA: info:             div 32    %1186 = ffma %1187, %401, %375 (0.193892)
MESA: info:             div 32    %1185 = ffma %1186, %401, %376 (-0.332676)
MESA: info:             div 32    %1184 = ffma %1185, %401, %377 (0.999979)
MESA: info:             div 32     %412 = bcsel %398, %113 (0x0), %378 (0xbfc90fdb)
MESA: info:             div 32     %413 = fabs %400
MESA: info:             div 32    %1183 = ffma %413, %1184, %412
MESA: info:             div 32     %417 = iand %397, %380 (0x80000000)
MESA: info:             div 32    %1218 = andg_ir3 %1183, %379 (0x7fffffff), %417
MESA: info:             div 32     %419 = bcsel %382, %381 (0x3fc90fdb), %113 (0x0)
MESA: info:             div 32     %420 = fadd %419, %1218
MESA: info:             div 32     %421 = fmin %1271.y, %390
MESA: info:             div 1      %422 = flt! %421, %113 (0.000000)
MESA: info:             div 32     %423 = fneg %420
MESA: info:             div 32     %424 = bcsel %422, %423, %420
MESA: info:             con 32     %426 = @load_const_ir3 (%113 (0x0)) (base=1)
MESA: info:             div 32    %1182 = fsub %426, %424
MESA: info:             con 32     %429 = load_const (0x3f747644 = 0.954930)
MESA: info:             con 32     %431 = load_const (0x41400000 = 12.000000)
MESA: info:             div 32    %1181 = ffma %429 (0.954930), %1182, %431 (12.000000)
MESA: info:             div 32     %433 = f2i32 %1181
MESA: info:             div 32     %434 = iand %433, %124 (0xffff)
MESA: info:             div 32     %435 = ushr %433, %123 (0x10)
MESA: info:             con 32x3  %1326 = load_const (0x0000aaab, 0x0000aaaa, 0xaaaaaaab) = (+43691, +43690, -1431655765) = (43691, 43690, 2863311531)
MESA: info:             div 32x3  %1327 = umul_low %434.xxx, %1326 (0xaaab, 0xaaaa, 0xaaaaaaab)
MESA: info:             con 32x2  %1320 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1321 = imadsh_mix16 %1320 (0xaaab, 0xaaaa), %434.xx, %1327.xy
MESA: info:             con 32x2  %1322 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1323 = umul_low %435.xx, %1322 (0xaaab, 0xaaaa)
MESA: info:             con 32x2  %1324 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1325 = imadsh_mix16 %1324 (0xaaab, 0xaaaa), %435.xx, %1323
MESA: info:             div 32     %889 = imadsh_mix16 %434, %133 (0xaaaaaaab), %1327.z
MESA: info:             div 32     %890 = imadsh_mix16 %133 (0xaaaaaaab), %434, %889
MESA: info:             div 1      %441 = ult %890, %1321.x
MESA: info:             div 32     %442 = b2i32 %441
MESA: info:             div 32     %444 = ushr %1321.y, %123 (0x10)
MESA: info:             div 32     %840 = iadd3 %1325.y, %442, %444
MESA: info:             con 32    %1048 = load_const (0x00000000)
MESA: info:             div 32     %886 = imadsh_mix16 %435, %140 (0xaaab0000), %1048 (0x0)
MESA: info:             div 32     %447 = iadd %890, %886
MESA: info:             div 1      %448 = ult %447, %890
MESA: info:             div 32     %449 = b2i32 %448
MESA: info:             div 32     %451 = ushr %1325.x, %123 (0x10)
MESA: info:             div 32     %839 = iadd3 %840, %449, %451
MESA: info:             div 32     %453 = ushr %839, %148 (0x2)
MESA: info:             div 32     %882 = umul_low %453, %122 (0x6)
MESA: info:             div 32     %884 = imadsh_mix16 %122 (0x6), %453, %882
MESA: info:             div 32    %1180 = isub %433, %884
MESA: info:             con 32     %458 = @load_const_ir3 (%113 (0x0)) (base=2)
MESA: info:             con 32     %460 = @load_const_ir3 (%113 (0x0)) (base=3)
MESA: info:             con 32x2  %1328 = load_const (0xbf000000, 0x3f000000) = (-0.500000, 0.500000)
MESA: info:             div 32x2  %1329 = fmul %1328 (-0.500000, 0.500000), %740.xx
MESA: info:             div 32x2  %1330 = fmul %458.xx, %1329
MESA: info:             div 32x2  %1331 = fmul %1329, %460.xx
MESA: info:             div 32x2  %1332 = fneg %1330
MESA: info:             div 32x2  %1333 = ffma %1332, %362.xx, %1269.xx
MESA: info:             div 32x2  %1334 = ffma %362.xx, %1331, %1269.yy
MESA: info:             div 32x3   %478 = vec3 %1333.x, %1334.x, %1269.z
MESA: info:             div 32x3   %479 = vec3 %1333.y, %1334.y, %1269.z
MESA: info:             div 32    %1173 = ffma %244, %740.y, %1269.z
MESA: info:             div 32x3   %482 = vec3 %1333.x, %1334.x, %1173
MESA: info:             div 32x3   %483 = vec3 %1333.y, %1334.y, %1173
MESA: info:                               @store_reg (%478, %4) (base=0, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%479, %4) (base=1, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%482, %4) (base=2, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%483, %4) (base=3, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%719, %3) (base=0, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%722, %3) (base=1, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%725, %3) (base=2, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%728, %3) (base=3, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%731, %3) (base=4, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%734, %3) (base=5, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%737, %3) (base=6, wrmask=xyzw, legacy_fsat=0)
MESA: info:             div 32x4   %500 = @load_reg_indirect (%3, %1180) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             div 32x2   %501 = vec2 %500.x, %500.y
MESA: info:             div 32x2   %502 = vec2 %500.z, %500.w
MESA: info:             div 1x2   %1335 = flt! %500.xy, %500.zw
MESA: info:             div 1      %505 = ieq %1335.x, %1335.y
MESA: info:             div 32x2  %1336 = fsub %500.zw, %500.xy
MESA: info:             div 32     %510 = bcsel %505, %1336.x, %113 (0x0)
MESA: info:             div 32     %511 = bcsel %505, %113 (0x0), %1336.y
MESA: info:             div 32     %512 = fadd %500.x, %510
MESA: info:             div 32     %513 = fadd %500.y, %511
MESA: info:             div 32x2   %514 = vec2 %512, %513
MESA: info:             div 32    %1170 = fsub %500.z, %510
MESA: info:             div 32    %1169 = fsub %500.w, %511
MESA: info:             div 32x2   %519 = vec2 %1170, %1169
MESA: info:                               @store_reg (%501, %2) (base=0, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%514, %2) (base=1, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%519, %2) (base=2, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%502, %2) (base=3, wrmask=xy, legacy_fsat=0)
MESA: info:             div 32x3   %530 = @load_reg_indirect (%4, %1241) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             con 32x4   %533 = @load_const_ir3 (%113 (0x0)) (base=32)
MESA: info:             con 32x4   %540 = @load_const_ir3 (%113 (0x0)) (base=36)
MESA: info:             div 32x4  %1339 = fmul %540, %530.yyyy
MESA: info:             div 32x4  %1342 = ffma %533, %530.xxxx, %1339
MESA: info:             con 32x2   %551 = @load_const_ir3 (%113 (0x0)) (base=40)
MESA: info:             con 32     %554 = @load_const_ir3 (%113 (0x0)) (base=43)
MESA: info:             div 32x2  %1343 = ffma %551, %530.zz, %1342.xy
MESA: info:             div 32    %1162 = ffma %554, %530.z, %1342.w
MESA: info:             div 32    %1161 = ffma %368, %530.z, %1342.z
MESA: info:             con 32x4   %565 = @load_const_ir3 (%113 (0x0)) (base=44)
MESA: info:             div 32x2  %1344 = fadd %1343, %565.xy
MESA: info:             div 32x2  %1377 = mov %1344.yx
MESA: info:             div 32     %568 = fadd %1162, %565.w
MESA: info:             div 32     %569 = fadd %1161, %565.z
MESA: info:                               // succs: b10
MESA: info:         } else {
MESA: info:             div block b9:         // preds: b7
MESA: info:             div 32x2  %1347 = fmul %743.yw, %1271.xx
MESA: info:             div 32x2  %1348 = fmul %1271.yy, %743.yw
MESA: info:             div 32x2  %1350 = fneg %1348
MESA: info:             div 32x4  %1352 = ffma %743.xzxz, %1271.xxxx, %1350.xxyy
MESA: info:             div 32x4  %1355 = ffma %743.xzxz, %1271.yyyy, %1347.xxyy
MESA: info:             div 32x2  %1356 = ffma %743.xz, %1271.zz, %746.ww
MESA: info:             div 32x4  %1359 = ffma %362.xxxx, %1352, %1269.xxxx
MESA: info:             div 32x4  %1362 = ffma %362.xxxx, %1355, %1269.yyyy
MESA: info:             div 32x2  %1363 = ffma %244.xx, %1356, %1269.zz
MESA: info:             div 32x3   %614 = vec3 %1359.x, %1362.x, %1363.x
MESA: info:             div 32x3   %615 = vec3 %1359.y, %1362.y, %1363.y
MESA: info:             div 32x3   %616 = vec3 %1359.z, %1362.z, %1363.x
MESA: info:             div 32x3   %617 = vec3 %1359.w, %1362.w, %1363.y
MESA: info:                               @store_reg (%614, %1) (base=0, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%615, %1) (base=1, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%616, %1) (base=2, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%617, %1) (base=3, wrmask=xyz, legacy_fsat=0)
MESA: info:             div 1x2   %1364 = flt! %737.xy, %737.zw
MESA: info:             div 1      %625 = ieq %1364.x, %1364.y
MESA: info:             div 32x2  %1365 = fsub %737.zw, %737.xy
MESA: info:             div 32     %630 = bcsel %625, %1365.x, %113 (0x0)
MESA: info:             div 32     %631 = bcsel %625, %113 (0x0), %1365.y
MESA: info:             div 32     %632 = fadd %737.x, %630
MESA: info:             div 32     %633 = fadd %737.y, %631
MESA: info:             div 32x2   %634 = vec2 %632, %633
MESA: info:             div 32    %1138 = fsub %737.z, %630
MESA: info:             div 32    %1137 = fsub %737.w, %631
MESA: info:             div 32x2   %639 = vec2 %1138, %1137
MESA: info:             div 32x2   %642 = vec2 %737.x, %737.y
MESA: info:                               @store_reg (%642, %0) (base=0, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%634, %0) (base=1, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%639, %0) (base=2, wrmask=xy, legacy_fsat=0)
MESA: info:             div 32x2   %646 = vec2 %737.z, %737.w
MESA: info:                               @store_reg (%646, %0) (base=3, wrmask=xy, legacy_fsat=0)
MESA: info:             div 32x3   %652 = @load_reg_indirect (%1, %1241) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             con 32x4   %655 = @load_const_ir3 (%113 (0x0)) (base=32)
MESA: info:             con 32x4   %662 = @load_const_ir3 (%113 (0x0)) (base=36)
MESA: info:             div 32x4  %1368 = fmul %662, %652.yyyy
MESA: info:             div 32x4  %1371 = ffma %655, %652.xxxx, %1368
MESA: info:             con 32x2   %673 = @load_const_ir3 (%113 (0x0)) (base=40)
MESA: info:             con 32     %676 = @load_const_ir3 (%113 (0x0)) (base=43)
MESA: info:             div 32x2  %1372 = ffma %673, %652.zz, %1371.xy
MESA: info:             div 32    %1130 = ffma %676, %652.z, %1371.w
MESA: info:             div 32    %1129 = ffma %368, %652.z, %1371.z
MESA: info:             con 32x4   %687 = @load_const_ir3 (%113 (0x0)) (base=44)
MESA: info:             div 32x2  %1373 = fadd %1372, %687.xy
MESA: info:             div 32x2  %1378 = mov %1373.yx
MESA: info:             div 32     %690 = fadd %1130, %687.w
MESA: info:             div 32     %691 = fadd %1129, %687.z
MESA: info:                               // succs: b10
MESA: info:         }
MESA: info:         div block b10:        // preds: b8 b9
MESA: info:         div 32     %694 = phi b8: %568, b9: %690
MESA: info:         div 32x2  %1376 = phi b8: %1377, b9: %1378
MESA: info:         div 32     %698 = phi b8: %569, b9: %691
MESA: info:                           // succs: b12
MESA: info:     } else {
MESA: info:         div block b11:        // preds: b6
MESA: info:         con 32x2  %1382 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:                           // succs: b12
MESA: info:     }
MESA: info:     con block b12:        // preds: b10 b11
MESA: info:     div 32     %704 = phi b10: %694, b11: %113 (0x0)
MESA: info:     div 32x2  %1381 = phi b10: %1376, b11: %1382 (0.000000, 0.000000)
MESA: info:     div 32     %708 = phi b10: %698, b11: %113 (0x0)
MESA: info:     div 32x4   %709 = vec4 %1381.y, %1381.x, %708, %704
MESA: info:                       @store_output (%709, %113 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                       // succs: b13
MESA: info:     block b13:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 3cd83b0355de48b498d5d2951cad427184f8c8fd:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (8 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c12.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      2
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (384b -> 448b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0x1)
MESA: info: @const(c13.x)	0x3fc90fdb, 0x00000000, 0x3f800000, 0x3e800000
MESA: info: @const(c14.x)	0x5d5e0b6b, 0xbc46c6a5, 0x3d5be101, 0xbdf0555d
MESA: info: @const(c15.x)	0x3e468bc1, 0xbeaa5476, 0x3f7ffea5, 0xbfc90fdb
MESA: info: @const(c16.x)	0x80000000, 0x3f060a92, 0x00002aaa, 0x2aaaaaab
MESA: info: @const(c17.x)	0x0000ffff, 0x0000aaab, 0x00000b00, 0x000000b0
MESA: info: @const(c18.x)	0x0000000c, 0x0000aaaa, 0xaaaaaaab, 0xbf000000
MESA: info: @const(c19.x)	0x3f747644, 0x41400000, 0x00000006, 0xd0d0d0d0
MESA: info: shps #l64
MESA: info: getone #l64
MESA: info: ldc.u.offset0.2.imm.base1 r48.y, 0, 4
MESA: info: ldc.u.offset3.1.imm.base1 r48.x, 24, 0
MESA: info: mov.u32u32 r48.w, 0x7fffffff
MESA: info: mova1 a1.x, (r)16
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 1
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: ldc.offset0.1.imm.base1 r63.x, 0, 2
MESA: info: (sy)(ss)cmps.f.ge r49.x, (0.0), r48.y
MESA: info: absneg.f r49.y, (abs)r48.y
MESA: info: sel.b32 r49.z, r48.z, r49.x, r49.y
MESA: info: cmps.f.ge r49.w, (abs)r49.z, c14.x
MESA: info: sel.b32 r49.w, c13.w, r49.w, c13.z
MESA: info: mul.f r49.z, r49.z, r49.w
MESA: info: cmps.f.eq r50.x, (abs)r48.y, (abs)r48.z
MESA: info: mul.f r51.z, r48.y, r48.y
MESA: info: mul.f r51.w, r48.z, r48.z
MESA: info: sel.b32 r49.y, r49.y, r49.x, r48.z
MESA: info: add.f r51.z, r51.z, r51.w
MESA: info: mul.f r49.y, r49.y, r49.w
MESA: info: rcp r48.x, r48.x
MESA: info: sel.b32 r49.x, c13.x, r49.x, c13.y
MESA: info: (ss)rcp r49.z, r49.z
MESA: info: rsq r51.z, r51.z
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: (ss)mul.f r49.y, (abs)r49.y, (abs)r49.z
MESA: info: sel.b32 r50.x, c13.z, r50.x, r49.y
MESA: info: mul.f r52.x, r48.z, r51.z
MESA: info: mul.f r52.y, r48.y, r51.z
MESA: info: min.f r49.z, r48.z, r49.z
MESA: info: cmps.f.ge r50.y, (1.0), r50.x
MESA: info: cmps.f.lt r49.z, r49.z, (0.0)
MESA: info: (ss)rcp r50.z, r50.x
MESA: info: stc.u32 c[2], r52.x, 1
MESA: info: stc.u32 c[3], r52.y, 1
MESA: info: (ss)sel.b32 r50.z, r50.x, r50.y, r50.z
MESA: info: mul.f r50.w, r50.z, r50.z
MESA: info: and.b r50.x, r50.x, c16.x
MESA: info: sel.b32 r50.y, c13.y, r50.y, c15.w
MESA: info: mul.f r51.x, c14.y, r50.w
MESA: info: add.f r51.x, r51.x, c14.z
MESA: info: mul.f r51.x, r51.x, r50.w
MESA: info: add.f r51.x, r51.x, c14.w
MESA: info: mul.f r51.x, r51.x, r50.w
MESA: info: add.f r51.x, r51.x, c15.x
MESA: info: mul.f r51.x, r51.x, r50.w
MESA: info: add.f r51.x, r51.x, c15.y
MESA: info: mul.f r51.x, r51.x, r50.w
MESA: info: add.f r51.x, r51.x, c15.z
MESA: info: mul.f r50.z, (abs)r50.z, r51.x
MESA: info: add.f r50.z, r50.z, r50.y
MESA: info: andg r50.z, r50.z, r48.w, r50.x
MESA: info: add.f r49.x, r49.x, r50.z
MESA: info: absneg.f r51.y, (neg)r49.x
MESA: info: sel.b32 r51.y, r51.y, r49.z, r49.x
MESA: info: add.f r51.y, r51.y, c16.y
MESA: info: (ss)nop
MESA: info: stc.u32 c[1], r51.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 24, 0
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l64:
MESA: info: (jp)and.b r20.y, r3.x, c17.x
MESA: info: shr.b r20.z, r3.x, 16
MESA: info: mov.u32u32 r20.w, 0xaaaaaaab
MESA: info: mov.u32u32 r22.z, 0xaaab0000
MESA: info: mull.u r22.x, r20.y, c18.z
MESA: info: mull.u r21.x, r20.y, c17.y
MESA: info: mull.u r21.y, r20.y, c18.y
MESA: info: mull.u r21.z, r20.z, c17.y
MESA: info: mull.u r21.w, r20.z, c18.y
MESA: info: madsh.m16 r22.x, r20.y, r20.w, (last)r22.x
MESA: info: madsh.m16 r21.x, c17.y, r20.y, (last)r21.x
MESA: info: madsh.m16 r21.y, c18.y, r20.y, (last)r21.y
MESA: info: madsh.m16 r21.z, c17.y, r20.z, (last)r21.z
MESA: info: madsh.m16 r21.w, c18.y, r20.z, (last)r21.w
MESA: info: madsh.m16 r20.y, c18.z, r20.y, (last)r22.x
MESA: info: madsh.m16 r20.z, (last)r20.z, r22.z, c13.y
MESA: info: absneg.s r23.x, (abs)r3.x
MESA: info: cmps.u.lt hr42.x, r20.y, (last)r21.x
MESA: info: add.u r20.z, r20.y, (last)r20.z
MESA: info: and.b r23.w, r23.x, c17.x
MESA: info: mov.u32u32 r23.y, 0x2aaaaaab
MESA: info: cov.u16s32 r22.y, (last)hr42.x
MESA: info: cmps.u.lt hr41.x, (last)r20.z, (last)r20.y
MESA: info: shr.b r23.x, (last)r23.x, 16
MESA: info: shr.b r21.y, (last)r21.y, 16
MESA: info: mull.u r25.z, r23.w, c16.w
MESA: info: mull.u r24.z, r23.w, c17.y
MESA: info: mull.u r24.w, r23.w, c16.z
MESA: info: cov.u16s32 r22.w, (last)hr41.x
MESA: info: mull.u r25.x, r23.x, c17.y
MESA: info: mull.u r25.y, r23.x, c16.z
MESA: info: sad.s32 r21.w, (last)r21.w, r22.y, (last)r21.y
MESA: info: madsh.m16 r23.y, r23.w, r23.y, (last)r25.z
MESA: info: shr.b r21.z, (last)r21.z, 16
MESA: info: madsh.m16 r24.z, c17.y, r23.w, (last)r24.z
MESA: info: madsh.m16 r24.w, c16.z, r23.w, (last)r24.w
MESA: info: madsh.m16 r25.x, c17.y, r23.x, (last)r25.x
MESA: info: madsh.m16 r25.y, c16.z, r23.x, (last)r25.y
MESA: info: madsh.m16 r23.w, c16.w, r23.w, (last)r23.y
MESA: info: madsh.m16 r23.x, (last)r23.x, r22.z, c13.y
MESA: info: sad.s32 r21.w, (last)r21.w, r22.w, (last)r21.z
MESA: info: cmps.u.lt hr40.z, r23.w, (last)r24.z
MESA: info: add.u r23.x, r23.w, (last)r23.x
MESA: info: shr.b r23.z, r21.w, 2
MESA: info: shr.b r21.w, (last)r21.w, 3
MESA: info: cov.u16s32 r20.z, (last)hr40.z
MESA: info: cmps.u.lt hr47.z, r23.x, (last)r23.w
MESA: info: not.b r23.x, (last)r23.x
MESA: info: shr.b r24.w, (last)r24.w, 16
MESA: info: mull.u r24.y, r21.w, 12
MESA: info: cov.u16s32 r21.x, (last)hr47.z
MESA: info: add.u r21.y, r23.x, 1
MESA: info: sad.s32 r25.y, (last)r25.y, r20.z, (last)r24.w
MESA: info: madsh.m16 r21.w, c18.x, r21.w, (last)r24.y
MESA: info: shr.b r25.x, (last)r25.x, 16
MESA: info: cmps.u.lt hr42.z, (last)r21.y, (last)r23.x
MESA: info: sub.u r21.w, r3.x, (last)r21.w
MESA: info: sad.s32 r25.y, (last)r25.y, r21.x, (last)r25.x
MESA: info: mull.u r24.x, r23.z, 6
MESA: info: cov.u16s32 r21.z, (last)hr42.z
MESA: info: cmps.s.lt p0.x, (last)r21.w, 6
MESA: info: madsh.m16 r23.z, c19.z, r23.z, (last)r24.x
MESA: info: (nop1) not.b r21.w, r25.y
MESA: info: sub.u r23.z, r3.x, (last)r23.z
MESA: info: add.u r21.w, (last)r21.w, (last)r21.z
MESA: info: (nop2) cmps.s.lt r3.x, (last)r3.x, 0
MESA: info: (nop2) sel.b32 r21.w, (last)r21.w, r3.x, (last)r25.y
MESA: info: (nop2) ashr.b r21.w, (last)r21.w, 1
MESA: info: (nop2) shr.b r22.x, r21.w, 31
MESA: info: (nop2) add.u r21.w, (last)r21.w, (last)r22.x
MESA: info: (nop3) shl.b r21.w, (last)r21.w, 2
MESA: info: (rpt1)nop
MESA: info: isam.v.base3 (u32)(xyz)r22.w, r21.w, s#0, t#1
MESA: info: isam.v.base3 (u32)(xyzw)r25.y, r21.w, s#0, t#0
MESA: info: (sy)cov.f32s32 r26.x, (last)r26.x
MESA: info: (rpt1)mul.f r24.w, (r)r1.x, r23.x
MESA: info: mull.u r27.z, r26.x, 176
MESA: info: mul.f r1.y, (last)r1.y, r25.z
MESA: info: madsh.m16 r27.z, c17.w, r26.x, (last)r27.z
MESA: info: (rpt1)mad.f32 r24.w, (r)r0.y, r22.w, (r)(last)r24.w
MESA: info: add.u r28.x, r27.z, 16
MESA: info: shr.b r27.w, r27.z, 4
MESA: info: add.u r28.y, r27.z, 32
MESA: info: shr.b r28.x, (last)r28.x, 4
MESA: info: mad.f32 r0.z, (last)r0.z, r25.y, (last)r1.y
MESA: info: add.u r1.y, r27.z, 96
MESA: info: shr.b r28.y, (last)r28.y, 4
MESA: info: ldc.offset0.4.imm.base1 r28.z, r27.w, 2
MESA: info: (ss)add.u r27.w, r27.z, 144
MESA: info: shr.b r1.y, (last)r1.y, 4
MESA: info: ldc.offset0.4.imm.base1 r30.x, r28.x, 2
MESA: info: (ss)add.u r28.x, r27.z, 160
MESA: info: mul.f r23.w, r0.w, (last)r23.x
MESA: info: (rpt1)shr.b r27.w, (last)(r)r27.w, 4
MESA: info: ldc.offset0.4.imm.base1 r31.x, r28.y, 2
MESA: info: mul.f r1.x, (last)r1.x, r25.z
MESA: info: shl.b r26.x, (last)r26.x, 4
MESA: info: mad.f32 r23.w, r0.x, r22.w, (last)r23.w
MESA: info: mul.f r0.w, (last)r0.w, (last)r25.z
MESA: info: (rpt1)mad.f32 r24.y, (r)r1.w, r23.y, (r)(last)r24.w
MESA: info: mad.f32 r0.y, (last)r0.y, r25.y, (last)r1.x
MESA: info: mad.f32 r24.x, r1.z, r23.y, (last)r23.w
MESA: info: mad.f32 r0.x, (last)r0.x, r25.y, (last)r0.w
MESA: info: ldc.offset0.4.imm.base1 r24.w, r1.y, 2
MESA: info: (ss)mov.u32u32 r1.y, (last)r23.z
MESA: info: ldc.offset0.4.imm.base1 r23.x, r27.w, 2
MESA: info: add.u r29.z, r27.z, 48
MESA: info: add.u r29.w, r27.z, 64
MESA: info: add.u r20.y, r27.z, 112
MESA: info: add.u r20.z, r27.z, 128
MESA: info: add.u r26.x, (last)r26.x, c17.z
MESA: info: mad.f32 r1.z, (last)r1.z, r25.w, (last)r0.x
MESA: info: add.u r0.x, (last)r27.z, 80
MESA: info: (ss)nop
MESA: info: ldc.offset0.3.imm.base1 r27.z, r28.x, 2
MESA: info: shr.b r29.z, (last)r29.z, 4
MESA: info: shr.b r29.w, (last)r29.w, 4
MESA: info: shr.b r20.y, (last)r20.y, 4
MESA: info: shr.b r20.z, (last)r20.z, 4
MESA: info: shr.b r26.x, (last)r26.x, 4
MESA: info: shr.b r0.x, (last)r0.x, 4
MESA: info: mul.f r26.y, r24.y, r24.y
MESA: info: mad.f32 r2.x, (last)r2.x, r25.w, (last)r0.z
MESA: info: mad.f32 r1.w, (last)r1.w, r25.w, (last)r0.y
MESA: info: ldc.offset0.4.imm.base1 r0.y, r29.z, 2
MESA: info: mad.f32 r26.y, r24.z, r24.z, (last)r26.y
MESA: info: add.f r1.z, (last)r1.z, (last)r2.y
MESA: info: ldc.offset0.4.imm.base1 r21.x, r0.x, 2
MESA: info: add.f r2.x, (last)r2.x, (last)r2.w
MESA: info: add.f r1.w, (last)r1.w, (last)r2.z
MESA: info: ldc.offset0.4.imm.base1 r2.y, r29.w, 2
MESA: info: (ss)nop
MESA: info: ldc.offset0.2.imm.base1 r29.z, r20.y, 2
MESA: info: mad.f32 r26.y, r24.x, r24.x, (last)r26.y
MESA: info: mov.u32u32 r0.x, (last)r22.z
MESA: info: ldc.offset0.4.imm.base1 r22.x, r20.z, 2
MESA: info: (ss)nop
MESA: info: ldc.offset0.2.imm.base1 r20.y, r26.x, 2
MESA: info: (rpt2)nop
MESA: info: rsq r26.z, r26.y
MESA: info: (ss)sqrt r26.y, (last)r26.y
MESA: info: (rpt2)mul.f r24.x, (last)(r)r24.x, (last)r26.z
MESA: info: (ss)(rpt2)mul.f r26.w, r26.y, (r)r24.x
MESA: info: (sy)mul.f r28.y, r23.x, r26.w
MESA: info: mul.f r25.w, r27.z, r26.w
MESA: info: mul.f r26.x, r23.y, r26.w
MESA: info: mul.f r23.y, r27.x, (last)r23.y
MESA: info: mul.f r26.w, r27.w, (last)r26.w
MESA: info: mul.f r27.w, r27.x, (last)r27.w
MESA: info: mul.f r26.z, r23.x, r27.x
MESA: info: mul.f r23.x, (last)r23.x, r27.y
MESA: info: mul.f r27.x, r27.z, (last)r27.x
MESA: info: mul.f r27.z, (last)r27.z, (last)r27.y
MESA: info: min.f r27.y, r28.y, r25.w
MESA: info: max.f r28.y, (last)r28.y, (last)r25.w
MESA: info: min.f r25.w, (neg)r23.y, (neg)r27.w
MESA: info: max.f r23.y, (last)(neg)r23.y, (last)(neg)r27.w
MESA: info: mul.f r23.z, (last)r23.z, r26.y
MESA: info: add.f r27.y, (last)r27.y, (last)r25.w
MESA: info: add.f r28.y, (last)r28.y, (last)r23.y
MESA: info: mul.f r28.x, (last)r28.x, r26.y
MESA: info: add.f r27.y, (last)r27.y, r1.z
MESA: info: add.f r28.y, (last)r28.y, r1.z
MESA: info: min.f r27.w, r26.x, r26.w
MESA: info: max.f r27.y, c4.x, (last)r27.y
MESA: info: min.f r25.w, r23.x, r27.z
MESA: info: min.f r23.y, r23.z, r28.x
MESA: info: min.f r27.y, (last)r27.y, (last)r28.y
MESA: info: min.f r28.y, r26.z, r27.x
MESA: info: max.f r26.x, (last)r26.x, (last)r26.w
MESA: info: max.f r26.z, (last)r26.z, (last)r27.x
MESA: info: add.f r28.y, (last)r28.y, (last)r27.w
MESA: info: max.f r23.x, (last)r23.x, (last)r27.z
MESA: info: add.f r25.w, (last)r25.w, (last)r23.y
MESA: info: max.f r23.z, (last)r23.z, (last)r28.x
MESA: info: add.f r26.z, (last)r26.z, (last)r26.x
MESA: info: add.f r28.y, (last)r28.y, r1.w
MESA: info: add.f r25.w, (last)r25.w, r2.x
MESA: info: add.f r23.x, (last)r23.x, (last)r23.z
MESA: info: add.f r26.z, (last)r26.z, r1.w
MESA: info: max.f r28.y, c4.y, (last)r28.y
MESA: info: max.f r25.w, c4.z, (last)r25.w
MESA: info: add.f r23.x, (last)r23.x, r2.x
MESA: info: min.f r28.y, (last)r28.y, (last)r26.z
MESA: info: add.f r27.y, c4.x, (last)(neg)r27.y
MESA: info: min.f r25.w, (last)r25.w, (last)r23.x
MESA: info: add.f r28.y, c4.y, (last)(neg)r28.y
MESA: info: mul.f r20.z, (last)r20.z, c0.x
MESA: info: add.f r25.w, c4.z, (last)(neg)r25.w
MESA: info: (nop1) mul.f r28.y, (last)r28.y, r28.y
MESA: info: (nop1) mad.f32 r25.w, (last)r25.w, r25.w, (last)r28.y
MESA: info: (nop3) mad.f32 r27.y, (last)r27.y, r27.y, (last)r25.w
MESA: info: (rpt1)nop
MESA: info: sqrt r27.y, (last)r27.y
MESA: info: (ss)(nop2) mad.f32 r20.y, c4.w, r20.y, (neg)(last)r27.y
MESA: info: (nop2) mul.f r20.y, (2.0), (last)r20.y
MESA: info: (sat)(nop2) mul.f r20.y, (last)r20.y, (last)r20.z
MESA: info: (nop3) cmps.f.lt p0.y, (0.0), r20.y
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l504
MESA: info: mul.f r20.y, r26.y, (last)r20.y
MESA: info: predt
MESA: info: cmps.f.ge r26.x, (0.0), r24.x
MESA: info: absneg.f r26.z, (abs)r24.x
MESA: info: cmps.f.eq r24.x, (last)(abs)r24.x, (abs)r24.y
MESA: info: sel.b32 r26.w, r24.y, r26.x, r26.z
MESA: info: sel.b32 r26.z, (last)r26.z, r26.x, r24.y
MESA: info: mul.f r27.z, c18.w, r29.z
MESA: info: cmps.f.ge r27.x, (abs)r26.w, c14.x
MESA: info: mul.f r29.z, (0.5), (last)r29.z
MESA: info: mul.f r27.w, c0.z, r27.z
MESA: info: sel.b32 r27.x, c13.w, r27.x, c13.z
MESA: info: mul.f r28.x, c0.z, r29.z
MESA: info: mul.f r27.z, (last)r27.z, c0.w
MESA: info: mul.f r26.w, (last)r26.w, r27.x
MESA: info: mul.f r26.z, (last)r26.z, (last)r27.x
MESA: info: mul.f r29.z, (last)r29.z, c0.w
MESA: info: mad.f32 r27.w, (neg)(last)r27.w, r20.y, r1.z
MESA: info: mad.f32 r28.x, (neg)(last)r28.x, r20.y, (last)r1.z
MESA: info: mad.f32 r27.z, r20.y, r27.z, r1.w
MESA: info: rcp r26.w, (last)r26.w
MESA: info: mad.f32 r20.y, (last)r20.y, r29.z, (last)r1.w
MESA: info: mad.f32 r26.y, (last)r26.y, r29.w, r2.x
MESA: info: mov.u32u32 r17.y, r27.w
MESA: info: mov.u32u32 r17.z, r27.z
MESA: info: mov.u32u32 r17.w, r2.x
MESA: info: mov.u32u32 r18.x, r28.x
MESA: info: mov.u32u32 r18.y, r20.y
MESA: info: mov.u32u32 r18.z, (last)r2.x
MESA: info: mov.u32u32 r18.w, (last)r27.w
MESA: info: mov.u32u32 r19.x, (last)r27.z
MESA: info: (ss)mul.f r26.z, (last)(abs)r26.z, (abs)r26.w
MESA: info: mov.u32u32 r19.y, r26.y
MESA: info: sel.b32 r24.x, c13.z, r24.x, (last)r26.z
MESA: info: mov.u32u32 r19.z, (last)r28.x
MESA: info: mov.u32u32 r19.w, r20.y
MESA: info: cmps.f.ge r28.y, (1.0), r24.x
MESA: info: and.b r1.z, r24.x, c16.x
MESA: info: mov.u32u32 r20.x, r26.y
MESA: info: rcp r29.z, r24.x
MESA: info: mov.u32u32 r10.y, (last)r28.z
MESA: info: mov.u32u32 r10.z, (last)r28.w
MESA: info: mov.u32u32 r10.w, (last)r29.x
MESA: info: mov.u32u32 r11.x, (last)r29.y
MESA: info: mov.u32u32 r11.y, (last)r30.x
MESA: info: mov.u32u32 r11.z, (last)r30.y
MESA: info: mov.u32u32 r11.w, (last)r30.z
MESA: info: mov.u32u32 r12.x, (last)r30.w
MESA: info: mov.u32u32 r12.y, (last)r31.x
MESA: info: mov.u32u32 r12.z, (last)r31.y
MESA: info: (ss)sel.b32 r24.x, (last)r24.x, r28.y, (last)r29.z
MESA: info: mov.u32u32 r12.w, (last)r31.z
MESA: info: mov.u32u32 r13.x, (last)r31.w
MESA: info: mul.f r2.x, r24.x, r24.x
MESA: info: mov.u32u32 r13.y, (last)r0.y
MESA: info: mov.u32u32 r13.z, (last)r0.z
MESA: info: mov.u32u32 r13.w, (last)r0.w
MESA: info: mov.u32u32 r14.x, (last)r1.x
MESA: info: mov.u32u32 r14.y, (last)r2.y
MESA: info: mad.f32 r2.y, c14.y, r2.x, c14.z
MESA: info: absneg.f r24.x, (last)(abs)r24.x
MESA: info: sel.b32 r1.w, c13.y, r28.y, c15.w
MESA: info: mad.f32 r2.y, (last)r2.y, r2.x, c14.w
MESA: info: mov.u32u32 r27.y, 0x7fffffff
MESA: info: sel.b32 r26.x, c13.x, r26.x, c13.y
MESA: info: mad.f32 r2.y, (last)r2.y, r2.x, c15.x
MESA: info: min.f r24.y, (last)r24.y, (last)r26.w
MESA: info: mov.u32u32 r14.z, (last)r2.z
MESA: info: mad.f32 r2.y, (last)r2.y, r2.x, c15.y
MESA: info: cmps.f.lt r24.y, (last)r24.y, (0.0)
MESA: info: mov.u32u32 r14.w, (last)r2.w
MESA: info: mad.f32 r2.y, (last)r2.y, r2.x, c15.z
MESA: info: mov.u32u32 r15.x, (last)r3.x
MESA: info: mov.u32u32 r15.y, (last)r21.x
MESA: info: mad.f32 r24.x, (last)r24.x, r2.y, r1.w
MESA: info: mov.u32u32 r15.z, (last)r21.y
MESA: info: mov.u32u32 r15.w, (last)r21.z
MESA: info: andg r24.x, (last)r24.x, r27.y, r1.z
MESA: info: mov.u32u32 r16.x, (last)r21.w
MESA: info: mov.u32u32 r16.y, r24.w
MESA: info: add.f r26.x, (last)r26.x, r24.x
MESA: info: mov.u32u32 r16.z, r25.x
MESA: info: mov.u32u32 r16.w, r25.y
MESA: info: absneg.f r2.z, (neg)r26.x
MESA: info: mov.u32u32 r17.x, r25.z
MESA: info: cov.u32s16 hr2.z, r1.y
MESA: info: (nop1) sel.b32 r2.z, (last)r2.z, r24.y, (last)r26.x
MESA: info: mull.u hr2.z, (last)hr2.z, h(3)
MESA: info: (nop2) add.f r2.z, c0.y, (last)(neg)r2.z
MESA: info: (nop2) mad.f32 r2.z, c19.x, r2.z, c19.y
MESA: info: cov.f32s32 r2.z, (last)r2.z
MESA: info: (rpt1)nop
MESA: info: and.b r2.w, r2.z, c17.x
MESA: info: (nop1) shr.b r3.x, r2.z, 16
MESA: info: mull.u r4.y, r2.w, c18.z
MESA: info: mull.u r3.y, r2.w, c17.y
MESA: info: mull.u r3.z, r2.w, c18.y
MESA: info: mull.u r3.w, r3.x, c17.y
MESA: info: mull.u r4.x, r3.x, c18.y
MESA: info: madsh.m16 r20.w, r2.w, r20.w, r4.y
MESA: info: madsh.m16 r3.y, c17.y, r2.w, (last)r3.y
MESA: info: madsh.m16 r3.z, c18.y, r2.w, (last)r3.z
MESA: info: madsh.m16 r3.w, c17.y, r3.x, (last)r3.w
MESA: info: madsh.m16 r4.x, c18.y, r3.x, (last)r4.x
MESA: info: madsh.m16 r2.w, c18.z, r2.w, (last)r20.w
MESA: info: madsh.m16 r3.x, (last)r3.x, r0.x, c13.y
MESA: info: shr.b r3.z, (last)r3.z, 16
MESA: info: cmps.u.lt hr6.z, r2.w, r3.y
MESA: info: add.u r3.x, r2.w, (last)r3.x
MESA: info: shr.b r3.w, (last)r3.w, 16
MESA: info: cov.u16s32 r4.z, hr6.z
MESA: info: (nop1) cmps.u.lt hr6.x, (last)r3.x, (last)r2.w
MESA: info: sad.s32 r4.x, (last)r4.x, r4.z, r3.z
MESA: info: cov.u16s32 r4.w, (last)hr6.x
MESA: info: (rpt1)nop
MESA: info: (nop2) sad.s32 r4.x, (last)r4.x, r4.w, r3.w
MESA: info: (nop2) shr.b r4.x, (last)r4.x, 2
MESA: info: (nop1) mull.u r5.x, r4.x, 6
MESA: info: (nop2) madsh.m16 r4.x, c19.z, r4.x, r5.x
MESA: info: (nop2) sub.u r2.z, (last)r2.z, r4.x
MESA: info: cov.u32s16 hr5.x, (last)r2.z
MESA: info: (rpt1)nop
MESA: info: (nop2) shl.b hr5.x, (last)hr5.x, h(2)
MESA: info: mova a0.x, (last)hr5.x
MESA: info: (rpt4)nop
MESA: info: mov.u32u32 r5.y, r<a0.x + 41>
MESA: info: mov.u32u32 r5.z, r<a0.x + 42>
MESA: info: mov.u32u32 r5.w, r<a0.x + 43>
MESA: info: (ul)mov.u32u32 r6.x, r<a0.x + 44>
MESA: info: mova a0.x, hr2.z
MESA: info: (rpt1)cmps.f.lt hr12.z, (r)r5.y, (r)r5.w
MESA: info: add.f r6.w, r5.w, (neg)r5.y
MESA: info: add.f r7.x, r6.x, (neg)r5.z
MESA: info: cmps.s.eq r6.z, hr12.z, hr12.w
MESA: info: mov.u32u32 r8.y, r5.y
MESA: info: mov.u32u32 r7.y, r<a0.x + 69>
MESA: info: sel.b32 r6.w, (last)r6.w, r6.z, c13.y
MESA: info: sel.b32 r6.z, c13.y, r6.z, r7.x
MESA: info: mov.u32u32 r8.z, r5.z
MESA: info: mov.u32u32 r7.z, r<a0.x + 70>
MESA: info: add.f r5.y, (last)r5.y, r6.w
MESA: info: add.f r5.z, (last)r5.z, r6.z
MESA: info: add.f r6.w, r5.w, (last)(neg)r6.w
MESA: info: add.f r6.z, r6.x, (last)(neg)r6.z
MESA: info: mul.f r7.w, c9.x, r7.z
MESA: info: (ul)mov.u32u32 r17.y, r<a0.x + 71>
MESA: info: mov.u32u32 r8.w, r5.y
MESA: info: mov.u32u32 r9.x, r5.z
MESA: info: mul.f r9.x, c9.y, r7.z
MESA: info: mad.f32 r7.w, c8.x, r7.y, (last)r7.w
MESA: info: mov.u32u32 r9.y, r6.w
MESA: info: mad.f32 r9.x, c8.y, r7.y, (last)r9.x
MESA: info: mov.u32u32 r9.z, r6.z
MESA: info: (rpt1)mul.f r9.y, (r)c9.z, r7.z
MESA: info: (rpt1)mad.f32 r9.y, (r)c8.z, r7.y, (r)(last)r9.y
MESA: info: mad.f32 r7.w, c10.x, r17.y, (last)r7.w
MESA: info: mad.f32 r9.x, c10.y, r17.y, (last)r9.x
MESA: info: mad.f32 r9.y, c10.z, r17.y, (last)r9.y
MESA: info: mad.f32 r17.y, c10.w, r17.y, (last)r9.z
MESA: info: mov.u32u32 r9.w, r5.w
MESA: info: add.f r8.x, r7.w, c11.x
MESA: info: add.f r8.y, (last)r9.x, c11.y
MESA: info: add.f r8.z, (last)r9.y, c11.z
MESA: info: add.f r8.w, (last)r17.y, c11.w
MESA: info: mov.u32u32 r10.x, r6.x
MESA: info: predf
MESA: info: (rpt4)nop
MESA: info: cov.u32s16 hr2.z, (last)r1.y
MESA: info: mul.f r9.w, r24.y, r22.y
MESA: info: mul.f r10.x, r24.y, r22.w
MESA: info: mull.u hr2.z, (last)hr2.z, h(3)
MESA: info: mul.f r22.y, (last)r22.y, r24.x
MESA: info: mul.f r22.w, (last)r22.w, r24.x
MESA: info: mad.f32 r10.y, r22.x, r24.x, (neg)r9.w
MESA: info: mad.f32 r10.z, r22.z, r24.x, (neg)(last)r9.w
MESA: info: mad.f32 r10.w, r22.x, r24.x, (neg)r10.x
MESA: info: mad.f32 r11.x, r22.z, r24.x, (neg)(last)r10.x
MESA: info: mad.f32 r11.y, r22.x, r24.y, r22.y
MESA: info: mad.f32 r11.z, r22.z, r24.y, (last)r22.y
MESA: info: mad.f32 r11.w, r22.x, r24.y, r22.w
MESA: info: mad.f32 r12.x, r22.z, r24.y, (last)r22.w
MESA: info: mad.f32 r22.x, (last)r22.x, r24.z, r23.w
MESA: info: mad.f32 r22.z, (last)r22.z, r24.z, (last)r23.w
MESA: info: mova a0.x, (last)hr2.z
MESA: info: (rpt1)mad.f32 r10.y, r20.y, (r)r10.y, r1.z
MESA: info: (rpt1)mad.f32 r10.w, r20.y, (r)r10.w, (last)r1.z
MESA: info: (rpt1)mad.f32 r11.y, r20.y, (r)r11.y, r1.w
MESA: info: (rpt1)mad.f32 r11.w, (last)r20.y, (r)r11.w, (last)r1.w
MESA: info: mad.f32 r22.x, r26.y, r22.x, r2.x
MESA: info: mad.f32 r26.y, (last)r26.y, r22.z, (last)r2.x
MESA: info: (rpt1)cmps.f.lt hr24.z, (r)r24.w, (r)r25.y
MESA: info: mov.u32u32 r5.y, (last)r10.y
MESA: info: mov.u32u32 r5.z, (last)r11.y
MESA: info: mov.u32u32 r5.w, r22.x
MESA: info: mov.u32u32 r6.x, (last)r10.z
MESA: info: mov.u32u32 r6.y, (last)r11.z
MESA: info: mov.u32u32 r6.z, r26.y
MESA: info: mov.u32u32 r6.w, (last)r10.w
MESA: info: mov.u32u32 r7.x, (last)r11.w
MESA: info: mov.u32u32 r7.y, (last)r22.x
MESA: info: mov.u32u32 r7.z, (last)r11.x
MESA: info: mov.u32u32 r7.w, (last)r12.x
MESA: info: mov.u32u32 r8.x, (last)r26.y
MESA: info: add.f r12.w, r25.y, (neg)r24.w
MESA: info: cmps.s.eq r12.z, (last)hr24.z, (last)hr24.w
MESA: info: mov.u32u32 r13.y, r<a0.x + 21>
MESA: info: mov.u32u32 r13.z, r<a0.x + 22>
MESA: info: add.f r13.x, r25.z, (neg)r25.x
MESA: info: sel.b32 r12.w, (last)r12.w, r12.z, c13.y
MESA: info: mul.f r13.w, c9.x, r13.z
MESA: info: mul.f r14.x, c9.y, r13.z
MESA: info: (ul)mov.u32u32 r5.y, r<a0.x + 23>
MESA: info: sel.b32 r12.z, c13.y, r12.z, (last)r13.x
MESA: info: (rpt1)mul.f r14.y, (r)c9.z, (last)r13.z
MESA: info: mad.f32 r13.w, c8.x, r13.y, (last)r13.w
MESA: info: mad.f32 r14.x, c8.y, r13.y, (last)r14.x
MESA: info: (rpt1)mad.f32 r14.y, (r)c8.z, r13.y, (r)(last)r14.y
MESA: info: mov.u32u32 r3.y, r24.w
MESA: info: mad.f32 r13.w, c10.x, r5.y, (last)r13.w
MESA: info: mad.f32 r14.x, c10.y, r5.y, (last)r14.x
MESA: info: mad.f32 r14.y, c10.z, r5.y, (last)r14.y
MESA: info: add.f r24.w, (last)r24.w, r12.w
MESA: info: mov.u32u32 r3.z, r25.x
MESA: info: mad.f32 r5.y, c10.w, r5.y, (last)r14.z
MESA: info: add.f r12.w, r25.y, (last)(neg)r12.w
MESA: info: add.f r25.x, (last)r25.x, r12.z
MESA: info: add.f r12.z, r25.z, (last)(neg)r12.z
MESA: info: add.f r8.x, (last)r13.w, c11.x
MESA: info: add.f r8.y, (last)r14.x, c11.y
MESA: info: add.f r8.z, (last)r14.y, c11.z
MESA: info: mov.u32u32 r3.w, (last)r24.w
MESA: info: add.f r8.w, (last)r5.y, c11.w
MESA: info: mov.u32u32 r4.x, (last)r25.x
MESA: info: mov.u32u32 r4.y, (last)r12.w
MESA: info: mov.u32u32 r4.z, (last)r12.z
MESA: info: mov.u32u32 r4.w, (last)r25.y
MESA: info: mov.u32u32 r5.x, (last)r25.z
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: jump #l508
MESA: info: l504:
MESA: info: (jp)mov.u32u32 r8.w, 0
MESA: info: mov.u32u32 r8.z, 0
MESA: info: mov.u32u32 r8.x, 0
MESA: info: mov.u32u32 r8.y, 0
MESA: info: l508:
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r8.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (SYSTEM_VALUE_VERTEX_ID slot=9 cm=1,il=0,b=0)
MESA: info: ; BVERT prog 98/4: 531 instr, 81 nops, 450 non-nops, 91 mov, 12 cov, 1026 dwords
MESA: info: ; BVERT prog 98/4: 0 last-baryf, 0 last-helper, 0 half, 32 full, 20 constlen
MESA: info: ; BVERT prog 98/4: 87 cat0, 103 cat1, 212 cat2, 110 cat3, 5 cat4, 2 cat5, 12 cat6, 0 cat7
MESA: info: ; BVERT prog 98/4: 27 sstall, 11 (ss), 79 systall, 2 (sy), 0 loops
MESA: info: ; BVERT prog 98/4: 6 max_waves, 0 double_threadsize
MESA: info: ; 64 preamble-instr, 1 early-preamble
MESA: info: ; pos: r8.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0xae9137cb, 0x0caf0eb9, 0xae5705a9, 0x042daf5d, 0x790fc17b, 0x0e36f696, 0x76f6d30a, 0x3f59ddec}
MESA: info: inputs_read: 32
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: uses_discard: true
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: depth_layout: 1
MESA: info: inputs: 1
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VARYING_SLOT_VAR0.xyz, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none float #1 (FRAG_RESULT_DEPTH.x, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #2
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x4)) (desc_set=0)
MESA: info:             con 32     %4 = load_const (0x00000000 = 0.000000)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %4 (0x0)) (base=0, range=4)
MESA: info:             con 32     %5 = load_const (0x00000005 = 0.000000)
MESA: info:             con 32     %6 = @bindless_resource_ir3 (%5 (0x5)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%6, %4 (0x0)) (base=16, range=4)
MESA: info:             con 32     %9 = @bindless_resource_ir3 (%4 (0x0)) (desc_set=2)
MESA: info:             con 32    %10 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32    %11 = @bindless_resource_ir3 (%10 (0x1)) (desc_set=2)
MESA: info:                             @prefetch_sam_ir3 (%9, %11)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32    %12 = load_const (0x00000000)
MESA: info:     div 32x2  %13 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32    %14 = @load_interpolated_input (%13, %12 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32    %19 = @load_const_ir3 (%12 (0x0)) (base=0)
MESA: info:     con 32    %24 = @load_const_ir3 (%12 (0x0)) (base=16)
MESA: info:     con 32    %25 = load_const (0x3f800000 = 1.000000)
MESA: info:     con 1     %26 = flt! %25 (1.000000), %24
MESA: info:                     @demote_if (%26)
MESA: info:     div 32x2  %27 = @load_barycentric_centroid (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x2  %28 = @load_interpolated_input (%27, %12 (0x0)) (base=0, component=1, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32    %29 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32    %30 = @bindless_resource_ir3 (%29 (0x1)) (desc_set=2)
MESA: info:     con 32    %31 = @bindless_resource_ir3 (%12 (0x0)) (desc_set=2)
MESA: info:     div 32x4  %32 = (float32)tex (pre-dispatchable) %31 (texture_handle), %30 (sampler_handle), %28 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 1     %33 = flt! %32.w, %24
MESA: info:                     @demote_if (%33)
MESA: info:     div 32    %34 = @ddx (%14)
MESA: info:     div 32    %35 = fabs %34
MESA: info:     div 32    %36 = fmul %14, %19
MESA: info:     div 32    %37 = @ddy (%36)
MESA: info:     div 32    %38 = fabs %37
MESA: info:     div 32    %39 = fmax %35, %38
MESA: info:     con 32    %40 = load_const (0x3f000200 = 0.500031)
MESA: info:     div 32    %41 = fadd %40 (0.500031), %39
MESA: info:     con 32    %42 = load_const (0x3f000000 = 0.500000)
MESA: info:     div 32    %46 = ffma %42 (0.500000), %14, %41
MESA: info:                     @store_output (%46, %12 (0x0)) (base=0, range=1, wrmask=x, component=0, src_type=float32, io location=FRAG_RESULT_DEPTH slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 a27617cc682f04d85e7dd5657ae10e897df59e50:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (8 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      2
MESA: info: ;   range[0]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  0
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          5
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @tex(r0.z)	src=1, bindless=1, samp=1, tex=0, wrmask=0x8, opc=sam
MESA: info: @const(c8.x)	0x3f000000, 0x3f000200, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l10
MESA: info: getone #l10
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base0 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)16
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 5
MESA: info: (sy)(ss)shpe
MESA: info: l10:
MESA: info: (jp)bary.f (ei)r0.x, 0, (last)r0.x
MESA: info: (sy)cmps.f.lt p0.x, (last)r1.y, c4.x
MESA: info: cmps.f.lt p0.y, (1.0), c4.x
MESA: info: (nop3) mul.f r1.z, r0.x, c0.x
MESA: info: nop
MESA: info: kill p0.y
MESA: info: kill p0.x
MESA: info: dsy (f32)(x)r1.w, r1.z
MESA: info: dsx (f32)(x)r2.x, r0.x
MESA: info: (sy)(nop2) max.f r2.x, (last)(abs)r2.x, (last)(abs)r1.w
MESA: info: (nop1) add.f r2.x, c8.y, (last)r2.x
MESA: info: mad.f32 r0.x, c8.x, r0.x, (last)r2.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r0.x (FRAG_RESULT_DEPTH)
MESA: info: ; FRAG: inputs: r0.x (VARYING_SLOT_VAR0 slot=32 cm=7,il=0,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_CENTROID slot=58 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 99/1: 19 instr, 7 nops, 12 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; FRAG prog 99/1: 0 last-baryf, 18 last-helper, 0 half, 3 full, 12 constlen
MESA: info: ; FRAG prog 99/1: 10 cat0, 0 cat1, 6 cat2, 1 cat3, 0 cat4, 2 cat5, 0 cat6, 0 cat7
MESA: info: ; FRAG prog 99/1: 0 sstall, 0 (ss), 29 systall, 2 (sy), 0 loops
MESA: info: ; FRAG prog 99/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 10 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; posz: r0.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x792f5e82, 0xd64eb85e, 0xfd450542, 0xb4ee06b0, 0xf4377d46, 0xecc44feb, 0x28774fe5, 0x0fe80a66}
MESA: info: inputs_read: 15
MESA: info: outputs_written: 0,32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 1
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec3 #2 (VARYING_SLOT_VAR0.xyz, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32      %4 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%3, %4 (0x14)) (base=0, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=16, range=4)
MESA: info:             con 32      %8 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %9 = @bindless_resource_ir3 (%8 (0x2)) (desc_set=1)
MESA: info:             con 32     %10 = load_const (0x00000004 = 0.000000)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%9, %10 (0x4)) (base=32, range=8)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %11 = load_const (0x00000000)
MESA: info:     div 32x4   %12 = @load_input (%11 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32     %13 = load_const (0x41200000 = 10.000000)
MESA: info:     con 32x3   %24 = @load_const_ir3 (%11 (0x0)) (base=12)
MESA: info:     div 32x3  %163 = ffma %12.xyz, %13 (10.000000).xxx, %24
MESA: info:     con 32x2   %30 = @load_const_ir3 (%11 (0x0)) (base=16)
MESA: info:     con 32     %34 = @load_const_ir3 (%11 (0x0)) (base=19)
MESA: info:     con 32x2   %41 = @load_const_ir3 (%11 (0x0)) (base=20)
MESA: info:     con 32     %45 = @load_const_ir3 (%11 (0x0)) (base=23)
MESA: info:     div 32x2  %164 = fmul %41, %163.yy
MESA: info:     div 32     %48 = fmul %45, %163.y
MESA: info:     div 32x2  %165 = ffma %30, %163.xx, %164
MESA: info:     div 32    %156 = ffma %34, %163.x, %48
MESA: info:     con 32x2   %55 = @load_const_ir3 (%11 (0x0)) (base=24)
MESA: info:     con 32     %59 = @load_const_ir3 (%11 (0x0)) (base=27)
MESA: info:     div 32x2  %166 = ffma %55, %163.zz, %165
MESA: info:     div 32    %153 = ffma %59, %163.z, %156
MESA: info:     con 32x2   %69 = @load_const_ir3 (%11 (0x0)) (base=28)
MESA: info:     con 32     %73 = @load_const_ir3 (%11 (0x0)) (base=31)
MESA: info:     div 32x2  %167 = ffma %69, %12.ww, %166
MESA: info:     div 32    %150 = ffma %73, %12.w, %153
MESA: info:     con 32x3   %84 = @load_const_ir3 (%11 (0x0)) (base=36)
MESA: info:     con 32x3   %91 = @load_const_ir3 (%11 (0x0)) (base=40)
MESA: info:     div 32x3  %169 = fmul %91, %12.yyy
MESA: info:     div 32x3  %171 = ffma %84, %12.xxx, %169
MESA: info:     con 32x3  %101 = @load_const_ir3 (%11 (0x0)) (base=44)
MESA: info:     div 32x3  %173 = ffma %101, %12.zzz, %171
MESA: info:     con 32x3  %111 = @load_const_ir3 (%11 (0x0)) (base=48)
MESA: info:     div 32x3  %175 = fadd %173, %111
MESA: info:     con 32    %115 = load_const (0x3f800000 = 1.000000)
MESA: info:     div 32x4  %116 = vec4 %167.x, %167.y, %115 (0x3f800000), %150
MESA: info:                      @store_output (%116, %11 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                      @store_output (%175, %11 (0x0)) (base=1, range=1, wrmask=xyz, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 d9d4f27639fb2315946011a7889325573b94bde6:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (16 vec4)
MESA: info: ;   primitive_param            c16.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      3
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (320b -> 384b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          2
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           8 vec4 (64b -> 192b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: @const(c17.x)	0x41200000, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l12
MESA: info: getone #l12
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 20, 0
MESA: info: (ss)mova1 a1.x, (r)16
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 4, 2
MESA: info: (sy)(ss)shpe
MESA: info: l12:
MESA: info: (jp)mad.f32 r1.x, c17.x, r0.y, c3.y
MESA: info: mad.f32 r1.y, c17.x, r0.x, c3.x
MESA: info: mul.f r2.w, c10.x, r0.y
MESA: info: mad.f32 r1.z, c17.x, r0.z, c3.z
MESA: info: mul.f r1.w, c5.x, r1.x
MESA: info: mul.f r2.z, c5.y, r1.x
MESA: info: mad.f32 r2.w, c9.x, r0.x, (last)r2.w
MESA: info: mul.f r1.x, c5.w, (last)r1.x
MESA: info: mad.f32 r1.w, c4.x, r1.y, (last)r1.w
MESA: info: mad.f32 r2.z, c4.y, r1.y, (last)r2.z
MESA: info: mad.f32 r3.x, c11.x, r0.z, (last)r2.w
MESA: info: mad.f32 r1.y, c4.w, r1.y, (last)r1.x
MESA: info: mad.f32 r2.x, c6.x, r1.z, (last)r1.w
MESA: info: mad.f32 r2.y, c6.y, r1.z, (last)r2.z
MESA: info: mad.f32 r1.z, c6.w, r1.z, (last)r1.y
MESA: info: (rpt1)mul.f r3.w, (r)c10.y, (last)r0.y
MESA: info: mov.u32u32 r4.w, 0x3f800000
MESA: info: (rpt1)mad.f32 r4.y, (r)c7.x, r0.w, (r)(last)r2.x
MESA: info: mad.f32 r5.x, c7.w, r0.w, (last)r1.z
MESA: info: (rpt1)mad.f32 r3.w, (r)c9.y, r0.x, (r)(last)r3.w
MESA: info: (rpt1)mad.f32 r3.y, (r)c11.y, r0.z, (r)(last)r3.w
MESA: info: (rpt2)add.f r5.y, (last)(r)r3.x, (r)c12.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r4.y (VARYING_SLOT_POS) r5.y (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0)
MESA: info: ; VERT prog 100/1: 29 instr, 0 nops, 29 non-nops, 1 mov, 0 cov, 96 dwords
MESA: info: ; VERT prog 100/1: 0 last-baryf, 0 last-helper, 0 half, 6 full, 20 constlen
MESA: info: ; VERT prog 100/1: 1 cat0, 1 cat1, 9 cat2, 18 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 100/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 100/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 12 preamble-instr, 1 early-preamble
MESA: info: ; pos: r4.y
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x792f5e82, 0xd64eb85e, 0xfd450542, 0xb4ee06b0, 0xf4377d46, 0xecc44feb, 0x28774fe5, 0x0fe80a66}
MESA: info: inputs_read: 15
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 1
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec3 #2 (VARYING_SLOT_VAR0.xyz, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32      %4 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%3, %4 (0x14)) (base=0, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=16, range=4)
MESA: info:             con 32      %8 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %9 = @bindless_resource_ir3 (%8 (0x2)) (desc_set=1)
MESA: info:             con 32     %10 = load_const (0x00000004 = 0.000000)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%9, %10 (0x4)) (base=32, range=8)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %11 = load_const (0x00000000)
MESA: info:     div 32x4   %12 = @load_input (%11 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32     %13 = load_const (0x41200000 = 10.000000)
MESA: info:     con 32x3   %24 = @load_const_ir3 (%11 (0x0)) (base=12)
MESA: info:     div 32x3  %149 = ffma %12.xyz, %13 (10.000000).xxx, %24
MESA: info:     con 32x2   %30 = @load_const_ir3 (%11 (0x0)) (base=16)
MESA: info:     con 32     %34 = @load_const_ir3 (%11 (0x0)) (base=19)
MESA: info:     con 32x2   %41 = @load_const_ir3 (%11 (0x0)) (base=20)
MESA: info:     con 32     %45 = @load_const_ir3 (%11 (0x0)) (base=23)
MESA: info:     div 32x2  %150 = fmul %41, %149.yy
MESA: info:     div 32     %48 = fmul %45, %149.y
MESA: info:     div 32x2  %151 = ffma %30, %149.xx, %150
MESA: info:     div 32    %142 = ffma %34, %149.x, %48
MESA: info:     con 32x2   %55 = @load_const_ir3 (%11 (0x0)) (base=24)
MESA: info:     con 32     %59 = @load_const_ir3 (%11 (0x0)) (base=27)
MESA: info:     div 32x2  %152 = ffma %55, %149.zz, %151
MESA: info:     div 32    %139 = ffma %59, %149.z, %142
MESA: info:     con 32x2   %69 = @load_const_ir3 (%11 (0x0)) (base=28)
MESA: info:     con 32     %73 = @load_const_ir3 (%11 (0x0)) (base=31)
MESA: info:     div 32x2  %153 = ffma %69, %12.ww, %152
MESA: info:     div 32    %136 = ffma %73, %12.w, %139
MESA: info:     con 32    %115 = load_const (0x3f800000 = 1.000000)
MESA: info:     div 32x4  %116 = vec4 %153.x, %153.y, %115 (0x3f800000), %136
MESA: info:                      @store_output (%116, %11 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                      // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 ad56c723077b11ac865a23ac46951e8c78ed00af:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (16 vec4)
MESA: info: ;   primitive_param            c16.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      3
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (320b -> 384b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          2
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           8 vec4 (64b -> 192b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: @const(c17.x)	0x41200000, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l12
MESA: info: getone #l12
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 20, 0
MESA: info: (ss)mova1 a1.x, (r)16
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 4, 2
MESA: info: (sy)(ss)shpe
MESA: info: l12:
MESA: info: (jp)mad.f32 r0.y, c17.x, r0.y, c3.y
MESA: info: mad.f32 r0.x, c17.x, r0.x, c3.x
MESA: info: mad.f32 r0.z, c17.x, r0.z, c3.z
MESA: info: mul.f r1.x, c5.x, r0.y
MESA: info: mul.f r1.w, c5.y, r0.y
MESA: info: mul.f r0.y, c5.w, (last)r0.y
MESA: info: mad.f32 r1.x, c4.x, r0.x, (last)r1.x
MESA: info: mad.f32 r1.w, c4.y, r0.x, (last)r1.w
MESA: info: mad.f32 r0.x, c4.w, r0.x, (last)r0.y
MESA: info: mad.f32 r1.y, c6.x, r0.z, (last)r1.x
MESA: info: mad.f32 r1.z, c6.y, r0.z, (last)r1.w
MESA: info: mad.f32 r0.z, c6.w, r0.z, (last)r0.x
MESA: info: mov.u32u32 r2.z, 0x3f800000
MESA: info: (rpt1)mad.f32 r2.x, (r)c7.x, r0.w, (r)(last)r1.y
MESA: info: mad.f32 r2.w, c7.w, r0.w, (last)r0.z
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r2.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0)
MESA: info: ; BVERT prog 100/2: 17 instr, 0 nops, 17 non-nops, 1 mov, 0 cov, 64 dwords
MESA: info: ; BVERT prog 100/2: 0 last-baryf, 0 last-helper, 0 half, 3 full, 20 constlen
MESA: info: ; BVERT prog 100/2: 1 cat0, 1 cat1, 3 cat2, 12 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 100/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 100/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 12 preamble-instr, 1 early-preamble
MESA: info: ; pos: r2.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x6fdcd147, 0x5710f6e2, 0xd3deba75, 0xcb54a270, 0xa4027503, 0x1089e65a, 0xc8261ea2, 0x121d293c}
MESA: info: inputs_read: 32
MESA: info: outputs_written: 0,4-5
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: depth_layout: 1
MESA: info: inputs: 1
MESA: info: outputs: 3
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VARYING_SLOT_VAR0.xyz, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none float #1 (FRAG_RESULT_DEPTH.x, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #2 (FRAG_RESULT_DATA0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #3 (FRAG_RESULT_DATA1.xyzw, 2, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #4
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32     %4 = @bindless_resource_ir3 (%2 (0x3)) (desc_set=1)
MESA: info:             con 32    %69 = load_const (0x00000016 = 0.000000 = 22)
MESA: info:             con 32x3  %59 = @load_ubo_vec4 (%4, %69 (0x16)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %70 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32x3  %62 = @load_ubo_vec4 (%4, %70 (0x10)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %71 = load_const (0x00000011 = 0.000000 = 17)
MESA: info:             con 32x3  %65 = @load_ubo_vec4 (%4, %71 (0x11)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x3  %82 = fmul %65, %59.yyy
MESA: info:             con 32x3  %84 = ffma %62, %59.xxx, %82
MESA: info:             con 32    %72 = load_const (0x00000012 = 0.000000 = 18)
MESA: info:             con 32x3  %68 = @load_ubo_vec4 (%4, %72 (0x12)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x3  %86 = ffma %68, %59.zzz, %84
MESA: info:             con 32    %27 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32x4  %28 = vec4 %86.x, %86.y, %86.z, %27 (0x3f800000)
MESA: info:                             @store_const_ir3 (%28) (base=0)
MESA: info:             con 32    %29 = load_const (0x00000006 = 0.000000)
MESA: info:             con 32    %30 = @bindless_resource_ir3 (%29 (0x6)) (desc_set=1)
MESA: info:             con 32    %31 = load_const (0x00000000 = 0.000000)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%30, %31 (0x0)) (base=16, range=4)
MESA: info:             con 32    %33 = @bindless_resource_ir3 (%31 (0x0)) (desc_set=2)
MESA: info:             con 32    %34 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32    %35 = @bindless_resource_ir3 (%34 (0x1)) (desc_set=2)
MESA: info:                             @prefetch_sam_ir3 (%33, %35)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32    %36 = load_const (0x00000000)
MESA: info:     div 32x2  %37 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x3  %38 = @load_interpolated_input (%37, %36 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32    %44 = @load_const_ir3 (%36 (0x0)) (base=19)
MESA: info:     con 32    %45 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32    %46 = @bindless_resource_ir3 (%45 (0x1)) (desc_set=2)
MESA: info:     con 32    %47 = @bindless_resource_ir3 (%36 (0x0)) (desc_set=2)
MESA: info:     div 32x4  %48 = (float32)tex %47 (texture_handle), %46 (sampler_handle), %38 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %89 = fmul %44.xxxx, %48
MESA: info:     con 32    %53 = load_const (0x3f800000 = 1.000000)
MESA: info:                     @store_output (%53 (1.000000), %36 (0x0)) (base=0, range=1, wrmask=x, component=0, src_type=float32, io location=FRAG_RESULT_DEPTH slots=1, xfb(), xfb2())
MESA: info:                     @store_output (%89, %36 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:     con 32x4  %56 = @load_const_ir3 (%36 (0x0)) (base=0)
MESA: info:                     @store_output (%56, %36 (0x0)) (base=2, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA1 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 340c137dfc09c71ccb8f1668efc572f17437faae:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (4 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          6
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: shps #l21
MESA: info: getone #l21
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: ldc.u.offset0.3.imm.base1 r48.w, 16, 3
MESA: info: ldc.u.offset0.3.imm.base1 r50.y, 17, 3
MESA: info: ldc.u.offset0.3.imm.base1 r52.y, 18, 3
MESA: info: mov.u32u32 r54.z, 0x3f800000
MESA: info: mova1 a1.x, (r)16
MESA: info: (ss)nop
MESA: info: ldc.u.offset0.3.imm.base1 r48.x, 22, 3
MESA: info: (sy)(ss)(rpt2)mul.f r49.z, (r)r48.w, r48.x
MESA: info: mul.f r50.y, r50.y, r48.y
MESA: info: (rpt1)mul.f r51.w, (r)r50.z, r48.y
MESA: info: (rpt2)mul.f r53.x, (r)r52.y, r48.z
MESA: info: add.f r51.x, r49.z, r50.y
MESA: info: (rpt1)add.f r51.y, (r)r49.w, (r)r51.w
MESA: info: (rpt2)add.f r53.w, (r)r53.x, (r)r51.x
MESA: info: (ss)nop
MESA: info: stc.u32 c[0], r53.w, 4
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 6
MESA: info: (sy)(ss)shpe
MESA: info: l21:
MESA: info: (jp)(rpt2)bary.f (ei)r0.z, (r)0, (last)r0.x
MESA: info: mov.u32u32 r1.y, 0x3f800000
MESA: info: mov.u32u32 r1.z, c0.x
MESA: info: mov.u32u32 r1.w, c0.y
MESA: info: mov.u32u32 r2.x, c0.z
MESA: info: mov.u32u32 r2.y, c0.w
MESA: info: sam.3d.base2 (f32)(xyzw)r2.z, r0.z, s#1, t#0
MESA: info: (sy)(rpt3)mul.f r3.z, c4.w, (last)(r)r2.z
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r1.y (FRAG_RESULT_DEPTH) r3.z (FRAG_RESULT_DATA0) r1.z (FRAG_RESULT_DATA1)
MESA: info: ; FRAG: inputs: r0.z (VARYING_SLOT_VAR0 slot=32 cm=7,il=0,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 101/1: 14 instr, 0 nops, 14 non-nops, 5 mov, 0 cov, 68 dwords
MESA: info: ; FRAG prog 101/1: 0 last-baryf, 13 last-helper, 0 half, 5 full, 8 constlen
MESA: info: ; FRAG prog 101/1: 1 cat0, 5 cat1, 7 cat2, 0 cat3, 0 cat4, 1 cat5, 0 cat6, 0 cat7
MESA: info: ; FRAG prog 101/1: 0 sstall, 0 (ss), 39 systall, 1 (sy), 0 loops
MESA: info: ; FRAG prog 101/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 29 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; posz: r1.y
MESA: info: ; data0: r3.z
MESA: info: ; data1: r1.z
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xac86d0ef, 0x0b6901fa, 0x161166ef, 0xe9ac87c3, 0xad10de8c, 0x50c07a65, 0xb1e73804, 0x6de21a9d}
MESA: info: outputs_written: 32-34
MESA: info: system_values_read: 0x00000000'00000000'00000000'00000200
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: outputs: 3
MESA: info: uniforms: 52
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_VAR0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_VAR1.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #2 (VARYING_SLOT_VAR2.xy, 2, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     decl_var  INTERP_MODE_NONE none float[5] #4
MESA: info:     decl_var  INTERP_MODE_NONE none float[5] #5
MESA: info:     decl_var  INTERP_MODE_NONE none float[5] #6
MESA: info:     decl_var  INTERP_MODE_NONE none float[5] #7
MESA: info:     decl_var  INTERP_MODE_NONE none float[5] #8
MESA: info:     con block b0:         // preds:
MESA: info:     div 32       %0 = @decl_reg (num_components=1, num_array_elems=5, bit_size=32, divergent=1)
MESA: info:     div 32       %1 = @decl_reg (num_components=1, num_array_elems=5, bit_size=32, divergent=1)
MESA: info:     div 32       %2 = @decl_reg (num_components=1, num_array_elems=5, bit_size=32, divergent=1)
MESA: info:     div 32       %3 = @decl_reg (num_components=1, num_array_elems=5, bit_size=32, divergent=1)
MESA: info:     div 32       %4 = @decl_reg (num_components=1, num_array_elems=5, bit_size=32, divergent=1)
MESA: info:     con 1        %5 = @preamble_start_ir3
MESA: info:                       // succs: b1 b5
MESA: info:     if %5 {
MESA: info:         con block b1:         // preds: b0
MESA: info:         div 1        %6 = @elect_any_ir3
MESA: info:                           // succs: b2 b3
MESA: info:         if %6 {
MESA: info:             div block b2:         // preds: b1
MESA: info:             con 32       %7 = load_const (0x00000001)
MESA: info:             con 32       %8 = load_const (0x00000000)
MESA: info:             con 32       %9 = load_const (0x00000010 = 16)
MESA: info:             con 32      %10 = @bindless_resource_ir3 (%7 (0x1)) (desc_set=1)
MESA: info:             con 32    %2196 = @load_ubo_vec4 (%10, %7 (0x1)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %12 = f2i32 %2196
MESA: info:             con 32x2  %2199 = @load_ubo_vec4 (%10, %8 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %14 = ftrunc %2196
MESA: info:             con 32x2  %3535 = fmul %2199, %14.xx
MESA: info:             con 32    %3536 = mov %3535.x
MESA: info:             con 32    %3537 = mov %3535.y
MESA: info:                               @store_const_ir3 (%3536) (base=0)
MESA: info:                               @store_const_ir3 (%3537) (base=1)
MESA: info:             con 32x2  %3538 = f2i32 %2199
MESA: info:             con 32x2  %3539 = ishl %3538, %7 (0x1).xx
MESA: info:             con 32    %3540 = mov %3539.x
MESA: info:                               @store_const_ir3 (%3540) (base=2)
MESA: info:             con 32      %21 = ineg %3539.x
MESA: info:                               @store_const_ir3 (%21) (base=3)
MESA: info:             con 32      %22 = iabs! %3539.x
MESA: info:                               @store_const_ir3 (%22) (base=4)
MESA: info:             con 32      %24 = @bindless_resource_ir3 (%8 (0x0)) (desc_set=1)
MESA: info:             con 32    %2202 = @load_ubo_vec4 (%24, %8 (0x0)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %26 = f2i32 %2202
MESA: info:             con 32      %27 = ishl %7 (0x1), %26
MESA: info:                               @store_const_ir3 (%27) (base=5)
MESA: info:             con 32    %3285 = umul_low %27, %27
MESA: info:             con 32    %3286 = imadsh_mix16 %27, %27, %3285
MESA: info:             con 32    %3287 = imadsh_mix16 %27, %27, %3286
MESA: info:                               @store_const_ir3 (%3287) (base=6)
MESA: info:             con 32      %29 = iabs! %3287
MESA: info:                               @store_const_ir3 (%29) (base=7)
MESA: info:             con 32      %30 = u2f32! %29
MESA: info:             con 32      %31 = frcp! %30
MESA: info:             con 32      %32 = load_const (0x4f7ffffe = 4.294967e+09)
MESA: info:             con 32      %33 = fmul! %31, %32 (4.294967e+09)
MESA: info:             con 32      %34 = f2u32! %33
MESA: info:             con 32    %3282 = umul_low! %29, %34
MESA: info:             con 32    %3283 = imadsh_mix16! %29, %34, %3282
MESA: info:             con 32    %3284 = imadsh_mix16! %34, %29, %3283
MESA: info:             con 32      %36 = ineg! %3284
MESA: info:             con 32      %37 = load_const (0x0000ffff = 65535)
MESA: info:             con 32      %38 = iand! %34, %37 (0xffff)
MESA: info:             con 32      %39 = iand! %36, %37 (0xffff)
MESA: info:             con 32      %40 = ushr! %34, %9 (0x10)
MESA: info:             con 32      %41 = ushr! %36, %9 (0x10)
MESA: info:             con 32    %3279 = umul_low! %38, %39
MESA: info:             con 32    %3280 = imadsh_mix16! %38, %39, %3279
MESA: info:             con 32    %3281 = imadsh_mix16! %39, %38, %3280
MESA: info:             con 32    %3276 = umul_low! %38, %41
MESA: info:             con 32    %3277 = imadsh_mix16! %38, %41, %3276
MESA: info:             con 32    %3278 = imadsh_mix16! %41, %38, %3277
MESA: info:             con 32    %3273 = umul_low! %40, %39
MESA: info:             con 32    %3274 = imadsh_mix16! %40, %39, %3273
MESA: info:             con 32    %3275 = imadsh_mix16! %39, %40, %3274
MESA: info:             con 32    %3270 = umul_low! %40, %41
MESA: info:             con 32    %3271 = imadsh_mix16! %40, %41, %3270
MESA: info:             con 32    %3272 = imadsh_mix16! %41, %40, %3271
MESA: info:             con 32      %46 = ishl! %3278, %9 (0x10)
MESA: info:             con 32      %47 = iadd! %3281, %46
MESA: info:             con 1       %48 = ult! %47, %3281
MESA: info:             con 32      %49 = b2i32! %48
MESA: info:             con 32      %50 = iadd! %3272, %49
MESA: info:             con 32      %51 = ushr! %3278, %9 (0x10)
MESA: info:             con 32      %53 = ishl! %3275, %9 (0x10)
MESA: info:             con 32      %54 = iadd! %47, %53
MESA: info:             con 1       %55 = ult! %54, %47
MESA: info:             con 32      %56 = b2i32! %55
MESA: info:             con 32    %2452 = iadd3! %50, %51, %56
MESA: info:             con 32      %58 = ushr! %3275, %9 (0x10)
MESA: info:             con 32    %2451 = iadd3! %2452, %58, %34
MESA: info:             con 32      %61 = iand! %2451, %37 (0xffff)
MESA: info:                               @store_const_ir3 (%61) (base=8)
MESA: info:             con 32      %62 = ushr! %2451, %9 (0x10)
MESA: info:                               @store_const_ir3 (%62) (base=9)
MESA: info:             con 32      %63 = ineg! %29
MESA: info:                               @store_const_ir3 (%63) (base=10)
MESA: info:             con 32      %64 = u2f32! %21
MESA: info:             con 32      %65 = frcp! %64
MESA: info:             con 32      %66 = fmul! %65, %32 (4.294967e+09)
MESA: info:             con 32      %67 = f2u32! %66
MESA: info:             con 32    %3267 = umul_low! %3539.x, %67
MESA: info:             con 32    %3268 = imadsh_mix16! %3539.x, %67, %3267
MESA: info:             con 32    %3269 = imadsh_mix16! %67, %3539.x, %3268
MESA: info:             con 32      %69 = iand! %67, %37 (0xffff)
MESA: info:             con 32      %70 = iand! %3269, %37 (0xffff)
MESA: info:             con 32      %71 = ushr! %67, %9 (0x10)
MESA: info:             con 32      %72 = ushr! %3269, %9 (0x10)
MESA: info:             con 32    %3264 = umul_low! %69, %70
MESA: info:             con 32    %3265 = imadsh_mix16! %69, %70, %3264
MESA: info:             con 32    %3266 = imadsh_mix16! %70, %69, %3265
MESA: info:             con 32    %3261 = umul_low! %69, %72
MESA: info:             con 32    %3262 = imadsh_mix16! %69, %72, %3261
MESA: info:             con 32    %3263 = imadsh_mix16! %72, %69, %3262
MESA: info:             con 32    %3258 = umul_low! %71, %70
MESA: info:             con 32    %3259 = imadsh_mix16! %71, %70, %3258
MESA: info:             con 32    %3260 = imadsh_mix16! %70, %71, %3259
MESA: info:             con 32    %3255 = umul_low! %71, %72
MESA: info:             con 32    %3256 = imadsh_mix16! %71, %72, %3255
MESA: info:             con 32    %3257 = imadsh_mix16! %72, %71, %3256
MESA: info:             con 32      %77 = ishl! %3263, %9 (0x10)
MESA: info:             con 32      %78 = iadd! %3266, %77
MESA: info:             con 1       %79 = ult! %78, %3266
MESA: info:             con 32      %80 = b2i32! %79
MESA: info:             con 32      %81 = iadd! %3257, %80
MESA: info:             con 32      %82 = ushr! %3263, %9 (0x10)
MESA: info:             con 32      %84 = ishl! %3260, %9 (0x10)
MESA: info:             con 32      %85 = iadd! %78, %84
MESA: info:             con 1       %86 = ult! %85, %78
MESA: info:             con 32      %87 = b2i32! %86
MESA: info:             con 32    %2450 = iadd3! %81, %82, %87
MESA: info:             con 32      %89 = ushr! %3260, %9 (0x10)
MESA: info:             con 32    %2449 = iadd3! %2450, %89, %67
MESA: info:             con 32      %92 = iand! %2449, %37 (0xffff)
MESA: info:                               @store_const_ir3 (%92) (base=11)
MESA: info:             con 32      %93 = ushr! %2449, %9 (0x10)
MESA: info:                               @store_const_ir3 (%93) (base=12)
MESA: info:             con 32      %94 = u2f32! %22
MESA: info:             con 32      %95 = frcp! %94
MESA: info:             con 32      %96 = fmul! %95, %32 (4.294967e+09)
MESA: info:             con 32      %97 = f2u32! %96
MESA: info:             con 32    %3252 = umul_low! %22, %97
MESA: info:             con 32    %3253 = imadsh_mix16! %22, %97, %3252
MESA: info:             con 32    %3254 = imadsh_mix16! %97, %22, %3253
MESA: info:             con 32      %99 = ineg! %3254
MESA: info:             con 32     %100 = iand! %97, %37 (0xffff)
MESA: info:             con 32     %101 = iand! %99, %37 (0xffff)
MESA: info:             con 32     %102 = ushr! %97, %9 (0x10)
MESA: info:             con 32     %103 = ushr! %99, %9 (0x10)
MESA: info:             con 32    %3249 = umul_low! %100, %101
MESA: info:             con 32    %3250 = imadsh_mix16! %100, %101, %3249
MESA: info:             con 32    %3251 = imadsh_mix16! %101, %100, %3250
MESA: info:             con 32    %3246 = umul_low! %100, %103
MESA: info:             con 32    %3247 = imadsh_mix16! %100, %103, %3246
MESA: info:             con 32    %3248 = imadsh_mix16! %103, %100, %3247
MESA: info:             con 32    %3243 = umul_low! %102, %101
MESA: info:             con 32    %3244 = imadsh_mix16! %102, %101, %3243
MESA: info:             con 32    %3245 = imadsh_mix16! %101, %102, %3244
MESA: info:             con 32    %3240 = umul_low! %102, %103
MESA: info:             con 32    %3241 = imadsh_mix16! %102, %103, %3240
MESA: info:             con 32    %3242 = imadsh_mix16! %103, %102, %3241
MESA: info:             con 32     %108 = ishl! %3248, %9 (0x10)
MESA: info:             con 32     %109 = iadd! %3251, %108
MESA: info:             con 1      %110 = ult! %109, %3251
MESA: info:             con 32     %111 = b2i32! %110
MESA: info:             con 32     %112 = iadd! %3242, %111
MESA: info:             con 32     %113 = ushr! %3248, %9 (0x10)
MESA: info:             con 32     %115 = ishl! %3245, %9 (0x10)
MESA: info:             con 32     %116 = iadd! %109, %115
MESA: info:             con 1      %117 = ult! %116, %109
MESA: info:             con 32     %118 = b2i32! %117
MESA: info:             con 32    %2448 = iadd3! %112, %113, %118
MESA: info:             con 32     %120 = ushr! %3245, %9 (0x10)
MESA: info:             con 32    %2447 = iadd3! %2448, %120, %97
MESA: info:             con 32     %123 = iand! %2447, %37 (0xffff)
MESA: info:                               @store_const_ir3 (%123) (base=13)
MESA: info:             con 32     %124 = ushr! %2447, %9 (0x10)
MESA: info:                               @store_const_ir3 (%124) (base=14)
MESA: info:             con 32     %125 = ineg! %22
MESA: info:                               @store_const_ir3 (%125) (base=15)
MESA: info:             con 32     %126 = u2f32! %3287
MESA: info:             con 32     %127 = frcp! %126
MESA: info:             con 32     %128 = fmul! %127, %32 (4.294967e+09)
MESA: info:             con 32     %129 = f2u32! %128
MESA: info:             con 32    %3237 = umul_low! %3287, %129
MESA: info:             con 32    %3238 = imadsh_mix16! %3287, %129, %3237
MESA: info:             con 32    %3239 = imadsh_mix16! %129, %3287, %3238
MESA: info:             con 32     %131 = ineg! %3239
MESA: info:             con 32     %132 = iand! %129, %37 (0xffff)
MESA: info:             con 32     %133 = iand! %131, %37 (0xffff)
MESA: info:             con 32     %134 = ushr! %129, %9 (0x10)
MESA: info:             con 32     %135 = ushr! %131, %9 (0x10)
MESA: info:             con 32    %3234 = umul_low! %132, %133
MESA: info:             con 32    %3235 = imadsh_mix16! %132, %133, %3234
MESA: info:             con 32    %3236 = imadsh_mix16! %133, %132, %3235
MESA: info:             con 32    %3231 = umul_low! %132, %135
MESA: info:             con 32    %3232 = imadsh_mix16! %132, %135, %3231
MESA: info:             con 32    %3233 = imadsh_mix16! %135, %132, %3232
MESA: info:             con 32    %3228 = umul_low! %134, %133
MESA: info:             con 32    %3229 = imadsh_mix16! %134, %133, %3228
MESA: info:             con 32    %3230 = imadsh_mix16! %133, %134, %3229
MESA: info:             con 32    %3225 = umul_low! %134, %135
MESA: info:             con 32    %3226 = imadsh_mix16! %134, %135, %3225
MESA: info:             con 32    %3227 = imadsh_mix16! %135, %134, %3226
MESA: info:             con 32     %140 = ishl! %3233, %9 (0x10)
MESA: info:             con 32     %141 = iadd! %3236, %140
MESA: info:             con 1      %142 = ult! %141, %3236
MESA: info:             con 32     %143 = b2i32! %142
MESA: info:             con 32     %144 = iadd! %3227, %143
MESA: info:             con 32     %145 = ushr! %3233, %9 (0x10)
MESA: info:             con 32     %147 = ishl! %3230, %9 (0x10)
MESA: info:             con 32     %148 = iadd! %141, %147
MESA: info:             con 1      %149 = ult! %148, %141
MESA: info:             con 32     %150 = b2i32! %149
MESA: info:             con 32    %2446 = iadd3! %144, %145, %150
MESA: info:             con 32     %152 = ushr! %3230, %9 (0x10)
MESA: info:             con 32    %2445 = iadd3! %2446, %152, %129
MESA: info:             con 32     %155 = iand! %2445, %37 (0xffff)
MESA: info:                               @store_const_ir3 (%155) (base=16)
MESA: info:             con 32     %156 = ushr! %2445, %9 (0x10)
MESA: info:                               @store_const_ir3 (%156) (base=17)
MESA: info:             con 32     %157 = ineg! %3287
MESA: info:                               @store_const_ir3 (%157) (base=18)
MESA: info:             con 32     %158 = u2f32! %27
MESA: info:             con 32     %159 = frcp! %158
MESA: info:             con 32     %160 = fmul! %159, %32 (4.294967e+09)
MESA: info:             con 32     %161 = f2u32! %160
MESA: info:             con 32    %3222 = umul_low! %27, %161
MESA: info:             con 32    %3223 = imadsh_mix16! %27, %161, %3222
MESA: info:             con 32    %3224 = imadsh_mix16! %161, %27, %3223
MESA: info:             con 32     %163 = ineg! %3224
MESA: info:             con 32     %164 = iand! %161, %37 (0xffff)
MESA: info:             con 32     %165 = iand! %163, %37 (0xffff)
MESA: info:             con 32     %166 = ushr! %161, %9 (0x10)
MESA: info:             con 32     %167 = ushr! %163, %9 (0x10)
MESA: info:             con 32    %3219 = umul_low! %164, %165
MESA: info:             con 32    %3220 = imadsh_mix16! %164, %165, %3219
MESA: info:             con 32    %3221 = imadsh_mix16! %165, %164, %3220
MESA: info:             con 32    %3216 = umul_low! %164, %167
MESA: info:             con 32    %3217 = imadsh_mix16! %164, %167, %3216
MESA: info:             con 32    %3218 = imadsh_mix16! %167, %164, %3217
MESA: info:             con 32    %3213 = umul_low! %166, %165
MESA: info:             con 32    %3214 = imadsh_mix16! %166, %165, %3213
MESA: info:             con 32    %3215 = imadsh_mix16! %165, %166, %3214
MESA: info:             con 32    %3210 = umul_low! %166, %167
MESA: info:             con 32    %3211 = imadsh_mix16! %166, %167, %3210
MESA: info:             con 32    %3212 = imadsh_mix16! %167, %166, %3211
MESA: info:             con 32     %172 = ishl! %3218, %9 (0x10)
MESA: info:             con 32     %173 = iadd! %3221, %172
MESA: info:             con 1      %174 = ult! %173, %3221
MESA: info:             con 32     %175 = b2i32! %174
MESA: info:             con 32     %176 = iadd! %3212, %175
MESA: info:             con 32     %177 = ushr! %3218, %9 (0x10)
MESA: info:             con 32     %179 = ishl! %3215, %9 (0x10)
MESA: info:             con 32     %180 = iadd! %173, %179
MESA: info:             con 1      %181 = ult! %180, %173
MESA: info:             con 32     %182 = b2i32! %181
MESA: info:             con 32    %2444 = iadd3! %176, %177, %182
MESA: info:             con 32     %184 = ushr! %3215, %9 (0x10)
MESA: info:             con 32    %2443 = iadd3! %2444, %184, %161
MESA: info:             con 32     %187 = iand! %2443, %37 (0xffff)
MESA: info:                               @store_const_ir3 (%187) (base=19)
MESA: info:             con 32     %188 = ushr! %2443, %9 (0x10)
MESA: info:                               @store_const_ir3 (%188) (base=20)
MESA: info:             con 32     %189 = ineg! %27
MESA: info:                               @store_const_ir3 (%189) (base=21)
MESA: info:             con 32     %190 = iabs! %27
MESA: info:                               @store_const_ir3 (%190) (base=22)
MESA: info:             con 32     %191 = u2f32! %190
MESA: info:             con 32     %192 = frcp! %191
MESA: info:             con 32     %193 = fmul! %192, %32 (4.294967e+09)
MESA: info:             con 32     %194 = f2u32! %193
MESA: info:             con 32    %3207 = umul_low! %190, %194
MESA: info:             con 32    %3208 = imadsh_mix16! %190, %194, %3207
MESA: info:             con 32    %3209 = imadsh_mix16! %194, %190, %3208
MESA: info:             con 32     %196 = ineg! %3209
MESA: info:             con 32     %197 = iand! %194, %37 (0xffff)
MESA: info:             con 32     %198 = iand! %196, %37 (0xffff)
MESA: info:             con 32     %199 = ushr! %194, %9 (0x10)
MESA: info:             con 32     %200 = ushr! %196, %9 (0x10)
MESA: info:             con 32    %3204 = umul_low! %197, %198
MESA: info:             con 32    %3205 = imadsh_mix16! %197, %198, %3204
MESA: info:             con 32    %3206 = imadsh_mix16! %198, %197, %3205
MESA: info:             con 32    %3201 = umul_low! %197, %200
MESA: info:             con 32    %3202 = imadsh_mix16! %197, %200, %3201
MESA: info:             con 32    %3203 = imadsh_mix16! %200, %197, %3202
MESA: info:             con 32    %3198 = umul_low! %199, %198
MESA: info:             con 32    %3199 = imadsh_mix16! %199, %198, %3198
MESA: info:             con 32    %3200 = imadsh_mix16! %198, %199, %3199
MESA: info:             con 32    %3195 = umul_low! %199, %200
MESA: info:             con 32    %3196 = imadsh_mix16! %199, %200, %3195
MESA: info:             con 32    %3197 = imadsh_mix16! %200, %199, %3196
MESA: info:             con 32     %205 = ishl! %3203, %9 (0x10)
MESA: info:             con 32     %206 = iadd! %3206, %205
MESA: info:             con 1      %207 = ult! %206, %3206
MESA: info:             con 32     %208 = b2i32! %207
MESA: info:             con 32     %209 = iadd! %3197, %208
MESA: info:             con 32     %210 = ushr! %3203, %9 (0x10)
MESA: info:             con 32     %212 = ishl! %3200, %9 (0x10)
MESA: info:             con 32     %213 = iadd! %206, %212
MESA: info:             con 1      %214 = ult! %213, %206
MESA: info:             con 32     %215 = b2i32! %214
MESA: info:             con 32    %2442 = iadd3! %209, %210, %215
MESA: info:             con 32     %217 = ushr! %3200, %9 (0x10)
MESA: info:             con 32    %2441 = iadd3! %2442, %217, %194
MESA: info:             con 32     %220 = iand! %2441, %37 (0xffff)
MESA: info:                               @store_const_ir3 (%220) (base=23)
MESA: info:             con 32     %221 = ushr! %2441, %9 (0x10)
MESA: info:                               @store_const_ir3 (%221) (base=24)
MESA: info:             con 32     %222 = ineg! %190
MESA: info:                               @store_const_ir3 (%222) (base=25)
MESA: info:             con 32     %223 = iabs! %12
MESA: info:             con 32     %224 = ixor! %12, %27
MESA: info:             con 1      %225 = ilt! %224, %8 (0x0)
MESA: info:             con 32     %226 = iand! %223, %37 (0xffff)
MESA: info:             con 32     %227 = ushr! %223, %9 (0x10)
MESA: info:             con 32    %3192 = umul_low! %226, %220
MESA: info:             con 32    %3193 = imadsh_mix16! %226, %220, %3192
MESA: info:             con 32    %3194 = imadsh_mix16! %220, %226, %3193
MESA: info:             con 32    %3189 = umul_low! %226, %221
MESA: info:             con 32    %3190 = imadsh_mix16! %226, %221, %3189
MESA: info:             con 32    %3191 = imadsh_mix16! %221, %226, %3190
MESA: info:             con 32    %3186 = umul_low! %227, %220
MESA: info:             con 32    %3187 = imadsh_mix16! %227, %220, %3186
MESA: info:             con 32    %3188 = imadsh_mix16! %220, %227, %3187
MESA: info:             con 32    %3183 = umul_low! %227, %221
MESA: info:             con 32    %3184 = imadsh_mix16! %227, %221, %3183
MESA: info:             con 32    %3185 = imadsh_mix16! %221, %227, %3184
MESA: info:             con 32     %232 = ishl! %3191, %9 (0x10)
MESA: info:             con 32     %233 = iadd! %3194, %232
MESA: info:             con 1      %234 = ult! %233, %3194
MESA: info:             con 32     %235 = b2i32! %234
MESA: info:             con 32     %237 = ushr! %3191, %9 (0x10)
MESA: info:             con 32    %2440 = iadd3! %3185, %235, %237
MESA: info:             con 32     %239 = ishl! %3188, %9 (0x10)
MESA: info:             con 32     %240 = iadd! %233, %239
MESA: info:             con 1      %241 = ult! %240, %233
MESA: info:             con 32     %242 = b2i32! %241
MESA: info:             con 32     %244 = ushr! %3188, %9 (0x10)
MESA: info:             con 32    %2439 = iadd3! %2440, %242, %244
MESA: info:             con 32    %3180 = umul_low! %2439, %190
MESA: info:             con 32    %3181 = imadsh_mix16! %2439, %190, %3180
MESA: info:             con 32    %3182 = imadsh_mix16! %190, %2439, %3181
MESA: info:             con 32    %3533 = isub! %223, %3182
MESA: info:             con 1      %249 = uge! %3533, %190
MESA: info:             con 32     %250 = iadd! %2439, %7 (0x1)
MESA: info:             con 32     %251 = bcsel! %249, %250, %2439
MESA: info:             con 32    %3532 = isub! %3533, %190
MESA: info:             con 32     %253 = bcsel! %249, %3532, %3533
MESA: info:             con 1      %254 = uge! %253, %190
MESA: info:             con 32     %255 = iadd! %251, %7 (0x1)
MESA: info:             con 32     %256 = bcsel! %254, %255, %251
MESA: info:             con 32     %257 = ineg! %256
MESA: info:             con 32     %258 = bcsel! %225, %257, %256
MESA: info:                               @store_const_ir3 (%258) (base=26)
MESA: info:             con 32x2  %3541 = umul_low %3539, %27.xx
MESA: info:             con 32x2  %3542 = imadsh_mix16 %3539, %27.xx, %3541
MESA: info:             con 32x2  %3543 = imadsh_mix16 %27.xx, %3539, %3542
MESA: info:             con 32     %261 = load_const (0xffffffff = -1 = 4294967295)
MESA: info:             con 32x2  %3544 = isub %261 (0xffffffff).xx, %3543
MESA: info:             con 32    %3545 = mov %3544.x
MESA: info:             con 32    %3546 = mov %3544.y
MESA: info:                               @store_const_ir3 (%3545) (base=27)
MESA: info:                               @store_const_ir3 (%3546) (base=28)
MESA: info:             con 32x2  %3547 = load_const (0x00000008, 0x00000003)
MESA: info:             con 32x2  %3548 = isub %3547 (0x8, 0x3), %26.xx
MESA: info:             con 32     %270 = imax %7 (0x1), %3548.y
MESA: info:             con 32    %3527 = isub %3548.x, %270
MESA: info:                               @store_const_ir3 (%3527) (base=29)
MESA: info:             con 32     %273 = i2f32 %258
MESA: info:                               @store_const_ir3 (%273) (base=30)
MESA: info:             con 32     %274 = i2f32 %27
MESA: info:                               @store_const_ir3 (%274) (base=31)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%10, %8 (0x0)) (base=32, range=4)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%24, %8 (0x0)) (base=48, range=4)
MESA: info:             con 32     %282 = @bindless_resource_ir3 (%8 (0x0)) (desc_set=3)
MESA: info:                               @prefetch_tex_ir3 (%282)
MESA: info:                               @preamble_end_ir3
MESA: info:                               // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:         // preds: b4 b5
MESA: info:     div 32     %311 = @load_tcs_header_ir3
MESA: info:     div 32     %312 = @load_vertex_id
MESA: info:     con 32     %313 = load_const (0x00000001)
MESA: info:     con 32     %314 = load_const (0x00000000)
MESA: info:     con 32     %317 = load_const (0x00000010 = 16)
MESA: info:     con 32     %319 = load_const (0x00000002)
MESA: info:     con 32x2   %321 = @load_const_ir3 (%314 (0x0)) (base=32)
MESA: info:     con 32     %323 = @load_const_ir3 (%314 (0x0)) (base=0)
MESA: info:     con 32     %325 = @load_const_ir3 (%314 (0x0)) (base=1)
MESA: info:     con 32     %327 = @load_const_ir3 (%314 (0x0)) (base=2)
MESA: info:     con 32     %329 = @load_const_ir3 (%314 (0x0)) (base=3)
MESA: info:     con 32     %331 = @load_const_ir3 (%314 (0x0)) (base=4)
MESA: info:     con 32     %332 = load_const (0x00000003)
MESA: info:     con 32x4   %337 = @load_const_ir3 (%314 (0x0)) (base=48)
MESA: info:     con 32     %339 = @load_const_ir3 (%314 (0x0)) (base=5)
MESA: info:     con 32     %341 = @load_const_ir3 (%314 (0x0)) (base=6)
MESA: info:     div 32     %342 = iabs! %312
MESA: info:     con 32     %344 = @load_const_ir3 (%314 (0x0)) (base=7)
MESA: info:     div 32     %345 = ixor! %312, %341
MESA: info:     div 1      %346 = ilt! %345, %314 (0x0)
MESA: info:     con 32     %347 = load_const (0x0000ffff = 65535)
MESA: info:     div 32     %348 = iand! %342, %347 (0xffff)
MESA: info:     con 32     %350 = @load_const_ir3 (%314 (0x0)) (base=8)
MESA: info:     div 32     %351 = ushr! %342, %317 (0x10)
MESA: info:     con 32     %353 = @load_const_ir3 (%314 (0x0)) (base=9)
MESA: info:     div 32    %3171 = umul_low! %348, %350
MESA: info:     div 32    %3172 = imadsh_mix16! %348, %350, %3171
MESA: info:     div 32    %3173 = imadsh_mix16! %350, %348, %3172
MESA: info:     div 32    %3168 = umul_low! %348, %353
MESA: info:     div 32    %3169 = imadsh_mix16! %348, %353, %3168
MESA: info:     div 32    %3170 = imadsh_mix16! %353, %348, %3169
MESA: info:     div 32    %3165 = umul_low! %351, %350
MESA: info:     div 32    %3166 = imadsh_mix16! %351, %350, %3165
MESA: info:     div 32    %3167 = imadsh_mix16! %350, %351, %3166
MESA: info:     div 32    %3162 = umul_low! %351, %353
MESA: info:     div 32    %3163 = imadsh_mix16! %351, %353, %3162
MESA: info:     div 32    %3164 = imadsh_mix16! %353, %351, %3163
MESA: info:     div 32     %358 = ishl! %3170, %317 (0x10)
MESA: info:     div 32     %359 = iadd! %3173, %358
MESA: info:     div 1      %360 = ult! %359, %3173
MESA: info:     div 32     %361 = b2i32! %360
MESA: info:     div 32     %363 = ushr! %3170, %317 (0x10)
MESA: info:     div 32    %2431 = iadd3! %3164, %361, %363
MESA: info:     div 32     %365 = ishl! %3167, %317 (0x10)
MESA: info:     div 32     %366 = iadd! %359, %365
MESA: info:     div 1      %367 = ult! %366, %359
MESA: info:     div 32     %368 = b2i32! %367
MESA: info:     div 32     %370 = ushr! %3167, %317 (0x10)
MESA: info:     div 32    %2430 = iadd3! %2431, %368, %370
MESA: info:     div 32    %3159 = umul_low! %2430, %344
MESA: info:     div 32    %3160 = imadsh_mix16! %2430, %344, %3159
MESA: info:     div 32    %3161 = imadsh_mix16! %344, %2430, %3160
MESA: info:     div 32    %3526 = isub! %342, %3161
MESA: info:     div 1      %375 = uge! %3526, %344
MESA: info:     div 32     %376 = iadd! %2430, %313 (0x1)
MESA: info:     div 32     %377 = bcsel! %375, %376, %2430
MESA: info:     con 32     %379 = @load_const_ir3 (%314 (0x0)) (base=10)
MESA: info:     div 32     %380 = iadd! %3526, %379
MESA: info:     div 32     %381 = bcsel! %375, %380, %3526
MESA: info:     div 1      %382 = uge! %381, %344
MESA: info:     div 32     %383 = iadd! %377, %313 (0x1)
MESA: info:     div 32     %384 = bcsel! %382, %383, %377
MESA: info:     div 32     %385 = ineg! %384
MESA: info:     div 32     %386 = bcsel! %346, %385, %384
MESA: info:     div 32     %387 = iand! %386, %347 (0xffff)
MESA: info:     con 32     %389 = @load_const_ir3 (%314 (0x0)) (base=11)
MESA: info:     div 32     %390 = ushr! %386, %317 (0x10)
MESA: info:     con 32     %392 = @load_const_ir3 (%314 (0x0)) (base=12)
MESA: info:     div 32    %3156 = umul_low! %387, %389
MESA: info:     div 32    %3157 = imadsh_mix16! %387, %389, %3156
MESA: info:     div 32    %3158 = imadsh_mix16! %389, %387, %3157
MESA: info:     div 32    %3153 = umul_low! %387, %392
MESA: info:     div 32    %3154 = imadsh_mix16! %387, %392, %3153
MESA: info:     div 32    %3155 = imadsh_mix16! %392, %387, %3154
MESA: info:     div 32    %3150 = umul_low! %390, %389
MESA: info:     div 32    %3151 = imadsh_mix16! %390, %389, %3150
MESA: info:     div 32    %3152 = imadsh_mix16! %389, %390, %3151
MESA: info:     div 32    %3147 = umul_low! %390, %392
MESA: info:     div 32    %3148 = imadsh_mix16! %390, %392, %3147
MESA: info:     div 32    %3149 = imadsh_mix16! %392, %390, %3148
MESA: info:     div 32     %397 = ishl! %3155, %317 (0x10)
MESA: info:     div 32     %398 = iadd! %3158, %397
MESA: info:     div 1      %399 = ult! %398, %3158
MESA: info:     div 32     %400 = b2i32! %399
MESA: info:     div 32     %402 = ushr! %3155, %317 (0x10)
MESA: info:     div 32    %2428 = iadd3! %3149, %400, %402
MESA: info:     div 32     %404 = ishl! %3152, %317 (0x10)
MESA: info:     div 32     %405 = iadd! %398, %404
MESA: info:     div 1      %406 = ult! %405, %398
MESA: info:     div 32     %407 = b2i32! %406
MESA: info:     div 32     %409 = ushr! %3152, %317 (0x10)
MESA: info:     div 32    %2427 = iadd3! %2428, %407, %409
MESA: info:     div 32    %3144 = umul_low! %327, %2427
MESA: info:     div 32    %3145 = imadsh_mix16! %327, %2427, %3144
MESA: info:     div 32    %3146 = imadsh_mix16! %2427, %327, %3145
MESA: info:     div 32     %412 = iadd! %386, %3146
MESA: info:     div 1      %413 = uge! %412, %329
MESA: info:     div 32     %414 = iadd! %412, %327
MESA: info:     div 32     %415 = bcsel! %413, %414, %412
MESA: info:     div 1      %416 = uge! %415, %329
MESA: info:     div 32     %417 = iadd! %415, %327
MESA: info:     div 32     %418 = bcsel! %416, %417, %415
MESA: info:     div 32     %419 = iabs! %386
MESA: info:     div 32     %420 = ixor! %386, %329
MESA: info:     div 1      %421 = ilt! %420, %314 (0x0)
MESA: info:     div 32     %422 = iand! %419, %347 (0xffff)
MESA: info:     con 32     %424 = @load_const_ir3 (%314 (0x0)) (base=13)
MESA: info:     div 32     %425 = ushr! %419, %317 (0x10)
MESA: info:     con 32     %427 = @load_const_ir3 (%314 (0x0)) (base=14)
MESA: info:     div 32    %3141 = umul_low! %422, %424
MESA: info:     div 32    %3142 = imadsh_mix16! %422, %424, %3141
MESA: info:     div 32    %3143 = imadsh_mix16! %424, %422, %3142
MESA: info:     div 32    %3138 = umul_low! %422, %427
MESA: info:     div 32    %3139 = imadsh_mix16! %422, %427, %3138
MESA: info:     div 32    %3140 = imadsh_mix16! %427, %422, %3139
MESA: info:     div 32    %3135 = umul_low! %425, %424
MESA: info:     div 32    %3136 = imadsh_mix16! %425, %424, %3135
MESA: info:     div 32    %3137 = imadsh_mix16! %424, %425, %3136
MESA: info:     div 32    %3132 = umul_low! %425, %427
MESA: info:     div 32    %3133 = imadsh_mix16! %425, %427, %3132
MESA: info:     div 32    %3134 = imadsh_mix16! %427, %425, %3133
MESA: info:     div 32     %432 = ishl! %3140, %317 (0x10)
MESA: info:     div 32     %433 = iadd! %3143, %432
MESA: info:     div 1      %434 = ult! %433, %3143
MESA: info:     div 32     %435 = b2i32! %434
MESA: info:     div 32     %437 = ushr! %3140, %317 (0x10)
MESA: info:     div 32    %2426 = iadd3! %3134, %435, %437
MESA: info:     div 32     %439 = ishl! %3137, %317 (0x10)
MESA: info:     div 32     %440 = iadd! %433, %439
MESA: info:     div 1      %441 = ult! %440, %433
MESA: info:     div 32     %442 = b2i32! %441
MESA: info:     div 32     %444 = ushr! %3137, %317 (0x10)
MESA: info:     div 32    %2425 = iadd3! %2426, %442, %444
MESA: info:     div 32    %3129 = umul_low! %2425, %331
MESA: info:     div 32    %3130 = imadsh_mix16! %2425, %331, %3129
MESA: info:     div 32    %3131 = imadsh_mix16! %331, %2425, %3130
MESA: info:     div 32    %3525 = isub! %419, %3131
MESA: info:     div 1      %449 = uge! %3525, %331
MESA: info:     div 32     %450 = iadd! %2425, %313 (0x1)
MESA: info:     div 32     %451 = bcsel! %449, %450, %2425
MESA: info:     con 32     %453 = @load_const_ir3 (%314 (0x0)) (base=15)
MESA: info:     div 32     %454 = iadd! %3525, %453
MESA: info:     div 32     %455 = bcsel! %449, %454, %3525
MESA: info:     div 1      %456 = uge! %455, %331
MESA: info:     div 32     %457 = iadd! %451, %313 (0x1)
MESA: info:     div 32     %458 = bcsel! %456, %457, %451
MESA: info:     div 32     %459 = ineg! %458
MESA: info:     div 32     %460 = bcsel! %421, %459, %458
MESA: info:     div 32     %461 = iand! %312, %347 (0xffff)
MESA: info:     con 32     %463 = @load_const_ir3 (%314 (0x0)) (base=16)
MESA: info:     div 32     %464 = ushr! %312, %317 (0x10)
MESA: info:     con 32     %466 = @load_const_ir3 (%314 (0x0)) (base=17)
MESA: info:     div 32    %3126 = umul_low! %461, %463
MESA: info:     div 32    %3127 = imadsh_mix16! %461, %463, %3126
MESA: info:     div 32    %3128 = imadsh_mix16! %463, %461, %3127
MESA: info:     div 32    %3123 = umul_low! %461, %466
MESA: info:     div 32    %3124 = imadsh_mix16! %461, %466, %3123
MESA: info:     div 32    %3125 = imadsh_mix16! %466, %461, %3124
MESA: info:     div 32    %3120 = umul_low! %464, %463
MESA: info:     div 32    %3121 = imadsh_mix16! %464, %463, %3120
MESA: info:     div 32    %3122 = imadsh_mix16! %463, %464, %3121
MESA: info:     div 32    %3117 = umul_low! %464, %466
MESA: info:     div 32    %3118 = imadsh_mix16! %464, %466, %3117
MESA: info:     div 32    %3119 = imadsh_mix16! %466, %464, %3118
MESA: info:     div 32     %471 = ishl! %3125, %317 (0x10)
MESA: info:     div 32     %472 = iadd! %3128, %471
MESA: info:     div 1      %473 = ult! %472, %3128
MESA: info:     div 32     %474 = b2i32! %473
MESA: info:     div 32     %476 = ushr! %3125, %317 (0x10)
MESA: info:     div 32    %2423 = iadd3! %3119, %474, %476
MESA: info:     div 32     %478 = ishl! %3122, %317 (0x10)
MESA: info:     div 32     %479 = iadd! %472, %478
MESA: info:     div 1      %480 = ult! %479, %472
MESA: info:     div 32     %481 = b2i32! %480
MESA: info:     div 32     %483 = ushr! %3122, %317 (0x10)
MESA: info:     div 32    %2422 = iadd3! %2423, %481, %483
MESA: info:     div 32    %3114 = umul_low! %2422, %341
MESA: info:     div 32    %3115 = imadsh_mix16! %2422, %341, %3114
MESA: info:     div 32    %3116 = imadsh_mix16! %341, %2422, %3115
MESA: info:     div 32    %3524 = isub! %312, %3116
MESA: info:     div 1      %488 = uge! %3524, %341
MESA: info:     con 32     %490 = @load_const_ir3 (%314 (0x0)) (base=18)
MESA: info:     div 32     %491 = iadd! %3524, %490
MESA: info:     div 32     %492 = bcsel! %488, %491, %3524
MESA: info:     div 1      %493 = uge! %492, %341
MESA: info:     div 32     %494 = iadd! %492, %490
MESA: info:     div 32     %495 = bcsel! %493, %494, %492
MESA: info:     div 32     %496 = iand! %495, %347 (0xffff)
MESA: info:     con 32     %498 = @load_const_ir3 (%314 (0x0)) (base=19)
MESA: info:     div 32     %499 = ushr! %495, %317 (0x10)
MESA: info:     con 32     %501 = @load_const_ir3 (%314 (0x0)) (base=20)
MESA: info:     div 32    %3111 = umul_low! %496, %498
MESA: info:     div 32    %3112 = imadsh_mix16! %496, %498, %3111
MESA: info:     div 32    %3113 = imadsh_mix16! %498, %496, %3112
MESA: info:     div 32    %3108 = umul_low! %496, %501
MESA: info:     div 32    %3109 = imadsh_mix16! %496, %501, %3108
MESA: info:     div 32    %3110 = imadsh_mix16! %501, %496, %3109
MESA: info:     div 32    %3105 = umul_low! %499, %498
MESA: info:     div 32    %3106 = imadsh_mix16! %499, %498, %3105
MESA: info:     div 32    %3107 = imadsh_mix16! %498, %499, %3106
MESA: info:     div 32    %3102 = umul_low! %499, %501
MESA: info:     div 32    %3103 = imadsh_mix16! %499, %501, %3102
MESA: info:     div 32    %3104 = imadsh_mix16! %501, %499, %3103
MESA: info:     div 32     %506 = ishl! %3110, %317 (0x10)
MESA: info:     div 32     %507 = iadd! %3113, %506
MESA: info:     div 1      %508 = ult! %507, %3113
MESA: info:     div 32     %509 = b2i32! %508
MESA: info:     div 32     %511 = ushr! %3110, %317 (0x10)
MESA: info:     div 32    %2420 = iadd3! %3104, %509, %511
MESA: info:     div 32     %513 = ishl! %3107, %317 (0x10)
MESA: info:     div 32     %514 = iadd! %507, %513
MESA: info:     div 1      %515 = ult! %514, %507
MESA: info:     div 32     %516 = b2i32! %515
MESA: info:     div 32     %518 = ushr! %3107, %317 (0x10)
MESA: info:     div 32    %2419 = iadd3! %2420, %516, %518
MESA: info:     div 32    %3099 = umul_low! %2419, %339
MESA: info:     div 32    %3100 = imadsh_mix16! %2419, %339, %3099
MESA: info:     div 32    %3101 = imadsh_mix16! %339, %2419, %3100
MESA: info:     div 32    %3523 = isub! %495, %3101
MESA: info:     div 1      %523 = uge! %3523, %339
MESA: info:     con 32     %525 = @load_const_ir3 (%314 (0x0)) (base=21)
MESA: info:     div 32     %526 = iadd! %3523, %525
MESA: info:     div 32     %527 = bcsel! %523, %526, %3523
MESA: info:     div 1      %528 = uge! %527, %339
MESA: info:     div 32     %529 = iadd! %527, %525
MESA: info:     div 32     %530 = bcsel! %528, %529, %527
MESA: info:     div 32     %531 = iabs! %495
MESA: info:     con 32     %533 = @load_const_ir3 (%314 (0x0)) (base=22)
MESA: info:     div 32     %534 = ixor! %495, %339
MESA: info:     div 1      %535 = ilt! %534, %314 (0x0)
MESA: info:     div 32     %536 = iand! %531, %347 (0xffff)
MESA: info:     con 32     %538 = @load_const_ir3 (%314 (0x0)) (base=23)
MESA: info:     div 32     %539 = ushr! %531, %317 (0x10)
MESA: info:     con 32     %541 = @load_const_ir3 (%314 (0x0)) (base=24)
MESA: info:     div 32    %3096 = umul_low! %536, %538
MESA: info:     div 32    %3097 = imadsh_mix16! %536, %538, %3096
MESA: info:     div 32    %3098 = imadsh_mix16! %538, %536, %3097
MESA: info:     div 32    %3093 = umul_low! %536, %541
MESA: info:     div 32    %3094 = imadsh_mix16! %536, %541, %3093
MESA: info:     div 32    %3095 = imadsh_mix16! %541, %536, %3094
MESA: info:     div 32    %3090 = umul_low! %539, %538
MESA: info:     div 32    %3091 = imadsh_mix16! %539, %538, %3090
MESA: info:     div 32    %3092 = imadsh_mix16! %538, %539, %3091
MESA: info:     div 32    %3087 = umul_low! %539, %541
MESA: info:     div 32    %3088 = imadsh_mix16! %539, %541, %3087
MESA: info:     div 32    %3089 = imadsh_mix16! %541, %539, %3088
MESA: info:     div 32     %546 = ishl! %3095, %317 (0x10)
MESA: info:     div 32     %547 = iadd! %3098, %546
MESA: info:     div 1      %548 = ult! %547, %3098
MESA: info:     div 32     %549 = b2i32! %548
MESA: info:     div 32     %551 = ushr! %3095, %317 (0x10)
MESA: info:     div 32    %2417 = iadd3! %3089, %549, %551
MESA: info:     div 32     %553 = ishl! %3092, %317 (0x10)
MESA: info:     div 32     %554 = iadd! %547, %553
MESA: info:     div 1      %555 = ult! %554, %547
MESA: info:     div 32     %556 = b2i32! %555
MESA: info:     div 32     %558 = ushr! %3092, %317 (0x10)
MESA: info:     div 32    %2416 = iadd3! %2417, %556, %558
MESA: info:     div 32    %3084 = umul_low! %2416, %533
MESA: info:     div 32    %3085 = imadsh_mix16! %2416, %533, %3084
MESA: info:     div 32    %3086 = imadsh_mix16! %533, %2416, %3085
MESA: info:     div 32    %3522 = isub! %531, %3086
MESA: info:     div 1      %563 = uge! %3522, %533
MESA: info:     div 32     %564 = iadd! %2416, %313 (0x1)
MESA: info:     div 32     %565 = bcsel! %563, %564, %2416
MESA: info:     con 32     %567 = @load_const_ir3 (%314 (0x0)) (base=25)
MESA: info:     div 32     %568 = iadd! %3522, %567
MESA: info:     div 32     %569 = bcsel! %563, %568, %3522
MESA: info:     div 1      %570 = uge! %569, %533
MESA: info:     div 32     %571 = iadd! %565, %313 (0x1)
MESA: info:     div 32     %572 = bcsel! %570, %571, %565
MESA: info:     div 32     %573 = ineg! %572
MESA: info:     div 32     %574 = bcsel! %535, %573, %572
MESA: info:     div 32    %3081 = umul_low %418, %339
MESA: info:     div 32    %3082 = imadsh_mix16 %418, %339, %3081
MESA: info:     div 32    %3083 = imadsh_mix16 %339, %418, %3082
MESA: info:     div 32    %3078 = umul_low %460, %339
MESA: info:     div 32    %3079 = imadsh_mix16 %460, %339, %3078
MESA: info:     div 32    %3080 = imadsh_mix16 %339, %460, %3079
MESA: info:     div 32     %577 = iadd %3083, %530
MESA: info:     div 32     %578 = iadd %3080, %574
MESA: info:     con 32     %580 = @load_const_ir3 (%314 (0x0)) (base=26)
MESA: info:     div 32    %3075 = umul_low %577, %580
MESA: info:     div 32    %3076 = imadsh_mix16 %577, %580, %3075
MESA: info:     div 32    %3077 = imadsh_mix16 %580, %577, %3076
MESA: info:     div 32    %3072 = umul_low %578, %580
MESA: info:     div 32    %3073 = imadsh_mix16 %578, %580, %3072
MESA: info:     div 32    %3074 = imadsh_mix16 %580, %578, %3073
MESA: info:     div 32     %583 = i2f32 %3077
MESA: info:     div 32     %584 = i2f32 %3074
MESA: info:     div 32     %585 = fadd %323, %583
MESA: info:     div 32     %586 = fadd %325, %584
MESA: info:     con 32     %587 = load_const (0xffffffff = -1 = 4294967295)
MESA: info:     con 32x2  %3549 = load_const (0xffffffff, 0x00000001) = (-1, +1) = (4294967295, 1)
MESA: info:     div 32x2  %3550 = iadd %577.xx, %3549 (0xffffffff, 0x1)
MESA: info:     div 32x2  %3551 = imax %3550, %314 (0x0).xx
MESA: info:     con 32     %593 = @load_const_ir3 (%314 (0x0)) (base=27)
MESA: info:     con 32     %595 = @load_const_ir3 (%314 (0x0)) (base=28)
MESA: info:     div 32x2  %3552 = imin %3551, %593.xx
MESA: info:     div 32     %598 = imax %578, %314 (0x0)
MESA: info:     div 32     %599 = imin %598, %595
MESA: info:     div 32x2  %3553 = iabs! %3552
MESA: info:     div 32x2  %3554 = ixor! %3552, %339.xx
MESA: info:     div 1x2   %3555 = ilt! %3554, %314 (0x0).xx
MESA: info:     div 32x2  %3556 = iand! %3553, %347 (0xffff).xx
MESA: info:     div 32x2  %3557 = ushr! %3553, %317 (0x10).xx
MESA: info:     div 32x2  %3558 = umul_low! %3556, %538.xx
MESA: info:     div 32x2  %3559 = imadsh_mix16! %3556, %538.xx, %3558
MESA: info:     div 32x2  %3560 = imadsh_mix16! %538.xx, %3556, %3559
MESA: info:     div 32x2  %3561 = umul_low! %3556, %541.xx
MESA: info:     div 32x2  %3562 = imadsh_mix16! %3556, %541.xx, %3561
MESA: info:     div 32x2  %3563 = imadsh_mix16! %541.xx, %3556, %3562
MESA: info:     div 32x2  %3564 = umul_low! %3557, %538.xx
MESA: info:     div 32x2  %3565 = imadsh_mix16! %3557, %538.xx, %3564
MESA: info:     div 32x2  %3566 = imadsh_mix16! %538.xx, %3557, %3565
MESA: info:     div 32x2  %3567 = umul_low! %3557, %541.xx
MESA: info:     div 32x2  %3568 = imadsh_mix16! %3557, %541.xx, %3567
MESA: info:     div 32x2  %3569 = imadsh_mix16! %541.xx, %3557, %3568
MESA: info:     div 32x2  %3570 = ishl! %3563, %317 (0x10).xx
MESA: info:     div 32x2  %3571 = iadd! %3560, %3570
MESA: info:     div 1x2   %3572 = ult! %3571, %3560
MESA: info:     div 32x2  %3573 = b2i32! %3572
MESA: info:     div 32x2  %3574 = ushr! %3563, %317 (0x10).xx
MESA: info:     div 32x2  %3575 = iadd3! %3569, %3573, %3574
MESA: info:     div 32x2  %3576 = ishl! %3566, %317 (0x10).xx
MESA: info:     div 32x2  %3577 = iadd! %3571, %3576
MESA: info:     div 1x2   %3578 = ult! %3577, %3571
MESA: info:     div 32x2  %3579 = b2i32! %3578
MESA: info:     div 32x2  %3580 = ushr! %3566, %317 (0x10).xx
MESA: info:     div 32x2  %3581 = iadd3! %3575, %3579, %3580
MESA: info:     div 32x2  %3582 = umul_low! %3581, %533.xx
MESA: info:     div 32x2  %3583 = imadsh_mix16! %3581, %533.xx, %3582
MESA: info:     div 32x2  %3584 = imadsh_mix16! %533.xx, %3581, %3583
MESA: info:     div 32x2  %3585 = isub! %3553, %3584
MESA: info:     div 1x2   %3586 = uge! %3585, %533.xx
MESA: info:     div 32x2  %3587 = iadd! %3581, %313 (0x1).xx
MESA: info:     div 32x2  %3588 = bcsel! %3586, %3587, %3581
MESA: info:     div 32x2  %3589 = iadd! %3585, %567.xx
MESA: info:     div 32x2  %3590 = bcsel! %3586, %3589, %3585
MESA: info:     div 1x2   %3591 = uge! %3590, %533.xx
MESA: info:     div 32x2  %3592 = iadd! %3588, %313 (0x1).xx
MESA: info:     div 32x2  %3593 = bcsel! %3591, %3592, %3588
MESA: info:     div 32x2  %3594 = ineg! %3593
MESA: info:     div 32x2  %3595 = bcsel! %3555, %3594, %3593
MESA: info:     div 32     %672 = iabs! %599
MESA: info:     div 32     %673 = ixor! %599, %339
MESA: info:     div 1      %674 = ilt! %673, %314 (0x0)
MESA: info:     div 32     %675 = iand! %672, %347 (0xffff)
MESA: info:     div 32     %676 = ushr! %672, %317 (0x10)
MESA: info:     div 32    %3039 = umul_low! %675, %538
MESA: info:     div 32    %3040 = imadsh_mix16! %675, %538, %3039
MESA: info:     div 32    %3041 = imadsh_mix16! %538, %675, %3040
MESA: info:     div 32    %3036 = umul_low! %675, %541
MESA: info:     div 32    %3037 = imadsh_mix16! %675, %541, %3036
MESA: info:     div 32    %3038 = imadsh_mix16! %541, %675, %3037
MESA: info:     div 32    %3033 = umul_low! %676, %538
MESA: info:     div 32    %3034 = imadsh_mix16! %676, %538, %3033
MESA: info:     div 32    %3035 = imadsh_mix16! %538, %676, %3034
MESA: info:     div 32    %3030 = umul_low! %676, %541
MESA: info:     div 32    %3031 = imadsh_mix16! %676, %541, %3030
MESA: info:     div 32    %3032 = imadsh_mix16! %541, %676, %3031
MESA: info:     div 32     %681 = ishl! %3038, %317 (0x10)
MESA: info:     div 32     %682 = iadd! %3041, %681
MESA: info:     div 1      %683 = ult! %682, %3041
MESA: info:     div 32     %684 = b2i32! %683
MESA: info:     div 32     %686 = ushr! %3038, %317 (0x10)
MESA: info:     div 32    %2408 = iadd3! %3032, %684, %686
MESA: info:     div 32     %688 = ishl! %3035, %317 (0x10)
MESA: info:     div 32     %689 = iadd! %682, %688
MESA: info:     div 1      %690 = ult! %689, %682
MESA: info:     div 32     %691 = b2i32! %690
MESA: info:     div 32     %693 = ushr! %3035, %317 (0x10)
MESA: info:     div 32    %2407 = iadd3! %2408, %691, %693
MESA: info:     div 32    %3027 = umul_low! %2407, %533
MESA: info:     div 32    %3028 = imadsh_mix16! %2407, %533, %3027
MESA: info:     div 32    %3029 = imadsh_mix16! %533, %2407, %3028
MESA: info:     div 32    %3519 = isub! %672, %3029
MESA: info:     div 1      %698 = uge! %3519, %533
MESA: info:     div 32     %699 = iadd! %2407, %313 (0x1)
MESA: info:     div 32     %700 = bcsel! %698, %699, %2407
MESA: info:     div 32     %701 = iadd! %3519, %567
MESA: info:     div 32     %702 = bcsel! %698, %701, %3519
MESA: info:     div 1      %703 = uge! %702, %533
MESA: info:     div 32     %704 = iadd! %700, %313 (0x1)
MESA: info:     div 32     %705 = bcsel! %703, %704, %700
MESA: info:     div 32     %706 = ineg! %705
MESA: info:     div 32     %707 = bcsel! %674, %706, %705
MESA: info:     div 32x2  %3596 = iand! %3552, %347 (0xffff).xx
MESA: info:     div 32x2  %3597 = ushr! %3552, %317 (0x10).xx
MESA: info:     div 32x2  %3598 = umul_low! %3596, %498.xx
MESA: info:     div 32x2  %3599 = imadsh_mix16! %3596, %498.xx, %3598
MESA: info:     div 32x2  %3600 = imadsh_mix16! %498.xx, %3596, %3599
MESA: info:     div 32x2  %3601 = umul_low! %3596, %501.xx
MESA: info:     div 32x2  %3602 = imadsh_mix16! %3596, %501.xx, %3601
MESA: info:     div 32x2  %3603 = imadsh_mix16! %501.xx, %3596, %3602
MESA: info:     div 32x2  %3604 = umul_low! %3597, %498.xx
MESA: info:     div 32x2  %3605 = imadsh_mix16! %3597, %498.xx, %3604
MESA: info:     div 32x2  %3606 = imadsh_mix16! %498.xx, %3597, %3605
MESA: info:     div 32x2  %3607 = umul_low! %3597, %501.xx
MESA: info:     div 32x2  %3608 = imadsh_mix16! %3597, %501.xx, %3607
MESA: info:     div 32x2  %3609 = imadsh_mix16! %501.xx, %3597, %3608
MESA: info:     div 32x2  %3610 = ishl! %3603, %317 (0x10).xx
MESA: info:     div 32x2  %3611 = iadd! %3600, %3610
MESA: info:     div 1x2   %3612 = ult! %3611, %3600
MESA: info:     div 32x2  %3613 = b2i32! %3612
MESA: info:     div 32x2  %3614 = ushr! %3603, %317 (0x10).xx
MESA: info:     div 32x2  %3615 = iadd3! %3609, %3613, %3614
MESA: info:     div 32x2  %3616 = ishl! %3606, %317 (0x10).xx
MESA: info:     div 32x2  %3617 = iadd! %3611, %3616
MESA: info:     div 1x2   %3618 = ult! %3617, %3611
MESA: info:     div 32x2  %3619 = b2i32! %3618
MESA: info:     div 32x2  %3620 = ushr! %3606, %317 (0x10).xx
MESA: info:     div 32x2  %3621 = iadd3! %3615, %3619, %3620
MESA: info:     div 32x2  %3622 = umul_low! %3621, %339.xx
MESA: info:     div 32x2  %3623 = imadsh_mix16! %3621, %339.xx, %3622
MESA: info:     div 32x2  %3624 = imadsh_mix16! %339.xx, %3621, %3623
MESA: info:     div 32x2  %3625 = isub! %3552, %3624
MESA: info:     div 1x2   %3626 = uge! %3625, %339.xx
MESA: info:     div 32x2  %3627 = iadd! %3625, %525.xx
MESA: info:     div 32x2  %3628 = bcsel! %3626, %3627, %3625
MESA: info:     div 1x2   %3629 = uge! %3628, %339.xx
MESA: info:     div 32x2  %3630 = iadd! %3628, %525.xx
MESA: info:     div 32x2  %3631 = bcsel! %3629, %3630, %3628
MESA: info:     div 32     %766 = iand! %599, %347 (0xffff)
MESA: info:     div 32     %767 = ushr! %599, %317 (0x10)
MESA: info:     div 32    %2994 = umul_low! %766, %498
MESA: info:     div 32    %2995 = imadsh_mix16! %766, %498, %2994
MESA: info:     div 32    %2996 = imadsh_mix16! %498, %766, %2995
MESA: info:     div 32    %2991 = umul_low! %766, %501
MESA: info:     div 32    %2992 = imadsh_mix16! %766, %501, %2991
MESA: info:     div 32    %2993 = imadsh_mix16! %501, %766, %2992
MESA: info:     div 32    %2988 = umul_low! %767, %498
MESA: info:     div 32    %2989 = imadsh_mix16! %767, %498, %2988
MESA: info:     div 32    %2990 = imadsh_mix16! %498, %767, %2989
MESA: info:     div 32    %2985 = umul_low! %767, %501
MESA: info:     div 32    %2986 = imadsh_mix16! %767, %501, %2985
MESA: info:     div 32    %2987 = imadsh_mix16! %501, %767, %2986
MESA: info:     div 32     %772 = ishl! %2993, %317 (0x10)
MESA: info:     div 32     %773 = iadd! %2996, %772
MESA: info:     div 1      %774 = ult! %773, %2996
MESA: info:     div 32     %775 = b2i32! %774
MESA: info:     div 32     %777 = ushr! %2993, %317 (0x10)
MESA: info:     div 32    %2399 = iadd3! %2987, %775, %777
MESA: info:     div 32     %779 = ishl! %2990, %317 (0x10)
MESA: info:     div 32     %780 = iadd! %773, %779
MESA: info:     div 1      %781 = ult! %780, %773
MESA: info:     div 32     %782 = b2i32! %781
MESA: info:     div 32     %784 = ushr! %2990, %317 (0x10)
MESA: info:     div 32    %2398 = iadd3! %2399, %782, %784
MESA: info:     div 32    %2982 = umul_low! %2398, %339
MESA: info:     div 32    %2983 = imadsh_mix16! %2398, %339, %2982
MESA: info:     div 32    %2984 = imadsh_mix16! %339, %2398, %2983
MESA: info:     div 32    %3516 = isub! %599, %2984
MESA: info:     div 1      %789 = uge! %3516, %339
MESA: info:     div 32     %790 = iadd! %3516, %525
MESA: info:     div 32     %791 = bcsel! %789, %790, %3516
MESA: info:     div 1      %792 = uge! %791, %339
MESA: info:     div 32     %793 = iadd! %791, %525
MESA: info:     div 32     %794 = bcsel! %792, %793, %791
MESA: info:     div 32    %2979 = umul_low %794, %339
MESA: info:     div 32    %2980 = imadsh_mix16 %794, %339, %2979
MESA: info:     div 32    %2981 = imadsh_mix16 %339, %794, %2980
MESA: info:     div 32    %2976 = umul_low %327, %707
MESA: info:     div 32    %2977 = imadsh_mix16 %327, %707, %2976
MESA: info:     div 32    %2978 = imadsh_mix16 %707, %327, %2977
MESA: info:     div 32x2  %3632 = isub %3595, %2978.xx
MESA: info:     div 32x2  %3633 = umul_low %3632, %341.xx
MESA: info:     div 32x2  %3634 = imadsh_mix16 %3632, %341.xx, %3633
MESA: info:     div 32x2  %3635 = imadsh_mix16 %341.xx, %3632, %3634
MESA: info:     div 32x2  %3636 = iadd3 %3631, %2981.xx, %3635
MESA: info:     div 32     %806 = imax %577, %314 (0x0)
MESA: info:     div 32     %807 = imin %806, %593
MESA: info:     con 32x2  %3637 = load_const (0x00000001, 0xffffffff) = (+1, -1) = (1, 4294967295)
MESA: info:     div 32x2  %3638 = iadd %578.xx, %3637 (0x1, 0xffffffff)
MESA: info:     div 32x2  %3639 = imax %3638, %314 (0x0).xx
MESA: info:     div 32x2  %3640 = imin %3639, %595.xx
MESA: info:     div 32     %814 = iabs! %807
MESA: info:     div 32     %815 = ixor! %807, %339
MESA: info:     div 1      %816 = ilt! %815, %314 (0x0)
MESA: info:     div 32     %817 = iand! %814, %347 (0xffff)
MESA: info:     div 32     %818 = ushr! %814, %317 (0x10)
MESA: info:     div 32    %2967 = umul_low! %817, %538
MESA: info:     div 32    %2968 = imadsh_mix16! %817, %538, %2967
MESA: info:     div 32    %2969 = imadsh_mix16! %538, %817, %2968
MESA: info:     div 32    %2964 = umul_low! %817, %541
MESA: info:     div 32    %2965 = imadsh_mix16! %817, %541, %2964
MESA: info:     div 32    %2966 = imadsh_mix16! %541, %817, %2965
MESA: info:     div 32    %2961 = umul_low! %818, %538
MESA: info:     div 32    %2962 = imadsh_mix16! %818, %538, %2961
MESA: info:     div 32    %2963 = imadsh_mix16! %538, %818, %2962
MESA: info:     div 32    %2958 = umul_low! %818, %541
MESA: info:     div 32    %2959 = imadsh_mix16! %818, %541, %2958
MESA: info:     div 32    %2960 = imadsh_mix16! %541, %818, %2959
MESA: info:     div 32     %823 = ishl! %2966, %317 (0x10)
MESA: info:     div 32     %824 = iadd! %2969, %823
MESA: info:     div 1      %825 = ult! %824, %2969
MESA: info:     div 32     %826 = b2i32! %825
MESA: info:     div 32     %828 = ushr! %2966, %317 (0x10)
MESA: info:     div 32    %2392 = iadd3! %2960, %826, %828
MESA: info:     div 32     %830 = ishl! %2963, %317 (0x10)
MESA: info:     div 32     %831 = iadd! %824, %830
MESA: info:     div 1      %832 = ult! %831, %824
MESA: info:     div 32     %833 = b2i32! %832
MESA: info:     div 32     %835 = ushr! %2963, %317 (0x10)
MESA: info:     div 32    %2391 = iadd3! %2392, %833, %835
MESA: info:     div 32    %2955 = umul_low! %2391, %533
MESA: info:     div 32    %2956 = imadsh_mix16! %2391, %533, %2955
MESA: info:     div 32    %2957 = imadsh_mix16! %533, %2391, %2956
MESA: info:     div 32    %3513 = isub! %814, %2957
MESA: info:     div 1      %840 = uge! %3513, %533
MESA: info:     div 32     %841 = iadd! %2391, %313 (0x1)
MESA: info:     div 32     %842 = bcsel! %840, %841, %2391
MESA: info:     div 32     %843 = iadd! %3513, %567
MESA: info:     div 32     %844 = bcsel! %840, %843, %3513
MESA: info:     div 1      %845 = uge! %844, %533
MESA: info:     div 32     %846 = iadd! %842, %313 (0x1)
MESA: info:     div 32     %847 = bcsel! %845, %846, %842
MESA: info:     div 32     %848 = ineg! %847
MESA: info:     div 32     %849 = bcsel! %816, %848, %847
MESA: info:     div 32x2  %3641 = iabs! %3640
MESA: info:     div 32x2  %3642 = ixor! %3640, %339.xx
MESA: info:     div 1x2   %3643 = ilt! %3642, %314 (0x0).xx
MESA: info:     div 32x2  %3644 = iand! %3641, %347 (0xffff).xx
MESA: info:     div 32x2  %3645 = ushr! %3641, %317 (0x10).xx
MESA: info:     div 32x2  %3646 = umul_low! %3644, %538.xx
MESA: info:     div 32x2  %3647 = imadsh_mix16! %3644, %538.xx, %3646
MESA: info:     div 32x2  %3648 = imadsh_mix16! %538.xx, %3644, %3647
MESA: info:     div 32x2  %3649 = umul_low! %3644, %541.xx
MESA: info:     div 32x2  %3650 = imadsh_mix16! %3644, %541.xx, %3649
MESA: info:     div 32x2  %3651 = imadsh_mix16! %541.xx, %3644, %3650
MESA: info:     div 32x2  %3652 = umul_low! %3645, %538.xx
MESA: info:     div 32x2  %3653 = imadsh_mix16! %3645, %538.xx, %3652
MESA: info:     div 32x2  %3654 = imadsh_mix16! %538.xx, %3645, %3653
MESA: info:     div 32x2  %3655 = umul_low! %3645, %541.xx
MESA: info:     div 32x2  %3656 = imadsh_mix16! %3645, %541.xx, %3655
MESA: info:     div 32x2  %3657 = imadsh_mix16! %541.xx, %3645, %3656
MESA: info:     div 32x2  %3658 = ishl! %3651, %317 (0x10).xx
MESA: info:     div 32x2  %3659 = iadd! %3648, %3658
MESA: info:     div 1x2   %3660 = ult! %3659, %3648
MESA: info:     div 32x2  %3661 = b2i32! %3660
MESA: info:     div 32x2  %3662 = ushr! %3651, %317 (0x10).xx
MESA: info:     div 32x2  %3663 = iadd3! %3657, %3661, %3662
MESA: info:     div 32x2  %3664 = ishl! %3654, %317 (0x10).xx
MESA: info:     div 32x2  %3665 = iadd! %3659, %3664
MESA: info:     div 1x2   %3666 = ult! %3665, %3659
MESA: info:     div 32x2  %3667 = b2i32! %3666
MESA: info:     div 32x2  %3668 = ushr! %3654, %317 (0x10).xx
MESA: info:     div 32x2  %3669 = iadd3! %3663, %3667, %3668
MESA: info:     div 32x2  %3670 = umul_low! %3669, %533.xx
MESA: info:     div 32x2  %3671 = imadsh_mix16! %3669, %533.xx, %3670
MESA: info:     div 32x2  %3672 = imadsh_mix16! %533.xx, %3669, %3671
MESA: info:     div 32x2  %3673 = isub! %3641, %3672
MESA: info:     div 1x2   %3674 = uge! %3673, %533.xx
MESA: info:     div 32x2  %3675 = iadd! %3669, %313 (0x1).xx
MESA: info:     div 32x2  %3676 = bcsel! %3674, %3675, %3669
MESA: info:     div 32x2  %3677 = iadd! %3673, %567.xx
MESA: info:     div 32x2  %3678 = bcsel! %3674, %3677, %3673
MESA: info:     div 1x2   %3679 = uge! %3678, %533.xx
MESA: info:     div 32x2  %3680 = iadd! %3676, %313 (0x1).xx
MESA: info:     div 32x2  %3681 = bcsel! %3679, %3680, %3676
MESA: info:     div 32x2  %3682 = ineg! %3681
MESA: info:     div 32x2  %3683 = bcsel! %3643, %3682, %3681
MESA: info:     div 32     %922 = iand! %807, %347 (0xffff)
MESA: info:     div 32     %923 = ushr! %807, %317 (0x10)
MESA: info:     div 32    %2922 = umul_low! %922, %498
MESA: info:     div 32    %2923 = imadsh_mix16! %922, %498, %2922
MESA: info:     div 32    %2924 = imadsh_mix16! %498, %922, %2923
MESA: info:     div 32    %2919 = umul_low! %922, %501
MESA: info:     div 32    %2920 = imadsh_mix16! %922, %501, %2919
MESA: info:     div 32    %2921 = imadsh_mix16! %501, %922, %2920
MESA: info:     div 32    %2916 = umul_low! %923, %498
MESA: info:     div 32    %2917 = imadsh_mix16! %923, %498, %2916
MESA: info:     div 32    %2918 = imadsh_mix16! %498, %923, %2917
MESA: info:     div 32    %2913 = umul_low! %923, %501
MESA: info:     div 32    %2914 = imadsh_mix16! %923, %501, %2913
MESA: info:     div 32    %2915 = imadsh_mix16! %501, %923, %2914
MESA: info:     div 32     %928 = ishl! %2921, %317 (0x10)
MESA: info:     div 32     %929 = iadd! %2924, %928
MESA: info:     div 1      %930 = ult! %929, %2924
MESA: info:     div 32     %931 = b2i32! %930
MESA: info:     div 32     %933 = ushr! %2921, %317 (0x10)
MESA: info:     div 32    %2383 = iadd3! %2915, %931, %933
MESA: info:     div 32     %935 = ishl! %2918, %317 (0x10)
MESA: info:     div 32     %936 = iadd! %929, %935
MESA: info:     div 1      %937 = ult! %936, %929
MESA: info:     div 32     %938 = b2i32! %937
MESA: info:     div 32     %940 = ushr! %2918, %317 (0x10)
MESA: info:     div 32    %2382 = iadd3! %2383, %938, %940
MESA: info:     div 32    %2910 = umul_low! %2382, %339
MESA: info:     div 32    %2911 = imadsh_mix16! %2382, %339, %2910
MESA: info:     div 32    %2912 = imadsh_mix16! %339, %2382, %2911
MESA: info:     div 32    %3510 = isub! %807, %2912
MESA: info:     div 1      %945 = uge! %3510, %339
MESA: info:     div 32     %946 = iadd! %3510, %525
MESA: info:     div 32     %947 = bcsel! %945, %946, %3510
MESA: info:     div 1      %948 = uge! %947, %339
MESA: info:     div 32     %949 = iadd! %947, %525
MESA: info:     div 32     %950 = bcsel! %948, %949, %947
MESA: info:     div 32x2  %3684 = iand! %3640, %347 (0xffff).xx
MESA: info:     div 32x2  %3685 = ushr! %3640, %317 (0x10).xx
MESA: info:     div 32x2  %3686 = umul_low! %3684, %498.xx
MESA: info:     div 32x2  %3687 = imadsh_mix16! %3684, %498.xx, %3686
MESA: info:     div 32x2  %3688 = imadsh_mix16! %498.xx, %3684, %3687
MESA: info:     div 32x2  %3689 = umul_low! %3684, %501.xx
MESA: info:     div 32x2  %3690 = imadsh_mix16! %3684, %501.xx, %3689
MESA: info:     div 32x2  %3691 = imadsh_mix16! %501.xx, %3684, %3690
MESA: info:     div 32x2  %3692 = umul_low! %3685, %498.xx
MESA: info:     div 32x2  %3693 = imadsh_mix16! %3685, %498.xx, %3692
MESA: info:     div 32x2  %3694 = imadsh_mix16! %498.xx, %3685, %3693
MESA: info:     div 32x2  %3695 = umul_low! %3685, %501.xx
MESA: info:     div 32x2  %3696 = imadsh_mix16! %3685, %501.xx, %3695
MESA: info:     div 32x2  %3697 = imadsh_mix16! %501.xx, %3685, %3696
MESA: info:     div 32x2  %3698 = ishl! %3691, %317 (0x10).xx
MESA: info:     div 32x2  %3699 = iadd! %3688, %3698
MESA: info:     div 1x2   %3700 = ult! %3699, %3688
MESA: info:     div 32x2  %3701 = b2i32! %3700
MESA: info:     div 32x2  %3702 = ushr! %3691, %317 (0x10).xx
MESA: info:     div 32x2  %3703 = iadd3! %3697, %3701, %3702
MESA: info:     div 32x2  %3704 = ishl! %3694, %317 (0x10).xx
MESA: info:     div 32x2  %3705 = iadd! %3699, %3704
MESA: info:     div 1x2   %3706 = ult! %3705, %3699
MESA: info:     div 32x2  %3707 = b2i32! %3706
MESA: info:     div 32x2  %3708 = ushr! %3694, %317 (0x10).xx
MESA: info:     div 32x2  %3709 = iadd3! %3703, %3707, %3708
MESA: info:     div 32x2  %3710 = umul_low! %3709, %339.xx
MESA: info:     div 32x2  %3711 = imadsh_mix16! %3709, %339.xx, %3710
MESA: info:     div 32x2  %3712 = imadsh_mix16! %339.xx, %3709, %3711
MESA: info:     div 32x2  %3713 = isub! %3640, %3712
MESA: info:     div 1x2   %3714 = uge! %3713, %339.xx
MESA: info:     div 32x2  %3715 = iadd! %3713, %525.xx
MESA: info:     div 32x2  %3716 = bcsel! %3714, %3715, %3713
MESA: info:     div 1x2   %3717 = uge! %3716, %339.xx
MESA: info:     div 32x2  %3718 = iadd! %3716, %525.xx
MESA: info:     div 32x2  %3719 = bcsel! %3717, %3718, %3716
MESA: info:     div 32x2  %3720 = umul_low %3719, %339.xx
MESA: info:     div 32x2  %3721 = imadsh_mix16 %3719, %339.xx, %3720
MESA: info:     div 32x2  %3722 = imadsh_mix16 %339.xx, %3719, %3721
MESA: info:     div 32x2  %3723 = umul_low %327.xx, %3683
MESA: info:     div 32x2  %3724 = imadsh_mix16 %327.xx, %3683, %3723
MESA: info:     div 32x2  %3725 = imadsh_mix16 %3683, %327.xx, %3724
MESA: info:     div 32x2  %3726 = isub %849.xx, %3725
MESA: info:     div 32x2  %3727 = umul_low %3726, %341.xx
MESA: info:     div 32x2  %3728 = imadsh_mix16 %3726, %341.xx, %3727
MESA: info:     div 32x2  %3729 = imadsh_mix16 %341.xx, %3726, %3728
MESA: info:     div 32x2  %3730 = iadd3 %950.xx, %3722, %3729
MESA: info:     con 32    %1024 = @load_const_ir3 (%314 (0x0)) (base=29)
MESA: info:     con 32    %1026 = @load_const_ir3 (%314 (0x0)) (base=30)
MESA: info:     con 32x2  %3731 = load_const (0x00000005, 0x00000003)
MESA: info:     div 32x2  %3732 = ishl %312.xx, %3731 (0x5, 0x3)
MESA: info:     div 32    %3733 = mov %3732.x
MESA: info:     div 32    %3734 = mov %3732.y
MESA: info:     con 32    %1029 = @bindless_resource_ir3 (%314 (0x0)) (desc_set=3)
MESA: info:     div 32x2  %2206 = @load_ssbo_ir3 (%1029, %3733, %3734) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=0)
MESA: info:     con 32x2  %3735 = load_const (0x0000000c, 0x0000001c) = (12, 28)
MESA: info:     div 32x2  %3736 = iadd %3732.xx, %3735 (0xc, 0x1c)
MESA: info:     div 32    %3737 = mov %3736.x
MESA: info:     div 32    %3738 = mov %3736.y
MESA: info:     div 32x2  %3739 = ushr %3736, %319 (0x2).xx
MESA: info:     div 32    %3740 = mov %3739.x
MESA: info:     div 32    %3741 = mov %3739.y
MESA: info:     div 32x4  %2209 = @load_ssbo_ir3 (%1029, %3737, %3740) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=12)
MESA: info:     div 32    %1033 = mov %2209.w
MESA: info:     div 32    %1034 = mov %2209.z
MESA: info:     div 32    %1035 = mov %2209.x
MESA: info:     div 32    %1036 = mov %2209.y
MESA: info:     div 32    %1037 = fmax %337.x, %585
MESA: info:     div 32    %1038 = fadd %585, %1026
MESA: info:     div 32    %1039 = fmin %1037, %1038
MESA: info:     div 32    %1040 = fmax %337.y, %586
MESA: info:     div 32    %1041 = fadd %586, %1026
MESA: info:     div 32    %1042 = fmin %1040, %1041
MESA: info:     div 32    %1043 = fmax %337.z, %2206.x
MESA: info:     div 32    %1044 = fmin %1043, %2206.y
MESA: info:                       @store_reg (%1035, %4) (base=0, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%1036, %4) (base=1, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%1034, %4) (base=2, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%1033, %4) (base=3, wrmask=x, legacy_fsat=0)
MESA: info:     div 32    %2212 = @load_ssbo_ir3 (%1029, %3738, %3741) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=28)
MESA: info:                       @store_reg (%2212, %4) (base=4, wrmask=x, legacy_fsat=0)
MESA: info:     con 32    %1057 = @load_const_ir3 (%314 (0x0)) (base=53)
MESA: info:     con 32    %1058 = iadd %1024, %587 (0xffffffff)
MESA: info:                       // succs: b7
MESA: info:     div loop {
MESA: info:         con block b7:         // preds: b6 b13
MESA: info:         con 32    %1059 = phi b6: %1058, b13: %1082
MESA: info:         con 1     %1060 = ilt %1059, %314 (0x0)
MESA: info:                           // succs: b8 b9
MESA: info:         if %1060 {
MESA: info:             con block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b14
MESA: info:         } else {
MESA: info:             con block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         con block b10:        // preds: b9
MESA: info:         div 32    %1063 = @load_reg_indirect (%4, %1059) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:         div 32    %3505 = fsub %337.x, %1039
MESA: info:         div 32    %3504 = fsub %337.y, %1042
MESA: info:         div 32    %3503 = fsub %337.z, %1044
MESA: info:         con 32    %1072 = @load_const_ir3 (%314 (0x0)) (base=52)
MESA: info:         div 32    %1074 = fmul %3504, %3504
MESA: info:         div 32    %3502 = ffma %3503, %3503, %1074
MESA: info:         div 32    %3501 = ffma %3505, %3505, %3502
MESA: info:         div 32    %1078 = frsq %3501
MESA: info:         div 32    %1079 = fmul %1063, %1078
MESA: info:         div 32    %1080 = fmul %1072, %1079
MESA: info:         div 1     %1081 = flt! %1080, %1057
MESA: info:                           // succs: b11 b12
MESA: info:         if %1081 {
MESA: info:             div block b11:// preds: b10
MESA: info:             break
MESA: info:             // succs: b14
MESA: info:         } else {
MESA: info:             div block b12:  // preds: b10, succs: b13
MESA: info:         }
MESA: info:         div block b13:        // preds: b12
MESA: info:         con 32    %1082 = iadd %1059, %587 (0xffffffff)
MESA: info:                           // succs: b7
MESA: info:     }
MESA: info:     con block b14:        // preds: b8 b11
MESA: info:     div 32    %1083 = phi b8: %587 (0xffffffff), b11: %1059
MESA: info:     div 32    %3500 = isub %1024, %1083
MESA: info:     div 32    %1086 = ishl %313 (0x1), %3500
MESA: info:     div 32    %1087 = u2f32 %1086
MESA: info:     div 32x2  %3742 = iabs! %3636
MESA: info:     div 32x2  %3743 = ixor! %3636, %341.xx
MESA: info:     div 1x2   %3744 = ilt! %3743, %314 (0x0).xx
MESA: info:     div 32x2  %3745 = iand! %3742, %347 (0xffff).xx
MESA: info:     div 32x2  %3746 = ushr! %3742, %317 (0x10).xx
MESA: info:     div 32x2  %3747 = umul_low! %3745, %350.xx
MESA: info:     div 32x2  %3748 = imadsh_mix16! %3745, %350.xx, %3747
MESA: info:     div 32x2  %3749 = imadsh_mix16! %350.xx, %3745, %3748
MESA: info:     div 32x2  %3750 = umul_low! %3745, %353.xx
MESA: info:     div 32x2  %3751 = imadsh_mix16! %3745, %353.xx, %3750
MESA: info:     div 32x2  %3752 = imadsh_mix16! %353.xx, %3745, %3751
MESA: info:     div 32x2  %3753 = umul_low! %3746, %350.xx
MESA: info:     div 32x2  %3754 = imadsh_mix16! %3746, %350.xx, %3753
MESA: info:     div 32x2  %3755 = imadsh_mix16! %350.xx, %3746, %3754
MESA: info:     div 32x2  %3756 = umul_low! %3746, %353.xx
MESA: info:     div 32x2  %3757 = imadsh_mix16! %3746, %353.xx, %3756
MESA: info:     div 32x2  %3758 = imadsh_mix16! %353.xx, %3746, %3757
MESA: info:     div 32x2  %3759 = ishl! %3752, %317 (0x10).xx
MESA: info:     div 32x2  %3760 = iadd! %3749, %3759
MESA: info:     div 1x2   %3761 = ult! %3760, %3749
MESA: info:     div 32x2  %3762 = b2i32! %3761
MESA: info:     div 32x2  %3763 = ushr! %3752, %317 (0x10).xx
MESA: info:     div 32x2  %3764 = iadd3! %3758, %3762, %3763
MESA: info:     div 32x2  %3765 = ishl! %3755, %317 (0x10).xx
MESA: info:     div 32x2  %3766 = iadd! %3760, %3765
MESA: info:     div 1x2   %3767 = ult! %3766, %3760
MESA: info:     div 32x2  %3768 = b2i32! %3767
MESA: info:     div 32x2  %3769 = ushr! %3755, %317 (0x10).xx
MESA: info:     div 32x2  %3770 = iadd3! %3764, %3768, %3769
MESA: info:     div 32x2  %3771 = umul_low! %3770, %344.xx
MESA: info:     div 32x2  %3772 = imadsh_mix16! %3770, %344.xx, %3771
MESA: info:     div 32x2  %3773 = imadsh_mix16! %344.xx, %3770, %3772
MESA: info:     div 32x2  %3774 = isub! %3742, %3773
MESA: info:     div 1x2   %3775 = uge! %3774, %344.xx
MESA: info:     div 32x2  %3776 = iadd! %3770, %313 (0x1).xx
MESA: info:     div 32x2  %3777 = bcsel! %3775, %3776, %3770
MESA: info:     div 32x2  %3778 = iadd! %3774, %379.xx
MESA: info:     div 32x2  %3779 = bcsel! %3775, %3778, %3774
MESA: info:     div 1x2   %3780 = uge! %3779, %344.xx
MESA: info:     div 32x2  %3781 = iadd! %3777, %313 (0x1).xx
MESA: info:     div 32x2  %3782 = bcsel! %3780, %3781, %3777
MESA: info:     div 32x2  %3783 = ineg! %3782
MESA: info:     div 32x2  %3784 = bcsel! %3744, %3783, %3782
MESA: info:     div 32x2  %3785 = iand! %3784, %347 (0xffff).xx
MESA: info:     div 32x2  %3786 = ushr! %3784, %317 (0x10).xx
MESA: info:     div 32x2  %3787 = umul_low! %3785, %389.xx
MESA: info:     div 32x2  %3788 = imadsh_mix16! %3785, %389.xx, %3787
MESA: info:     div 32x2  %3789 = imadsh_mix16! %389.xx, %3785, %3788
MESA: info:     div 32x2  %3790 = umul_low! %3785, %392.xx
MESA: info:     div 32x2  %3791 = imadsh_mix16! %3785, %392.xx, %3790
MESA: info:     div 32x2  %3792 = imadsh_mix16! %392.xx, %3785, %3791
MESA: info:     div 32x2  %3793 = umul_low! %3786, %389.xx
MESA: info:     div 32x2  %3794 = imadsh_mix16! %3786, %389.xx, %3793
MESA: info:     div 32x2  %3795 = imadsh_mix16! %389.xx, %3786, %3794
MESA: info:     div 32x2  %3796 = umul_low! %3786, %392.xx
MESA: info:     div 32x2  %3797 = imadsh_mix16! %3786, %392.xx, %3796
MESA: info:     div 32x2  %3798 = imadsh_mix16! %392.xx, %3786, %3797
MESA: info:     div 32x2  %3799 = ishl! %3792, %317 (0x10).xx
MESA: info:     div 32x2  %3800 = iadd! %3789, %3799
MESA: info:     div 1x2   %3801 = ult! %3800, %3789
MESA: info:     div 32x2  %3802 = b2i32! %3801
MESA: info:     div 32x2  %3803 = ushr! %3792, %317 (0x10).xx
MESA: info:     div 32x2  %3804 = iadd3! %3798, %3802, %3803
MESA: info:     div 32x2  %3805 = ishl! %3795, %317 (0x10).xx
MESA: info:     div 32x2  %3806 = iadd! %3800, %3805
MESA: info:     div 1x2   %3807 = ult! %3806, %3800
MESA: info:     div 32x2  %3808 = b2i32! %3807
MESA: info:     div 32x2  %3809 = ushr! %3795, %317 (0x10).xx
MESA: info:     div 32x2  %3810 = iadd3! %3804, %3808, %3809
MESA: info:     div 32x2  %3811 = umul_low! %327.xx, %3810
MESA: info:     div 32x2  %3812 = imadsh_mix16! %327.xx, %3810, %3811
MESA: info:     div 32x2  %3813 = imadsh_mix16! %3810, %327.xx, %3812
MESA: info:     div 32x2  %3814 = iadd! %3784, %3813
MESA: info:     div 1x2   %3815 = uge! %3814, %329.xx
MESA: info:     div 32x2  %3816 = iadd! %3814, %327.xx
MESA: info:     div 32x2  %3817 = bcsel! %3815, %3816, %3814
MESA: info:     div 1x2   %3818 = uge! %3817, %329.xx
MESA: info:     div 32x2  %3819 = iadd! %3817, %327.xx
MESA: info:     div 32x2  %3820 = bcsel! %3818, %3819, %3817
MESA: info:     div 32x2  %3821 = iabs! %3784
MESA: info:     div 32x2  %3822 = ixor! %3784, %329.xx
MESA: info:     div 1x2   %3823 = ilt! %3822, %314 (0x0).xx
MESA: info:     div 32x2  %3824 = iand! %3821, %347 (0xffff).xx
MESA: info:     div 32x2  %3825 = ushr! %3821, %317 (0x10).xx
MESA: info:     div 32x2  %3826 = umul_low! %3824, %424.xx
MESA: info:     div 32x2  %3827 = imadsh_mix16! %3824, %424.xx, %3826
MESA: info:     div 32x2  %3828 = imadsh_mix16! %424.xx, %3824, %3827
MESA: info:     div 32x2  %3829 = umul_low! %3824, %427.xx
MESA: info:     div 32x2  %3830 = imadsh_mix16! %3824, %427.xx, %3829
MESA: info:     div 32x2  %3831 = imadsh_mix16! %427.xx, %3824, %3830
MESA: info:     div 32x2  %3832 = umul_low! %3825, %424.xx
MESA: info:     div 32x2  %3833 = imadsh_mix16! %3825, %424.xx, %3832
MESA: info:     div 32x2  %3834 = imadsh_mix16! %424.xx, %3825, %3833
MESA: info:     div 32x2  %3835 = umul_low! %3825, %427.xx
MESA: info:     div 32x2  %3836 = imadsh_mix16! %3825, %427.xx, %3835
MESA: info:     div 32x2  %3837 = imadsh_mix16! %427.xx, %3825, %3836
MESA: info:     div 32x2  %3838 = ishl! %3831, %317 (0x10).xx
MESA: info:     div 32x2  %3839 = iadd! %3828, %3838
MESA: info:     div 1x2   %3840 = ult! %3839, %3828
MESA: info:     div 32x2  %3841 = b2i32! %3840
MESA: info:     div 32x2  %3842 = ushr! %3831, %317 (0x10).xx
MESA: info:     div 32x2  %3843 = iadd3! %3837, %3841, %3842
MESA: info:     div 32x2  %3844 = ishl! %3834, %317 (0x10).xx
MESA: info:     div 32x2  %3845 = iadd! %3839, %3844
MESA: info:     div 1x2   %3846 = ult! %3845, %3839
MESA: info:     div 32x2  %3847 = b2i32! %3846
MESA: info:     div 32x2  %3848 = ushr! %3834, %317 (0x10).xx
MESA: info:     div 32x2  %3849 = iadd3! %3843, %3847, %3848
MESA: info:     div 32x2  %3850 = umul_low! %3849, %331.xx
MESA: info:     div 32x2  %3851 = imadsh_mix16! %3849, %331.xx, %3850
MESA: info:     div 32x2  %3852 = imadsh_mix16! %331.xx, %3849, %3851
MESA: info:     div 32x2  %3853 = isub! %3821, %3852
MESA: info:     div 1x2   %3854 = uge! %3853, %331.xx
MESA: info:     div 32x2  %3855 = iadd! %3849, %313 (0x1).xx
MESA: info:     div 32x2  %3856 = bcsel! %3854, %3855, %3849
MESA: info:     div 32x2  %3857 = iadd! %3853, %453.xx
MESA: info:     div 32x2  %3858 = bcsel! %3854, %3857, %3853
MESA: info:     div 1x2   %3859 = uge! %3858, %331.xx
MESA: info:     div 32x2  %3860 = iadd! %3856, %313 (0x1).xx
MESA: info:     div 32x2  %3861 = bcsel! %3859, %3860, %3856
MESA: info:     div 32x2  %3862 = ineg! %3861
MESA: info:     div 32x2  %3863 = bcsel! %3823, %3862, %3861
MESA: info:     div 32x2  %3864 = iand! %3636, %347 (0xffff).xx
MESA: info:     div 32x2  %3865 = ushr! %3636, %317 (0x10).xx
MESA: info:     div 32x2  %3866 = umul_low! %3864, %463.xx
MESA: info:     div 32x2  %3867 = imadsh_mix16! %3864, %463.xx, %3866
MESA: info:     div 32x2  %3868 = imadsh_mix16! %463.xx, %3864, %3867
MESA: info:     div 32x2  %3869 = umul_low! %3864, %466.xx
MESA: info:     div 32x2  %3870 = imadsh_mix16! %3864, %466.xx, %3869
MESA: info:     div 32x2  %3871 = imadsh_mix16! %466.xx, %3864, %3870
MESA: info:     div 32x2  %3872 = umul_low! %3865, %463.xx
MESA: info:     div 32x2  %3873 = imadsh_mix16! %3865, %463.xx, %3872
MESA: info:     div 32x2  %3874 = imadsh_mix16! %463.xx, %3865, %3873
MESA: info:     div 32x2  %3875 = umul_low! %3865, %466.xx
MESA: info:     div 32x2  %3876 = imadsh_mix16! %3865, %466.xx, %3875
MESA: info:     div 32x2  %3877 = imadsh_mix16! %466.xx, %3865, %3876
MESA: info:     div 32x2  %3878 = ishl! %3871, %317 (0x10).xx
MESA: info:     div 32x2  %3879 = iadd! %3868, %3878
MESA: info:     div 1x2   %3880 = ult! %3879, %3868
MESA: info:     div 32x2  %3881 = b2i32! %3880
MESA: info:     div 32x2  %3882 = ushr! %3871, %317 (0x10).xx
MESA: info:     div 32x2  %3883 = iadd3! %3877, %3881, %3882
MESA: info:     div 32x2  %3884 = ishl! %3874, %317 (0x10).xx
MESA: info:     div 32x2  %3885 = iadd! %3879, %3884
MESA: info:     div 1x2   %3886 = ult! %3885, %3879
MESA: info:     div 32x2  %3887 = b2i32! %3886
MESA: info:     div 32x2  %3888 = ushr! %3874, %317 (0x10).xx
MESA: info:     div 32x2  %3889 = iadd3! %3883, %3887, %3888
MESA: info:     div 32x2  %3890 = umul_low! %3889, %341.xx
MESA: info:     div 32x2  %3891 = imadsh_mix16! %3889, %341.xx, %3890
MESA: info:     div 32x2  %3892 = imadsh_mix16! %341.xx, %3889, %3891
MESA: info:     div 32x2  %3893 = isub! %3636, %3892
MESA: info:     div 1x2   %3894 = uge! %3893, %341.xx
MESA: info:     div 32x2  %3895 = iadd! %3893, %490.xx
MESA: info:     div 32x2  %3896 = bcsel! %3894, %3895, %3893
MESA: info:     div 1x2   %3897 = uge! %3896, %341.xx
MESA: info:     div 32x2  %3898 = iadd! %3896, %490.xx
MESA: info:     div 32x2  %3899 = bcsel! %3897, %3898, %3896
MESA: info:     div 32x2  %3900 = iand! %3899, %347 (0xffff).xx
MESA: info:     div 32x2  %3901 = ushr! %3899, %317 (0x10).xx
MESA: info:     div 32x2  %3902 = umul_low! %3900, %498.xx
MESA: info:     div 32x2  %3903 = imadsh_mix16! %3900, %498.xx, %3902
MESA: info:     div 32x2  %3904 = imadsh_mix16! %498.xx, %3900, %3903
MESA: info:     div 32x2  %3905 = umul_low! %3900, %501.xx
MESA: info:     div 32x2  %3906 = imadsh_mix16! %3900, %501.xx, %3905
MESA: info:     div 32x2  %3907 = imadsh_mix16! %501.xx, %3900, %3906
MESA: info:     div 32x2  %3908 = umul_low! %3901, %498.xx
MESA: info:     div 32x2  %3909 = imadsh_mix16! %3901, %498.xx, %3908
MESA: info:     div 32x2  %3910 = imadsh_mix16! %498.xx, %3901, %3909
MESA: info:     div 32x2  %3911 = umul_low! %3901, %501.xx
MESA: info:     div 32x2  %3912 = imadsh_mix16! %3901, %501.xx, %3911
MESA: info:     div 32x2  %3913 = imadsh_mix16! %501.xx, %3901, %3912
MESA: info:     div 32x2  %3914 = ishl! %3907, %317 (0x10).xx
MESA: info:     div 32x2  %3915 = iadd! %3904, %3914
MESA: info:     div 1x2   %3916 = ult! %3915, %3904
MESA: info:     div 32x2  %3917 = b2i32! %3916
MESA: info:     div 32x2  %3918 = ushr! %3907, %317 (0x10).xx
MESA: info:     div 32x2  %3919 = iadd3! %3913, %3917, %3918
MESA: info:     div 32x2  %3920 = ishl! %3910, %317 (0x10).xx
MESA: info:     div 32x2  %3921 = iadd! %3915, %3920
MESA: info:     div 1x2   %3922 = ult! %3921, %3915
MESA: info:     div 32x2  %3923 = b2i32! %3922
MESA: info:     div 32x2  %3924 = ushr! %3910, %317 (0x10).xx
MESA: info:     div 32x2  %3925 = iadd3! %3919, %3923, %3924
MESA: info:     div 32x2  %3926 = umul_low! %3925, %339.xx
MESA: info:     div 32x2  %3927 = imadsh_mix16! %3925, %339.xx, %3926
MESA: info:     div 32x2  %3928 = imadsh_mix16! %339.xx, %3925, %3927
MESA: info:     div 32x2  %3929 = isub! %3899, %3928
MESA: info:     div 1x2   %3930 = uge! %3929, %339.xx
MESA: info:     div 32x2  %3931 = iadd! %3929, %525.xx
MESA: info:     div 32x2  %3932 = bcsel! %3930, %3931, %3929
MESA: info:     div 1x2   %3933 = uge! %3932, %339.xx
MESA: info:     div 32x2  %3934 = iadd! %3932, %525.xx
MESA: info:     div 32x2  %3935 = bcsel! %3933, %3934, %3932
MESA: info:     div 32x2  %3936 = iabs! %3899
MESA: info:     div 32x2  %3937 = ixor! %3899, %339.xx
MESA: info:     div 1x2   %3938 = ilt! %3937, %314 (0x0).xx
MESA: info:     div 32x2  %3939 = iand! %3936, %347 (0xffff).xx
MESA: info:     div 32x2  %3940 = ushr! %3936, %317 (0x10).xx
MESA: info:     div 32x2  %3941 = umul_low! %3939, %538.xx
MESA: info:     div 32x2  %3942 = imadsh_mix16! %3939, %538.xx, %3941
MESA: info:     div 32x2  %3943 = imadsh_mix16! %538.xx, %3939, %3942
MESA: info:     div 32x2  %3944 = umul_low! %3939, %541.xx
MESA: info:     div 32x2  %3945 = imadsh_mix16! %3939, %541.xx, %3944
MESA: info:     div 32x2  %3946 = imadsh_mix16! %541.xx, %3939, %3945
MESA: info:     div 32x2  %3947 = umul_low! %3940, %538.xx
MESA: info:     div 32x2  %3948 = imadsh_mix16! %3940, %538.xx, %3947
MESA: info:     div 32x2  %3949 = imadsh_mix16! %538.xx, %3940, %3948
MESA: info:     div 32x2  %3950 = umul_low! %3940, %541.xx
MESA: info:     div 32x2  %3951 = imadsh_mix16! %3940, %541.xx, %3950
MESA: info:     div 32x2  %3952 = imadsh_mix16! %541.xx, %3940, %3951
MESA: info:     div 32x2  %3953 = ishl! %3946, %317 (0x10).xx
MESA: info:     div 32x2  %3954 = iadd! %3943, %3953
MESA: info:     div 1x2   %3955 = ult! %3954, %3943
MESA: info:     div 32x2  %3956 = b2i32! %3955
MESA: info:     div 32x2  %3957 = ushr! %3946, %317 (0x10).xx
MESA: info:     div 32x2  %3958 = iadd3! %3952, %3956, %3957
MESA: info:     div 32x2  %3959 = ishl! %3949, %317 (0x10).xx
MESA: info:     div 32x2  %3960 = iadd! %3954, %3959
MESA: info:     div 1x2   %3961 = ult! %3960, %3954
MESA: info:     div 32x2  %3962 = b2i32! %3961
MESA: info:     div 32x2  %3963 = ushr! %3949, %317 (0x10).xx
MESA: info:     div 32x2  %3964 = iadd3! %3958, %3962, %3963
MESA: info:     div 32x2  %3965 = umul_low! %3964, %533.xx
MESA: info:     div 32x2  %3966 = imadsh_mix16! %3964, %533.xx, %3965
MESA: info:     div 32x2  %3967 = imadsh_mix16! %533.xx, %3964, %3966
MESA: info:     div 32x2  %3968 = isub! %3936, %3967
MESA: info:     div 1x2   %3969 = uge! %3968, %533.xx
MESA: info:     div 32x2  %3970 = iadd! %3964, %313 (0x1).xx
MESA: info:     div 32x2  %3971 = bcsel! %3969, %3970, %3964
MESA: info:     div 32x2  %3972 = iadd! %3968, %567.xx
MESA: info:     div 32x2  %3973 = bcsel! %3969, %3972, %3968
MESA: info:     div 1x2   %3974 = uge! %3973, %533.xx
MESA: info:     div 32x2  %3975 = iadd! %3971, %313 (0x1).xx
MESA: info:     div 32x2  %3976 = bcsel! %3974, %3975, %3971
MESA: info:     div 32x2  %3977 = ineg! %3976
MESA: info:     div 32x2  %3978 = bcsel! %3938, %3977, %3976
MESA: info:     div 32x2  %3979 = umul_low %3820, %339.xx
MESA: info:     div 32x2  %3980 = imadsh_mix16 %3820, %339.xx, %3979
MESA: info:     div 32x2  %3981 = imadsh_mix16 %339.xx, %3820, %3980
MESA: info:     div 32x2  %3982 = umul_low %3863, %339.xx
MESA: info:     div 32x2  %3983 = imadsh_mix16 %3863, %339.xx, %3982
MESA: info:     div 32x2  %3984 = imadsh_mix16 %339.xx, %3863, %3983
MESA: info:     div 32x2  %3985 = iadd %3981, %3935
MESA: info:     div 32x2  %3986 = iadd %3984, %3978
MESA: info:     div 32x2  %3987 = umul_low %3985, %580.xx
MESA: info:     div 32x2  %3988 = imadsh_mix16 %3985, %580.xx, %3987
MESA: info:     div 32x2  %3989 = imadsh_mix16 %580.xx, %3985, %3988
MESA: info:     div 32x2  %3990 = umul_low %3986, %580.xx
MESA: info:     div 32x2  %3991 = imadsh_mix16 %3986, %580.xx, %3990
MESA: info:     div 32x2  %3992 = imadsh_mix16 %580.xx, %3986, %3991
MESA: info:     div 32x2  %3993 = i2f32 %3989
MESA: info:     div 32x2  %3994 = i2f32 %3992
MESA: info:     div 32x2  %3995 = fadd %323.xx, %3993
MESA: info:     div 32x2  %3996 = fadd %325.xx, %3994
MESA: info:     con 32x4  %4290 = load_const (0x00000005, 0x00000005, 0x00000003, 0x00000003)
MESA: info:     div 32x4  %4291 = ishl %3636.xyxy, %4290 (0x5, 0x5, 0x3, 0x3)
MESA: info:     div 32    %4292 = mov %4291.w
MESA: info:     div 32    %4002 = mov %4291.z
MESA: info:     div 32    %3998 = mov %4291.x
MESA: info:     div 32    %3999 = mov %4291.y
MESA: info:     div 32x2  %2216 = @load_ssbo_ir3 (%1029, %3998, %4002) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=0)
MESA: info:     con 32x4  %4298 = load_const (0x0000000c, 0x0000001c, 0x0000000c, 0x0000001c) = (12, 28, 12, 28)
MESA: info:     div 32x4  %4299 = iadd %4291.xxyy, %4298 (0xc, 0x1c, 0xc, 0x1c)
MESA: info:     div 32    %4300 = mov %4299.w
MESA: info:     div 32    %4295 = mov %4299.z
MESA: info:     div 32    %4011 = mov %4299.x
MESA: info:     div 32    %4012 = mov %4299.y
MESA: info:     div 32x4  %4301 = ushr %4299, %319 (0x2).xxxx
MESA: info:     div 32    %4302 = mov %4301.w
MESA: info:     div 32    %4297 = mov %4301.z
MESA: info:     div 32    %4014 = mov %4301.x
MESA: info:     div 32    %4015 = mov %4301.y
MESA: info:     div 32x4  %2219 = @load_ssbo_ir3 (%1029, %4011, %4014) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=12)
MESA: info:     div 32    %1501 = mov %2219.w
MESA: info:     div 32    %1502 = mov %2219.z
MESA: info:     div 32    %1503 = mov %2219.x
MESA: info:     div 32    %1504 = mov %2219.y
MESA: info:     div 32x2  %4003 = fmax %337.xx, %3995
MESA: info:     div 32x2  %4004 = fadd %3995, %1026.xx
MESA: info:     div 32x2  %4005 = fmin %4003, %4004
MESA: info:     div 32x2  %4006 = fmax %337.yy, %3996
MESA: info:     div 32x2  %4007 = fadd %3996, %1026.xx
MESA: info:     div 32x2  %4008 = fmin %4006, %4007
MESA: info:     div 32    %1517 = fmax %337.z, %2216.x
MESA: info:     div 32    %1518 = fmin %1517, %2216.y
MESA: info:                       @store_reg (%1503, %3) (base=0, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%1504, %3) (base=1, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%1502, %3) (base=2, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%1501, %3) (base=3, wrmask=x, legacy_fsat=0)
MESA: info:     div 32    %2222 = @load_ssbo_ir3 (%1029, %4012, %4015) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=28)
MESA: info:                       @store_reg (%2222, %3) (base=4, wrmask=x, legacy_fsat=0)
MESA: info:                       // succs: b15
MESA: info:     div loop {
MESA: info:         con block b15:        // preds: b14 b21
MESA: info:         con 32    %1527 = phi b14: %1058, b21: %1550
MESA: info:         con 1     %1528 = ilt %1527, %314 (0x0)
MESA: info:                           // succs: b16 b17
MESA: info:         if %1528 {
MESA: info:             con block b16:// preds: b15
MESA: info:             break
MESA: info:             // succs: b22
MESA: info:         } else {
MESA: info:             con block b17:  // preds: b15, succs: b18
MESA: info:         }
MESA: info:         con block b18:        // preds: b17
MESA: info:         div 32    %1531 = @load_reg_indirect (%3, %1527) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:         div 32    %3489 = fsub %337.x, %4005.x
MESA: info:         div 32    %3488 = fsub %337.y, %4008.x
MESA: info:         div 32    %3487 = fsub %337.z, %1518
MESA: info:         con 32    %1540 = @load_const_ir3 (%314 (0x0)) (base=52)
MESA: info:         div 32    %1542 = fmul %3488, %3488
MESA: info:         div 32    %3486 = ffma %3487, %3487, %1542
MESA: info:         div 32    %3485 = ffma %3489, %3489, %3486
MESA: info:         div 32    %1546 = frsq %3485
MESA: info:         div 32    %1547 = fmul %1531, %1546
MESA: info:         div 32    %1548 = fmul %1540, %1547
MESA: info:         div 1     %1549 = flt! %1548, %1057
MESA: info:                           // succs: b19 b20
MESA: info:         if %1549 {
MESA: info:             div block b19:// preds: b18
MESA: info:             break
MESA: info:             // succs: b22
MESA: info:         } else {
MESA: info:             div block b20:  // preds: b18, succs: b21
MESA: info:         }
MESA: info:         div block b21:        // preds: b20
MESA: info:         con 32    %1550 = iadd %1527, %587 (0xffffffff)
MESA: info:                           // succs: b15
MESA: info:     }
MESA: info:     con block b22:        // preds: b16 b19
MESA: info:     div 32    %1551 = phi b16: %587 (0xffffffff), b19: %1527
MESA: info:     div 32    %3484 = isub %1024, %1551
MESA: info:     div 32    %1554 = ishl %313 (0x1), %3484
MESA: info:     div 32    %1555 = u2f32 %1554
MESA: info:     div 32    %1556 = fmin %1087, %1555
MESA: info:     div 32x2  %4016 = iabs! %3730
MESA: info:     div 32x2  %4017 = ixor! %3730, %341.xx
MESA: info:     div 1x2   %4018 = ilt! %4017, %314 (0x0).xx
MESA: info:     div 32x2  %4019 = iand! %4016, %347 (0xffff).xx
MESA: info:     div 32x2  %4020 = ushr! %4016, %317 (0x10).xx
MESA: info:     div 32x2  %4021 = umul_low! %4019, %350.xx
MESA: info:     div 32x2  %4022 = imadsh_mix16! %4019, %350.xx, %4021
MESA: info:     div 32x2  %4023 = imadsh_mix16! %350.xx, %4019, %4022
MESA: info:     div 32x2  %4024 = umul_low! %4019, %353.xx
MESA: info:     div 32x2  %4025 = imadsh_mix16! %4019, %353.xx, %4024
MESA: info:     div 32x2  %4026 = imadsh_mix16! %353.xx, %4019, %4025
MESA: info:     div 32x2  %4027 = umul_low! %4020, %350.xx
MESA: info:     div 32x2  %4028 = imadsh_mix16! %4020, %350.xx, %4027
MESA: info:     div 32x2  %4029 = imadsh_mix16! %350.xx, %4020, %4028
MESA: info:     div 32x2  %4030 = umul_low! %4020, %353.xx
MESA: info:     div 32x2  %4031 = imadsh_mix16! %4020, %353.xx, %4030
MESA: info:     div 32x2  %4032 = imadsh_mix16! %353.xx, %4020, %4031
MESA: info:     div 32x2  %4033 = ishl! %4026, %317 (0x10).xx
MESA: info:     div 32x2  %4034 = iadd! %4023, %4033
MESA: info:     div 1x2   %4035 = ult! %4034, %4023
MESA: info:     div 32x2  %4036 = b2i32! %4035
MESA: info:     div 32x2  %4037 = ushr! %4026, %317 (0x10).xx
MESA: info:     div 32x2  %4038 = iadd3! %4032, %4036, %4037
MESA: info:     div 32x2  %4039 = ishl! %4029, %317 (0x10).xx
MESA: info:     div 32x2  %4040 = iadd! %4034, %4039
MESA: info:     div 1x2   %4041 = ult! %4040, %4034
MESA: info:     div 32x2  %4042 = b2i32! %4041
MESA: info:     div 32x2  %4043 = ushr! %4029, %317 (0x10).xx
MESA: info:     div 32x2  %4044 = iadd3! %4038, %4042, %4043
MESA: info:     div 32x2  %4045 = umul_low! %4044, %344.xx
MESA: info:     div 32x2  %4046 = imadsh_mix16! %4044, %344.xx, %4045
MESA: info:     div 32x2  %4047 = imadsh_mix16! %344.xx, %4044, %4046
MESA: info:     div 32x2  %4048 = isub! %4016, %4047
MESA: info:     div 1x2   %4049 = uge! %4048, %344.xx
MESA: info:     div 32x2  %4050 = iadd! %4044, %313 (0x1).xx
MESA: info:     div 32x2  %4051 = bcsel! %4049, %4050, %4044
MESA: info:     div 32x2  %4052 = iadd! %4048, %379.xx
MESA: info:     div 32x2  %4053 = bcsel! %4049, %4052, %4048
MESA: info:     div 1x2   %4054 = uge! %4053, %344.xx
MESA: info:     div 32x2  %4055 = iadd! %4051, %313 (0x1).xx
MESA: info:     div 32x2  %4056 = bcsel! %4054, %4055, %4051
MESA: info:     div 32x2  %4057 = ineg! %4056
MESA: info:     div 32x2  %4058 = bcsel! %4018, %4057, %4056
MESA: info:     div 32x2  %4059 = iand! %4058, %347 (0xffff).xx
MESA: info:     div 32x2  %4060 = ushr! %4058, %317 (0x10).xx
MESA: info:     div 32x2  %4061 = umul_low! %4059, %389.xx
MESA: info:     div 32x2  %4062 = imadsh_mix16! %4059, %389.xx, %4061
MESA: info:     div 32x2  %4063 = imadsh_mix16! %389.xx, %4059, %4062
MESA: info:     div 32x2  %4064 = umul_low! %4059, %392.xx
MESA: info:     div 32x2  %4065 = imadsh_mix16! %4059, %392.xx, %4064
MESA: info:     div 32x2  %4066 = imadsh_mix16! %392.xx, %4059, %4065
MESA: info:     div 32x2  %4067 = umul_low! %4060, %389.xx
MESA: info:     div 32x2  %4068 = imadsh_mix16! %4060, %389.xx, %4067
MESA: info:     div 32x2  %4069 = imadsh_mix16! %389.xx, %4060, %4068
MESA: info:     div 32x2  %4070 = umul_low! %4060, %392.xx
MESA: info:     div 32x2  %4071 = imadsh_mix16! %4060, %392.xx, %4070
MESA: info:     div 32x2  %4072 = imadsh_mix16! %392.xx, %4060, %4071
MESA: info:     div 32x2  %4073 = ishl! %4066, %317 (0x10).xx
MESA: info:     div 32x2  %4074 = iadd! %4063, %4073
MESA: info:     div 1x2   %4075 = ult! %4074, %4063
MESA: info:     div 32x2  %4076 = b2i32! %4075
MESA: info:     div 32x2  %4077 = ushr! %4066, %317 (0x10).xx
MESA: info:     div 32x2  %4078 = iadd3! %4072, %4076, %4077
MESA: info:     div 32x2  %4079 = ishl! %4069, %317 (0x10).xx
MESA: info:     div 32x2  %4080 = iadd! %4074, %4079
MESA: info:     div 1x2   %4081 = ult! %4080, %4074
MESA: info:     div 32x2  %4082 = b2i32! %4081
MESA: info:     div 32x2  %4083 = ushr! %4069, %317 (0x10).xx
MESA: info:     div 32x2  %4084 = iadd3! %4078, %4082, %4083
MESA: info:     div 32x2  %4085 = umul_low! %327.xx, %4084
MESA: info:     div 32x2  %4086 = imadsh_mix16! %327.xx, %4084, %4085
MESA: info:     div 32x2  %4087 = imadsh_mix16! %4084, %327.xx, %4086
MESA: info:     div 32x2  %4088 = iadd! %4058, %4087
MESA: info:     div 1x2   %4089 = uge! %4088, %329.xx
MESA: info:     div 32x2  %4090 = iadd! %4088, %327.xx
MESA: info:     div 32x2  %4091 = bcsel! %4089, %4090, %4088
MESA: info:     div 1x2   %4092 = uge! %4091, %329.xx
MESA: info:     div 32x2  %4093 = iadd! %4091, %327.xx
MESA: info:     div 32x2  %4094 = bcsel! %4092, %4093, %4091
MESA: info:     div 32x2  %4095 = iabs! %4058
MESA: info:     div 32x2  %4096 = ixor! %4058, %329.xx
MESA: info:     div 1x2   %4097 = ilt! %4096, %314 (0x0).xx
MESA: info:     div 32x2  %4098 = iand! %4095, %347 (0xffff).xx
MESA: info:     div 32x2  %4099 = ushr! %4095, %317 (0x10).xx
MESA: info:     div 32x2  %4100 = umul_low! %4098, %424.xx
MESA: info:     div 32x2  %4101 = imadsh_mix16! %4098, %424.xx, %4100
MESA: info:     div 32x2  %4102 = imadsh_mix16! %424.xx, %4098, %4101
MESA: info:     div 32x2  %4103 = umul_low! %4098, %427.xx
MESA: info:     div 32x2  %4104 = imadsh_mix16! %4098, %427.xx, %4103
MESA: info:     div 32x2  %4105 = imadsh_mix16! %427.xx, %4098, %4104
MESA: info:     div 32x2  %4106 = umul_low! %4099, %424.xx
MESA: info:     div 32x2  %4107 = imadsh_mix16! %4099, %424.xx, %4106
MESA: info:     div 32x2  %4108 = imadsh_mix16! %424.xx, %4099, %4107
MESA: info:     div 32x2  %4109 = umul_low! %4099, %427.xx
MESA: info:     div 32x2  %4110 = imadsh_mix16! %4099, %427.xx, %4109
MESA: info:     div 32x2  %4111 = imadsh_mix16! %427.xx, %4099, %4110
MESA: info:     div 32x2  %4112 = ishl! %4105, %317 (0x10).xx
MESA: info:     div 32x2  %4113 = iadd! %4102, %4112
MESA: info:     div 1x2   %4114 = ult! %4113, %4102
MESA: info:     div 32x2  %4115 = b2i32! %4114
MESA: info:     div 32x2  %4116 = ushr! %4105, %317 (0x10).xx
MESA: info:     div 32x2  %4117 = iadd3! %4111, %4115, %4116
MESA: info:     div 32x2  %4118 = ishl! %4108, %317 (0x10).xx
MESA: info:     div 32x2  %4119 = iadd! %4113, %4118
MESA: info:     div 1x2   %4120 = ult! %4119, %4113
MESA: info:     div 32x2  %4121 = b2i32! %4120
MESA: info:     div 32x2  %4122 = ushr! %4108, %317 (0x10).xx
MESA: info:     div 32x2  %4123 = iadd3! %4117, %4121, %4122
MESA: info:     div 32x2  %4124 = umul_low! %4123, %331.xx
MESA: info:     div 32x2  %4125 = imadsh_mix16! %4123, %331.xx, %4124
MESA: info:     div 32x2  %4126 = imadsh_mix16! %331.xx, %4123, %4125
MESA: info:     div 32x2  %4127 = isub! %4095, %4126
MESA: info:     div 1x2   %4128 = uge! %4127, %331.xx
MESA: info:     div 32x2  %4129 = iadd! %4123, %313 (0x1).xx
MESA: info:     div 32x2  %4130 = bcsel! %4128, %4129, %4123
MESA: info:     div 32x2  %4131 = iadd! %4127, %453.xx
MESA: info:     div 32x2  %4132 = bcsel! %4128, %4131, %4127
MESA: info:     div 1x2   %4133 = uge! %4132, %331.xx
MESA: info:     div 32x2  %4134 = iadd! %4130, %313 (0x1).xx
MESA: info:     div 32x2  %4135 = bcsel! %4133, %4134, %4130
MESA: info:     div 32x2  %4136 = ineg! %4135
MESA: info:     div 32x2  %4137 = bcsel! %4097, %4136, %4135
MESA: info:     div 32x2  %4138 = iand! %3730, %347 (0xffff).xx
MESA: info:     div 32x2  %4139 = ushr! %3730, %317 (0x10).xx
MESA: info:     div 32x2  %4140 = umul_low! %4138, %463.xx
MESA: info:     div 32x2  %4141 = imadsh_mix16! %4138, %463.xx, %4140
MESA: info:     div 32x2  %4142 = imadsh_mix16! %463.xx, %4138, %4141
MESA: info:     div 32x2  %4143 = umul_low! %4138, %466.xx
MESA: info:     div 32x2  %4144 = imadsh_mix16! %4138, %466.xx, %4143
MESA: info:     div 32x2  %4145 = imadsh_mix16! %466.xx, %4138, %4144
MESA: info:     div 32x2  %4146 = umul_low! %4139, %463.xx
MESA: info:     div 32x2  %4147 = imadsh_mix16! %4139, %463.xx, %4146
MESA: info:     div 32x2  %4148 = imadsh_mix16! %463.xx, %4139, %4147
MESA: info:     div 32x2  %4149 = umul_low! %4139, %466.xx
MESA: info:     div 32x2  %4150 = imadsh_mix16! %4139, %466.xx, %4149
MESA: info:     div 32x2  %4151 = imadsh_mix16! %466.xx, %4139, %4150
MESA: info:     div 32x2  %4152 = ishl! %4145, %317 (0x10).xx
MESA: info:     div 32x2  %4153 = iadd! %4142, %4152
MESA: info:     div 1x2   %4154 = ult! %4153, %4142
MESA: info:     div 32x2  %4155 = b2i32! %4154
MESA: info:     div 32x2  %4156 = ushr! %4145, %317 (0x10).xx
MESA: info:     div 32x2  %4157 = iadd3! %4151, %4155, %4156
MESA: info:     div 32x2  %4158 = ishl! %4148, %317 (0x10).xx
MESA: info:     div 32x2  %4159 = iadd! %4153, %4158
MESA: info:     div 1x2   %4160 = ult! %4159, %4153
MESA: info:     div 32x2  %4161 = b2i32! %4160
MESA: info:     div 32x2  %4162 = ushr! %4148, %317 (0x10).xx
MESA: info:     div 32x2  %4163 = iadd3! %4157, %4161, %4162
MESA: info:     div 32x2  %4164 = umul_low! %4163, %341.xx
MESA: info:     div 32x2  %4165 = imadsh_mix16! %4163, %341.xx, %4164
MESA: info:     div 32x2  %4166 = imadsh_mix16! %341.xx, %4163, %4165
MESA: info:     div 32x2  %4167 = isub! %3730, %4166
MESA: info:     div 1x2   %4168 = uge! %4167, %341.xx
MESA: info:     div 32x2  %4169 = iadd! %4167, %490.xx
MESA: info:     div 32x2  %4170 = bcsel! %4168, %4169, %4167
MESA: info:     div 1x2   %4171 = uge! %4170, %341.xx
MESA: info:     div 32x2  %4172 = iadd! %4170, %490.xx
MESA: info:     div 32x2  %4173 = bcsel! %4171, %4172, %4170
MESA: info:     div 32x2  %4174 = iand! %4173, %347 (0xffff).xx
MESA: info:     div 32x2  %4175 = ushr! %4173, %317 (0x10).xx
MESA: info:     div 32x2  %4176 = umul_low! %4174, %498.xx
MESA: info:     div 32x2  %4177 = imadsh_mix16! %4174, %498.xx, %4176
MESA: info:     div 32x2  %4178 = imadsh_mix16! %498.xx, %4174, %4177
MESA: info:     div 32x2  %4179 = umul_low! %4174, %501.xx
MESA: info:     div 32x2  %4180 = imadsh_mix16! %4174, %501.xx, %4179
MESA: info:     div 32x2  %4181 = imadsh_mix16! %501.xx, %4174, %4180
MESA: info:     div 32x2  %4182 = umul_low! %4175, %498.xx
MESA: info:     div 32x2  %4183 = imadsh_mix16! %4175, %498.xx, %4182
MESA: info:     div 32x2  %4184 = imadsh_mix16! %498.xx, %4175, %4183
MESA: info:     div 32x2  %4185 = umul_low! %4175, %501.xx
MESA: info:     div 32x2  %4186 = imadsh_mix16! %4175, %501.xx, %4185
MESA: info:     div 32x2  %4187 = imadsh_mix16! %501.xx, %4175, %4186
MESA: info:     div 32x2  %4188 = ishl! %4181, %317 (0x10).xx
MESA: info:     div 32x2  %4189 = iadd! %4178, %4188
MESA: info:     div 1x2   %4190 = ult! %4189, %4178
MESA: info:     div 32x2  %4191 = b2i32! %4190
MESA: info:     div 32x2  %4192 = ushr! %4181, %317 (0x10).xx
MESA: info:     div 32x2  %4193 = iadd3! %4187, %4191, %4192
MESA: info:     div 32x2  %4194 = ishl! %4184, %317 (0x10).xx
MESA: info:     div 32x2  %4195 = iadd! %4189, %4194
MESA: info:     div 1x2   %4196 = ult! %4195, %4189
MESA: info:     div 32x2  %4197 = b2i32! %4196
MESA: info:     div 32x2  %4198 = ushr! %4184, %317 (0x10).xx
MESA: info:     div 32x2  %4199 = iadd3! %4193, %4197, %4198
MESA: info:     div 32x2  %4200 = umul_low! %4199, %339.xx
MESA: info:     div 32x2  %4201 = imadsh_mix16! %4199, %339.xx, %4200
MESA: info:     div 32x2  %4202 = imadsh_mix16! %339.xx, %4199, %4201
MESA: info:     div 32x2  %4203 = isub! %4173, %4202
MESA: info:     div 1x2   %4204 = uge! %4203, %339.xx
MESA: info:     div 32x2  %4205 = iadd! %4203, %525.xx
MESA: info:     div 32x2  %4206 = bcsel! %4204, %4205, %4203
MESA: info:     div 1x2   %4207 = uge! %4206, %339.xx
MESA: info:     div 32x2  %4208 = iadd! %4206, %525.xx
MESA: info:     div 32x2  %4209 = bcsel! %4207, %4208, %4206
MESA: info:     div 32x2  %4210 = iabs! %4173
MESA: info:     div 32x2  %4211 = ixor! %4173, %339.xx
MESA: info:     div 1x2   %4212 = ilt! %4211, %314 (0x0).xx
MESA: info:     div 32x2  %4213 = iand! %4210, %347 (0xffff).xx
MESA: info:     div 32x2  %4214 = ushr! %4210, %317 (0x10).xx
MESA: info:     div 32x2  %4215 = umul_low! %4213, %538.xx
MESA: info:     div 32x2  %4216 = imadsh_mix16! %4213, %538.xx, %4215
MESA: info:     div 32x2  %4217 = imadsh_mix16! %538.xx, %4213, %4216
MESA: info:     div 32x2  %4218 = umul_low! %4213, %541.xx
MESA: info:     div 32x2  %4219 = imadsh_mix16! %4213, %541.xx, %4218
MESA: info:     div 32x2  %4220 = imadsh_mix16! %541.xx, %4213, %4219
MESA: info:     div 32x2  %4221 = umul_low! %4214, %538.xx
MESA: info:     div 32x2  %4222 = imadsh_mix16! %4214, %538.xx, %4221
MESA: info:     div 32x2  %4223 = imadsh_mix16! %538.xx, %4214, %4222
MESA: info:     div 32x2  %4224 = umul_low! %4214, %541.xx
MESA: info:     div 32x2  %4225 = imadsh_mix16! %4214, %541.xx, %4224
MESA: info:     div 32x2  %4226 = imadsh_mix16! %541.xx, %4214, %4225
MESA: info:     div 32x2  %4227 = ishl! %4220, %317 (0x10).xx
MESA: info:     div 32x2  %4228 = iadd! %4217, %4227
MESA: info:     div 1x2   %4229 = ult! %4228, %4217
MESA: info:     div 32x2  %4230 = b2i32! %4229
MESA: info:     div 32x2  %4231 = ushr! %4220, %317 (0x10).xx
MESA: info:     div 32x2  %4232 = iadd3! %4226, %4230, %4231
MESA: info:     div 32x2  %4233 = ishl! %4223, %317 (0x10).xx
MESA: info:     div 32x2  %4234 = iadd! %4228, %4233
MESA: info:     div 1x2   %4235 = ult! %4234, %4228
MESA: info:     div 32x2  %4236 = b2i32! %4235
MESA: info:     div 32x2  %4237 = ushr! %4223, %317 (0x10).xx
MESA: info:     div 32x2  %4238 = iadd3! %4232, %4236, %4237
MESA: info:     div 32x2  %4239 = umul_low! %4238, %533.xx
MESA: info:     div 32x2  %4240 = imadsh_mix16! %4238, %533.xx, %4239
MESA: info:     div 32x2  %4241 = imadsh_mix16! %533.xx, %4238, %4240
MESA: info:     div 32x2  %4242 = isub! %4210, %4241
MESA: info:     div 1x2   %4243 = uge! %4242, %533.xx
MESA: info:     div 32x2  %4244 = iadd! %4238, %313 (0x1).xx
MESA: info:     div 32x2  %4245 = bcsel! %4243, %4244, %4238
MESA: info:     div 32x2  %4246 = iadd! %4242, %567.xx
MESA: info:     div 32x2  %4247 = bcsel! %4243, %4246, %4242
MESA: info:     div 1x2   %4248 = uge! %4247, %533.xx
MESA: info:     div 32x2  %4249 = iadd! %4245, %313 (0x1).xx
MESA: info:     div 32x2  %4250 = bcsel! %4248, %4249, %4245
MESA: info:     div 32x2  %4251 = ineg! %4250
MESA: info:     div 32x2  %4252 = bcsel! %4212, %4251, %4250
MESA: info:     div 32x2  %4253 = umul_low %4094, %339.xx
MESA: info:     div 32x2  %4254 = imadsh_mix16 %4094, %339.xx, %4253
MESA: info:     div 32x2  %4255 = imadsh_mix16 %339.xx, %4094, %4254
MESA: info:     div 32x2  %4256 = umul_low %4137, %339.xx
MESA: info:     div 32x2  %4257 = imadsh_mix16 %4137, %339.xx, %4256
MESA: info:     div 32x2  %4258 = imadsh_mix16 %339.xx, %4137, %4257
MESA: info:     div 32x2  %4259 = iadd %4255, %4209
MESA: info:     div 32x2  %4260 = iadd %4258, %4252
MESA: info:     div 32x2  %4261 = umul_low %4259, %580.xx
MESA: info:     div 32x2  %4262 = imadsh_mix16 %4259, %580.xx, %4261
MESA: info:     div 32x2  %4263 = imadsh_mix16 %580.xx, %4259, %4262
MESA: info:     div 32x2  %4264 = umul_low %4260, %580.xx
MESA: info:     div 32x2  %4265 = imadsh_mix16 %4260, %580.xx, %4264
MESA: info:     div 32x2  %4266 = imadsh_mix16 %580.xx, %4260, %4265
MESA: info:     div 32x2  %4267 = i2f32 %4263
MESA: info:     div 32x2  %4268 = i2f32 %4266
MESA: info:     div 32x2  %4269 = fadd %323.xx, %4267
MESA: info:     div 32x2  %4270 = fadd %325.xx, %4268
MESA: info:     con 32x4  %4303 = load_const (0x00000005, 0x00000005, 0x00000003, 0x00000003)
MESA: info:     div 32x4  %4304 = ishl %3730.xyxy, %4303 (0x5, 0x5, 0x3, 0x3)
MESA: info:     div 32    %4305 = mov %4304.w
MESA: info:     div 32    %4276 = mov %4304.z
MESA: info:     div 32    %4272 = mov %4304.x
MESA: info:     div 32    %4273 = mov %4304.y
MESA: info:     div 32x2  %2226 = @load_ssbo_ir3 (%1029, %4272, %4276) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=0)
MESA: info:     con 32x4  %4311 = load_const (0x0000000c, 0x0000001c, 0x0000000c, 0x0000001c) = (12, 28, 12, 28)
MESA: info:     div 32x4  %4312 = iadd %4304.xxyy, %4311 (0xc, 0x1c, 0xc, 0x1c)
MESA: info:     div 32    %4313 = mov %4312.w
MESA: info:     div 32    %4308 = mov %4312.z
MESA: info:     div 32    %4285 = mov %4312.x
MESA: info:     div 32    %4286 = mov %4312.y
MESA: info:     div 32x4  %4314 = ushr %4312, %319 (0x2).xxxx
MESA: info:     div 32    %4315 = mov %4314.w
MESA: info:     div 32    %4310 = mov %4314.z
MESA: info:     div 32    %4288 = mov %4314.x
MESA: info:     div 32    %4289 = mov %4314.y
MESA: info:     div 32x4  %2229 = @load_ssbo_ir3 (%1029, %4285, %4288) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=12)
MESA: info:     div 32    %1970 = mov %2229.w
MESA: info:     div 32    %1971 = mov %2229.z
MESA: info:     div 32    %1972 = mov %2229.x
MESA: info:     div 32    %1973 = mov %2229.y
MESA: info:     div 32x2  %4277 = fmax %337.xx, %4269
MESA: info:     div 32x2  %4278 = fadd %4269, %1026.xx
MESA: info:     div 32x2  %4279 = fmin %4277, %4278
MESA: info:     div 32x2  %4280 = fmax %337.yy, %4270
MESA: info:     div 32x2  %4281 = fadd %4270, %1026.xx
MESA: info:     div 32x2  %4282 = fmin %4280, %4281
MESA: info:     div 32    %1986 = fmax %337.z, %2226.x
MESA: info:     div 32    %1987 = fmin %1986, %2226.y
MESA: info:                       @store_reg (%1972, %2) (base=0, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%1973, %2) (base=1, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%1971, %2) (base=2, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%1970, %2) (base=3, wrmask=x, legacy_fsat=0)
MESA: info:     div 32    %2232 = @load_ssbo_ir3 (%1029, %4286, %4289) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=28)
MESA: info:                       @store_reg (%2232, %2) (base=4, wrmask=x, legacy_fsat=0)
MESA: info:                       // succs: b23
MESA: info:     div loop {
MESA: info:         con block b23:        // preds: b22 b29
MESA: info:         con 32    %1996 = phi b22: %1058, b29: %2019
MESA: info:         con 1     %1997 = ilt %1996, %314 (0x0)
MESA: info:                           // succs: b24 b25
MESA: info:         if %1997 {
MESA: info:             con block b24:// preds: b23
MESA: info:             break
MESA: info:             // succs: b30
MESA: info:         } else {
MESA: info:             con block b25:  // preds: b23, succs: b26
MESA: info:         }
MESA: info:         con block b26:        // preds: b25
MESA: info:         div 32    %2000 = @load_reg_indirect (%2, %1996) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:         div 32    %3473 = fsub %337.x, %4279.x
MESA: info:         div 32    %3472 = fsub %337.y, %4282.x
MESA: info:         div 32    %3471 = fsub %337.z, %1987
MESA: info:         con 32    %2009 = @load_const_ir3 (%314 (0x0)) (base=52)
MESA: info:         div 32    %2011 = fmul %3472, %3472
MESA: info:         div 32    %3470 = ffma %3471, %3471, %2011
MESA: info:         div 32    %3469 = ffma %3473, %3473, %3470
MESA: info:         div 32    %2015 = frsq %3469
MESA: info:         div 32    %2016 = fmul %2000, %2015
MESA: info:         div 32    %2017 = fmul %2009, %2016
MESA: info:         div 1     %2018 = flt! %2017, %1057
MESA: info:                           // succs: b27 b28
MESA: info:         if %2018 {
MESA: info:             div block b27:// preds: b26
MESA: info:             break
MESA: info:             // succs: b30
MESA: info:         } else {
MESA: info:             div block b28:  // preds: b26, succs: b29
MESA: info:         }
MESA: info:         div block b29:        // preds: b28
MESA: info:         con 32    %2019 = iadd %1996, %587 (0xffffffff)
MESA: info:                           // succs: b23
MESA: info:     }
MESA: info:     con block b30:        // preds: b24 b27
MESA: info:     div 32    %2020 = phi b24: %587 (0xffffffff), b27: %1996
MESA: info:     div 32    %3468 = isub %1024, %2020
MESA: info:     div 32    %2023 = ishl %313 (0x1), %3468
MESA: info:     div 32    %2024 = u2f32 %2023
MESA: info:     div 32    %2025 = fmin %1087, %2024
MESA: info:     div 32x2  %2236 = @load_ssbo_ir3 (%1029, %3999, %4292) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=0)
MESA: info:     div 32x4  %2239 = @load_ssbo_ir3 (%1029, %4295, %4297) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=12)
MESA: info:     div 32    %2029 = mov %2239.w
MESA: info:     div 32    %2030 = mov %2239.z
MESA: info:     div 32    %2031 = mov %2239.x
MESA: info:     div 32    %2032 = mov %2239.y
MESA: info:     div 32    %2033 = fmax %337.z, %2236.x
MESA: info:     div 32    %2034 = fmin %2033, %2236.y
MESA: info:                       @store_reg (%2031, %1) (base=0, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%2032, %1) (base=1, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%2030, %1) (base=2, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%2029, %1) (base=3, wrmask=x, legacy_fsat=0)
MESA: info:     div 32    %2242 = @load_ssbo_ir3 (%1029, %4300, %4302) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=28)
MESA: info:                       @store_reg (%2242, %1) (base=4, wrmask=x, legacy_fsat=0)
MESA: info:                       // succs: b31
MESA: info:     div loop {
MESA: info:         con block b31:        // preds: b30 b37
MESA: info:         con 32    %2043 = phi b30: %1058, b37: %2066
MESA: info:         con 1     %2044 = ilt %2043, %314 (0x0)
MESA: info:                           // succs: b32 b33
MESA: info:         if %2044 {
MESA: info:             con block b32:// preds: b31
MESA: info:             break
MESA: info:             // succs: b38
MESA: info:         } else {
MESA: info:             con block b33:  // preds: b31, succs: b34
MESA: info:         }
MESA: info:         con block b34:        // preds: b33
MESA: info:         div 32    %2047 = @load_reg_indirect (%1, %2043) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:         div 32    %3467 = fsub %337.x, %4005.y
MESA: info:         div 32    %3466 = fsub %337.y, %4008.y
MESA: info:         div 32    %3465 = fsub %337.z, %2034
MESA: info:         con 32    %2056 = @load_const_ir3 (%314 (0x0)) (base=52)
MESA: info:         div 32    %2058 = fmul %3466, %3466
MESA: info:         div 32    %3464 = ffma %3465, %3465, %2058
MESA: info:         div 32    %3463 = ffma %3467, %3467, %3464
MESA: info:         div 32    %2062 = frsq %3463
MESA: info:         div 32    %2063 = fmul %2047, %2062
MESA: info:         div 32    %2064 = fmul %2056, %2063
MESA: info:         div 1     %2065 = flt! %2064, %1057
MESA: info:                           // succs: b35 b36
MESA: info:         if %2065 {
MESA: info:             div block b35:// preds: b34
MESA: info:             break
MESA: info:             // succs: b38
MESA: info:         } else {
MESA: info:             div block b36:  // preds: b34, succs: b37
MESA: info:         }
MESA: info:         div block b37:        // preds: b36
MESA: info:         con 32    %2066 = iadd %2043, %587 (0xffffffff)
MESA: info:                           // succs: b31
MESA: info:     }
MESA: info:     con block b38:        // preds: b32 b35
MESA: info:     div 32    %2067 = phi b32: %587 (0xffffffff), b35: %2043
MESA: info:     div 32    %3462 = isub %1024, %2067
MESA: info:     div 32    %2070 = ishl %313 (0x1), %3462
MESA: info:     div 32    %2071 = u2f32 %2070
MESA: info:     div 32    %2072 = fmin %1087, %2071
MESA: info:     div 32x2  %2246 = @load_ssbo_ir3 (%1029, %4273, %4305) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=0)
MESA: info:     div 32x4  %2249 = @load_ssbo_ir3 (%1029, %4308, %4310) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=12)
MESA: info:     div 32    %2076 = mov %2249.w
MESA: info:     div 32    %2077 = mov %2249.z
MESA: info:     div 32    %2078 = mov %2249.x
MESA: info:     div 32    %2079 = mov %2249.y
MESA: info:     div 32    %2080 = fmax %337.z, %2246.x
MESA: info:     div 32    %2081 = fmin %2080, %2246.y
MESA: info:                       @store_reg (%2078, %0) (base=0, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%2079, %0) (base=1, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%2077, %0) (base=2, wrmask=x, legacy_fsat=0)
MESA: info:                       @store_reg (%2076, %0) (base=3, wrmask=x, legacy_fsat=0)
MESA: info:     div 32    %2252 = @load_ssbo_ir3 (%1029, %4313, %4315) (base=0, access=readonly|reorderable|speculatable, align_mul=32, align_offset=28)
MESA: info:                       @store_reg (%2252, %0) (base=4, wrmask=x, legacy_fsat=0)
MESA: info:                       // succs: b39
MESA: info:     div loop {
MESA: info:         con block b39:        // preds: b38 b45
MESA: info:         con 32    %2090 = phi b38: %1058, b45: %2113
MESA: info:         con 1     %2091 = ilt %2090, %314 (0x0)
MESA: info:                           // succs: b40 b41
MESA: info:         if %2091 {
MESA: info:             con block b40:// preds: b39
MESA: info:             break
MESA: info:             // succs: b46
MESA: info:         } else {
MESA: info:             con block b41:  // preds: b39, succs: b42
MESA: info:         }
MESA: info:         con block b42:        // preds: b41
MESA: info:         div 32    %2094 = @load_reg_indirect (%0, %2090) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:         div 32    %3461 = fsub %337.x, %4279.y
MESA: info:         div 32    %3460 = fsub %337.y, %4282.y
MESA: info:         div 32    %3459 = fsub %337.z, %2081
MESA: info:         con 32    %2103 = @load_const_ir3 (%314 (0x0)) (base=52)
MESA: info:         div 32    %2105 = fmul %3460, %3460
MESA: info:         div 32    %3458 = ffma %3459, %3459, %2105
MESA: info:         div 32    %3457 = ffma %3461, %3461, %3458
MESA: info:         div 32    %2109 = frsq %3457
MESA: info:         div 32    %2110 = fmul %2094, %2109
MESA: info:         div 32    %2111 = fmul %2103, %2110
MESA: info:         div 1     %2112 = flt! %2111, %1057
MESA: info:                           // succs: b43 b44
MESA: info:         if %2112 {
MESA: info:             div block b43:// preds: b42
MESA: info:             break
MESA: info:             // succs: b46
MESA: info:         } else {
MESA: info:             div block b44:  // preds: b42, succs: b45
MESA: info:         }
MESA: info:         div block b45:        // preds: b44
MESA: info:         con 32    %2113 = iadd %2090, %587 (0xffffffff)
MESA: info:                           // succs: b39
MESA: info:     }
MESA: info:     con block b46:        // preds: b40 b43
MESA: info:     div 32    %2114 = phi b40: %587 (0xffffffff), b43: %2090
MESA: info:     div 32    %3456 = isub %1024, %2114
MESA: info:     div 32    %2117 = ishl %313 (0x1), %3456
MESA: info:     div 32    %2118 = u2f32 %2117
MESA: info:     div 32    %2119 = fmin %1087, %2118
MESA: info:     con 32    %2120 = load_const (0x3b800000 = 0.003906)
MESA: info:     div 32    %2121 = fmul %585, %2120 (0.003906)
MESA: info:     div 32    %2122 = fmul %586, %2120 (0.003906)
MESA: info:     div 32    %2123 = ffloor %2121
MESA: info:     div 32    %2124 = ffloor %2122
MESA: info:     div 32    %3455 = fsub %2123, %321.x
MESA: info:     div 32    %3454 = fsub %2124, %321.y
MESA: info:     div 32    %2129 = f2u32 %3455
MESA: info:     div 32    %2130 = f2u32 %3454
MESA: info:     div 32    %2131 = iand %2129, %332 (0x3)
MESA: info:     div 32    %2132 = iand %2130, %332 (0x3)
MESA: info:     div 32    %2133 = u2f32 %2131
MESA: info:     div 32    %2134 = u2f32 %2132
MESA: info:     con 32    %2136 = @load_const_ir3 (%314 (0x0)) (base=31)
MESA: info:     div 32    %2139 = i2f32 %530
MESA: info:     div 32    %2140 = i2f32 %574
MESA: info:     div 32    %3453 = ffma %2133, %2136, %2139
MESA: info:     div 32    %3452 = ffma %2134, %2136, %2140
MESA: info:     div 32x4  %2143 = vec4 %585, %586, %3453, %3452
MESA: info:     con 32    %2144 = load_const (0x00000006)
MESA: info:     con 32    %2146 = load_const (0x0000001f = 31)
MESA: info:     div 32    %3534 = shrm_ir3 %311, %2144 (0x6), %2146 (0x1f)
MESA: info:     con 32    %2148 = @load_vs_primitive_stride_ir3
MESA: info:     con 32    %2149 = load_const (0x0000003f = 63)
MESA: info:     div 32    %2150 = iand %311, %2149 (0x3f)
MESA: info:     con 32    %2152 = load_const (0x00000030 = 48)
MESA: info:     div 32    %2154 = imul24 %3534, %2152 (0x30)
MESA: info:     div 32    %2453 = imad24_ir3 %2150, %2148, %2154
MESA: info:                       @store_shared_ir3 (%2143, %2453) (base=0, align_mul=4, align_offset=0)
MESA: info:     div 32x4  %2160 = vec4 %1556, %2025, %2072, %2119
MESA: info:                       @store_shared_ir3 (%2160, %2453) (base=16, align_mul=4, align_offset=0)
MESA: info:     div 32x2  %2177 = vec2 %1087, %1087
MESA: info:                       @store_shared_ir3 (%2177, %2453) (base=32, align_mul=4, align_offset=0)
MESA: info:                       // succs: b47
MESA: info:     block b47:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 f964646332c9cfff0ba921fb5d06b678a9a093e6:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c8.x (8 vec4)
MESA: info: ;   preamble                   c0.x (8 vec4)
MESA: info: ;   primitive_param            c16.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      2
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x1)
MESA: info: @in(r0.y)	in1 (wrmask=0x1)
MESA: info: @in(r0.z)	in2 (wrmask=0x1)
MESA: info: @in(r0.w)	in3 (wrmask=0x1)
MESA: info: @const(c17.x)	0x4f7ffffe, 0x0000ffff, 0x3b800000, 0xd0d0d0d0
MESA: info: shps #l606
MESA: info: getone #l606
MESA: info: ldc.u.offset0.2.imm.base1 r48.y, 0, 1
MESA: info: ldc.u.offset0.1.imm.base1 r48.x, 1, 1
MESA: info: ldc.u.offset3.1.imm.base1 r48.w, 0, 0
MESA: info: mova1 a1.x, (r)32
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)trunc.f r49.z, r48.x
MESA: info: cov.f32s32 r48.w, r48.w
MESA: info: mul.f r49.w, r48.y, r49.z
MESA: info: shl.b r49.x, 1, r48.w
MESA: info: cov.f32s32 r48.y, r48.y
MESA: info: shr.b r49.y, r49.x, 16
MESA: info: mull.u r50.z, r49.x, r49.x
MESA: info: shr.b r50.w, r49.x, 16
MESA: info: shl.b r48.y, r48.y, 1
MESA: info: mull.u r49.y, r49.x, r49.y
MESA: info: mull.u r50.w, r49.x, r50.w
MESA: info: absneg.s r50.x, (neg)r48.y
MESA: info: shl.b r49.y, r49.y, 16
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: add.u r49.y, r49.y, r50.z
MESA: info: add.u r50.w, r50.w, r49.y
MESA: info: absneg.s r51.x, (abs)r50.w
MESA: info: cov.u32f32 r51.y, r51.x
MESA: info: mul.f r49.z, r48.z, r49.z
MESA: info: absneg.s r52.w, (absneg)r48.y
MESA: info: absneg.s r51.w, (absneg)r50.w
MESA: info: shr.b r51.z, r51.x, 16
MESA: info: absneg.s r50.y, (abs)r48.y
MESA: info: cov.u32f32 r53.x, r50.w
MESA: info: cov.u32f32 r52.y, r50.y
MESA: info: shr.b r52.x, r48.y, 16
MESA: info: absneg.s r53.z, (neg)r50.w
MESA: info: shr.b r53.y, r50.w, 16
MESA: info: shr.b r52.z, r50.y, 16
MESA: info: cov.u32f32 r53.w, r49.x
MESA: info: cov.f32s32 r48.x, r48.x
MESA: info: cov.f32s32 r48.z, r48.z
MESA: info: shl.b r48.z, r48.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[3], r50.x, 1
MESA: info: rcp r51.y, r51.y
MESA: info: rcp r53.x, r53.x
MESA: info: rcp r52.y, r52.y
MESA: info: rcp r53.w, r53.w
MESA: info: stc.u32 c[0], r49.w, 1
MESA: info: stc.u32 c[7], r51.x, 1
MESA: info: stc.u32 c[1], r49.z, 1
MESA: info: stc.u32 c[15], r52.w, 1
MESA: info: stc.u32 c[10], r51.w, 1
MESA: info: stc.u32 c[18], r53.z, 1
MESA: info: stc.u32 c[6], r50.w, 1
MESA: info: stc.u32 c[4], r50.y, 1
MESA: info: stc.u32 c[5], r49.x, 1
MESA: info: stc.u32 c[2], r48.y, 1
MESA: info: (ss)cov.u32f32 r50.x, r50.x
MESA: info: mul.f r51.y, r51.y, c17.x
MESA: info: cov.f32u32 r51.y, r51.y
MESA: info: mull.u r51.z, r51.y, r51.z
MESA: info: shr.b r54.x, r51.y, 16
MESA: info: and.b r54.y, r51.y, c17.y
MESA: info: shr.b r49.y, r51.y, 16
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: mull.u r54.x, r51.x, r54.x
MESA: info: shr.b r55.y, r54.y, 16
MESA: info: shr.b r50.z, r49.y, 16
MESA: info: shl.b r54.x, r54.x, 16
MESA: info: mull.u r51.x, r51.x, r51.y
MESA: info: add.u r54.x, r54.x, r51.x
MESA: info: add.u r51.z, r51.z, r54.x
MESA: info: absneg.s r51.z, (neg)r51.z
MESA: info: and.b r54.z, r51.z, c17.y
MESA: info: shr.b r54.w, r54.z, 16
MESA: info: mull.u r55.x, r54.y, r54.z
MESA: info: mull.u r55.y, r54.z, r55.y
MESA: info: shr.b r49.z, r54.z, 16
MESA: info: mull.u r49.w, r49.y, r54.z
MESA: info: mull.u r49.z, r49.y, r49.z
MESA: info: mull.u r54.z, r54.z, r50.z
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: shl.b r54.z, r54.z, 16
MESA: info: add.u r49.z, r49.z, r49.w
MESA: info: add.u r54.z, r54.z, r49.z
MESA: info: shr.b r51.z, r51.z, 16
MESA: info: mull.u r54.w, r54.y, r54.w
MESA: info: shl.b r55.y, r55.y, 16
MESA: info: shl.b r49.w, r54.z, 16
MESA: info: shr.b r55.z, r51.z, 16
MESA: info: mull.u r55.w, r54.y, r51.z
MESA: info: shr.b r51.x, r51.z, 16
MESA: info: mull.u r51.w, r49.y, r51.z
MESA: info: shl.b r54.w, r54.w, 16
MESA: info: shr.b r54.z, r54.z, 16
MESA: info: mull.u r55.z, r54.y, r55.z
MESA: info: mull.u r51.x, r49.y, r51.x
MESA: info: add.u r54.w, r54.w, r55.x
MESA: info: shl.b r55.z, r55.z, 16
MESA: info: shr.b r54.y, r54.y, 16
MESA: info: shl.b r51.x, r51.x, 16
MESA: info: shr.b r49.y, r49.y, 16
MESA: info: add.u r55.y, r55.y, r54.w
MESA: info: add.u r55.z, r55.z, r55.w
MESA: info: mull.u r54.y, r51.z, r54.y
MESA: info: add.u r51.x, r51.x, r51.w
MESA: info: shl.b r54.y, r54.y, 16
MESA: info: mull.u r51.z, r51.z, r49.y
MESA: info: add.u r54.y, r54.y, r55.z
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: shl.b r52.w, r54.y, 16
MESA: info: add.u r51.z, r51.z, r51.x
MESA: info: add.u r52.w, r55.y, r52.w
MESA: info: shr.b r54.y, r54.y, 16
MESA: info: add.u r49.w, r52.w, r49.w
MESA: info: mul.f r53.x, r53.x, c17.x
MESA: info: mul.f r52.y, r52.y, c17.x
MESA: info: cov.f32u32 r53.x, r53.x
MESA: info: cov.f32u32 r52.y, r52.y
MESA: info: mull.u r52.z, r52.y, r52.z
MESA: info: shl.b r52.z, r52.z, 16
MESA: info: mull.u r53.y, r53.x, r53.y
MESA: info: shl.b r53.y, r53.y, 16
MESA: info: mul.f r53.w, r53.w, c17.x
MESA: info: cov.f32u32 r53.w, r53.w
MESA: info: (ss)rcp r50.x, r50.x
MESA: info: cmps.u.lt hr50.z, r52.w, r55.y
MESA: info: cmps.u.lt hr51.z, r49.w, r52.w
MESA: info: cov.u16s32 r49.z, hr50.z
MESA: info: cov.u16s32 r50.z, hr51.z
MESA: info: add.u r51.z, r51.z, r49.z
MESA: info: add.u r51.z, r51.z, r54.y
MESA: info: add.u r51.z, r51.z, r50.z
MESA: info: add.u r51.z, r51.z, r54.z
MESA: info: add.u r51.z, r51.z, r51.y
MESA: info: and.b r51.x, r51.z, c17.y
MESA: info: shr.b r51.z, r51.z, 16
MESA: info: (ss)mul.f r50.x, r50.x, c17.x
MESA: info: cov.f32u32 r50.x, r50.x
MESA: info: mull.u r52.x, r50.x, r52.x
MESA: info: shr.b r51.y, r50.x, 16
MESA: info: mull.u r51.w, r48.y, r50.x
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: mull.u r51.y, r48.y, r51.y
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r51.w
MESA: info: add.u r52.x, r52.x, r51.y
MESA: info: and.b r52.w, r50.x, c17.y
MESA: info: shr.b r55.y, r50.x, 16
MESA: info: and.b r53.z, r52.x, c17.y
MESA: info: shr.b r54.z, r52.w, 16
MESA: info: shr.b r49.y, r55.y, 16
MESA: info: shr.b r54.x, r53.z, 16
MESA: info: mull.u r54.y, r52.w, r53.z
MESA: info: shr.b r55.z, r53.z, 16
MESA: info: mull.u r55.w, r55.y, r53.z
MESA: info: shr.b r52.x, r52.x, 16
MESA: info: mull.u r54.z, r53.z, r54.z
MESA: info: mull.u r54.x, r52.w, r54.x
MESA: info: mull.u r55.z, r55.y, r55.z
MESA: info: shr.b r54.w, r52.x, 16
MESA: info: mull.u r55.x, r52.w, r52.x
MESA: info: shr.b r49.z, r52.x, 16
MESA: info: mull.u r49.w, r55.y, r52.x
MESA: info: shl.b r54.z, r54.z, 16
MESA: info: mull.u r53.z, r53.z, r49.y
MESA: info: shl.b r54.x, r54.x, 16
MESA: info: shl.b r55.z, r55.z, 16
MESA: info: mull.u r54.w, r52.w, r54.w
MESA: info: mull.u r49.z, r55.y, r49.z
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: add.u r54.x, r54.x, r54.y
MESA: info: add.u r55.z, r55.z, r55.w
MESA: info: shl.b r54.w, r54.w, 16
MESA: info: shr.b r52.w, r52.w, 16
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: shr.b r55.y, r55.y, 16
MESA: info: add.u r54.z, r54.z, r54.x
MESA: info: add.u r53.z, r53.z, r55.z
MESA: info: add.u r54.w, r54.w, r55.x
MESA: info: mull.u r52.w, r52.x, r52.w
MESA: info: add.u r49.z, r49.z, r49.w
MESA: info: shl.b r52.w, r52.w, 16
MESA: info: mull.u r52.x, r52.x, r55.y
MESA: info: add.u r52.w, r52.w, r54.w
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: shl.b r50.z, r52.w, 16
MESA: info: add.u r52.x, r52.x, r49.z
MESA: info: add.u r50.z, r54.z, r50.z
MESA: info: shr.b r52.w, r52.w, 16
MESA: info: shr.b r55.w, r52.y, 16
MESA: info: and.b r54.x, r52.y, c17.y
MESA: info: shr.b r49.w, r55.w, 16
MESA: info: shr.b r55.x, r54.x, 16
MESA: info: stc.u32 c[8], r51.x, 1
MESA: info: stc.u32 c[9], r51.z, 1
MESA: info: (ss)cmps.u.lt hr54.x, r50.z, r54.z
MESA: info: shl.b r51.z, r53.z, 16
MESA: info: cov.u16s32 r51.y, hr54.x
MESA: info: add.u r51.z, r50.z, r51.z
MESA: info: shr.b r53.z, r53.z, 16
MESA: info: add.u r52.x, r52.x, r51.y
MESA: info: add.u r52.x, r52.x, r52.w
MESA: info: (ss)cmps.u.lt hr55.x, r51.z, r50.z
MESA: info: cov.u16s32 r51.w, hr55.x
MESA: info: add.u r52.x, r52.x, r51.w
MESA: info: add.u r52.x, r52.x, r53.z
MESA: info: add.u r52.x, r52.x, r50.x
MESA: info: and.b r52.w, r52.x, c17.y
MESA: info: shr.b r52.x, r52.x, 16
MESA: info: shr.b r53.z, r52.y, 16
MESA: info: mull.u r53.z, r50.y, r53.z
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: mull.u r50.y, r50.y, r52.y
MESA: info: add.u r53.z, r53.z, r50.y
MESA: info: add.u r52.z, r52.z, r53.z
MESA: info: absneg.s r52.z, (neg)r52.z
MESA: info: and.b r54.y, r52.z, c17.y
MESA: info: shr.b r54.z, r54.y, 16
MESA: info: mull.u r54.w, r54.x, r54.y
MESA: info: mull.u r55.x, r54.y, r55.x
MESA: info: shr.b r49.y, r54.y, 16
MESA: info: mull.u r49.z, r55.w, r54.y
MESA: info: shr.b r52.z, r52.z, 16
MESA: info: mull.u r54.z, r54.x, r54.z
MESA: info: shl.b r55.x, r55.x, 16
MESA: info: mull.u r49.y, r55.w, r49.y
MESA: info: mull.u r54.y, r54.y, r49.w
MESA: info: shr.b r55.y, r52.z, 16
MESA: info: mull.u r55.z, r54.x, r52.z
MESA: info: shr.b r50.x, r52.z, 16
MESA: info: mull.u r50.y, r55.w, r52.z
MESA: info: shl.b r54.z, r54.z, 16
MESA: info: shl.b r49.y, r49.y, 16
MESA: info: shl.b r54.y, r54.y, 16
MESA: info: mull.u r55.y, r54.x, r55.y
MESA: info: mull.u r50.x, r55.w, r50.x
MESA: info: add.u r54.z, r54.z, r54.w
MESA: info: add.u r49.y, r49.y, r49.z
MESA: info: shl.b r55.y, r55.y, 16
MESA: info: shr.b r54.x, r54.x, 16
MESA: info: shl.b r50.x, r50.x, 16
MESA: info: shr.b r55.w, r55.w, 16
MESA: info: add.u r55.x, r55.x, r54.z
MESA: info: add.u r54.y, r54.y, r49.y
MESA: info: add.u r55.y, r55.y, r55.z
MESA: info: mull.u r54.x, r52.z, r54.x
MESA: info: add.u r50.x, r50.x, r50.y
MESA: info: shl.b r54.x, r54.x, 16
MESA: info: mull.u r52.z, r52.z, r55.w
MESA: info: add.u r54.x, r54.x, r55.y
MESA: info: shl.b r52.z, r52.z, 16
MESA: info: shl.b r50.z, r54.x, 16
MESA: info: add.u r52.z, r52.z, r50.x
MESA: info: add.u r50.z, r55.x, r50.z
MESA: info: shr.b r54.x, r54.x, 16
MESA: info: cmps.u.lt hr54.x, r50.z, r55.x
MESA: info: cov.u16s32 r51.y, hr54.x
MESA: info: add.u r52.z, r52.z, r51.y
MESA: info: add.u r52.z, r52.z, r54.x
MESA: info: shr.b r55.x, r53.x, 16
MESA: info: shr.b r55.w, r55.x, 16
MESA: info: shr.b r51.y, r53.w, 16
MESA: info: mull.u r51.y, r49.x, r51.y
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: (ss)nop
MESA: info: stc.u32 c[12], r52.x, 1
MESA: info: shl.b r51.z, r54.y, 16
MESA: info: add.u r51.z, r50.z, r51.z
MESA: info: shr.b r54.y, r54.y, 16
MESA: info: stc.u32 c[11], r52.w, 1
MESA: info: (ss)cmps.u.lt hr55.x, r51.z, r50.z
MESA: info: cov.u16s32 r51.w, hr55.x
MESA: info: add.u r52.z, r52.z, r51.w
MESA: info: add.u r52.z, r52.z, r54.y
MESA: info: add.u r52.z, r52.z, r52.y
MESA: info: and.b r52.x, r52.z, c17.y
MESA: info: shr.b r52.y, r53.x, 16
MESA: info: shr.b r52.z, r52.z, 16
MESA: info: mull.u r52.y, r50.w, r52.y
MESA: info: shl.b r52.y, r52.y, 16
MESA: info: mull.u r50.w, r50.w, r53.x
MESA: info: add.u r52.y, r52.y, r50.w
MESA: info: add.u r53.y, r53.y, r52.y
MESA: info: absneg.s r53.y, (neg)r53.y
MESA: info: and.b r52.w, r53.y, c17.y
MESA: info: shr.b r53.z, r52.w, 16
MESA: info: shr.b r55.y, r52.w, 16
MESA: info: mull.u r55.z, r55.x, r52.w
MESA: info: shr.b r53.y, r53.y, 16
MESA: info: mull.u r55.y, r55.x, r55.y
MESA: info: shr.b r54.z, r53.y, 16
MESA: info: shr.b r49.y, r53.y, 16
MESA: info: mull.u r49.z, r55.x, r53.y
MESA: info: shl.b r55.y, r55.y, 16
MESA: info: mull.u r49.y, r55.x, r49.y
MESA: info: add.u r55.y, r55.y, r55.z
MESA: info: shl.b r49.y, r49.y, 16
MESA: info: shr.b r55.x, r55.x, 16
MESA: info: add.u r49.y, r49.y, r49.z
MESA: info: shr.b r51.w, r49.x, 16
MESA: info: mull.u r51.w, r53.w, r51.w
MESA: info: shl.b r51.w, r51.w, 16
MESA: info: (ss)nop
MESA: info: stc.u32 c[14], r52.z, 1
MESA: info: (ss)and.b r52.z, r53.x, c17.y
MESA: info: mull.u r53.z, r52.z, r53.z
MESA: info: mull.u r54.x, r52.z, r52.w
MESA: info: shr.b r54.y, r52.z, 16
MESA: info: mull.u r54.z, r52.z, r54.z
MESA: info: mull.u r54.w, r52.z, r53.y
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: mull.u r54.y, r52.w, r54.y
MESA: info: shl.b r54.z, r54.z, 16
MESA: info: shr.b r52.z, r52.z, 16
MESA: info: add.u r53.z, r53.z, r54.x
MESA: info: shl.b r54.y, r54.y, 16
MESA: info: mull.u r52.w, r52.w, r55.w
MESA: info: add.u r54.z, r54.z, r54.w
MESA: info: mull.u r52.z, r53.y, r52.z
MESA: info: add.u r54.y, r54.y, r53.z
MESA: info: shl.b r52.w, r52.w, 16
MESA: info: shl.b r52.z, r52.z, 16
MESA: info: mull.u r53.y, r53.y, r55.x
MESA: info: add.u r52.w, r52.w, r55.y
MESA: info: add.u r52.z, r52.z, r54.z
MESA: info: shl.b r53.y, r53.y, 16
MESA: info: shl.b r50.z, r52.w, 16
MESA: info: shl.b r49.w, r52.z, 16
MESA: info: add.u r53.y, r53.y, r49.y
MESA: info: shr.b r52.w, r52.w, 16
MESA: info: add.u r49.w, r54.y, r49.w
MESA: info: shr.b r52.z, r52.z, 16
MESA: info: cmps.u.lt hr52.x, r49.w, r54.y
MESA: info: add.u r50.z, r49.w, r50.z
MESA: info: cov.u16s32 r50.y, hr52.x
MESA: info: add.u r53.y, r53.y, r50.y
MESA: info: add.u r53.y, r53.y, r52.z
MESA: info: mull.u r51.z, r49.x, r53.w
MESA: info: shr.b r54.x, r53.w, 16
MESA: info: add.u r51.y, r51.y, r51.z
MESA: info: shr.b r54.w, r54.x, 16
MESA: info: add.u r51.w, r51.w, r51.y
MESA: info: absneg.s r51.z, (absneg)r49.x
MESA: info: absneg.s r51.w, (neg)r51.w
MESA: info: and.b r52.y, r51.w, c17.y
MESA: info: shr.b r52.z, r52.y, 16
MESA: info: shr.b r54.y, r52.y, 16
MESA: info: mull.u r54.z, r54.x, r52.y
MESA: info: shr.b r51.w, r51.w, 16
MESA: info: mull.u r54.y, r54.x, r54.y
MESA: info: shr.b r55.x, r51.w, 16
MESA: info: mull.u r55.y, r54.x, r51.w
MESA: info: shl.b r54.y, r54.y, 16
MESA: info: mull.u r55.x, r54.x, r55.x
MESA: info: add.u r54.y, r54.y, r54.z
MESA: info: shl.b r55.x, r55.x, 16
MESA: info: shr.b r54.x, r54.x, 16
MESA: info: add.u r55.x, r55.x, r55.y
MESA: info: stc.u32 c[13], r52.x, 1
MESA: info: (ss)cmps.u.lt hr53.x, r50.z, r49.w
MESA: info: cov.u16s32 r50.w, hr53.x
MESA: info: add.u r53.y, r53.y, r50.w
MESA: info: add.u r53.y, r53.y, r52.w
MESA: info: add.u r53.y, r53.y, r53.x
MESA: info: and.b r51.x, r53.y, c17.y
MESA: info: absneg.s r50.w, (abs)r49.x
MESA: info: shr.b r53.y, r53.y, 16
MESA: info: and.b r52.x, r53.w, c17.y
MESA: info: shr.b r51.y, r50.w, 16
MESA: info: mull.u r52.z, r52.x, r52.z
MESA: info: mull.u r52.w, r52.x, r52.y
MESA: info: shr.b r53.x, r52.x, 16
MESA: info: mull.u r53.z, r52.x, r51.w
MESA: info: shl.b r52.z, r52.z, 16
MESA: info: mull.u r53.x, r52.y, r53.x
MESA: info: add.u r52.z, r52.z, r52.w
MESA: info: shl.b r53.x, r53.x, 16
MESA: info: mull.u r52.y, r52.y, r54.w
MESA: info: add.u r53.x, r53.x, r52.z
MESA: info: shl.b r52.y, r52.y, 16
MESA: info: add.u r52.y, r52.y, r54.y
MESA: info: shl.b r49.w, r52.y, 16
MESA: info: shr.b r52.y, r52.y, 16
MESA: info: stc.u32 c[25], r51.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[16], r51.x, 1
MESA: info: (ss)cov.u32f32 r51.x, r50.w
MESA: info: absneg.s r50.z, (neg)r49.x
MESA: info: stc.u32 c[17], r53.y, 1
MESA: info: stc.u32 c[22], r50.w, 1
MESA: info: (ss)rcp r51.x, r51.x
MESA: info: shr.b r53.y, r51.w, 16
MESA: info: mull.u r53.y, r52.x, r53.y
MESA: info: shl.b r53.y, r53.y, 16
MESA: info: shr.b r52.x, r52.x, 16
MESA: info: add.u r53.y, r53.y, r53.z
MESA: info: mull.u r52.x, r51.w, r52.x
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: mull.u r51.w, r51.w, r54.x
MESA: info: add.u r52.x, r52.x, r53.y
MESA: info: shl.b r51.w, r51.w, 16
MESA: info: shl.b r55.z, r52.x, 16
MESA: info: add.u r51.w, r51.w, r55.x
MESA: info: add.u r55.z, r53.x, r55.z
MESA: info: shr.b r52.x, r52.x, 16
MESA: info: cmps.u.lt hr50.z, r55.z, r53.x
MESA: info: add.u r49.w, r55.z, r49.w
MESA: info: cov.u16s32 r49.z, hr50.z
MESA: info: add.u r51.w, r51.w, r49.z
MESA: info: add.u r51.w, r51.w, r52.x
MESA: info: xor.b r52.x, r48.x, r49.x
MESA: info: absneg.s r48.x, (abs)r48.x
MESA: info: cmps.s.lt r52.x, r52.x, 0
MESA: info: shr.b r53.x, r48.x, 16
MESA: info: shr.b r53.y, r53.x, 16
MESA: info: shr.b r53.z, r53.x, 16
MESA: info: stc.u32 c[21], r50.z, 1
MESA: info: (ss)mul.f r51.x, r51.x, c17.x
MESA: info: cmps.u.lt hr51.z, r49.w, r55.z
MESA: info: cov.f32u32 r51.x, r51.x
MESA: info: cov.u16s32 r50.x, hr51.z
MESA: info: mull.u r51.y, r51.x, r51.y
MESA: info: mull.u r54.x, r50.w, r51.x
MESA: info: add.u r51.w, r51.w, r50.x
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.w, r51.w, r52.y
MESA: info: add.u r51.w, r51.w, r53.w
MESA: info: and.b r50.y, r51.w, c17.y
MESA: info: shr.b r53.w, r51.x, 16
MESA: info: shr.b r51.w, r51.w, 16
MESA: info: mull.u r53.w, r50.w, r53.w
MESA: info: shl.b r53.w, r53.w, 16
MESA: info: add.u r53.w, r53.w, r54.x
MESA: info: add.u r51.y, r51.y, r53.w
MESA: info: and.b r54.y, r51.x, c17.y
MESA: info: shr.b r49.y, r51.x, 16
MESA: info: absneg.s r51.y, (neg)r51.y
MESA: info: shr.b r55.y, r54.y, 16
MESA: info: shr.b r50.x, r49.y, 16
MESA: info: and.b r54.z, r51.y, c17.y
MESA: info: shr.b r54.w, r54.z, 16
MESA: info: mull.u r55.x, r54.y, r54.z
MESA: info: mull.u r55.y, r54.z, r55.y
MESA: info: shr.b r49.z, r54.z, 16
MESA: info: shr.b r51.y, r51.y, 16
MESA: info: mull.u r54.w, r54.y, r54.w
MESA: info: shl.b r55.y, r55.y, 16
MESA: info: mull.u r49.z, r49.y, r49.z
MESA: info: shr.b r55.z, r51.y, 16
MESA: info: mull.u r55.w, r54.y, r51.y
MESA: info: mull.u r50.z, r49.y, r51.y
MESA: info: shl.b r54.w, r54.w, 16
MESA: info: mull.u r55.z, r54.y, r55.z
MESA: info: add.u r54.w, r54.w, r55.x
MESA: info: shl.b r55.z, r55.z, 16
MESA: info: shr.b r54.y, r54.y, 16
MESA: info: add.u r55.y, r55.y, r54.w
MESA: info: add.u r55.z, r55.z, r55.w
MESA: info: mull.u r54.y, r51.y, r54.y
MESA: info: shl.b r54.y, r54.y, 16
MESA: info: add.u r54.y, r54.y, r55.z
MESA: info: shl.b r51.z, r54.y, 16
MESA: info: add.u r51.z, r55.y, r51.z
MESA: info: shr.b r54.y, r54.y, 16
MESA: info: and.b r52.y, r48.x, c17.y
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: shr.b r52.z, r52.y, 16
MESA: info: shr.b r52.w, r52.y, 16
MESA: info: (ss)nop
MESA: info: stc.u32 c[19], r50.y, 1
MESA: info: mull.u r49.w, r49.y, r54.z
MESA: info: add.u r49.z, r49.z, r49.w
MESA: info: mull.u r54.z, r54.z, r50.x
MESA: info: shl.b r54.z, r54.z, 16
MESA: info: add.u r54.z, r54.z, r49.z
MESA: info: shl.b r54.x, r54.z, 16
MESA: info: add.u r54.x, r51.z, r54.x
MESA: info: shr.b r54.z, r54.z, 16
MESA: info: stc.u32 c[20], r51.w, 1
MESA: info: (ss)shr.b r50.y, r51.y, 16
MESA: info: cmps.u.lt hr55.z, r51.z, r55.y
MESA: info: mull.u r50.y, r49.y, r50.y
MESA: info: cov.u16s32 r53.w, hr55.z
MESA: info: shl.b r50.y, r50.y, 16
MESA: info: shr.b r49.y, r49.y, 16
MESA: info: add.u r50.y, r50.y, r50.z
MESA: info: mull.u r51.y, r51.y, r49.y
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r50.y
MESA: info: add.u r51.y, r51.y, r53.w
MESA: info: add.u r51.y, r51.y, r54.y
MESA: info: cmps.u.lt hr55.x, r54.x, r51.z
MESA: info: cov.u16s32 r54.y, hr55.x
MESA: info: add.u r51.y, r51.y, r54.y
MESA: info: add.u r51.y, r51.y, r54.z
MESA: info: add.u r51.y, r51.y, r51.x
MESA: info: and.b r54.z, r51.y, c17.y
MESA: info: mull.u r52.z, r54.z, r52.z
MESA: info: shr.b r54.w, r54.z, 16
MESA: info: mull.u r55.x, r52.y, r54.z
MESA: info: shr.b r51.y, r51.y, 16
MESA: info: shl.b r52.z, r52.z, 16
MESA: info: mull.u r54.w, r52.y, r54.w
MESA: info: mull.u r52.w, r51.y, r52.w
MESA: info: shr.b r55.y, r51.y, 16
MESA: info: shl.b r54.w, r54.w, 16
MESA: info: shl.b r52.w, r52.w, 16
MESA: info: mull.u r55.y, r52.y, r55.y
MESA: info: add.u r54.w, r54.w, r55.x
MESA: info: shl.b r55.y, r55.y, 16
MESA: info: mull.u r52.y, r52.y, r51.y
MESA: info: add.u r52.z, r52.z, r54.w
MESA: info: add.u r55.y, r55.y, r52.y
MESA: info: add.u r52.w, r52.w, r55.y
MESA: info: shl.b r49.y, r52.w, 16
MESA: info: add.u r49.y, r52.z, r49.y
MESA: info: cmps.u.lt hr51.x, r49.y, r52.z
MESA: info: shr.b r50.z, r50.w, 16
MESA: info: mull.u r53.y, r54.z, r53.y
MESA: info: shr.b r55.z, r54.z, 16
MESA: info: mull.u r53.z, r51.y, r53.z
MESA: info: shr.b r55.w, r51.y, 16
MESA: info: shr.b r52.w, r52.w, 16
MESA: info: cov.u16s32 r49.w, hr51.x
MESA: info: shl.b r53.y, r53.y, 16
MESA: info: mull.u r55.z, r53.x, r55.z
MESA: info: shl.b r53.z, r53.z, 16
MESA: info: shl.b r55.z, r55.z, 16
MESA: info: mull.u r53.w, r48.z, r49.x
MESA: info: sub.u r54.x, 3, r48.w
MESA: info: max.s r54.x, 1, r54.x
MESA: info: sub.u r48.w, 8, r48.w
MESA: info: sub.u r48.w, r48.w, r54.x
MESA: info: (ss)nop
MESA: info: stc.u32 c[23], r54.z, 1
MESA: info: (ss)mull.u r54.z, r53.x, r54.z
MESA: info: add.u r55.z, r55.z, r54.z
MESA: info: add.u r53.y, r53.y, r55.z
MESA: info: shl.b r50.x, r53.y, 16
MESA: info: add.u r50.x, r49.y, r50.x
MESA: info: shr.b r53.y, r53.y, 16
MESA: info: stc.u32 c[24], r51.y, 1
MESA: info: stc.u32 c[29], r48.w, 1
MESA: info: (ss)cmps.u.lt hr52.x, r50.x, r49.y
MESA: info: mull.u r51.y, r53.x, r51.y
MESA: info: cov.u16s32 r50.y, hr52.x
MESA: info: mull.u r53.x, r53.x, r55.w
MESA: info: shl.b r53.x, r53.x, 16
MESA: info: add.u r53.x, r53.x, r51.y
MESA: info: add.u r53.z, r53.z, r53.x
MESA: info: add.u r53.z, r53.z, r49.w
MESA: info: add.u r53.z, r53.z, r52.w
MESA: info: add.u r53.z, r53.z, r50.y
MESA: info: add.u r53.z, r53.z, r53.y
MESA: info: mull.u r50.z, r53.z, r50.z
MESA: info: mull.u r51.x, r53.z, r50.w
MESA: info: shr.b r51.y, r53.z, 16
MESA: info: add.u r51.z, r53.z, 1
MESA: info: shl.b r50.z, r50.z, 16
MESA: info: mull.u r51.y, r50.w, r51.y
MESA: info: add.u r50.z, r50.z, r51.x
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r50.z
MESA: info: sub.u r48.x, r48.x, r51.y
MESA: info: cmps.u.ge r51.w, r48.x, r50.w
MESA: info: sub.u r52.y, r48.x, r50.w
MESA: info: sel.b32 r51.z, r51.z, r51.w, r53.z
MESA: info: sel.b32 r52.y, r52.y, r51.w, r48.x
MESA: info: add.u r52.z, r51.z, 1
MESA: info: cmps.u.ge r52.y, r52.y, r50.w
MESA: info: sel.b32 r52.z, r52.z, r52.y, r51.z
MESA: info: absneg.s r52.w, (neg)r52.z
MESA: info: sel.b32 r52.w, r52.w, r52.x, r52.z
MESA: info: shr.b r53.x, r49.x, 16
MESA: info: shr.b r53.y, r49.x, 16
MESA: info: mull.u r53.z, r48.y, r49.x
MESA: info: mull.u r53.x, r48.y, r53.x
MESA: info: mull.u r53.y, r48.z, r53.y
MESA: info: shl.b r53.x, r53.x, 16
MESA: info: shr.b r48.y, r48.y, 16
MESA: info: shl.b r53.y, r53.y, 16
MESA: info: shr.b r48.z, r48.z, 16
MESA: info: add.u r53.x, r53.x, r53.z
MESA: info: mull.u r48.y, r49.x, r48.y
MESA: info: add.u r53.y, r53.y, r53.w
MESA: info: mull.u r48.z, r49.x, r48.z
MESA: info: shl.b r48.y, r48.y, 16
MESA: info: shl.b r48.z, r48.z, 16
MESA: info: cov.s32f32 r49.x, r49.x
MESA: info: add.u r48.y, r48.y, r53.x
MESA: info: add.u r48.z, r48.z, r53.y
MESA: info: sub.u r48.y, -1, r48.y
MESA: info: sub.u r48.z, -1, r48.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[26], r52.w, 1
MESA: info: (ss)cov.s32f32 r52.w, r52.w
MESA: info: stc.u32 c[31], r49.x, 1
MESA: info: stc.u32 c[27], r48.y, 1
MESA: info: stc.u32 c[28], r48.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[30], r52.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l606:
MESA: info: (jp)absneg.s r7.z, (abs)r0.w
MESA: info: mov.f32f32 r7.w, c2.x
MESA: info: mov.f32f32 r8.x, c2.y
MESA: info: and.b r8.y, r7.z, c17.y
MESA: info: shr.b r8.z, r7.z, 16
MESA: info: mov.f32f32 r8.w, c1.w
MESA: info: mull.u r9.x, r8.y, c2.x
MESA: info: mull.u r9.y, r8.y, c2.y
MESA: info: madsh.m16 r9.x, r8.y, r7.w, (last)r9.x
MESA: info: madsh.m16 r9.y, r8.y, r8.x, (last)r9.y
MESA: info: mull.u r9.z, r8.z, c2.x
MESA: info: madsh.m16 r9.x, c2.x, r8.y, (last)r9.x
MESA: info: madsh.m16 r8.y, c2.y, r8.y, (last)r9.y
MESA: info: madsh.m16 r9.z, r8.z, r7.w, (last)r9.z
MESA: info: mull.u r9.w, r8.z, c2.y
MESA: info: shl.b r10.x, r8.y, 16
MESA: info: madsh.m16 r9.z, c2.x, r8.z, (last)r9.z
MESA: info: madsh.m16 r9.w, r8.z, r8.x, (last)r9.w
MESA: info: add.u r10.x, r9.x, (last)r10.x
MESA: info: shl.b r10.z, r9.z, 16
MESA: info: madsh.m16 r8.z, c2.y, r8.z, (last)r9.w
MESA: info: cmps.u.lt hr18.x, r10.x, (last)r9.x
MESA: info: add.u r10.z, r10.x, (last)r10.z
MESA: info: shr.b r8.y, (last)r8.y, 16
MESA: info: cov.u16s32 r10.y, (last)hr18.x
MESA: info: cmps.u.lt hr21.x, (last)r10.z, (last)r10.x
MESA: info: shr.b r9.z, (last)r9.z, 16
MESA: info: sad.s32 r8.z, (last)r8.z, r10.y, (last)r8.y
MESA: info: cov.u16s32 r10.w, (last)hr21.x
MESA: info: xor.b r7.y, r0.w, c1.z
MESA: info: mov.f32f32 r13.x, c3.y
MESA: info: sad.s32 r8.z, (last)r8.z, r10.w, (last)r9.z
MESA: info: cmps.s.lt r7.y, (last)r7.y, 0
MESA: info: mov.f32f32 r13.y, c3.z
MESA: info: mull.u r11.z, r8.z, c1.w
MESA: info: add.u r11.w, r8.z, 1
MESA: info: madsh.m16 r11.z, r8.z, r8.w, (last)r11.z
MESA: info: mov.f32f32 r11.x, c2.w
MESA: info: madsh.m16 r11.z, c1.w, r8.z, (last)r11.z
MESA: info: mov.f32f32 r11.y, c3.x
MESA: info: mov.f32f32 r13.w, c1.x
MESA: info: sub.u r7.z, (last)r7.z, (last)r11.z
MESA: info: and.b r14.x, r0.w, c17.y
MESA: info: mov.f32f32 r17.y, c4.x
MESA: info: cmps.u.ge r12.y, r7.z, c1.w
MESA: info: add.u r12.z, r7.z, c2.z
MESA: info: mov.f32f32 r11.z, c4.y
MESA: info: sel.b32 r11.w, (last)r11.w, r12.y, (last)r8.z
MESA: info: sel.b32 r12.z, (last)r12.z, r12.y, (last)r7.z
MESA: info: mov.f32f32 r12.x, c0.z
MESA: info: add.u r12.w, r11.w, 1
MESA: info: cmps.u.ge r12.z, (last)r12.z, c1.w
MESA: info: (nop1) mull.u r10.y, r14.x, c4.x
MESA: info: sel.b32 r12.w, (last)r12.w, r12.z, (last)r11.w
MESA: info: (nop1) madsh.m16 r10.y, r14.x, r17.y, (last)r10.y
MESA: info: absneg.s r13.z, (neg)r12.w
MESA: info: (nop1) madsh.m16 r10.y, c4.x, r14.x, (last)r10.y
MESA: info: sel.b32 r13.z, (last)r13.z, r7.y, (last)r12.w
MESA: info: (nop1) mull.u r12.w, r14.x, c4.y
MESA: info: absneg.s r17.x, (abs)r13.z
MESA: info: and.b r14.y, r13.z, c17.y
MESA: info: shr.b r14.z, r13.z, 16
MESA: info: and.b r17.w, r17.x, c17.y
MESA: info: shr.b r18.x, r17.x, 16
MESA: info: mull.u r15.x, r14.y, c2.w
MESA: info: mull.u r18.w, r17.w, c3.y
MESA: info: mull.u r8.y, r17.w, c3.z
MESA: info: madsh.m16 r18.w, r17.w, r13.x, (last)r18.w
MESA: info: madsh.m16 r8.y, r17.w, r13.y, (last)r8.y
MESA: info: mull.u r8.z, r18.x, c3.y
MESA: info: madsh.m16 r18.w, c3.y, r17.w, (last)r18.w
MESA: info: madsh.m16 r17.w, c3.z, r17.w, (last)r8.y
MESA: info: madsh.m16 r8.z, r18.x, r13.x, (last)r8.z
MESA: info: mull.u r15.y, r14.y, c3.x
MESA: info: shl.b r9.y, r17.w, 16
MESA: info: madsh.m16 r8.z, c3.y, r18.x, (last)r8.z
MESA: info: madsh.m16 r15.x, r14.y, r11.x, (last)r15.x
MESA: info: add.u r9.y, r18.w, (last)r9.y
MESA: info: shl.b r9.w, r8.z, 16
MESA: info: madsh.m16 r15.y, r14.y, r11.y, (last)r15.y
MESA: info: mull.u r15.z, r14.z, c2.w
MESA: info: mull.u r9.x, r18.x, c3.z
MESA: info: madsh.m16 r15.x, c2.w, r14.y, (last)r15.x
MESA: info: cmps.u.lt hr37.z, r9.y, (last)r18.w
MESA: info: add.u r9.w, r9.y, (last)r9.w
MESA: info: madsh.m16 r14.y, c3.x, r14.y, (last)r15.y
MESA: info: madsh.m16 r15.z, r14.z, r11.x, (last)r15.z
MESA: info: madsh.m16 r9.x, r18.x, r13.y, (last)r9.x
MESA: info: cov.u16s32 r9.z, (last)hr37.z
MESA: info: cmps.u.lt hr19.z, (last)r9.w, (last)r9.y
MESA: info: shl.b r16.x, r14.y, 16
MESA: info: madsh.m16 r15.z, c2.w, r14.z, (last)r15.z
MESA: info: madsh.m16 r18.x, c3.z, r18.x, (last)r9.x
MESA: info: shr.b r17.w, (last)r17.w, 16
MESA: info: cov.u16s32 r10.x, (last)hr19.z
MESA: info: add.u r16.x, r15.x, (last)r16.x
MESA: info: shl.b r16.z, r15.z, 16
MESA: info: sad.s32 r18.x, (last)r18.x, r9.z, (last)r17.w
MESA: info: shr.b r8.z, (last)r8.z, 16
MESA: info: mull.u r15.w, r14.z, c3.x
MESA: info: cmps.u.lt hr30.x, r16.x, (last)r15.x
MESA: info: add.u r16.z, r16.x, (last)r16.z
MESA: info: sad.s32 r18.x, (last)r18.x, r10.x, (last)r8.z
MESA: info: madsh.m16 r15.w, r14.z, r11.y, (last)r15.w
MESA: info: cov.u16s32 r16.y, (last)hr30.x
MESA: info: cmps.u.lt hr33.x, (last)r16.z, (last)r16.x
MESA: info: mull.u r10.z, r18.x, c1.x
MESA: info: madsh.m16 r14.z, c3.x, r14.z, (last)r15.w
MESA: info: shr.b r14.y, (last)r14.y, 16
MESA: info: madsh.m16 r10.z, r18.x, r13.w, (last)r10.z
MESA: info: cov.u16s32 r16.w, (last)hr33.x
MESA: info: sad.s32 r14.z, (last)r14.z, r16.y, (last)r14.y
MESA: info: madsh.m16 r10.z, c1.x, r18.x, (last)r10.z
MESA: info: shr.b r15.z, (last)r15.z, 16
MESA: info: add.u r10.w, r18.x, 1
MESA: info: sub.u r17.x, (last)r17.x, (last)r10.z
MESA: info: sad.s32 r14.z, (last)r14.z, r16.w, (last)r15.z
MESA: info: shr.b r14.y, r0.w, 16
MESA: info: cmps.u.ge r11.w, r17.x, c1.x
MESA: info: add.u r12.y, r17.x, c3.w
MESA: info: mull.u r17.z, c0.z, r14.z
MESA: info: madsh.m16 r12.w, r14.x, r11.z, (last)r12.w
MESA: info: madsh.m16 r17.z, c0.z, r14.z, (last)r17.z
MESA: info: mull.u r15.x, r14.y, c4.x
MESA: info: sel.b32 r10.w, (last)r10.w, r11.w, (last)r18.x
MESA: info: sel.b32 r12.y, (last)r12.y, r11.w, (last)r17.x
MESA: info: madsh.m16 r14.x, c4.y, r14.x, (last)r12.w
MESA: info: madsh.m16 r14.z, (last)r14.z, r12.x, (last)r17.z
MESA: info: madsh.m16 r15.x, r14.y, r17.y, (last)r15.x
MESA: info: xor.b r14.w, r13.z, c0.w
MESA: info: add.u r12.z, r10.w, 1
MESA: info: cmps.u.ge r12.y, (last)r12.y, c1.x
MESA: info: madsh.m16 r15.x, c4.x, r14.y, (last)r15.x
MESA: info: add.u r13.z, (last)r13.z, (last)r14.z
MESA: info: shl.b r14.z, r14.x, 16
MESA: info: sel.b32 r12.z, (last)r12.z, r12.y, (last)r10.w
MESA: info: shl.b r15.z, r15.x, 16
MESA: info: cmps.u.ge r18.y, r13.z, c0.w
MESA: info: add.u r18.z, r13.z, c0.z
MESA: info: add.u r14.z, r10.y, (last)r14.z
MESA: info: mull.u r15.y, r14.y, c4.y
MESA: info: cmps.s.lt r14.w, (last)r14.w, 0
MESA: info: sel.b32 r18.z, (last)r18.z, r18.y, (last)r13.z
MESA: info: cmps.u.lt hr20.z, r14.z, (last)r10.y
MESA: info: add.u r15.z, r14.z, (last)r15.z
MESA: info: absneg.s r13.z, (neg)r12.z
MESA: info: madsh.m16 r15.y, r14.y, r11.z, (last)r15.y
MESA: info: cmps.u.lt hr31.x, (last)r15.z, (last)r14.z
MESA: info: sel.b32 r13.z, (last)r13.z, r14.w, (last)r12.z
MESA: info: madsh.m16 r14.y, c4.y, r14.y, (last)r15.y
MESA: info: cov.u16s32 r14.w, (last)hr20.z
MESA: info: shr.b r14.x, (last)r14.x, 16
MESA: info: cov.u16s32 r15.w, (last)hr31.x
MESA: info: sad.s32 r14.y, (last)r14.y, r14.w, (last)r14.x
MESA: info: shr.b r15.x, (last)r15.x, 16
MESA: info: mov.f32f32 r16.x, c1.z
MESA: info: sad.s32 r14.y, (last)r14.y, r15.w, (last)r15.x
MESA: info: cmps.u.ge r7.y, r18.z, c0.w
MESA: info: add.u r7.z, r18.z, c0.z
MESA: info: mull.u r16.z, r14.y, c1.z
MESA: info: mov.f32f32 r16.y, c4.w
MESA: info: madsh.m16 r16.z, r14.y, r16.x, (last)r16.z
MESA: info: sel.b32 r7.z, (last)r7.z, r7.y, (last)r18.z
MESA: info: madsh.m16 r14.y, c1.z, r14.y, (last)r16.z
MESA: info: mov.f32f32 r16.w, c5.x
MESA: info: mov.f32f32 r18.x, c5.w
MESA: info: sub.u r14.y, r0.w, (last)r14.y
MESA: info: mov.f32f32 r18.y, c6.x
MESA: info: mov.f32f32 r17.x, c1.y
MESA: info: cmps.u.ge r17.z, r14.y, c1.z
MESA: info: add.u r17.w, r14.y, c4.z
MESA: info: mull.u r8.y, r7.z, c1.y
MESA: info: mov.f32f32 r7.y, c5.z
MESA: info: sel.b32 r17.w, (last)r17.w, r17.z, (last)r14.y
MESA: info: madsh.m16 r8.y, r7.z, r17.x, (last)r8.y
MESA: info: mull.u r12.w, r13.z, c1.y
MESA: info: cmps.u.ge r18.z, r17.w, c1.z
MESA: info: add.u r18.w, r17.w, c4.z
MESA: info: madsh.m16 r7.z, c1.y, r7.z, (last)r8.y
MESA: info: madsh.m16 r12.w, r13.z, r17.x, (last)r12.w
MESA: info: sel.b32 r18.w, (last)r18.w, r18.z, (last)r17.w
MESA: info: (nop1) madsh.m16 r13.z, c1.y, r13.z, (last)r12.w
MESA: info: and.b r8.z, r18.w, c17.y
MESA: info: shr.b r9.x, r18.w, 16
MESA: info: absneg.s r12.z, (abs)r18.w
MESA: info: mull.u r9.z, r8.z, c4.w
MESA: info: mull.u r9.w, r8.z, c5.x
MESA: info: madsh.m16 r9.z, r8.z, r16.y, (last)r9.z
MESA: info: madsh.m16 r9.w, r8.z, r16.w, (last)r9.w
MESA: info: mull.u r10.x, r9.x, c4.w
MESA: info: madsh.m16 r9.z, c4.w, r8.z, (last)r9.z
MESA: info: madsh.m16 r8.z, c5.x, r8.z, (last)r9.w
MESA: info: madsh.m16 r10.x, r9.x, r16.y, (last)r10.x
MESA: info: mull.u r10.y, r9.x, c5.x
MESA: info: shl.b r10.z, r8.z, 16
MESA: info: madsh.m16 r10.x, c4.w, r9.x, (last)r10.x
MESA: info: madsh.m16 r10.y, r9.x, r16.w, (last)r10.y
MESA: info: add.u r10.z, r9.z, (last)r10.z
MESA: info: shl.b r11.w, r10.x, 16
MESA: info: madsh.m16 r9.x, c5.x, r9.x, (last)r10.y
MESA: info: cmps.u.lt hr19.x, r10.z, (last)r9.z
MESA: info: add.u r11.w, r10.z, (last)r11.w
MESA: info: shr.b r8.z, (last)r8.z, 16
MESA: info: cov.u16s32 r10.w, (last)hr19.x
MESA: info: cmps.u.lt hr23.z, (last)r11.w, (last)r10.z
MESA: info: and.b r14.y, r12.z, c17.y
MESA: info: sad.s32 r9.x, (last)r9.x, r10.w, (last)r8.z
MESA: info: cov.u16s32 r12.y, (last)hr23.z
MESA: info: shr.b r10.x, (last)r10.x, 16
MESA: info: shr.b r14.z, r12.z, 16
MESA: info: mull.u r15.y, r14.y, c5.w
MESA: info: mull.u r16.z, r14.y, c6.x
MESA: info: sad.s32 r9.x, (last)r9.x, r12.y, (last)r10.x
MESA: info: madsh.m16 r15.y, r14.y, r18.x, (last)r15.y
MESA: info: madsh.m16 r16.z, r14.y, r18.y, (last)r16.z
MESA: info: mull.u r17.z, r14.z, c5.w
MESA: info: mull.u r14.x, r9.x, c1.y
MESA: info: madsh.m16 r15.y, c5.w, r14.y, (last)r15.y
MESA: info: madsh.m16 r14.y, c6.x, r14.y, (last)r16.z
MESA: info: madsh.m16 r17.z, r14.z, r18.x, (last)r17.z
MESA: info: madsh.m16 r14.x, r9.x, r17.x, (last)r14.x
MESA: info: shl.b r18.z, r14.y, 16
MESA: info: madsh.m16 r17.z, c5.w, r14.z, (last)r17.z
MESA: info: madsh.m16 r9.x, c1.y, r9.x, (last)r14.x
MESA: info: xor.b r9.y, r18.w, c1.y
MESA: info: add.u r18.z, r15.y, (last)r18.z
MESA: info: shl.b r8.y, r17.z, 16
MESA: info: sub.u r18.w, (last)r18.w, (last)r9.x
MESA: info: mull.u r17.w, r14.z, c6.x
MESA: info: cmps.u.lt hr30.z, r18.z, (last)r15.y
MESA: info: add.u r8.y, r18.z, (last)r8.y
MESA: info: cmps.u.ge r14.w, r18.w, c1.y
MESA: info: add.u r15.x, r18.w, c5.y
MESA: info: madsh.m16 r17.w, r14.z, r18.y, (last)r17.w
MESA: info: cmps.u.lt hr16.z, (last)r8.y, (last)r18.z
MESA: info: sel.b32 r15.x, (last)r15.x, r14.w, (last)r18.w
MESA: info: madsh.m16 r14.z, c6.x, r14.z, (last)r17.w
MESA: info: cov.u16s32 r18.w, (last)hr30.z
MESA: info: shr.b r14.y, (last)r14.y, 16
MESA: info: cov.u16s32 r8.z, (last)hr16.z
MESA: info: sad.s32 r14.z, (last)r14.z, r18.w, (last)r14.y
MESA: info: shr.b r17.z, (last)r17.z, 16
MESA: info: cmps.u.ge r15.z, r15.x, c1.y
MESA: info: sad.s32 r14.z, (last)r14.z, r8.z, (last)r17.z
MESA: info: add.u r15.w, r15.x, c5.y
MESA: info: cmps.s.lt r9.y, (last)r9.y, 0
MESA: info: mull.u r10.w, r14.z, c5.z
MESA: info: add.u r11.w, r14.z, 1
MESA: info: madsh.m16 r10.w, r14.z, r7.y, (last)r10.w
MESA: info: sel.b32 r15.w, (last)r15.w, r15.z, (last)r15.x
MESA: info: madsh.m16 r10.w, c5.z, r14.z, (last)r10.w
MESA: info: mov.f32f32 r9.x, c6.z
MESA: info: add.u r7.z, (last)r7.z, r15.w
MESA: info: (nop1) sub.u r12.z, (last)r12.z, (last)r10.w
MESA: info: add.u r12.y, r7.z, -1
MESA: info: cmps.u.ge r14.w, r12.z, c5.z
MESA: info: add.u r15.x, r12.z, c6.y
MESA: info: add.u r15.z, r7.z, 1
MESA: info: sel.b32 r11.w, (last)r11.w, r14.w, (last)r14.z
MESA: info: sel.b32 r15.x, (last)r15.x, r14.w, (last)r12.z
MESA: info: max.s r12.y, (last)r12.y, 0
MESA: info: add.u r15.y, r11.w, 1
MESA: info: cmps.u.ge r15.x, (last)r15.x, c5.z
MESA: info: max.s r15.z, (last)r15.z, 0
MESA: info: min.s r14.x, (last)r12.y, c6.w
MESA: info: sel.b32 r15.y, (last)r15.y, r15.x, (last)r11.w
MESA: info: min.s r14.y, (last)r15.z, c6.w
MESA: info: mull.u r9.z, r7.z, c6.z
MESA: info: absneg.s r16.z, (neg)r15.y
MESA: info: (rpt1)absneg.s r8.y, (abs)(r)r14.x
MESA: info: sel.b32 r16.z, (last)r16.z, r9.y, (last)r15.y
MESA: info: (rpt1)and.b r10.y, (r)r8.y, c17.y
MESA: info: add.u r13.z, (last)r13.z, r16.z
MESA: info: mull.u r11.w, r10.y, c5.w
MESA: info: mull.u r12.z, r10.y, c6.x
MESA: info: mull.u r17.w, r13.z, c6.z
MESA: info: madsh.m16 r11.w, r10.y, r18.x, (last)r11.w
MESA: info: madsh.m16 r17.w, r13.z, r9.x, (last)r17.w
MESA: info: madsh.m16 r12.z, r10.y, r18.y, (last)r12.z
MESA: info: madsh.m16 r17.w, c6.z, r13.z, (last)r17.w
MESA: info: madsh.m16 r11.w, c5.w, r10.y, (last)r11.w
MESA: info: madsh.m16 r10.y, c6.x, r10.y, (last)r12.z
MESA: info: cov.s32f32 r17.w, (last)r17.w
MESA: info: madsh.m16 r9.z, r7.z, r9.x, (last)r9.z
MESA: info: shr.b r10.w, r8.y, 16
MESA: info: add.f r10.x, c0.y, (last)r17.w
MESA: info: shl.b r17.w, r10.y, 16
MESA: info: madsh.m16 r9.z, c6.z, r7.z, (last)r9.z
MESA: info: mull.u r12.y, r10.z, c5.w
MESA: info: add.u r17.w, r11.w, (last)r17.w
MESA: info: mull.u r12.w, r10.z, c6.x
MESA: info: mull.u r14.w, r10.w, c5.w
MESA: info: mull.u r15.y, r10.w, c6.x
MESA: info: cov.s32f32 r9.z, (last)r9.z
MESA: info: cmps.u.lt hr23.z, r17.w, (last)r11.w
MESA: info: madsh.m16 r12.y, r10.z, r18.x, (last)r12.y
MESA: info: madsh.m16 r12.w, r10.z, r18.y, (last)r12.w
MESA: info: madsh.m16 r14.w, r10.w, r18.x, (last)r14.w
MESA: info: madsh.m16 r15.y, r10.w, r18.y, (last)r15.y
MESA: info: add.f r9.w, c0.x, (last)r9.z
MESA: info: madsh.m16 r12.y, c5.w, r10.z, (last)r12.y
MESA: info: madsh.m16 r14.w, c5.w, r10.w, (last)r14.w
MESA: info: cov.u16s32 r9.z, (last)hr23.z
MESA: info: madsh.m16 r10.z, c6.x, r10.z, (last)r12.w
MESA: info: madsh.m16 r10.w, c6.x, r10.w, (last)r15.y
MESA: info: shr.b r10.y, (last)r10.y, 16
MESA: info: shr.b r14.z, r8.z, 16
MESA: info: sad.s32 r10.w, (last)r10.w, r9.z, (last)r10.y
MESA: info: shl.b r10.y, r10.z, 16
MESA: info: mull.u r15.x, r14.z, c5.w
MESA: info: mull.u r15.z, r14.z, c6.x
MESA: info: add.u r10.y, r12.y, (last)r10.y
MESA: info: madsh.m16 r15.x, r14.z, r18.x, (last)r15.x
MESA: info: madsh.m16 r15.z, r14.z, r18.y, (last)r15.z
MESA: info: cmps.u.lt hr24.z, r10.y, (last)r12.y
MESA: info: madsh.m16 r15.x, c5.w, r14.z, (last)r15.x
MESA: info: madsh.m16 r14.z, c6.x, r14.z, (last)r15.z
MESA: info: cov.u16s32 r11.w, (last)hr24.z
MESA: info: shl.b r12.y, r14.w, 16
MESA: info: shl.b r12.w, r15.x, 16
MESA: info: shr.b r10.z, (last)r10.z, 16
MESA: info: add.u r12.y, r17.w, (last)r12.y
MESA: info: add.u r12.w, r10.y, (last)r12.w
MESA: info: shr.b r14.w, (last)r14.w, 16
MESA: info: cmps.u.lt hr24.z, (last)r12.y, (last)r17.w
MESA: info: cmps.u.lt hr25.z, (last)r12.w, (last)r10.y
MESA: info: sad.s32 r14.z, (last)r14.z, r11.w, (last)r10.z
MESA: info: cov.u16s32 r12.z, (last)hr24.z
MESA: info: shr.b r15.x, (last)r15.x, 16
MESA: info: max.s r18.z, r13.z, 0
MESA: info: sad.s32 r10.w, (last)r10.w, r12.z, (last)r14.w
MESA: info: cov.u16s32 r14.w, (last)hr25.z
MESA: info: xor.b r18.w, r14.y, c1.y
MESA: info: add.u r15.z, r10.w, 1
MESA: info: sad.s32 r14.z, (last)r14.z, r14.w, (last)r15.x
MESA: info: mull.u r15.x, r10.w, c5.z
MESA: info: min.s r18.z, (last)r18.z, c7.x
MESA: info: madsh.m16 r15.x, r10.w, r7.y, (last)r15.x
MESA: info: mull.u r15.y, r14.z, c5.z
MESA: info: madsh.m16 r15.x, c5.z, r10.w, (last)r15.x
MESA: info: madsh.m16 r15.y, r14.z, r7.y, (last)r15.y
MESA: info: add.u r9.z, r14.z, 1
MESA: info: sub.u r8.y, (last)r8.y, (last)r15.x
MESA: info: madsh.m16 r15.y, c5.z, r14.z, (last)r15.y
MESA: info: cmps.s.lt r18.w, (last)r18.w, 0
MESA: info: cmps.u.ge r17.w, r8.y, c5.z
MESA: info: sub.u r8.z, (last)r8.z, (last)r15.y
MESA: info: add.u r10.z, r8.y, c6.y
MESA: info: sel.b32 r15.z, (last)r15.z, r17.w, (last)r10.w
MESA: info: cmps.u.ge r10.y, r8.z, c5.z
MESA: info: add.u r10.w, r8.z, c6.y
MESA: info: absneg.s r15.y, (abs)r18.z
MESA: info: sel.b32 r9.z, (last)r9.z, r10.y, (last)r14.z
MESA: info: sel.b32 r10.w, (last)r10.w, r10.y, (last)r8.z
MESA: info: sel.b32 r10.z, (last)r10.z, r17.w, (last)r8.y
MESA: info: add.u r12.y, r9.z, 1
MESA: info: cmps.u.ge r10.w, (last)r10.w, c5.z
MESA: info: add.u r11.w, r15.z, 1
MESA: info: cmps.u.ge r10.z, (last)r10.z, c5.z
MESA: info: sel.b32 r12.y, (last)r12.y, r10.w, (last)r9.z
MESA: info: xor.b r17.z, r14.x, c1.y
MESA: info: shr.b r8.y, r15.y, 16
MESA: info: absneg.s r15.x, (neg)r12.y
MESA: info: sel.b32 r11.w, (last)r11.w, r10.z, (last)r15.z
MESA: info: cmps.s.lt r17.z, (last)r17.z, 0
MESA: info: sel.b32 r14.w, (last)r15.x, r18.w, (last)r12.y
MESA: info: and.b r18.w, r15.y, c17.y
MESA: info: absneg.s r12.z, (neg)r11.w
MESA: info: mull.u r10.z, r8.y, c5.w
MESA: info: mull.u r9.z, r18.w, c5.w
MESA: info: mull.u r10.y, r18.w, c6.x
MESA: info: madsh.m16 r9.z, r18.w, r18.x, (last)r9.z
MESA: info: madsh.m16 r10.y, r18.w, r18.y, (last)r10.y
MESA: info: madsh.m16 r9.z, c5.w, r18.w, (last)r9.z
MESA: info: madsh.m16 r18.w, c6.x, r18.w, (last)r10.y
MESA: info: madsh.m16 r10.z, r8.y, r18.x, (last)r10.z
MESA: info: sel.b32 r14.z, (last)r12.z, r17.z, (last)r11.w
MESA: info: madsh.m16 r10.z, c5.w, r8.y, (last)r10.z
MESA: info: shl.b r11.w, r18.w, 16
MESA: info: mull.u r10.w, r8.y, c6.x
MESA: info: shl.b r12.z, r10.z, 16
MESA: info: add.u r11.w, r9.z, (last)r11.w
MESA: info: madsh.m16 r10.w, r8.y, r18.y, (last)r10.w
MESA: info: shr.b r18.w, (last)r18.w, 16
MESA: info: cmps.u.lt hr19.x, r11.w, (last)r9.z
MESA: info: add.u r12.z, r11.w, (last)r12.z
MESA: info: madsh.m16 r8.y, c6.x, r8.y, (last)r10.w
MESA: info: cov.u16s32 r12.y, (last)hr19.x
MESA: info: cmps.u.lt hr25.x, (last)r12.z, (last)r11.w
MESA: info: shr.b r10.z, (last)r10.z, 16
MESA: info: sad.s32 r8.y, (last)r8.y, r12.y, (last)r18.w
MESA: info: cov.u16s32 r12.w, (last)hr25.x
MESA: info: (rpt1)and.b r17.z, (r)r14.x, c17.y
MESA: info: sad.s32 r8.y, (last)r8.y, r12.w, (last)r10.z
MESA: info: mull.u r8.z, r17.z, c4.w
MESA: info: mull.u r15.x, r17.w, c4.w
MESA: info: mull.u r15.z, r8.y, c5.z
MESA: info: add.u r18.w, r8.y, 1
MESA: info: madsh.m16 r15.z, r8.y, r7.y, (last)r15.z
MESA: info: mull.u r9.z, r17.z, c5.x
MESA: info: madsh.m16 r15.z, c5.z, r8.y, (last)r15.z
MESA: info: mull.u r11.w, r17.w, c5.x
MESA: info: (rpt1)shr.b r12.z, (r)r14.x, 16
MESA: info: sub.u r15.y, (last)r15.y, (last)r15.z
MESA: info: madsh.m16 r8.z, r17.z, r16.y, (last)r8.z
MESA: info: madsh.m16 r15.x, r17.w, r16.y, (last)r15.x
MESA: info: cmps.u.ge r10.y, r15.y, c5.z
MESA: info: add.u r10.z, r15.y, c6.y
MESA: info: madsh.m16 r9.z, r17.z, r16.w, (last)r9.z
MESA: info: sel.b32 r18.w, (last)r18.w, r10.y, (last)r8.y
MESA: info: sel.b32 r10.z, (last)r10.z, r10.y, (last)r15.y
MESA: info: madsh.m16 r11.w, r17.w, r16.w, (last)r11.w
MESA: info: madsh.m16 r8.z, c4.w, r17.z, (last)r8.z
MESA: info: madsh.m16 r15.x, c4.w, r17.w, (last)r15.x
MESA: info: add.u r10.w, r18.w, 1
MESA: info: mull.u r8.y, r12.w, c4.w
MESA: info: cmps.u.ge r10.z, (last)r10.z, c5.z
MESA: info: madsh.m16 r17.z, c5.x, r17.z, (last)r9.z
MESA: info: madsh.m16 r17.w, c5.x, r17.w, (last)r11.w
MESA: info: madsh.m16 r8.y, r12.w, r16.y, (last)r8.y
MESA: info: xor.b r9.y, r18.z, c1.y
MESA: info: sel.b32 r10.w, (last)r10.w, r10.z, (last)r18.w
MESA: info: shl.b r15.y, r17.z, 16
MESA: info: shl.b r9.z, r17.w, 16
MESA: info: madsh.m16 r8.y, c4.w, r12.w, (last)r8.y
MESA: info: mull.u r18.w, r12.z, c4.w
MESA: info: cmps.s.lt r9.y, (last)r9.y, 0
MESA: info: madsh.m16 r18.w, r12.z, r16.y, (last)r18.w
MESA: info: absneg.s r12.y, (neg)r10.w
MESA: info: add.u r15.y, r8.z, (last)r15.y
MESA: info: add.u r9.z, r15.x, (last)r9.z
MESA: info: shl.b r11.w, r8.y, 16
MESA: info: madsh.m16 r18.w, c4.w, r12.z, (last)r18.w
MESA: info: sel.b32 r12.y, (last)r12.y, r9.y, (last)r10.w
MESA: info: cmps.u.lt hr17.x, r15.y, (last)r8.z
MESA: info: cmps.u.lt hr30.x, r9.z, (last)r15.x
MESA: info: add.u r11.w, r9.z, (last)r11.w
MESA: info: shl.b r10.z, r18.w, 16
MESA: info: mull.u r9.y, r12.w, c5.x
MESA: info: cov.u16s32 r15.z, (last)hr17.x
MESA: info: madsh.m16 r9.y, r12.w, r16.w, (last)r9.y
MESA: info: cov.u16s32 r10.y, (last)hr30.x
MESA: info: cmps.u.lt hr23.z, (last)r11.w, (last)r9.z
MESA: info: add.u r10.z, r15.y, (last)r10.z
MESA: info: mull.u r8.z, r12.z, c5.x
MESA: info: madsh.m16 r12.w, c5.x, r12.w, (last)r9.y
MESA: info: shr.b r17.w, (last)r17.w, 16
MESA: info: madsh.m16 r8.z, r12.z, r16.w, (last)r8.z
MESA: info: cov.u16s32 r15.x, (last)hr23.z
MESA: info: cmps.u.lt hr21.x, (last)r10.z, (last)r15.y
MESA: info: sad.s32 r12.w, (last)r12.w, r10.y, (last)r17.w
MESA: info: madsh.m16 r12.z, c5.x, r12.z, (last)r8.z
MESA: info: shr.b r17.z, (last)r17.z, 16
MESA: info: shr.b r8.y, (last)r8.y, 16
MESA: info: cov.u16s32 r10.w, (last)hr21.x
MESA: info: sad.s32 r12.z, (last)r12.z, r15.z, (last)r17.z
MESA: info: sad.s32 r12.w, (last)r12.w, r15.x, (last)r8.y
MESA: info: shr.b r18.w, (last)r18.w, 16
MESA: info: max.s r7.z, (last)r7.z, 0
MESA: info: mull.u r15.z, r12.w, c1.y
MESA: info: sad.s32 r12.z, (last)r12.z, r10.w, (last)r18.w
MESA: info: madsh.m16 r15.z, r12.w, r17.x, (last)r15.z
MESA: info: min.s r7.z, (last)r7.z, c6.w
MESA: info: mull.u r15.y, r12.z, c1.y
MESA: info: madsh.m16 r12.w, c1.y, r12.w, (last)r15.z
MESA: info: (nop1) madsh.m16 r15.y, r12.z, r17.x, (last)r15.y
MESA: info: sub.u r14.y, (last)r14.y, (last)r12.w
MESA: info: madsh.m16 r12.z, c1.y, r12.z, (last)r15.y
MESA: info: shr.b r12.w, r18.z, 16
MESA: info: cmps.u.ge r18.w, r14.y, c1.y
MESA: info: add.u r8.y, r14.y, c5.y
MESA: info: sub.u r14.x, (last)r14.x, (last)r12.z
MESA: info: and.b r12.z, r18.z, c17.y
MESA: info: sel.b32 r8.y, (last)r8.y, r18.w, (last)r14.y
MESA: info: mull.u r15.y, r12.w, c4.w
MESA: info: mull.u r15.x, r12.z, c5.x
MESA: info: mull.u r14.y, r12.z, c4.w
MESA: info: madsh.m16 r15.x, r12.z, r16.w, (last)r15.x
MESA: info: madsh.m16 r14.y, r12.z, r16.y, (last)r14.y
MESA: info: cmps.u.ge r17.z, r14.x, c1.y
MESA: info: add.u r17.w, r14.x, c5.y
MESA: info: madsh.m16 r14.y, c4.w, r12.z, (last)r14.y
MESA: info: madsh.m16 r12.z, c5.x, r12.z, (last)r15.x
MESA: info: madsh.m16 r15.y, r12.w, r16.y, (last)r15.y
MESA: info: sel.b32 r17.w, (last)r17.w, r17.z, (last)r14.x
MESA: info: madsh.m16 r15.y, c4.w, r12.w, (last)r15.y
MESA: info: shl.b r17.z, r12.z, 16
MESA: info: mull.u r15.z, r12.w, c5.x
MESA: info: shl.b r18.w, r15.y, 16
MESA: info: add.u r17.z, r14.y, (last)r17.z
MESA: info: cmps.u.ge r8.z, r17.w, c1.y
MESA: info: add.u r9.y, r17.w, c5.y
MESA: info: cmps.u.lt hr28.z, r17.z, (last)r14.y
MESA: info: add.u r18.w, r17.z, (last)r18.w
MESA: info: madsh.m16 r15.z, r12.w, r16.w, (last)r15.z
MESA: info: cmps.u.ge r10.w, r8.y, c1.y
MESA: info: add.u r11.w, r8.y, c5.y
MESA: info: sel.b32 r10.y, (last)r9.y, r8.z, (last)r17.w
MESA: info: cmps.u.lt hr37.z, (last)r18.w, (last)r17.z
MESA: info: madsh.m16 r12.w, c5.x, r12.w, (last)r15.z
MESA: info: cov.u16s32 r17.w, (last)hr28.z
MESA: info: shr.b r12.z, (last)r12.z, 16
MESA: info: sel.b32 r10.z, (last)r11.w, r10.w, (last)r8.y
MESA: info: sad.s32 r12.w, (last)r12.w, r17.w, (last)r12.z
MESA: info: cov.u16s32 r8.y, (last)hr37.z
MESA: info: shr.b r15.y, (last)r15.y, 16
MESA: info: mull.u r14.x, c0.z, r12.y
MESA: info: sad.s32 r12.w, (last)r12.w, r8.y, (last)r15.y
MESA: info: madsh.m16 r14.x, c0.z, r12.y, (last)r14.x
MESA: info: absneg.s r15.z, (abs)r7.z
MESA: info: mull.u r10.w, r12.w, c1.y
MESA: info: madsh.m16 r12.y, (last)r12.y, r12.x, (last)r14.x
MESA: info: madsh.m16 r10.w, r12.w, r17.x, (last)r10.w
MESA: info: and.b r17.w, r15.z, c17.y
MESA: info: madsh.m16 r12.w, c1.y, r12.w, (last)r10.w
MESA: info: (rpt1)sub.u r14.z, (last)(r)r14.z, (last)r12.y
MESA: info: sub.u r18.z, (last)r18.z, (last)r12.w
MESA: info: mull.u r8.z, r14.z, c1.z
MESA: info: mull.u r11.w, r14.w, c1.z
MESA: info: cmps.u.ge r12.y, r18.z, c1.y
MESA: info: add.u r12.z, r18.z, c5.y
MESA: info: madsh.m16 r8.z, r14.z, r16.x, (last)r8.z
MESA: info: madsh.m16 r11.w, r14.w, r16.x, (last)r11.w
MESA: info: sel.b32 r12.z, (last)r12.z, r12.y, (last)r18.z
MESA: info: madsh.m16 r9.y, c1.z, r14.z, (last)r8.z
MESA: info: madsh.m16 r9.z, c1.z, r14.w, (last)r11.w
MESA: info: cmps.u.ge r14.z, r12.z, c1.y
MESA: info: add.u r14.w, r12.z, c5.y
MESA: info: mull.u r8.y, r17.w, c5.w
MESA: info: shr.b r18.z, r15.z, 16
MESA: info: sel.b32 r14.w, (last)r14.w, r14.z, (last)r12.z
MESA: info: mull.u r8.z, r17.w, c6.x
MESA: info: madsh.m16 r8.y, r17.w, r18.x, (last)r8.y
MESA: info: mull.u r15.y, r14.w, c1.y
MESA: info: madsh.m16 r8.z, r17.w, r18.y, (last)r8.z
MESA: info: madsh.m16 r15.y, r14.w, r17.x, (last)r15.y
MESA: info: madsh.m16 r8.y, c5.w, r17.w, (last)r8.y
MESA: info: madsh.m16 r14.w, c1.y, r14.w, (last)r15.y
MESA: info: madsh.m16 r17.w, c6.x, r17.w, (last)r8.z
MESA: info: add.u r14.x, r13.z, 1
MESA: info: (rpt1)sad.s32 r10.y, (r)(last)r10.y, r14.w, (r)(last)r9.y
MESA: info: mull.u r9.y, r18.z, c5.w
MESA: info: shl.b r10.w, r17.w, 16
MESA: info: madsh.m16 r9.y, r18.z, r18.x, (last)r9.y
MESA: info: mull.u r9.z, r18.z, c6.x
MESA: info: madsh.m16 r9.y, c5.w, r18.z, (last)r9.y
MESA: info: add.u r10.w, r8.y, (last)r10.w
MESA: info: madsh.m16 r9.z, r18.z, r18.y, (last)r9.z
MESA: info: shl.b r12.y, r9.y, 16
MESA: info: cmps.u.lt hr16.z, r10.w, (last)r8.y
MESA: info: madsh.m16 r18.z, c6.x, r18.z, (last)r9.z
MESA: info: add.u r12.y, r10.w, (last)r12.y
MESA: info: cov.u16s32 r11.w, (last)hr16.z
MESA: info: shr.b r17.w, (last)r17.w, 16
MESA: info: cmps.u.lt hr24.z, (last)r12.y, (last)r10.w
MESA: info: sad.s32 r18.z, (last)r18.z, r11.w, (last)r17.w
MESA: info: shr.b r9.y, (last)r9.y, 16
MESA: info: cov.u16s32 r12.z, (last)hr24.z
MESA: info: add.u r14.y, (last)r13.z, -1
MESA: info: xor.b r15.x, r7.z, c1.y
MESA: info: sad.s32 r18.z, (last)r18.z, r12.z, (last)r9.y
MESA: info: (rpt1)max.s r14.x, (last)(r)r14.x, 0
MESA: info: mull.u r15.y, r18.z, c5.z
MESA: info: add.u r17.w, r18.z, 1
MESA: info: madsh.m16 r15.y, r18.z, r7.y, (last)r15.y
MESA: info: (rpt1)min.s r14.x, (last)(r)r14.x, c7.x
MESA: info: madsh.m16 r15.y, c5.z, r18.z, (last)r15.y
MESA: info: (rpt1)absneg.s r14.z, (abs)(r)r14.x
MESA: info: sub.u r15.z, (last)r15.z, (last)r15.y
MESA: info: and.b r8.y, r14.z, c17.y
MESA: info: cmps.s.lt r15.x, (last)r15.x, 0
MESA: info: cmps.u.ge r8.z, r15.z, c5.z
MESA: info: add.u r9.y, r15.z, c6.y
MESA: info: mull.u r11.w, r8.y, c5.w
MESA: info: sel.b32 r17.w, (last)r17.w, r8.z, (last)r18.z
MESA: info: sel.b32 r9.y, (last)r9.y, r8.z, (last)r15.z
MESA: info: mull.u r12.w, r8.y, c6.x
MESA: info: add.u r9.z, r17.w, 1
MESA: info: cmps.u.ge r9.y, (last)r9.y, c5.z
MESA: info: madsh.m16 r11.w, r8.y, r18.x, (last)r11.w
MESA: info: madsh.m16 r12.w, r8.y, r18.y, (last)r12.w
MESA: info: sel.b32 r9.z, (last)r9.z, r9.y, (last)r17.w
MESA: info: madsh.m16 r11.w, c5.w, r8.y, (last)r11.w
MESA: info: madsh.m16 r8.y, c6.x, r8.y, (last)r12.w
MESA: info: absneg.s r12.y, (neg)r9.z
MESA: info: and.b r10.w, r14.w, c17.y
MESA: info: shl.b r15.z, r8.y, 16
MESA: info: sel.b32 r12.y, (last)r12.y, r15.x, (last)r9.z
MESA: info: (rpt1)shr.b r15.x, (r)r14.z, 16
MESA: info: add.u r15.z, r11.w, (last)r15.z
MESA: info: mull.u r18.z, r15.x, c5.w
MESA: info: mull.u r12.z, r10.w, c5.w
MESA: info: madsh.m16 r18.z, r15.x, r18.x, (last)r18.z
MESA: info: mull.u r13.z, r10.w, c6.x
MESA: info: madsh.m16 r18.z, c5.w, r15.x, (last)r18.z
MESA: info: mull.u r9.y, r15.x, c6.x
MESA: info: cmps.u.lt hr23.z, r15.z, (last)r11.w
MESA: info: shl.b r12.w, r18.z, 16
MESA: info: madsh.m16 r12.z, r10.w, r18.x, (last)r12.z
MESA: info: madsh.m16 r13.z, r10.w, r18.y, (last)r13.z
MESA: info: add.u r12.w, r15.z, (last)r12.w
MESA: info: madsh.m16 r9.y, r15.x, r18.y, (last)r9.y
MESA: info: mull.u r8.z, r15.y, c5.w
MESA: info: cov.u16s32 r17.w, (last)hr23.z
MESA: info: madsh.m16 r12.z, c5.w, r10.w, (last)r12.z
MESA: info: cmps.u.lt hr25.z, (last)r12.w, (last)r15.z
MESA: info: madsh.m16 r15.x, c6.x, r15.x, (last)r9.y
MESA: info: madsh.m16 r10.w, c6.x, r10.w, (last)r13.z
MESA: info: shr.b r8.y, (last)r8.y, 16
MESA: info: madsh.m16 r8.z, r15.y, r18.x, (last)r8.z
MESA: info: shl.b r11.w, r10.w, 16
MESA: info: cov.u16s32 r13.z, (last)hr25.z
MESA: info: sad.s32 r15.x, (last)r15.x, r17.w, (last)r8.y
MESA: info: madsh.m16 r8.z, c5.w, r15.y, (last)r8.z
MESA: info: shr.b r18.z, (last)r18.z, 16
MESA: info: add.u r11.w, r12.z, (last)r11.w
MESA: info: shl.b r15.z, r8.z, 16
MESA: info: sad.s32 r15.x, (last)r15.x, r13.z, (last)r18.z
MESA: info: mull.u r9.z, r15.y, c6.x
MESA: info: cmps.u.lt hr25.x, r11.w, (last)r12.z
MESA: info: add.u r15.z, r11.w, (last)r15.z
MESA: info: mull.u r18.z, r15.x, c5.z
MESA: info: madsh.m16 r9.z, r15.y, r18.y, (last)r9.z
MESA: info: madsh.m16 r18.z, r15.x, r7.y, (last)r18.z
MESA: info: cov.u16s32 r12.z, (last)hr25.x
MESA: info: cmps.u.lt hr31.x, (last)r15.z, (last)r11.w
MESA: info: madsh.m16 r15.y, c6.x, r15.y, (last)r9.z
MESA: info: madsh.m16 r18.z, c5.z, r15.x, (last)r18.z
MESA: info: shr.b r10.w, (last)r10.w, 16
MESA: info: cov.u16s32 r17.w, (last)hr31.x
MESA: info: sub.u r14.z, (last)r14.z, (last)r18.z
MESA: info: sad.s32 r15.y, (last)r15.y, r12.z, (last)r10.w
MESA: info: shr.b r8.z, (last)r8.z, 16
MESA: info: cmps.u.ge r9.y, r14.z, c5.z
MESA: info: add.u r11.w, r14.z, c6.y
MESA: info: sad.s32 r15.y, (last)r15.y, r17.w, (last)r8.z
MESA: info: add.u r8.z, r15.x, 1
MESA: info: sel.b32 r11.w, (last)r11.w, r9.y, (last)r14.z
MESA: info: mull.u r8.y, r15.y, c5.z
MESA: info: sel.b32 r8.z, (last)r8.z, r9.y, (last)r15.x
MESA: info: madsh.m16 r8.y, r15.y, r7.y, (last)r8.y
MESA: info: cmps.u.ge r11.w, (last)r11.w, c5.z
MESA: info: add.u r12.w, r8.z, 1
MESA: info: madsh.m16 r8.y, c5.z, r15.y, (last)r8.y
MESA: info: xor.b r17.z, r14.x, c1.y
MESA: info: sel.b32 r12.w, (last)r12.w, r11.w, (last)r8.z
MESA: info: sub.u r14.w, (last)r14.w, (last)r8.y
MESA: info: add.u r9.z, r15.y, 1
MESA: info: and.b r15.x, r7.z, c17.y
MESA: info: cmps.s.lt r17.z, (last)r17.z, 0
MESA: info: absneg.s r14.z, (neg)r12.w
MESA: info: cmps.u.ge r10.w, r14.w, c5.z
MESA: info: add.u r12.z, r14.w, c6.y
MESA: info: mull.u r17.w, r15.x, c5.x
MESA: info: sel.b32 r14.z, (last)r14.z, r17.z, (last)r12.w
MESA: info: sel.b32 r9.z, (last)r9.z, r10.w, (last)r15.y
MESA: info: sel.b32 r12.z, (last)r12.z, r10.w, (last)r14.w
MESA: info: mull.u r17.z, r15.x, c4.w
MESA: info: shr.b r15.y, r7.z, 16
MESA: info: madsh.m16 r17.w, r15.x, r16.w, (last)r17.w
MESA: info: madsh.m16 r17.z, r15.x, r16.y, (last)r17.z
MESA: info: add.u r13.z, r9.z, 1
MESA: info: cmps.u.ge r12.z, (last)r12.z, c5.z
MESA: info: mull.u r18.z, r15.y, c4.w
MESA: info: madsh.m16 r17.z, c4.w, r15.x, (last)r17.z
MESA: info: madsh.m16 r15.x, c5.x, r15.x, (last)r17.w
MESA: info: madsh.m16 r18.z, r15.y, r16.y, (last)r18.z
MESA: info: xor.b r18.w, r14.y, c1.y
MESA: info: sel.b32 r13.z, (last)r13.z, r12.z, (last)r9.z
MESA: info: shl.b r8.y, r15.x, 16
MESA: info: madsh.m16 r18.z, c4.w, r15.y, (last)r18.z
MESA: info: cmps.s.lt r18.w, (last)r18.w, 0
MESA: info: absneg.s r14.w, (neg)r13.z
MESA: info: add.u r8.y, r17.z, (last)r8.y
MESA: info: shl.b r9.y, r18.z, 16
MESA: info: sel.b32 r14.w, (last)r14.w, r18.w, (last)r13.z
MESA: info: cmps.u.lt hr35.x, r8.y, (last)r17.z
MESA: info: add.u r9.y, r8.y, (last)r9.y
MESA: info: mull.u r18.w, r15.y, c5.x
MESA: info: cov.u16s32 r8.z, (last)hr35.x
MESA: info: madsh.m16 r18.w, r15.y, r16.w, (last)r18.w
MESA: info: cmps.u.lt hr18.z, (last)r9.y, (last)r8.y
MESA: info: madsh.m16 r15.y, c5.x, r15.y, (last)r18.w
MESA: info: shr.b r15.x, (last)r15.x, 16
MESA: info: cov.u16s32 r9.z, (last)hr18.z
MESA: info: sad.s32 r15.y, (last)r15.y, r8.z, (last)r15.x
MESA: info: shr.b r18.z, (last)r18.z, 16
MESA: info: and.b r15.z, r14.x, c17.y
MESA: info: sad.s32 r15.y, (last)r15.y, r9.z, (last)r18.z
MESA: info: (rpt1)shr.b r8.y, (r)r14.x, 16
MESA: info: mull.u r12.z, r15.y, c1.y
MESA: info: mull.u r11.w, r15.z, c4.w
MESA: info: madsh.m16 r12.z, r15.y, r17.x, (last)r12.z
MESA: info: madsh.m16 r11.w, r15.z, r16.y, (last)r11.w
MESA: info: madsh.m16 r15.y, c1.y, r15.y, (last)r12.z
MESA: info: madsh.m16 r11.w, c4.w, r15.z, (last)r11.w
MESA: info: and.b r10.w, r14.y, c17.y
MESA: info: sub.u r7.z, (last)r7.z, (last)r15.y
MESA: info: mull.u r15.y, r15.z, c5.x
MESA: info: mull.u r12.w, r10.w, c4.w
MESA: info: madsh.m16 r15.y, r15.z, r16.w, (last)r15.y
MESA: info: cmps.u.ge r13.z, r7.z, c1.y
MESA: info: madsh.m16 r15.z, c5.x, r15.z, (last)r15.y
MESA: info: add.u r15.x, r7.z, c5.y
MESA: info: mull.u r18.z, r10.w, c5.x
MESA: info: shl.b r9.y, r15.z, 16
MESA: info: sel.b32 r15.x, (last)r15.x, r13.z, (last)r7.z
MESA: info: madsh.m16 r12.w, r10.w, r16.y, (last)r12.w
MESA: info: add.u r9.y, r11.w, (last)r9.y
MESA: info: cmps.u.ge r17.z, r15.x, c1.y
MESA: info: add.u r17.w, r15.x, c5.y
MESA: info: cmps.u.lt hr23.z, r9.y, (last)r11.w
MESA: info: madsh.m16 r18.z, r10.w, r16.w, (last)r18.z
MESA: info: mull.u r12.z, r8.z, c4.w
MESA: info: cov.u16s32 r9.z, (last)hr23.z
MESA: info: mull.u r11.w, r8.y, c4.w
MESA: info: madsh.m16 r12.w, c4.w, r10.w, (last)r12.w
MESA: info: madsh.m16 r11.w, r8.y, r16.y, (last)r11.w
MESA: info: sel.b32 r17.w, (last)r17.w, r17.z, (last)r15.x
MESA: info: madsh.m16 r11.w, c4.w, r8.y, (last)r11.w
MESA: info: madsh.m16 r10.w, c5.x, r10.w, (last)r18.z
MESA: info: madsh.m16 r12.z, r8.z, r16.y, (last)r12.z
MESA: info: shl.b r17.z, r11.w, 16
MESA: info: mull.u r13.z, r8.y, c5.x
MESA: info: shl.b r15.y, r10.w, 16
MESA: info: madsh.m16 r12.z, c4.w, r8.z, (last)r12.z
MESA: info: add.u r17.z, r9.y, (last)r17.z
MESA: info: madsh.m16 r13.z, r8.y, r16.w, (last)r13.z
MESA: info: add.u r15.y, r12.w, (last)r15.y
MESA: info: shl.b r18.w, r12.z, 16
MESA: info: cmps.u.lt hr35.x, (last)r17.z, (last)r9.y
MESA: info: madsh.m16 r8.y, c5.x, r8.y, (last)r13.z
MESA: info: shr.b r15.z, (last)r15.z, 16
MESA: info: mull.u r15.x, r8.z, c5.x
MESA: info: cmps.u.lt hr25.z, r15.y, (last)r12.w
MESA: info: add.u r18.w, r15.y, (last)r18.w
MESA: info: cov.u16s32 r18.z, (last)hr35.x
MESA: info: sad.s32 r8.y, (last)r8.y, r9.z, (last)r15.z
MESA: info: shr.b r11.w, (last)r11.w, 16
MESA: info: madsh.m16 r15.x, r8.z, r16.w, (last)r15.x
MESA: info: cmps.u.lt hr37.z, (last)r18.w, (last)r15.y
MESA: info: cov.u16s32 r15.z, (last)hr25.z
MESA: info: sad.s32 r8.y, (last)r8.y, r18.z, (last)r11.w
MESA: info: madsh.m16 r8.z, c5.x, r8.z, (last)r15.x
MESA: info: shr.b r10.w, (last)r10.w, 16
MESA: info: cov.u16s32 r7.z, (last)hr37.z
MESA: info: mull.u r9.y, r8.y, c1.y
MESA: info: sad.s32 r8.z, (last)r8.z, r15.z, (last)r10.w
MESA: info: shr.b r12.z, (last)r12.z, 16
MESA: info: madsh.m16 r9.y, r8.y, r17.x, (last)r9.y
MESA: info: sad.s32 r8.z, (last)r8.z, r7.z, (last)r12.z
MESA: info: madsh.m16 r8.y, c1.y, r8.y, (last)r9.y
MESA: info: mull.u r17.z, c0.z, r14.z
MESA: info: mull.u r9.z, r8.z, c1.y
MESA: info: sub.u r14.x, (last)r14.x, (last)r8.y
MESA: info: madsh.m16 r9.z, r8.z, r17.x, (last)r9.z
MESA: info: madsh.m16 r17.z, c0.z, r14.z, (last)r17.z
MESA: info: cmps.u.ge r10.w, r14.x, c1.y
MESA: info: add.u r11.w, r14.x, c5.y
MESA: info: madsh.m16 r8.z, c1.y, r8.z, (last)r9.z
MESA: info: madsh.m16 r14.z, (last)r14.z, r12.x, (last)r17.z
MESA: info: sel.b32 r11.w, (last)r11.w, r10.w, (last)r14.x
MESA: info: sub.u r14.y, (last)r14.y, (last)r8.z
MESA: info: mull.u r18.z, c0.z, r14.w
MESA: info: cmps.u.ge r13.z, r11.w, c1.y
MESA: info: add.u r14.x, r11.w, c5.y
MESA: info: cmps.u.ge r12.z, r14.y, c1.y
MESA: info: add.u r12.w, r14.y, c5.y
MESA: info: sel.b32 r14.x, (last)r14.x, r13.z, (last)r11.w
MESA: info: sub.u r14.z, r12.y, (last)r14.z
MESA: info: sel.b32 r12.w, (last)r12.w, r12.z, (last)r14.y
MESA: info: madsh.m16 r18.z, c0.z, r14.w, (last)r18.z
MESA: info: mull.u r15.y, r14.x, c1.y
MESA: info: cmps.u.ge r14.y, r12.w, c1.y
MESA: info: add.u r15.x, r12.w, c5.y
MESA: info: mull.u r18.w, r14.z, c1.z
MESA: info: madsh.m16 r14.w, (last)r14.w, r12.x, (last)r18.z
MESA: info: madsh.m16 r15.y, r14.x, r17.x, (last)r15.y
MESA: info: shl.b r9.z, r0.w, 3
MESA: info: sel.b32 r15.x, (last)r15.x, r14.y, (last)r12.w
MESA: info: madsh.m16 r18.w, r14.z, r16.x, (last)r18.w
MESA: info: madsh.m16 r14.x, c1.y, r14.x, (last)r15.y
MESA: info: shl.b r0.w, (last)r0.w, 5
MESA: info: sub.u r12.y, (last)r12.y, (last)r14.w
MESA: info: madsh.m16 r14.z, c1.z, r14.z, (last)r18.w
MESA: info: mull.u r15.z, r15.x, c1.y
MESA: info: sad.s32 r8.y, r17.w, r14.x, (last)r14.z
MESA: info: add.u r14.x, r0.w, 12
MESA: info: add.u r14.y, (last)r0.w, 28
MESA: info: mull.u r9.y, r12.y, c1.z
MESA: info: madsh.m16 r15.z, r15.x, r17.x, (last)r15.z
MESA: info: (rpt1)shr.b r14.x, (last)(r)r14.x, 2
MESA: info: madsh.m16 r9.y, r12.y, r16.x, (last)r9.y
MESA: info: madsh.m16 r15.x, c1.y, r15.x, (last)r15.z
MESA: info: madsh.m16 r12.y, c1.z, r12.y, (last)r9.y
MESA: info: add.f r14.w, r10.x, c7.z
MESA: info: max.f r14.z, c12.y, r10.x
MESA: info: sad.s32 r8.z, (last)r17.w, r15.x, (last)r12.y
MESA: info: isam.v.base3 (u32)(xy)r12.y, r9.z, s#0, t#0
MESA: info: add.u r15.x, c7.y, -1
MESA: info: min.f r14.z, (last)r14.z, (last)r14.w
MESA: info: max.f r10.w, c12.x, r9.w
MESA: info: mov.u32u32 r0.w, (last)r15.x
MESA: info: isam.v.base3 (u32)(xyzw)r14.w, r14.x, s#0, t#0
MESA: info: (nop2) add.f r11.w, r9.w, c7.z
MESA: info: min.f r10.w, (last)r10.w, (last)r11.w
MESA: info: (sy)mov.u32u32 r6.x, (last)r14.w
MESA: info: mov.u32u32 r6.y, (last)r15.x
MESA: info: mov.u32u32 r6.z, (last)r15.y
MESA: info: isam.v.base3 (u32)(x)r15.y, r14.y, s#0, t#0
MESA: info: max.f r12.y, c12.z, (last)r12.y
MESA: info: mov.u32u32 r6.w, (last)r15.z
MESA: info: mov.u32u32 r15.z, r0.w
MESA: info: min.f r12.y, (last)r12.y, (last)r12.z
MESA: info: (sy)mov.u32u32 r7.x, (last)r15.y
MESA: info: l1421:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.s.lt p0.x, r15.z, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l1427
MESA: info: mov.u32u32 r15.z, 0xffffffff
MESA: info: jump #l1447
MESA: info: l1427:
MESA: info: add.f r17.w, c12.y, (neg)r14.z
MESA: info: add.f r18.z, c12.z, (neg)r12.y
MESA: info: add.f r18.w, c12.x, (neg)r10.w
MESA: info: mul.f r17.w, (last)r17.w, r17.w
MESA: info: cov.u32s16 hr35.x, r15.z
MESA: info: (nop1) mad.f32 r18.z, (last)r18.z, r18.z, (last)r17.w
MESA: info: mad.f32 r18.w, (last)r18.w, r18.w, (last)r18.z
MESA: info: mova a0.x, (last)hr35.x
MESA: info: (rpt3)nop
MESA: info: rsq r18.w, (last)r18.w
MESA: info: nop
MESA: info: (ul)mov.u32u32 r7.z, r<a0.x + 24>
MESA: info: (rpt1)nop
MESA: info: (ss)(nop2) mul.f r7.z, (last)r7.z, (last)r18.w
MESA: info: (nop2) mul.f r7.z, c13.x, (last)r7.z
MESA: info: (nop3) cmps.f.lt p0.x, (last)r7.z, c13.y
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l1447
MESA: info: add.u r15.z, (last)r15.z, -1
MESA: info: jump #l1421
MESA: info: l1447:
MESA: info: (jp)(rpt1)absneg.s r12.y, (abs)(r)r10.y
MESA: info: sub.u r15.z, c7.y, (last)r15.z
MESA: info: (rpt1)and.b r14.x, (r)r12.y, c17.y
MESA: info: shr.b r14.z, r12.y, 16
MESA: info: shl.b r15.z, 1, (last)r15.z
MESA: info: mull.u r14.w, r14.x, c2.x
MESA: info: mull.u r15.y, r14.x, c2.y
MESA: info: madsh.m16 r14.w, r14.x, r7.w, (last)r14.w
MESA: info: madsh.m16 r15.y, r14.x, r8.x, (last)r15.y
MESA: info: shr.b r17.z, r12.z, 16
MESA: info: mull.u r15.x, r14.y, c2.x
MESA: info: mull.u r17.w, r14.z, c2.x
MESA: info: cov.u32f32 r9.y, (last)r15.z
MESA: info: madsh.m16 r14.w, c2.x, r14.x, (last)r14.w
MESA: info: mull.u r15.z, r14.y, c2.y
MESA: info: madsh.m16 r14.x, c2.y, r14.x, (last)r15.y
MESA: info: madsh.m16 r15.x, r14.y, r7.w, (last)r15.x
MESA: info: madsh.m16 r17.w, r14.z, r7.w, (last)r17.w
MESA: info: madsh.m16 r15.z, r14.y, r8.x, (last)r15.z
MESA: info: mull.u r18.z, r17.z, c2.x
MESA: info: shl.b r6.y, r14.x, 16
MESA: info: madsh.m16 r15.x, c2.x, r14.y, (last)r15.x
MESA: info: madsh.m16 r17.w, c2.x, r14.z, (last)r17.w
MESA: info: madsh.m16 r14.y, c2.y, r14.y, (last)r15.z
MESA: info: madsh.m16 r18.z, r17.z, r7.w, (last)r18.z
MESA: info: add.u r6.y, r14.w, (last)r6.y
MESA: info: shl.b r7.z, r17.w, 16
MESA: info: shl.b r6.w, r14.y, 16
MESA: info: madsh.m16 r18.z, c2.x, r17.z, (last)r18.z
MESA: info: mull.u r18.w, r14.z, c2.y
MESA: info: cmps.u.lt hr29.z, r6.y, (last)r14.w
MESA: info: add.u r7.z, r6.y, (last)r7.z
MESA: info: add.u r6.w, r15.x, (last)r6.w
MESA: info: shl.b r13.z, r18.z, 16
MESA: info: madsh.m16 r18.w, r14.z, r8.x, (last)r18.w
MESA: info: mull.u r6.x, r17.z, c2.y
MESA: info: cov.u16s32 r6.z, (last)hr29.z
MESA: info: cmps.u.lt hr15.x, (last)r7.z, (last)r6.y
MESA: info: cmps.u.lt hr30.x, r6.w, (last)r15.x
MESA: info: add.u r13.z, r6.w, (last)r13.z
MESA: info: madsh.m16 r14.z, c2.y, r14.z, (last)r18.w
MESA: info: shr.b r14.x, (last)r14.x, 16
MESA: info: madsh.m16 r6.x, r17.z, r8.x, (last)r6.x
MESA: info: cov.u16s32 r9.z, (last)hr15.x
MESA: info: cov.u16s32 r7.x, (last)hr30.x
MESA: info: cmps.u.lt hr27.x, (last)r13.z, (last)r6.w
MESA: info: sad.s32 r14.z, (last)r14.z, r6.z, (last)r14.x
MESA: info: madsh.m16 r17.z, c2.y, r17.z, (last)r6.x
MESA: info: shr.b r17.w, (last)r17.w, 16
MESA: info: shr.b r14.y, (last)r14.y, 16
MESA: info: cov.u16s32 r14.x, (last)hr27.x
MESA: info: sad.s32 r14.z, (last)r14.z, r9.z, (last)r17.w
MESA: info: sad.s32 r17.z, (last)r17.z, r7.x, (last)r14.y
MESA: info: shr.b r18.z, (last)r18.z, 16
MESA: info: mull.u r14.y, r14.z, c1.w
MESA: info: sad.s32 r17.z, (last)r17.z, r14.x, (last)r18.z
MESA: info: madsh.m16 r14.y, r14.z, r8.w, (last)r14.y
MESA: info: add.u r15.x, r14.z, 1
MESA: info: mull.u r14.w, r17.z, c1.w
MESA: info: madsh.m16 r14.y, c1.w, r14.z, (last)r14.y
MESA: info: madsh.m16 r14.w, r17.z, r8.w, (last)r14.w
MESA: info: add.u r15.z, r17.z, 1
MESA: info: sub.u r12.y, (last)r12.y, (last)r14.y
MESA: info: madsh.m16 r14.w, c1.w, r17.z, (last)r14.w
MESA: info: xor.b r10.w, r10.y, c1.z
MESA: info: cmps.u.ge r15.y, r12.y, c1.w
MESA: info: add.u r18.z, r12.y, c2.z
MESA: info: sub.u r12.z, (last)r12.z, (last)r14.w
MESA: info: sel.b32 r15.x, (last)r15.x, r15.y, (last)r14.z
MESA: info: sel.b32 r18.z, (last)r18.z, r15.y, (last)r12.y
MESA: info: cmps.u.ge r17.w, r12.z, c1.w
MESA: info: add.u r18.w, r12.z, c2.z
MESA: info: add.u r6.x, r15.x, 1
MESA: info: cmps.u.ge r18.z, (last)r18.z, c1.w
MESA: info: sel.b32 r15.z, (last)r15.z, r17.w, (last)r17.z
MESA: info: sel.b32 r18.w, (last)r18.w, r17.w, (last)r12.z
MESA: info: sel.b32 r6.x, (last)r6.x, r18.z, (last)r15.x
MESA: info: add.u r6.y, r15.z, 1
MESA: info: cmps.u.ge r18.w, (last)r18.w, c1.w
MESA: info: xor.b r11.w, r10.z, c1.z
MESA: info: cmps.s.lt r10.w, (last)r10.w, 0
MESA: info: absneg.s r6.z, (neg)r6.x
MESA: info: sel.b32 r6.y, (last)r6.y, r18.w, (last)r15.z
MESA: info: cmps.s.lt r11.w, (last)r11.w, 0
MESA: info: sel.b32 r6.z, (last)r6.z, r10.w, (last)r6.x
MESA: info: absneg.s r6.w, (neg)r6.y
MESA: info: and.b r12.w, r10.y, c17.y
MESA: info: and.b r7.x, r6.z, c17.y
MESA: info: sel.b32 r6.w, (last)r6.w, r11.w, (last)r6.y
MESA: info: shr.b r7.z, r6.z, 16
MESA: info: mull.u r10.w, r7.x, c2.w
MESA: info: mull.u r12.y, r7.x, c3.x
MESA: info: and.b r9.z, r6.w, c17.y
MESA: info: madsh.m16 r10.w, r7.x, r11.x, (last)r10.w
MESA: info: madsh.m16 r12.y, r7.x, r11.y, (last)r12.y
MESA: info: shr.b r13.z, r6.w, 16
MESA: info: mull.u r14.x, r7.z, c2.w
MESA: info: mull.u r11.w, r9.z, c2.w
MESA: info: mull.u r12.z, r9.z, c3.x
MESA: info: madsh.m16 r10.w, c2.w, r7.x, (last)r10.w
MESA: info: madsh.m16 r7.x, c3.x, r7.x, (last)r12.y
MESA: info: madsh.m16 r14.x, r7.z, r11.x, (last)r14.x
MESA: info: madsh.m16 r11.w, r9.z, r11.x, (last)r11.w
MESA: info: madsh.m16 r12.z, r9.z, r11.y, (last)r12.z
MESA: info: mull.u r14.y, r13.z, c2.w
MESA: info: shl.b r15.x, r7.x, 16
MESA: info: madsh.m16 r14.x, c2.w, r7.z, (last)r14.x
MESA: info: madsh.m16 r11.w, c2.w, r9.z, (last)r11.w
MESA: info: madsh.m16 r9.z, c3.x, r9.z, (last)r12.z
MESA: info: madsh.m16 r14.y, r13.z, r11.x, (last)r14.y
MESA: info: add.u r15.x, r10.w, (last)r15.x
MESA: info: shl.b r17.w, r14.x, 16
MESA: info: shl.b r15.z, r9.z, 16
MESA: info: madsh.m16 r14.y, c2.w, r13.z, (last)r14.y
MESA: info: mull.u r14.z, r7.z, c3.x
MESA: info: cmps.u.lt hr21.z, r15.x, (last)r10.w
MESA: info: add.u r17.w, r15.x, (last)r17.w
MESA: info: add.u r15.z, r11.w, (last)r15.z
MESA: info: shl.b r18.w, r14.y, 16
MESA: info: madsh.m16 r14.z, r7.z, r11.y, (last)r14.z
MESA: info: mull.u r14.w, r13.z, c3.x
MESA: info: cov.u16s32 r15.y, (last)hr21.z
MESA: info: cmps.u.lt hr35.z, (last)r17.w, (last)r15.x
MESA: info: cmps.u.lt hr23.z, r15.z, (last)r11.w
MESA: info: add.u r18.w, r15.z, (last)r18.w
MESA: info: madsh.m16 r7.z, c3.x, r7.z, (last)r14.z
MESA: info: shr.b r7.x, (last)r7.x, 16
MESA: info: madsh.m16 r14.w, r13.z, r11.y, (last)r14.w
MESA: info: cov.u16s32 r18.z, (last)hr35.z
MESA: info: cov.u16s32 r17.z, (last)hr23.z
MESA: info: cmps.u.lt hr37.z, (last)r18.w, (last)r15.z
MESA: info: sad.s32 r7.z, (last)r7.z, r15.y, (last)r7.x
MESA: info: madsh.m16 r13.z, c3.x, r13.z, (last)r14.w
MESA: info: shr.b r14.x, (last)r14.x, 16
MESA: info: shr.b r9.z, (last)r9.z, 16
MESA: info: cov.u16s32 r6.x, (last)hr37.z
MESA: info: sad.s32 r7.z, (last)r7.z, r18.z, (last)r14.x
MESA: info: sad.s32 r13.z, (last)r13.z, r17.z, (last)r9.z
MESA: info: shr.b r14.y, (last)r14.y, 16
MESA: info: mull.u r6.y, c0.z, r7.z
MESA: info: sad.s32 r13.z, (last)r13.z, r6.x, (last)r14.y
MESA: info: madsh.m16 r6.y, c0.z, r7.z, (last)r6.y
MESA: info: absneg.s r14.w, (abs)r6.z
MESA: info: mull.u r7.x, c0.z, r13.z
MESA: info: madsh.m16 r7.z, (last)r7.z, r12.x, (last)r6.y
MESA: info: madsh.m16 r7.x, c0.z, r13.z, (last)r7.x
MESA: info: absneg.s r15.x, (abs)r6.w
MESA: info: add.u r7.z, r6.z, (last)r7.z
MESA: info: madsh.m16 r13.z, (last)r13.z, r12.x, (last)r7.x
MESA: info: (rpt1)and.b r17.z, (r)r14.w, c17.y
MESA: info: cmps.u.ge r9.z, r7.z, c0.w
MESA: info: add.u r10.w, r7.z, c0.z
MESA: info: add.u r13.z, r6.w, (last)r13.z
MESA: info: xor.b r14.z, (last)r6.z, c0.w
MESA: info: mull.u r6.x, r17.w, c3.y
MESA: info: sel.b32 r10.w, (last)r10.w, r9.z, (last)r7.z
MESA: info: cmps.u.ge r11.w, r13.z, c0.w
MESA: info: add.u r12.y, r13.z, c0.z
MESA: info: mull.u r6.z, r17.w, c3.z
MESA: info: madsh.m16 r6.x, r17.w, r13.x, (last)r6.x
MESA: info: madsh.m16 r6.z, r17.w, r13.y, (last)r6.z
MESA: info: cmps.u.ge r12.z, r10.w, c0.w
MESA: info: sel.b32 r12.y, (last)r12.y, r11.w, (last)r13.z
MESA: info: madsh.m16 r6.x, c3.y, r17.w, (last)r6.x
MESA: info: add.u r13.z, r10.w, c0.z
MESA: info: madsh.m16 r17.w, c3.z, r17.w, (last)r6.z
MESA: info: shr.b r18.z, r14.w, 16
MESA: info: mull.u r18.w, r17.z, c3.y
MESA: info: mull.u r6.y, r17.z, c3.z
MESA: info: sel.b32 r13.z, (last)r13.z, r12.z, (last)r10.w
MESA: info: shl.b r12.z, r17.w, 16
MESA: info: madsh.m16 r18.w, r17.z, r13.x, (last)r18.w
MESA: info: madsh.m16 r6.y, r17.z, r13.y, (last)r6.y
MESA: info: xor.b r15.y, (last)r6.w, c0.w
MESA: info: mull.u r7.x, r18.z, c3.y
MESA: info: add.u r12.z, r6.x, (last)r12.z
MESA: info: madsh.m16 r18.w, c3.y, r17.z, (last)r18.w
MESA: info: shr.b r6.w, r15.x, 16
MESA: info: madsh.m16 r17.z, c3.z, r17.z, (last)r6.y
MESA: info: madsh.m16 r7.x, r18.z, r13.x, (last)r7.x
MESA: info: cmps.u.ge r14.x, r12.y, c0.w
MESA: info: add.u r14.y, r12.y, c0.z
MESA: info: cmps.u.lt hr12.x, r12.z, (last)r6.x
MESA: info: mull.u r7.z, r6.w, c3.y
MESA: info: mull.u r10.w, r6.w, c3.z
MESA: info: shl.b r11.w, r17.z, 16
MESA: info: madsh.m16 r7.x, c3.y, r18.z, (last)r7.x
MESA: info: madsh.m16 r7.z, r6.w, r13.x, (last)r7.z
MESA: info: madsh.m16 r10.w, r6.w, r13.y, (last)r10.w
MESA: info: sel.b32 r14.y, (last)r14.y, r14.x, (last)r12.y
MESA: info: add.u r11.w, r18.w, (last)r11.w
MESA: info: shl.b r15.z, r7.x, 16
MESA: info: madsh.m16 r7.z, c3.y, r6.w, (last)r7.z
MESA: info: cov.u16s32 r14.x, (last)hr12.x
MESA: info: madsh.m16 r6.w, c3.z, r6.w, (last)r10.w
MESA: info: shr.b r17.w, (last)r17.w, 16
MESA: info: mull.u r9.z, r18.z, c3.z
MESA: info: cmps.u.lt hr37.z, r11.w, (last)r18.w
MESA: info: add.u r15.z, r11.w, (last)r15.z
MESA: info: sad.s32 r6.w, (last)r6.w, r14.x, (last)r17.w
MESA: info: shl.b r17.w, r7.z, 16
MESA: info: madsh.m16 r9.z, r18.z, r13.y, (last)r9.z
MESA: info: cov.u16s32 r12.y, (last)hr37.z
MESA: info: cmps.u.lt hr31.x, (last)r15.z, (last)r11.w
MESA: info: add.u r17.w, r12.z, (last)r17.w
MESA: info: madsh.m16 r18.z, c3.z, r18.z, (last)r9.z
MESA: info: shr.b r17.z, (last)r17.z, 16
MESA: info: cmps.u.lt hr35.z, (last)r17.w, (last)r12.z
MESA: info: sad.s32 r18.z, (last)r18.z, r12.y, (last)r17.z
MESA: info: cov.u16s32 r17.z, (last)hr31.x
MESA: info: shr.b r7.x, (last)r7.x, 16
MESA: info: cov.u16s32 r18.w, (last)hr35.z
MESA: info: sad.s32 r18.z, (last)r18.z, r17.z, (last)r7.x
MESA: info: shr.b r7.z, (last)r7.z, 16
MESA: info: cmps.s.lt r14.z, (last)r14.z, 0
MESA: info: mull.u r6.x, r18.z, c1.x
MESA: info: sad.s32 r6.w, (last)r6.w, r18.w, (last)r7.z
MESA: info: madsh.m16 r6.x, r18.z, r13.w, (last)r6.x
MESA: info: add.u r6.z, r18.z, 1
MESA: info: mull.u r6.y, r6.w, c1.x
MESA: info: madsh.m16 r6.x, c1.x, r18.z, (last)r6.x
MESA: info: madsh.m16 r6.y, r6.w, r13.w, (last)r6.y
MESA: info: add.u r7.z, r6.w, 1
MESA: info: sub.u r14.w, (last)r14.w, (last)r6.x
MESA: info: madsh.m16 r6.y, c1.x, r6.w, (last)r6.y
MESA: info: cmps.s.lt r15.y, (last)r15.y, 0
MESA: info: cmps.u.ge r7.x, r14.w, c1.x
MESA: info: add.u r10.w, r14.w, c3.w
MESA: info: sub.u r15.x, (last)r15.x, (last)r6.y
MESA: info: sel.b32 r6.z, (last)r6.z, r7.x, (last)r18.z
MESA: info: sel.b32 r10.w, (last)r10.w, r7.x, (last)r14.w
MESA: info: cmps.u.ge r9.z, r15.x, c1.x
MESA: info: add.u r11.w, r15.x, c3.w
MESA: info: add.u r12.y, r6.z, 1
MESA: info: cmps.u.ge r10.w, (last)r10.w, c1.x
MESA: info: sel.b32 r7.z, (last)r7.z, r9.z, (last)r6.w
MESA: info: sel.b32 r11.w, (last)r11.w, r9.z, (last)r15.x
MESA: info: sel.b32 r12.y, (last)r12.y, r10.w, (last)r6.z
MESA: info: add.u r12.z, r7.z, 1
MESA: info: cmps.u.ge r11.w, (last)r11.w, c1.x
MESA: info: absneg.s r14.x, (neg)r12.y
MESA: info: mull.u r15.z, r12.w, c4.y
MESA: info: sel.b32 r12.z, (last)r12.z, r11.w, (last)r7.z
MESA: info: and.b r14.w, r10.z, c17.y
MESA: info: mull.u r15.x, r12.w, c4.x
MESA: info: sel.b32 r14.x, (last)r14.x, r14.z, (last)r12.y
MESA: info: absneg.s r14.z, (neg)r12.z
MESA: info: (rpt1)shr.b r18.z, (r)r10.y, 16
MESA: info: madsh.m16 r15.z, r12.w, r11.z, (last)r15.z
MESA: info: madsh.m16 r15.x, r12.w, r17.y, (last)r15.x
MESA: info: mull.u r17.z, r14.w, c4.y
MESA: info: sel.b32 r14.z, (last)r14.z, r15.y, (last)r12.z
MESA: info: mull.u r6.z, r18.z, c4.x
MESA: info: madsh.m16 r15.x, c4.x, r12.w, (last)r15.x
MESA: info: mull.u r15.y, r14.w, c4.x
MESA: info: madsh.m16 r12.w, c4.y, r12.w, (last)r15.z
MESA: info: madsh.m16 r17.z, r14.w, r11.z, (last)r17.z
MESA: info: madsh.m16 r6.z, r18.z, r17.y, (last)r6.z
MESA: info: madsh.m16 r15.y, r14.w, r17.y, (last)r15.y
MESA: info: mull.u r6.w, r18.w, c4.x
MESA: info: shl.b r6.x, r12.w, 16
MESA: info: madsh.m16 r6.z, c4.x, r18.z, (last)r6.z
MESA: info: madsh.m16 r15.y, c4.x, r14.w, (last)r15.y
MESA: info: madsh.m16 r14.w, c4.y, r14.w, (last)r17.z
MESA: info: madsh.m16 r6.w, r18.w, r17.y, (last)r6.w
MESA: info: add.u r6.x, r15.x, (last)r6.x
MESA: info: shl.b r11.w, r6.z, 16
MESA: info: shl.b r9.z, r14.w, 16
MESA: info: madsh.m16 r6.w, c4.x, r18.w, (last)r6.w
MESA: info: mull.u r7.x, r18.z, c4.y
MESA: info: cmps.u.lt hr30.x, r6.x, (last)r15.x
MESA: info: add.u r11.w, r6.x, (last)r11.w
MESA: info: add.u r9.z, r15.y, (last)r9.z
MESA: info: shl.b r12.z, r6.w, 16
MESA: info: madsh.m16 r7.x, r18.z, r11.z, (last)r7.x
MESA: info: mull.u r7.z, r18.w, c4.y
MESA: info: cov.u16s32 r6.y, (last)hr30.x
MESA: info: cmps.u.lt hr23.z, (last)r11.w, (last)r6.x
MESA: info: cmps.u.lt hr30.z, r9.z, (last)r15.y
MESA: info: add.u r12.z, r9.z, (last)r12.z
MESA: info: madsh.m16 r18.z, c4.y, r18.z, (last)r7.x
MESA: info: shr.b r12.w, (last)r12.w, 16
MESA: info: madsh.m16 r7.z, r18.w, r11.z, (last)r7.z
MESA: info: cov.u16s32 r12.y, (last)hr23.z
MESA: info: cov.u16s32 r10.w, (last)hr30.z
MESA: info: cmps.u.lt hr25.x, (last)r12.z, (last)r9.z
MESA: info: sad.s32 r18.z, (last)r18.z, r6.y, (last)r12.w
MESA: info: madsh.m16 r18.w, c4.y, r18.w, (last)r7.z
MESA: info: shr.b r6.z, (last)r6.z, 16
MESA: info: shr.b r14.w, (last)r14.w, 16
MESA: info: cov.u16s32 r12.w, (last)hr25.x
MESA: info: sad.s32 r18.z, (last)r18.z, r12.y, (last)r6.z
MESA: info: sad.s32 r18.w, (last)r18.w, r10.w, (last)r14.w
MESA: info: shr.b r6.w, (last)r6.w, 16
MESA: info: mull.u r14.w, r18.z, c1.z
MESA: info: sad.s32 r18.w, (last)r18.w, r12.w, (last)r6.w
MESA: info: (nop1) madsh.m16 r14.w, r18.z, r16.x, (last)r14.w
MESA: info: mull.u r15.x, r18.w, c1.z
MESA: info: madsh.m16 r18.z, c1.z, r18.z, (last)r14.w
MESA: info: (nop1) madsh.m16 r15.x, r18.w, r16.x, (last)r15.x
MESA: info: sub.u r18.z, r10.y, (last)r18.z
MESA: info: (nop1) madsh.m16 r18.w, c1.z, r18.w, (last)r15.x
MESA: info: cmps.u.ge r15.y, r18.z, c1.z
MESA: info: add.u r15.z, r18.z, c4.z
MESA: info: (nop1) sub.u r18.w, r10.z, (last)r18.w
MESA: info: sel.b32 r15.z, (last)r15.z, r15.y, (last)r18.z
MESA: info: cmps.u.ge r17.z, r18.w, c1.z
MESA: info: add.u r17.w, r18.w, c4.z
MESA: info: (nop1) cmps.u.ge r18.z, r15.z, c1.z
MESA: info: sel.b32 r17.w, (last)r17.w, r17.z, (last)r18.w
MESA: info: (nop1) add.u r18.w, r15.z, c4.z
MESA: info: cmps.u.ge r6.x, r17.w, c1.z
MESA: info: sel.b32 r18.w, (last)r18.w, r18.z, (last)r15.z
MESA: info: (nop1) add.u r6.y, r17.w, c4.z
MESA: info: and.b r6.z, r18.w, c17.y
MESA: info: sel.b32 r6.y, (last)r6.y, r6.x, (last)r17.w
MESA: info: shr.b r6.w, r18.w, 16
MESA: info: mull.u r7.z, r6.z, c4.w
MESA: info: mull.u r10.w, r6.z, c5.x
MESA: info: madsh.m16 r7.z, r6.z, r16.y, (last)r7.z
MESA: info: madsh.m16 r10.w, r6.z, r16.w, (last)r10.w
MESA: info: madsh.m16 r7.z, c4.w, r6.z, (last)r7.z
MESA: info: madsh.m16 r6.z, c5.x, r6.z, (last)r10.w
MESA: info: and.b r7.x, r6.y, c17.y
MESA: info: shr.b r12.y, r6.y, 16
MESA: info: shl.b r15.y, r6.z, 16
MESA: info: mull.u r9.z, r7.x, c4.w
MESA: info: mull.u r11.w, r7.x, c5.x
MESA: info: add.u r15.y, r7.z, (last)r15.y
MESA: info: madsh.m16 r9.z, r7.x, r16.y, (last)r9.z
MESA: info: madsh.m16 r11.w, r7.x, r16.w, (last)r11.w
MESA: info: mull.u r12.z, r6.w, c4.w
MESA: info: mull.u r14.w, r6.w, c5.x
MESA: info: mull.u r12.w, r12.y, c4.w
MESA: info: cmps.u.lt hr15.x, r15.y, (last)r7.z
MESA: info: madsh.m16 r9.z, c4.w, r7.x, (last)r9.z
MESA: info: madsh.m16 r7.x, c5.x, r7.x, (last)r11.w
MESA: info: madsh.m16 r12.z, r6.w, r16.y, (last)r12.z
MESA: info: madsh.m16 r14.w, r6.w, r16.w, (last)r14.w
MESA: info: madsh.m16 r12.w, r12.y, r16.y, (last)r12.w
MESA: info: cov.u16s32 r15.z, (last)hr15.x
MESA: info: shl.b r17.z, r7.x, 16
MESA: info: madsh.m16 r12.z, c4.w, r6.w, (last)r12.z
MESA: info: madsh.m16 r12.w, c4.w, r12.y, (last)r12.w
MESA: info: madsh.m16 r6.w, c5.x, r6.w, (last)r14.w
MESA: info: shr.b r6.z, (last)r6.z, 16
MESA: info: add.u r17.z, r9.z, (last)r17.z
MESA: info: sad.s32 r6.w, (last)r6.w, r15.z, (last)r6.z
MESA: info: shl.b r6.z, r12.w, 16
MESA: info: mull.u r15.x, r12.y, c5.x
MESA: info: shl.b r18.z, r12.z, 16
MESA: info: cmps.u.lt hr19.x, r17.z, (last)r9.z
MESA: info: add.u r6.z, r17.z, (last)r6.z
MESA: info: madsh.m16 r15.x, r12.y, r16.w, (last)r15.x
MESA: info: add.u r18.z, r15.y, (last)r18.z
MESA: info: cov.u16s32 r17.w, (last)hr19.x
MESA: info: cmps.u.lt hr13.x, (last)r6.z, (last)r17.z
MESA: info: madsh.m16 r12.y, c5.x, r12.y, (last)r15.x
MESA: info: shr.b r7.x, (last)r7.x, 16
MESA: info: cmps.u.lt hr37.x, (last)r18.z, (last)r15.y
MESA: info: sad.s32 r12.y, (last)r12.y, r17.w, (last)r7.x
MESA: info: cov.u16s32 r7.x, (last)hr13.x
MESA: info: shr.b r12.w, (last)r12.w, 16
MESA: info: cov.u16s32 r6.x, (last)hr37.x
MESA: info: sad.s32 r12.y, (last)r12.y, r7.x, (last)r12.w
MESA: info: shr.b r12.z, (last)r12.z, 16
MESA: info: absneg.s r18.z, (abs)r18.w
MESA: info: mull.u r9.z, r12.y, c1.y
MESA: info: sad.s32 r6.w, (last)r6.w, r6.x, (last)r12.z
MESA: info: madsh.m16 r9.z, r12.y, r17.x, (last)r9.z
MESA: info: xor.b r17.z, r18.w, c1.y
MESA: info: mull.u r7.z, r6.w, c1.y
MESA: info: madsh.m16 r12.y, c1.y, r12.y, (last)r9.z
MESA: info: madsh.m16 r7.z, r6.w, r17.x, (last)r7.z
MESA: info: xor.b r6.x, r6.y, c1.y
MESA: info: sub.u r12.y, r6.y, (last)r12.y
MESA: info: madsh.m16 r6.w, c1.y, r6.w, (last)r7.z
MESA: info: cmps.s.lt r17.z, (last)r17.z, 0
MESA: info: cmps.u.ge r12.z, r12.y, c1.y
MESA: info: add.u r12.w, r12.y, c5.y
MESA: info: sub.u r6.w, (last)r18.w, (last)r6.w
MESA: info: absneg.s r18.w, (last)(abs)r6.y
MESA: info: sel.b32 r12.w, (last)r12.w, r12.z, (last)r12.y
MESA: info: (rpt1)and.b r6.y, (r)r18.z, c17.y
MESA: info: cmps.u.ge r15.y, r12.w, c1.y
MESA: info: mull.u r7.x, r6.y, c5.w
MESA: info: mull.u r9.z, r6.y, c6.x
MESA: info: madsh.m16 r7.x, r6.y, r18.x, (last)r7.x
MESA: info: madsh.m16 r9.z, r6.y, r18.y, (last)r9.z
MESA: info: add.u r15.z, r12.w, c5.y
MESA: info: madsh.m16 r7.x, c5.w, r6.y, (last)r7.x
MESA: info: madsh.m16 r6.y, c6.x, r6.y, (last)r9.z
MESA: info: cmps.u.ge r10.w, r6.w, c1.y
MESA: info: add.u r11.w, r6.w, c5.y
MESA: info: sel.b32 r15.z, (last)r15.z, r15.y, (last)r12.w
MESA: info: shl.b r15.y, r6.y, 16
MESA: info: sel.b32 r11.w, (last)r11.w, r10.w, (last)r6.w
MESA: info: shr.b r6.w, r18.z, 16
MESA: info: add.u r15.y, r7.x, (last)r15.y
MESA: info: mull.u r7.z, r6.z, c5.w
MESA: info: mull.u r10.w, r6.z, c6.x
MESA: info: mull.u r12.y, r6.w, c5.w
MESA: info: mull.u r12.w, r6.w, c6.x
MESA: info: cmps.u.lt hr14.x, r15.y, (last)r7.x
MESA: info: madsh.m16 r7.z, r6.z, r18.x, (last)r7.z
MESA: info: madsh.m16 r10.w, r6.z, r18.y, (last)r10.w
MESA: info: madsh.m16 r12.y, r6.w, r18.x, (last)r12.y
MESA: info: madsh.m16 r12.w, r6.w, r18.y, (last)r12.w
MESA: info: cov.u16s32 r17.w, (last)hr14.x
MESA: info: madsh.m16 r7.z, c5.w, r6.z, (last)r7.z
MESA: info: madsh.m16 r12.y, c5.w, r6.w, (last)r12.y
MESA: info: madsh.m16 r6.z, c6.x, r6.z, (last)r10.w
MESA: info: madsh.m16 r6.w, c6.x, r6.w, (last)r12.w
MESA: info: shr.b r6.y, (last)r6.y, 16
MESA: info: cmps.u.ge r14.w, r11.w, c1.y
MESA: info: add.u r15.x, r11.w, c5.y
MESA: info: sad.s32 r6.w, (last)r6.w, r17.w, (last)r6.y
MESA: info: shl.b r6.y, r6.z, 16
MESA: info: sel.b32 r15.x, (last)r15.x, r14.w, (last)r11.w
MESA: info: shr.b r11.w, r18.w, 16
MESA: info: add.u r6.y, r7.z, (last)r6.y
MESA: info: shr.b r6.z, (last)r6.z, 16
MESA: info: mull.u r12.z, r11.w, c5.w
MESA: info: cmps.u.lt hr15.x, r6.y, (last)r7.z
MESA: info: madsh.m16 r12.z, r11.w, r18.x, (last)r12.z
MESA: info: mull.u r14.w, r11.w, c6.x
MESA: info: cov.u16s32 r7.x, (last)hr15.x
MESA: info: madsh.m16 r12.z, c5.w, r11.w, (last)r12.z
MESA: info: shl.b r7.z, r12.y, 16
MESA: info: madsh.m16 r14.w, r11.w, r18.y, (last)r14.w
MESA: info: shl.b r10.w, r12.z, 16
MESA: info: add.u r7.z, r15.y, (last)r7.z
MESA: info: madsh.m16 r11.w, c6.x, r11.w, (last)r14.w
MESA: info: add.u r10.w, r6.y, (last)r10.w
MESA: info: cmps.u.lt hr15.x, (last)r7.z, (last)r15.y
MESA: info: shr.b r12.y, (last)r12.y, 16
MESA: info: cmps.u.lt hr21.z, (last)r10.w, (last)r6.y
MESA: info: cov.u16s32 r9.z, (last)hr15.x
MESA: info: sad.s32 r11.w, (last)r11.w, r7.x, (last)r6.z
MESA: info: shr.b r12.z, (last)r12.z, 16
MESA: info: sad.s32 r6.w, (last)r6.w, r9.z, (last)r12.y
MESA: info: cov.u16s32 r12.y, (last)hr21.z
MESA: info: cmps.s.lt r6.x, (last)r6.x, 0
MESA: info: add.u r14.w, r6.w, 1
MESA: info: sad.s32 r11.w, (last)r11.w, r12.y, (last)r12.z
MESA: info: mull.u r12.z, r6.w, c5.z
MESA: info: mull.u r12.y, r14.y, c1.y
MESA: info: madsh.m16 r12.z, r6.w, r7.y, (last)r12.z
MESA: info: mull.u r12.w, r11.w, c5.z
MESA: info: madsh.m16 r12.z, c5.z, r6.w, (last)r12.z
MESA: info: madsh.m16 r12.w, r11.w, r7.y, (last)r12.w
MESA: info: add.u r17.w, r11.w, 1
MESA: info: sub.u r18.z, (last)r18.z, (last)r12.z
MESA: info: madsh.m16 r12.w, c5.z, r11.w, (last)r12.w
MESA: info: mull.u r12.z, r14.x, c1.y
MESA: info: cmps.u.ge r15.y, r18.z, c5.z
MESA: info: add.u r6.z, r18.z, c6.y
MESA: info: sub.u r18.w, (last)r18.w, (last)r12.w
MESA: info: sel.b32 r14.w, (last)r14.w, r15.y, (last)r6.w
MESA: info: sel.b32 r6.z, (last)r6.z, r15.y, (last)r18.z
MESA: info: cmps.u.ge r6.y, r18.w, c5.z
MESA: info: add.u r6.w, r18.w, c6.y
MESA: info: add.u r7.x, r14.w, 1
MESA: info: cmps.u.ge r6.z, (last)r6.z, c5.z
MESA: info: sel.b32 r17.w, (last)r17.w, r6.y, (last)r11.w
MESA: info: sel.b32 r6.w, (last)r6.w, r6.y, (last)r18.w
MESA: info: sel.b32 r7.x, (last)r7.x, r6.z, (last)r14.w
MESA: info: add.u r7.z, r17.w, 1
MESA: info: mull.u r11.w, r13.z, c1.y
MESA: info: cmps.u.ge r6.w, (last)r6.w, c5.z
MESA: info: madsh.m16 r11.w, r13.z, r17.x, (last)r11.w
MESA: info: absneg.s r9.z, (neg)r7.x
MESA: info: sel.b32 r7.z, (last)r7.z, r6.w, (last)r17.w
MESA: info: madsh.m16 r13.z, c1.y, r13.z, (last)r11.w
MESA: info: madsh.m16 r12.z, r14.x, r17.x, (last)r12.z
MESA: info: mull.u r12.w, r14.z, c1.y
MESA: info: sel.b32 r9.z, (last)r9.z, r17.z, (last)r7.x
MESA: info: absneg.s r10.w, (neg)r7.z
MESA: info: add.u r13.z, (last)r13.z, (last)r15.x
MESA: info: madsh.m16 r14.x, c1.y, r14.x, (last)r12.z
MESA: info: madsh.m16 r12.y, r14.y, r17.x, (last)r12.y
MESA: info: madsh.m16 r12.w, r14.z, r17.x, (last)r12.w
MESA: info: sel.b32 r10.w, (last)r10.w, r6.x, (last)r7.z
MESA: info: mull.u r14.w, r13.z, c6.z
MESA: info: add.u r14.x, (last)r14.x, (last)r9.z
MESA: info: madsh.m16 r14.y, c1.y, r14.y, (last)r12.y
MESA: info: madsh.m16 r14.z, c1.y, r14.z, (last)r12.w
MESA: info: madsh.m16 r14.w, r13.z, r9.x, (last)r14.w
MESA: info: mull.u r15.y, r14.x, c6.z
MESA: info: add.u r14.y, (last)r14.y, (last)r15.z
MESA: info: add.u r14.z, (last)r14.z, (last)r10.w
MESA: info: madsh.m16 r13.z, c6.z, r13.z, (last)r14.w
MESA: info: madsh.m16 r15.y, r14.x, r9.x, (last)r15.y
MESA: info: mull.u r15.x, r14.y, c6.z
MESA: info: mull.u r15.z, r14.z, c6.z
MESA: info: cov.s32f32 r13.z, (last)r13.z
MESA: info: madsh.m16 r14.x, c6.z, r14.x, (last)r15.y
MESA: info: madsh.m16 r15.x, r14.y, r9.x, (last)r15.x
MESA: info: madsh.m16 r15.z, r14.z, r9.x, (last)r15.z
MESA: info: shl.b r17.z, r10.y, 3
MESA: info: add.f r13.z, c0.x, (last)r13.z
MESA: info: cov.s32f32 r14.x, (last)r14.x
MESA: info: madsh.m16 r14.y, c6.z, r14.y, (last)r15.x
MESA: info: madsh.m16 r14.z, c6.z, r14.z, (last)r15.z
MESA: info: shl.b r10.y, (last)r10.y, 5
MESA: info: isam.v.base3 (u32)(xy)r6.x, r17.z, s#0, t#0
MESA: info: max.f r18.z, c12.x, r13.z
MESA: info: add.f r14.x, c0.y, (last)r14.x
MESA: info: cov.s32f32 r14.y, (last)r14.y
MESA: info: cov.s32f32 r14.z, (last)r14.z
MESA: info: add.u r6.z, r10.y, 12
MESA: info: add.f r13.z, (last)r13.z, c7.z
MESA: info: add.u r6.w, (last)r10.y, 28
MESA: info: add.f r14.y, c0.x, (last)r14.y
MESA: info: add.f r14.z, c0.y, (last)r14.z
MESA: info: min.f r18.z, (last)r18.z, (last)r13.z
MESA: info: (rpt1)shr.b r6.z, (last)(r)r6.z, 2
MESA: info: max.f r13.z, c12.y, r14.x
MESA: info: add.f r14.x, (last)r14.x, c7.z
MESA: info: max.f r12.w, c12.x, r14.y
MESA: info: add.f r14.y, (last)r14.y, c7.z
MESA: info: min.f r13.z, (last)r13.z, (last)r14.x
MESA: info: max.f r14.x, c12.y, r14.z
MESA: info: add.f r14.z, (last)r14.z, c7.z
MESA: info: min.f r12.w, (last)r12.w, (last)r14.y
MESA: info: shl.b r17.w, r10.z, 5
MESA: info: min.f r14.x, (last)r14.x, (last)r14.z
MESA: info: isam.v.base3 (u32)(xyzw)r14.y, r6.z, s#0, t#0
MESA: info: isam.v.base3 (u32)(x)r15.y, r6.w, s#0, t#0
MESA: info: mov.u32u32 r15.z, r0.w
MESA: info: add.u r12.y, r17.w, 12
MESA: info: add.u r12.z, (last)r17.w, 28
MESA: info: shl.b r10.z, (last)r10.z, 3
MESA: info: (rpt1)shr.b r12.y, (last)(r)r12.y, 2
MESA: info: (sy)max.f r6.x, c12.z, (last)r6.x
MESA: info: mov.u32u32 r4.w, (last)r14.y
MESA: info: mov.u32u32 r5.x, (last)r14.z
MESA: info: min.f r6.x, (last)r6.x, (last)r6.y
MESA: info: mov.u32u32 r5.y, (last)r14.w
MESA: info: mov.u32u32 r5.z, (last)r15.x
MESA: info: mov.u32u32 r5.w, (last)r15.y
MESA: info: l1988:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.s.lt p0.x, r15.z, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l1994
MESA: info: mov.u32u32 r15.z, 0xffffffff
MESA: info: jump #l2014
MESA: info: l1994:
MESA: info: add.f r17.w, c12.y, (neg)r13.z
MESA: info: add.f r18.w, c12.z, (neg)r6.x
MESA: info: add.f r6.y, c12.x, (neg)r18.z
MESA: info: mul.f r17.w, (last)r17.w, r17.w
MESA: info: cov.u32s16 hr35.x, r15.z
MESA: info: (nop1) mad.f32 r18.w, (last)r18.w, r18.w, (last)r17.w
MESA: info: mad.f32 r6.y, (last)r6.y, r6.y, (last)r18.w
MESA: info: mova a0.x, (last)hr35.x
MESA: info: (rpt3)nop
MESA: info: rsq r6.y, (last)r6.y
MESA: info: nop
MESA: info: (ul)mov.u32u32 r6.z, r<a0.x + 19>
MESA: info: (rpt1)nop
MESA: info: (ss)(nop2) mul.f r6.z, (last)r6.z, (last)r6.y
MESA: info: (nop2) mul.f r6.z, c13.x, (last)r6.z
MESA: info: (nop3) cmps.f.lt p0.x, (last)r6.z, c13.y
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l2014
MESA: info: add.u r15.z, (last)r15.z, -1
MESA: info: jump #l1988
MESA: info: l2014:
MESA: info: (jp)(rpt1)absneg.s r17.z, (abs)(r)r8.y
MESA: info: sub.u r15.z, c7.y, (last)r15.z
MESA: info: (rpt1)and.b r4.w, (r)r17.z, c17.y
MESA: info: shr.b r5.y, r17.z, 16
MESA: info: shr.b r6.z, r17.w, 16
MESA: info: mull.u r5.z, r4.w, c2.x
MESA: info: mull.u r5.w, r5.x, c2.x
MESA: info: mull.u r6.x, r4.w, c2.y
MESA: info: mull.u r6.y, r5.x, c2.y
MESA: info: madsh.m16 r5.z, r4.w, r7.w, (last)r5.z
MESA: info: madsh.m16 r5.w, r5.x, r7.w, (last)r5.w
MESA: info: madsh.m16 r6.x, r4.w, r8.x, (last)r6.x
MESA: info: madsh.m16 r6.y, r5.x, r8.x, (last)r6.y
MESA: info: mull.u r6.w, r5.y, c2.x
MESA: info: mull.u r7.x, r6.z, c2.x
MESA: info: madsh.m16 r5.z, c2.x, r4.w, (last)r5.z
MESA: info: madsh.m16 r5.w, c2.x, r5.x, (last)r5.w
MESA: info: madsh.m16 r4.w, c2.y, r4.w, (last)r6.x
MESA: info: madsh.m16 r5.x, c2.y, r5.x, (last)r6.y
MESA: info: madsh.m16 r6.w, r5.y, r7.w, (last)r6.w
MESA: info: madsh.m16 r7.w, r6.z, r7.w, (last)r7.x
MESA: info: shl.b r10.y, r4.w, 16
MESA: info: shl.b r11.w, r5.x, 16
MESA: info: madsh.m16 r6.w, c2.x, r5.y, (last)r6.w
MESA: info: madsh.m16 r7.w, c2.x, r6.z, (last)r7.w
MESA: info: add.u r10.y, r5.z, (last)r10.y
MESA: info: add.u r11.w, r5.w, (last)r11.w
MESA: info: shl.b r14.z, r6.w, 16
MESA: info: shl.b r15.x, r7.w, 16
MESA: info: mull.u r7.z, r5.y, c2.y
MESA: info: mull.u r9.z, r6.z, c2.y
MESA: info: cmps.u.lt hr11.x, r10.y, (last)r5.z
MESA: info: cmps.u.lt hr11.z, r11.w, (last)r5.w
MESA: info: add.u r14.z, r10.y, (last)r14.z
MESA: info: add.u r15.x, r11.w, (last)r15.x
MESA: info: madsh.m16 r7.z, r5.y, r8.x, (last)r7.z
MESA: info: madsh.m16 r8.x, r6.z, r8.x, (last)r9.z
MESA: info: cov.u16s32 r10.w, (last)hr11.x
MESA: info: cov.u16s32 r13.z, (last)hr11.z
MESA: info: cmps.u.lt hr29.x, (last)r14.z, (last)r10.y
MESA: info: cmps.u.lt hr30.x, (last)r15.x, (last)r11.w
MESA: info: madsh.m16 r5.y, c2.y, r5.y, (last)r7.z
MESA: info: madsh.m16 r6.z, c2.y, r6.z, (last)r8.x
MESA: info: shr.b r4.w, (last)r4.w, 16
MESA: info: shr.b r5.x, (last)r5.x, 16
MESA: info: cov.u16s32 r14.w, (last)hr29.x
MESA: info: cov.u16s32 r18.w, (last)hr30.x
MESA: info: sad.s32 r5.y, (last)r5.y, r10.w, (last)r4.w
MESA: info: sad.s32 r6.z, (last)r6.z, r13.z, (last)r5.x
MESA: info: shr.b r6.w, (last)r6.w, 16
MESA: info: shr.b r7.w, (last)r7.w, 16
MESA: info: sad.s32 r5.y, (last)r5.y, r14.w, (last)r6.w
MESA: info: sad.s32 r6.z, (last)r6.z, r18.w, (last)r7.w
MESA: info: shl.b r15.z, 1, (last)r15.z
MESA: info: mull.u r4.w, r5.y, c1.w
MESA: info: mull.u r5.x, r6.z, c1.w
MESA: info: madsh.m16 r4.w, r5.y, r8.w, (last)r4.w
MESA: info: madsh.m16 r8.w, r6.z, r8.w, (last)r5.x
MESA: info: madsh.m16 r4.w, c1.w, r5.y, (last)r4.w
MESA: info: madsh.m16 r8.w, c1.w, r6.z, (last)r8.w
MESA: info: add.u r6.x, r6.z, 1
MESA: info: sub.u r17.z, (last)r17.z, (last)r4.w
MESA: info: sub.u r17.w, (last)r17.w, (last)r8.w
MESA: info: add.u r5.z, r5.y, 1
MESA: info: cmps.u.ge r5.w, r17.z, c1.w
MESA: info: cmps.u.ge r6.y, r17.w, c1.w
MESA: info: add.u r6.w, r17.w, c2.z
MESA: info: cov.u32f32 r15.z, (last)r15.z
MESA: info: sel.b32 r6.x, (last)r6.x, r6.y, (last)r6.z
MESA: info: sel.b32 r6.w, (last)r6.w, r6.y, (last)r17.w
MESA: info: add.u r6.z, r17.z, c2.z
MESA: info: sel.b32 r5.z, (last)r5.z, r5.w, (last)r5.y
MESA: info: add.u r7.z, r6.x, 1
MESA: info: cmps.u.ge r6.w, (last)r6.w, c1.w
MESA: info: sel.b32 r6.z, (last)r6.z, r5.w, (last)r17.z
MESA: info: min.f r14.y, r9.y, (last)r15.z
MESA: info: add.u r7.x, r5.z, 1
MESA: info: sel.b32 r7.z, (last)r7.z, r6.w, (last)r6.x
MESA: info: cmps.u.ge r6.z, (last)r6.z, c1.w
MESA: info: xor.b r15.z, r8.z, c1.z
MESA: info: xor.b r15.y, r8.y, c1.z
MESA: info: absneg.s r8.x, (neg)r7.z
MESA: info: sel.b32 r7.x, (last)r7.x, r6.z, (last)r5.z
MESA: info: cmps.s.lt r15.z, (last)r15.z, 0
MESA: info: cmps.s.lt r15.y, (last)r15.y, 0
MESA: info: absneg.s r7.w, (neg)r7.x
MESA: info: sel.b32 r8.x, (last)r8.x, r15.z, (last)r7.z
MESA: info: and.b r18.z, r8.y, c17.y
MESA: info: sel.b32 r7.w, (last)r7.w, r15.y, (last)r7.x
MESA: info: and.b r10.y, r8.x, c17.y
MESA: info: shr.b r14.w, r8.x, 16
MESA: info: and.b r8.w, r7.w, c17.y
MESA: info: shr.b r9.z, r7.w, 16
MESA: info: mull.u r11.w, r10.y, c2.w
MESA: info: mull.u r14.z, r10.y, c3.x
MESA: info: madsh.m16 r11.w, r10.y, r11.x, (last)r11.w
MESA: info: madsh.m16 r14.z, r10.y, r11.y, (last)r14.z
MESA: info: mull.u r15.y, r14.w, c2.w
MESA: info: mull.u r10.w, r8.w, c2.w
MESA: info: mull.u r15.x, r9.z, c2.w
MESA: info: madsh.m16 r11.w, c2.w, r10.y, (last)r11.w
MESA: info: madsh.m16 r10.y, c3.x, r10.y, (last)r14.z
MESA: info: madsh.m16 r10.w, r8.w, r11.x, (last)r10.w
MESA: info: madsh.m16 r15.x, r9.z, r11.x, (last)r15.x
MESA: info: madsh.m16 r11.x, r14.w, r11.x, (last)r15.y
MESA: info: shl.b r4.w, r10.y, 16
MESA: info: madsh.m16 r11.x, c2.w, r14.w, (last)r11.x
MESA: info: mull.u r13.z, r8.w, c3.x
MESA: info: add.u r4.w, r11.w, (last)r4.w
MESA: info: shl.b r5.w, r11.x, 16
MESA: info: madsh.m16 r13.z, r8.w, r11.y, (last)r13.z
MESA: info: madsh.m16 r10.w, c2.w, r8.w, (last)r10.w
MESA: info: madsh.m16 r8.w, c3.x, r8.w, (last)r13.z
MESA: info: mull.u r17.z, r14.w, c3.x
MESA: info: mull.u r15.z, r9.z, c3.x
MESA: info: cmps.u.lt hr23.z, r4.w, (last)r11.w
MESA: info: add.u r5.w, r4.w, (last)r5.w
MESA: info: madsh.m16 r15.x, c2.w, r9.z, (last)r15.x
MESA: info: shl.b r17.w, r8.w, 16
MESA: info: madsh.m16 r15.z, r9.z, r11.y, (last)r15.z
MESA: info: madsh.m16 r11.y, r14.w, r11.y, (last)r17.z
MESA: info: cov.u16s32 r5.x, (last)hr23.z
MESA: info: cmps.u.lt hr11.z, (last)r5.w, (last)r4.w
MESA: info: madsh.m16 r14.w, c3.x, r14.w, (last)r11.y
MESA: info: shr.b r10.y, (last)r10.y, 16
MESA: info: shl.b r5.y, r15.x, 16
MESA: info: add.u r17.w, r10.w, (last)r17.w
MESA: info: cov.u16s32 r6.x, (last)hr11.z
MESA: info: sad.s32 r14.w, (last)r14.w, r5.x, (last)r10.y
MESA: info: shr.b r11.x, (last)r11.x, 16
MESA: info: cmps.u.lt hr21.z, r17.w, (last)r10.w
MESA: info: add.u r5.y, r17.w, (last)r5.y
MESA: info: sad.s32 r14.w, (last)r14.w, r6.x, (last)r11.x
MESA: info: madsh.m16 r9.z, c3.x, r9.z, (last)r15.z
MESA: info: cov.u16s32 r18.w, (last)hr21.z
MESA: info: cmps.u.lt hr10.z, (last)r5.y, (last)r17.w
MESA: info: shr.b r8.w, (last)r8.w, 16
MESA: info: mull.u r6.z, c0.z, r14.w
MESA: info: cov.u16s32 r5.z, (last)hr10.z
MESA: info: sad.s32 r9.z, (last)r9.z, r18.w, (last)r8.w
MESA: info: madsh.m16 r6.z, c0.z, r14.w, (last)r6.z
MESA: info: shr.b r15.x, (last)r15.x, 16
MESA: info: madsh.m16 r14.w, (last)r14.w, r12.x, (last)r6.z
MESA: info: sad.s32 r9.z, (last)r9.z, r5.z, (last)r15.x
MESA: info: absneg.s r11.w, (abs)r7.w
MESA: info: add.u r14.w, r8.x, (last)r14.w
MESA: info: mull.u r6.y, c0.z, r9.z
MESA: info: shr.b r15.x, r11.w, 16
MESA: info: cmps.u.ge r7.z, r14.w, c0.w
MESA: info: add.u r8.w, r14.w, c0.z
MESA: info: madsh.m16 r6.y, c0.z, r9.z, (last)r6.y
MESA: info: mull.u r4.w, r15.x, c3.y
MESA: info: madsh.m16 r9.z, (last)r9.z, r12.x, (last)r6.y
MESA: info: absneg.s r12.x, (abs)r8.x
MESA: info: sel.b32 r8.w, (last)r8.w, r7.z, (last)r14.w
MESA: info: (rpt1)and.b r14.z, (r)r11.w, c17.y
MESA: info: shr.b r18.w, r12.x, 16
MESA: info: mull.u r15.y, r14.z, c3.y
MESA: info: mull.u r15.z, r14.w, c3.y
MESA: info: mull.u r17.z, r14.z, c3.z
MESA: info: mull.u r17.w, r14.w, c3.z
MESA: info: madsh.m16 r15.y, r14.z, r13.x, (last)r15.y
MESA: info: madsh.m16 r15.z, r14.w, r13.x, (last)r15.z
MESA: info: madsh.m16 r17.z, r14.z, r13.y, (last)r17.z
MESA: info: madsh.m16 r17.w, r14.w, r13.y, (last)r17.w
MESA: info: add.u r9.z, r7.w, (last)r9.z
MESA: info: mull.u r5.x, r18.w, c3.y
MESA: info: madsh.m16 r15.y, c3.y, r14.z, (last)r15.y
MESA: info: madsh.m16 r15.z, c3.y, r14.w, (last)r15.z
MESA: info: madsh.m16 r14.z, c3.z, r14.z, (last)r17.z
MESA: info: madsh.m16 r14.w, c3.z, r14.w, (last)r17.w
MESA: info: madsh.m16 r4.w, r15.x, r13.x, (last)r4.w
MESA: info: madsh.m16 r13.x, r18.w, r13.x, (last)r5.x
MESA: info: cmps.u.ge r6.w, r9.z, c0.w
MESA: info: add.u r7.x, r9.z, c0.z
MESA: info: shl.b r5.w, r14.z, 16
MESA: info: shl.b r6.y, r14.w, 16
MESA: info: madsh.m16 r4.w, c3.y, r15.x, (last)r4.w
MESA: info: madsh.m16 r13.x, c3.y, r18.w, (last)r13.x
MESA: info: sel.b32 r7.x, (last)r7.x, r6.w, (last)r9.z
MESA: info: add.u r5.w, r15.y, (last)r5.w
MESA: info: add.u r6.y, r15.z, (last)r6.y
MESA: info: shl.b r7.z, r13.x, 16
MESA: info: shl.b r6.w, r4.w, 16
MESA: info: mull.u r5.y, r15.x, c3.z
MESA: info: mull.u r5.z, r18.w, c3.z
MESA: info: cmps.u.lt hr30.z, r5.w, (last)r15.y
MESA: info: cmps.u.lt hr31.x, r6.y, (last)r15.z
MESA: info: add.u r7.z, r6.y, (last)r7.z
MESA: info: add.u r6.w, r5.w, (last)r6.w
MESA: info: madsh.m16 r5.y, r15.x, r13.y, (last)r5.y
MESA: info: madsh.m16 r13.y, r18.w, r13.y, (last)r5.z
MESA: info: cmps.u.ge r9.z, r7.x, c0.w
MESA: info: add.u r10.y, r7.x, c0.z
MESA: info: cov.u16s32 r6.x, (last)hr30.z
MESA: info: cov.u16s32 r6.z, (last)hr31.x
MESA: info: cmps.u.lt hr15.x, (last)r7.z, (last)r6.y
MESA: info: cmps.u.lt hr13.z, (last)r6.w, (last)r5.w
MESA: info: madsh.m16 r15.x, c3.z, r15.x, (last)r5.y
MESA: info: madsh.m16 r18.w, c3.z, r18.w, (last)r13.y
MESA: info: shr.b r14.z, (last)r14.z, 16
MESA: info: shr.b r14.w, (last)r14.w, 16
MESA: info: xor.b r11.y, (last)r7.w, c0.w
MESA: info: sel.b32 r10.y, (last)r10.y, r9.z, (last)r7.x
MESA: info: sad.s32 r15.x, (last)r15.x, r6.x, (last)r14.z
MESA: info: sad.s32 r18.w, (last)r18.w, r6.z, (last)r14.w
MESA: info: cov.u16s32 r7.w, (last)hr15.x
MESA: info: cov.u16s32 r7.x, (last)hr13.z
MESA: info: shr.b r13.x, (last)r13.x, 16
MESA: info: shr.b r4.w, (last)r4.w, 16
MESA: info: cmps.u.ge r10.w, r8.w, c0.w
MESA: info: add.u r11.x, r8.w, c0.z
MESA: info: sad.s32 r18.w, (last)r18.w, r7.w, (last)r13.x
MESA: info: sad.s32 r15.x, (last)r15.x, r7.x, (last)r4.w
MESA: info: xor.b r13.z, (last)r8.x, c0.w
MESA: info: sel.b32 r11.x, (last)r11.x, r10.w, (last)r8.w
MESA: info: mull.u r8.x, r15.x, c1.x
MESA: info: mull.u r8.w, r18.w, c1.x
MESA: info: madsh.m16 r8.x, r15.x, r13.w, (last)r8.x
MESA: info: madsh.m16 r13.w, r18.w, r13.w, (last)r8.w
MESA: info: madsh.m16 r8.x, c1.x, r15.x, (last)r8.x
MESA: info: madsh.m16 r13.w, c1.x, r18.w, (last)r13.w
MESA: info: mull.u r17.w, r18.z, c4.x
MESA: info: mull.u r4.w, r18.z, c4.y
MESA: info: sub.u r12.x, (last)r12.x, (last)r13.w
MESA: info: and.b r17.z, r8.z, c17.y
MESA: info: (rpt1)shr.b r5.y, (r)r8.y, 16
MESA: info: add.u r13.x, r18.w, 1
MESA: info: sub.u r11.w, (last)r11.w, (last)r8.x
MESA: info: madsh.m16 r17.w, r18.z, r17.y, (last)r17.w
MESA: info: madsh.m16 r4.w, r18.z, r11.z, (last)r4.w
MESA: info: cmps.u.ge r13.y, r12.x, c1.x
MESA: info: mull.u r6.y, r5.y, c4.x
MESA: info: madsh.m16 r17.w, c4.x, r18.z, (last)r17.w
MESA: info: madsh.m16 r18.z, c4.y, r18.z, (last)r4.w
MESA: info: add.u r9.z, r15.x, 1
MESA: info: mull.u r5.x, r17.z, c4.y
MESA: info: cmps.u.ge r10.w, r11.w, c1.x
MESA: info: add.u r13.w, r11.w, c3.w
MESA: info: sel.b32 r13.x, (last)r13.x, r13.y, (last)r18.w
MESA: info: madsh.m16 r6.y, r5.y, r17.y, (last)r6.y
MESA: info: mull.u r18.w, r17.z, c4.x
MESA: info: shl.b r5.w, r18.z, 16
MESA: info: madsh.m16 r5.x, r17.z, r11.z, (last)r5.x
MESA: info: madsh.m16 r6.y, c4.x, r5.y, (last)r6.y
MESA: info: madsh.m16 r18.w, r17.z, r17.y, (last)r18.w
MESA: info: mull.u r6.z, r5.z, c4.x
MESA: info: sel.b32 r9.z, (last)r9.z, r10.w, (last)r15.x
MESA: info: sel.b32 r13.w, (last)r13.w, r10.w, (last)r11.w
MESA: info: madsh.m16 r18.w, c4.x, r17.z, (last)r18.w
MESA: info: madsh.m16 r17.z, c4.y, r17.z, (last)r5.x
MESA: info: add.u r5.w, r17.w, (last)r5.w
MESA: info: shl.b r8.x, r6.y, 16
MESA: info: madsh.m16 r17.y, r5.z, r17.y, (last)r6.z
MESA: info: add.u r14.w, r9.z, 1
MESA: info: cmps.u.ge r13.w, (last)r13.w, c1.x
MESA: info: shl.b r7.z, r17.z, 16
MESA: info: madsh.m16 r17.y, c4.x, r5.z, (last)r17.y
MESA: info: mull.u r6.w, r5.y, c4.y
MESA: info: cmps.u.lt hr35.z, r5.w, (last)r17.w
MESA: info: add.u r8.x, r5.w, (last)r8.x
MESA: info: sel.b32 r14.w, (last)r14.w, r13.w, (last)r9.z
MESA: info: add.u r7.z, r18.w, (last)r7.z
MESA: info: madsh.m16 r6.w, r5.y, r11.z, (last)r6.w
MESA: info: shl.b r9.z, r17.y, 16
MESA: info: cov.u16s32 r6.x, (last)hr35.z
MESA: info: cmps.u.lt hr16.x, (last)r8.x, (last)r5.w
MESA: info: madsh.m16 r5.y, c4.y, r5.y, (last)r6.w
MESA: info: mull.u r7.x, r5.z, c4.y
MESA: info: shr.b r18.z, (last)r18.z, 16
MESA: info: cmps.u.lt hr37.z, r7.z, (last)r18.w
MESA: info: add.u r9.z, r7.z, (last)r9.z
MESA: info: cov.u16s32 r8.w, (last)hr16.x
MESA: info: madsh.m16 r11.z, r5.z, r11.z, (last)r7.x
MESA: info: sad.s32 r5.y, (last)r5.y, r6.x, (last)r18.z
MESA: info: shr.b r6.y, (last)r6.y, 16
MESA: info: cov.u16s32 r7.w, (last)hr37.z
MESA: info: cmps.u.lt hr19.x, (last)r9.z, (last)r7.z
MESA: info: madsh.m16 r5.z, c4.y, r5.z, (last)r11.z
MESA: info: cmps.s.lt r11.y, (last)r11.y, 0
MESA: info: shr.b r17.z, (last)r17.z, 16
MESA: info: absneg.s r15.y, (neg)r14.w
MESA: info: sad.s32 r5.y, (last)r5.y, r8.w, (last)r6.y
MESA: info: cov.u16s32 r10.w, (last)hr19.x
MESA: info: sad.s32 r5.z, (last)r5.z, r7.w, (last)r17.z
MESA: info: add.u r14.z, r12.x, c3.w
MESA: info: shr.b r17.y, (last)r17.y, 16
MESA: info: sel.b32 r15.y, (last)r15.y, r11.y, (last)r14.w
MESA: info: mull.u r11.y, r5.y, c1.z
MESA: info: sad.s32 r5.z, (last)r5.z, r10.w, (last)r17.y
MESA: info: madsh.m16 r11.y, r5.y, r16.x, (last)r11.y
MESA: info: sel.b32 r14.z, (last)r14.z, r13.y, (last)r12.x
MESA: info: madsh.m16 r5.y, c1.z, r5.y, (last)r11.y
MESA: info: mull.u r11.z, r5.z, c1.z
MESA: info: add.u r15.x, r13.x, 1
MESA: info: cmps.u.ge r14.z, (last)r14.z, c1.x
MESA: info: sub.u r5.y, r8.y, (last)r5.y
MESA: info: madsh.m16 r16.x, r5.z, r16.x, (last)r11.z
MESA: info: sel.b32 r15.x, (last)r15.x, r14.z, (last)r13.x
MESA: info: madsh.m16 r5.z, c1.z, r5.z, (last)r16.x
MESA: info: cmps.u.ge r11.w, r5.y, c1.z
MESA: info: add.u r12.x, r5.y, c4.z
MESA: info: sub.u r5.z, r8.z, (last)r5.z
MESA: info: cmps.s.lt r13.z, (last)r13.z, 0
MESA: info: absneg.s r15.z, (neg)r15.x
MESA: info: sel.b32 r12.x, (last)r12.x, r11.w, (last)r5.y
MESA: info: cmps.u.ge r13.x, r5.z, c1.z
MESA: info: add.u r13.y, r5.z, c4.z
MESA: info: sel.b32 r15.z, (last)r15.z, r13.z, (last)r15.x
MESA: info: add.u r13.w, r12.x, c4.z
MESA: info: cmps.u.ge r13.z, r12.x, c1.z
MESA: info: (nop1) sel.b32 r13.y, (last)r13.y, r13.x, (last)r5.z
MESA: info: sel.b32 r13.w, (last)r13.w, r13.z, (last)r12.x
MESA: info: cmps.u.ge r14.z, r13.y, c1.z
MESA: info: add.u r14.w, r13.y, c4.z
MESA: info: and.b r15.x, r13.w, c17.y
MESA: info: shr.b r16.x, r13.w, 16
MESA: info: sel.b32 r14.w, (last)r14.w, r14.z, (last)r13.y
MESA: info: mull.u r17.z, r15.x, c4.w
MESA: info: mull.u r18.z, r15.x, c5.x
MESA: info: and.b r17.y, r14.w, c17.y
MESA: info: madsh.m16 r17.z, r15.x, r16.y, (last)r17.z
MESA: info: madsh.m16 r18.z, r15.x, r16.w, (last)r18.z
MESA: info: mull.u r5.x, r16.x, c4.w
MESA: info: madsh.m16 r17.z, c4.w, r15.x, (last)r17.z
MESA: info: madsh.m16 r15.x, c5.x, r15.x, (last)r18.z
MESA: info: shr.b r4.w, r14.w, 16
MESA: info: mull.u r17.w, r17.y, c4.w
MESA: info: mull.u r18.w, r17.y, c5.x
MESA: info: madsh.m16 r5.x, r16.x, r16.y, (last)r5.x
MESA: info: shl.b r6.x, r15.x, 16
MESA: info: madsh.m16 r17.w, r17.y, r16.y, (last)r17.w
MESA: info: madsh.m16 r18.w, r17.y, r16.w, (last)r18.w
MESA: info: madsh.m16 r5.x, c4.w, r16.x, (last)r5.x
MESA: info: mull.u r5.y, r4.w, c4.w
MESA: info: madsh.m16 r17.w, c4.w, r17.y, (last)r17.w
MESA: info: madsh.m16 r17.y, c5.x, r17.y, (last)r18.w
MESA: info: add.u r6.x, r17.z, (last)r6.x
MESA: info: shl.b r7.x, r5.x, 16
MESA: info: madsh.m16 r16.y, r4.w, r16.y, (last)r5.y
MESA: info: shl.b r6.z, r17.y, 16
MESA: info: madsh.m16 r16.y, c4.w, r4.w, (last)r16.y
MESA: info: mull.u r5.z, r16.x, c5.x
MESA: info: cmps.u.lt hr35.x, r6.x, (last)r17.z
MESA: info: add.u r7.x, r6.x, (last)r7.x
MESA: info: add.u r6.z, r17.w, (last)r6.z
MESA: info: shl.b r7.w, r16.y, 16
MESA: info: madsh.m16 r5.z, r16.x, r16.w, (last)r5.z
MESA: info: cov.u16s32 r6.y, (last)hr35.x
MESA: info: cmps.u.lt hr14.x, (last)r7.x, (last)r6.x
MESA: info: madsh.m16 r16.x, c5.x, r16.x, (last)r5.z
MESA: info: mull.u r5.w, r4.w, c5.x
MESA: info: shr.b r15.x, (last)r15.x, 16
MESA: info: cmps.u.lt hr35.z, r6.z, (last)r17.w
MESA: info: add.u r7.w, r6.z, (last)r7.w
MESA: info: cov.u16s32 r7.z, (last)hr14.x
MESA: info: madsh.m16 r16.w, r4.w, r16.w, (last)r5.w
MESA: info: sad.s32 r16.x, (last)r16.x, r6.y, (last)r15.x
MESA: info: shr.b r5.x, (last)r5.x, 16
MESA: info: cov.u16s32 r6.w, (last)hr35.z
MESA: info: cmps.u.lt hr15.z, (last)r7.w, (last)r6.z
MESA: info: madsh.m16 r4.w, c5.x, r4.w, (last)r16.w
MESA: info: shr.b r17.y, (last)r17.y, 16
MESA: info: sad.s32 r16.x, (last)r16.x, r7.z, (last)r5.x
MESA: info: cov.u16s32 r8.x, (last)hr15.z
MESA: info: sad.s32 r4.w, (last)r4.w, r6.w, (last)r17.y
MESA: info: shr.b r16.y, (last)r16.y, 16
MESA: info: mull.u r8.w, r16.x, c1.y
MESA: info: sad.s32 r4.w, (last)r4.w, r8.x, (last)r16.y
MESA: info: madsh.m16 r8.w, r16.x, r17.x, (last)r8.w
MESA: info: absneg.s r16.y, (abs)r14.w
MESA: info: madsh.m16 r16.x, c1.y, r16.x, (last)r8.w
MESA: info: mull.u r9.z, r4.w, c1.y
MESA: info: shr.b r5.y, r16.y, 16
MESA: info: sub.u r16.x, r13.w, (last)r16.x
MESA: info: madsh.m16 r9.z, r4.w, r17.x, (last)r9.z
MESA: info: mull.u r5.w, r5.y, c5.w
MESA: info: madsh.m16 r4.w, c1.y, r4.w, (last)r9.z
MESA: info: cmps.u.ge r10.w, r16.x, c1.y
MESA: info: add.u r11.y, r16.x, c5.y
MESA: info: sub.u r4.w, r14.w, (last)r4.w
MESA: info: mull.u r6.y, r5.y, c6.x
MESA: info: sel.b32 r11.y, (last)r11.y, r10.w, (last)r16.x
MESA: info: absneg.s r16.x, (abs)r13.w
MESA: info: cmps.u.ge r11.z, r4.w, c1.y
MESA: info: add.u r11.w, r4.w, c5.y
MESA: info: (rpt1)and.b r17.y, (r)r16.x, c17.y
MESA: info: shr.b r17.w, r16.x, 16
MESA: info: sel.b32 r11.w, (last)r11.w, r11.z, (last)r4.w
MESA: info: mull.u r18.z, r17.y, c5.w
MESA: info: mull.u r4.w, r17.y, c6.x
MESA: info: madsh.m16 r18.z, r17.y, r18.x, (last)r18.z
MESA: info: madsh.m16 r4.w, r17.y, r18.y, (last)r4.w
MESA: info: mull.u r5.z, r17.w, c5.w
MESA: info: madsh.m16 r18.z, c5.w, r17.y, (last)r18.z
MESA: info: madsh.m16 r17.y, c6.x, r17.y, (last)r4.w
MESA: info: madsh.m16 r5.z, r17.w, r18.x, (last)r5.z
MESA: info: mull.u r18.w, r17.z, c5.w
MESA: info: shl.b r6.z, r17.y, 16
MESA: info: madsh.m16 r5.z, c5.w, r17.w, (last)r5.z
MESA: info: mull.u r5.x, r17.z, c6.x
MESA: info: add.u r6.z, r18.z, (last)r6.z
MESA: info: shl.b r7.w, r5.z, 16
MESA: info: mull.u r6.x, r17.w, c6.x
MESA: info: cmps.u.lt hr37.x, r6.z, (last)r18.z
MESA: info: add.u r7.w, r6.z, (last)r7.w
MESA: info: madsh.m16 r18.w, r17.z, r18.x, (last)r18.w
MESA: info: madsh.m16 r5.x, r17.z, r18.y, (last)r5.x
MESA: info: madsh.m16 r6.x, r17.w, r18.y, (last)r6.x
MESA: info: cov.u16s32 r6.w, (last)hr37.x
MESA: info: cmps.u.lt hr15.z, (last)r7.w, (last)r6.z
MESA: info: madsh.m16 r18.w, c5.w, r17.z, (last)r18.w
MESA: info: madsh.m16 r17.w, c6.x, r17.w, (last)r6.x
MESA: info: madsh.m16 r17.z, c6.x, r17.z, (last)r5.x
MESA: info: shr.b r17.y, (last)r17.y, 16
MESA: info: madsh.m16 r18.x, r5.y, r18.x, (last)r5.w
MESA: info: cov.u16s32 r8.x, (last)hr15.z
MESA: info: shl.b r7.x, r17.z, 16
MESA: info: sad.s32 r17.w, (last)r17.w, r6.w, (last)r17.y
MESA: info: madsh.m16 r18.x, c5.w, r5.y, (last)r18.x
MESA: info: shr.b r5.z, (last)r5.z, 16
MESA: info: add.u r7.x, r18.w, (last)r7.x
MESA: info: shl.b r8.w, r18.x, 16
MESA: info: sad.s32 r17.w, (last)r17.w, r8.x, (last)r5.z
MESA: info: cmps.u.lt hr37.z, r7.x, (last)r18.w
MESA: info: add.u r8.w, r7.x, (last)r8.w
MESA: info: mull.u r10.w, r17.w, c5.z
MESA: info: madsh.m16 r18.y, r5.y, r18.y, (last)r6.y
MESA: info: madsh.m16 r10.w, r17.w, r7.y, (last)r10.w
MESA: info: cov.u16s32 r7.z, (last)hr37.z
MESA: info: cmps.u.lt hr17.z, (last)r8.w, (last)r7.x
MESA: info: madsh.m16 r5.y, c6.x, r5.y, (last)r18.y
MESA: info: madsh.m16 r10.w, c5.z, r17.w, (last)r10.w
MESA: info: shr.b r17.z, (last)r17.z, 16
MESA: info: cmps.u.ge r13.y, r11.w, c1.y
MESA: info: add.u r13.z, r11.w, c5.y
MESA: info: cov.u16s32 r9.z, (last)hr17.z
MESA: info: sub.u r16.x, (last)r16.x, (last)r10.w
MESA: info: sad.s32 r5.y, (last)r5.y, r7.z, (last)r17.z
MESA: info: shr.b r18.x, (last)r18.x, 16
MESA: info: cmps.u.ge r12.x, r11.y, c1.y
MESA: info: add.u r13.x, r11.y, c5.y
MESA: info: add.u r11.z, r17.w, 1
MESA: info: sel.b32 r13.z, (last)r13.z, r13.y, (last)r11.w
MESA: info: sad.s32 r5.y, (last)r5.y, r9.z, (last)r18.x
MESA: info: cmps.u.ge r11.w, r16.x, c5.z
MESA: info: sel.b32 r13.x, (last)r13.x, r12.x, (last)r11.y
MESA: info: mull.u r11.y, r5.y, c5.z
MESA: info: sel.b32 r11.z, (last)r11.z, r11.w, (last)r17.w
MESA: info: mull.u r17.w, r11.x, c1.y
MESA: info: madsh.m16 r7.y, r5.y, r7.y, (last)r11.y
MESA: info: madsh.m16 r17.w, r11.x, r17.x, (last)r17.w
MESA: info: madsh.m16 r7.y, c5.z, r5.y, (last)r7.y
MESA: info: madsh.m16 r11.x, c1.y, r11.x, (last)r17.w
MESA: info: add.u r12.x, r5.y, 1
MESA: info: sub.u r16.y, (last)r16.y, (last)r7.y
MESA: info: add.u r11.x, (last)r11.x, (last)r13.z
MESA: info: xor.b r14.z, (last)r13.w, c1.y
MESA: info: cmps.u.ge r13.y, r16.y, c5.z
MESA: info: mull.u r18.w, r11.x, c6.z
MESA: info: add.u r13.w, r16.x, c6.y
MESA: info: madsh.m16 r18.w, r11.x, r9.x, (last)r18.w
MESA: info: sel.b32 r12.x, (last)r12.x, r13.y, (last)r5.y
MESA: info: madsh.m16 r11.x, c6.z, r11.x, (last)r18.w
MESA: info: shl.b r5.y, r8.y, 3
MESA: info: shl.b r8.y, (last)r8.y, 5
MESA: info: cov.s32f32 r11.x, (last)r11.x
MESA: info: sel.b32 r13.w, (last)r13.w, r11.w, (last)r16.x
MESA: info: add.u r6.z, r8.y, 12
MESA: info: add.u r6.w, (last)r8.y, 28
MESA: info: isam.v.base3 (u32)(xy)r6.x, r5.y, s#0, t#0
MESA: info: add.f r11.x, c0.x, (last)r11.x
MESA: info: (rpt1)shr.b r6.z, (last)(r)r6.z, 2
MESA: info: add.u r15.x, r11.z, 1
MESA: info: cmps.u.ge r13.w, (last)r13.w, c5.z
MESA: info: max.f r7.z, c12.x, r11.x
MESA: info: add.f r11.x, (last)r11.x, c7.z
MESA: info: sel.b32 r15.x, (last)r15.x, r13.w, (last)r11.z
MESA: info: xor.b r16.w, (last)r14.w, c1.y
MESA: info: min.f r7.z, (last)r7.z, (last)r11.x
MESA: info: isam.v.base3 (u32)(xyzw)r10.w, r6.z, s#0, t#0
MESA: info: isam.v.base3 (u32)(x)r11.w, r6.w, s#0, t#0
MESA: info: add.u r14.w, r16.y, c6.y
MESA: info: add.u r16.x, r12.x, 1
MESA: info: mull.u r18.y, r15.z, c1.y
MESA: info: sel.b32 r14.w, (last)r14.w, r13.y, (last)r16.y
MESA: info: mull.u r17.z, r10.y, c1.y
MESA: info: mull.u r18.x, r15.y, c1.y
MESA: info: cmps.u.ge r14.w, (last)r14.w, c5.z
MESA: info: cmps.s.lt r14.z, (last)r14.z, 0
MESA: info: cmps.s.lt r16.w, (last)r16.w, 0
MESA: info: sel.b32 r16.x, (last)r16.x, r14.w, (last)r12.x
MESA: info: absneg.s r16.y, (neg)r15.x
MESA: info: madsh.m16 r17.z, r10.y, r17.x, (last)r17.z
MESA: info: absneg.s r17.y, (neg)r16.x
MESA: info: madsh.m16 r18.x, r15.y, r17.x, (last)r18.x
MESA: info: madsh.m16 r17.x, r15.z, r17.x, (last)r18.y
MESA: info: sel.b32 r16.y, (last)r16.y, r14.z, (last)r15.x
MESA: info: madsh.m16 r10.y, c1.y, r10.y, (last)r17.z
MESA: info: sel.b32 r17.y, (last)r17.y, r16.w, (last)r16.x
MESA: info: madsh.m16 r15.y, c1.y, r15.y, (last)r18.x
MESA: info: madsh.m16 r15.z, c1.y, r15.z, (last)r17.x
MESA: info: add.u r10.y, (last)r10.y, (last)r13.x
MESA: info: add.u r15.y, (last)r15.y, (last)r16.y
MESA: info: add.u r15.z, (last)r15.z, (last)r17.y
MESA: info: mull.u r18.z, r10.y, c6.z
MESA: info: mull.u r4.w, r15.y, c6.z
MESA: info: mull.u r5.x, r15.z, c6.z
MESA: info: madsh.m16 r18.z, r10.y, r9.x, (last)r18.z
MESA: info: madsh.m16 r4.w, r15.y, r9.x, (last)r4.w
MESA: info: madsh.m16 r9.x, r15.z, r9.x, (last)r5.x
MESA: info: madsh.m16 r10.y, c6.z, r10.y, (last)r18.z
MESA: info: madsh.m16 r15.y, c6.z, r15.y, (last)r4.w
MESA: info: madsh.m16 r15.z, c6.z, r15.z, (last)r9.x
MESA: info: cov.s32f32 r10.y, (last)r10.y
MESA: info: cov.s32f32 r15.y, (last)r15.y
MESA: info: cov.s32f32 r15.z, (last)r15.z
MESA: info: shl.b r5.z, r8.z, 5
MESA: info: add.f r10.y, c0.x, (last)r10.y
MESA: info: add.f r15.y, c0.y, (last)r15.y
MESA: info: add.f r15.z, c0.y, (last)r15.z
MESA: info: add.u r7.x, r5.z, 12
MESA: info: max.f r5.w, c12.x, r10.y
MESA: info: max.f r7.w, c12.y, r15.y
MESA: info: max.f r8.x, c12.y, r15.z
MESA: info: add.f r10.y, (last)r10.y, c7.z
MESA: info: add.f r15.y, (last)r15.y, c7.z
MESA: info: add.f r15.z, (last)r15.z, c7.z
MESA: info: add.u r7.y, (last)r5.z, 28
MESA: info: mov.u32u32 r12.x, r0.w
MESA: info: shl.b r8.z, (last)r8.z, 3
MESA: info: min.f r5.w, (last)r5.w, (last)r10.y
MESA: info: min.f r7.w, (last)r7.w, (last)r15.y
MESA: info: (sy)max.f r6.x, c12.z, (last)r6.x
MESA: info: mov.u32u32 r3.z, (last)r10.w
MESA: info: min.f r8.x, (last)r8.x, (last)r15.z
MESA: info: (rpt1)shr.b r7.x, (last)(r)r7.x, 2
MESA: info: min.f r6.x, (last)r6.x, (last)r6.y
MESA: info: mov.u32u32 r3.w, (last)r11.x
MESA: info: mov.u32u32 r4.x, (last)r11.y
MESA: info: mov.u32u32 r4.y, (last)r11.z
MESA: info: mov.u32u32 r4.z, (last)r11.w
MESA: info: l2556:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.s.lt p0.x, r12.x, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l2562
MESA: info: mov.u32u32 r12.x, 0xffffffff
MESA: info: jump #l2582
MESA: info: l2562:
MESA: info: add.f r13.y, c12.y, (neg)r7.w
MESA: info: add.f r13.z, c12.z, (neg)r6.x
MESA: info: add.f r13.w, c12.x, (neg)r5.w
MESA: info: mul.f r13.y, (last)r13.y, r13.y
MESA: info: cov.u32s16 hr26.x, r12.x
MESA: info: (nop1) mad.f32 r13.z, (last)r13.z, r13.z, (last)r13.y
MESA: info: mad.f32 r13.w, (last)r13.w, r13.w, (last)r13.z
MESA: info: mova a0.x, (last)hr26.x
MESA: info: (rpt3)nop
MESA: info: rsq r13.w, (last)r13.w
MESA: info: nop
MESA: info: (ul)mov.u32u32 r14.z, r<a0.x + 14>
MESA: info: (rpt1)nop
MESA: info: (ss)(nop2) mul.f r14.z, (last)r14.z, (last)r13.w
MESA: info: (nop2) mul.f r14.z, c13.x, (last)r14.z
MESA: info: (nop3) cmps.f.lt p0.x, (last)r14.z, c13.y
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l2582
MESA: info: add.u r12.x, (last)r12.x, -1
MESA: info: jump #l2556
MESA: info: l2582:
MESA: info: (jp)isam.v.base3 (u32)(xy)r14.w, r10.z, s#0, t#0
MESA: info: isam.v.base3 (u32)(xyzw)r16.w, r12.y, s#0, t#0
MESA: info: isam.v.base3 (u32)(x)r17.w, r12.z, s#0, t#0
MESA: info: mov.u32u32 r18.x, r0.w
MESA: info: nop
MESA: info: (nop2) sub.u r12.x, c7.y, (last)r12.x
MESA: info: (nop2) shl.b r12.x, 1, (last)r12.x
MESA: info: cov.u32f32 r12.x, (last)r12.x
MESA: info: (rpt1)nop
MESA: info: min.f r14.z, r9.y, (last)r12.x
MESA: info: (sy)max.f r14.w, c12.z, (last)r14.w
MESA: info: mov.u32u32 r2.y, (last)r16.w
MESA: info: mov.u32u32 r2.z, (last)r17.x
MESA: info: min.f r14.w, (last)r14.w, (last)r15.x
MESA: info: mov.u32u32 r2.w, (last)r17.y
MESA: info: mov.u32u32 r3.x, (last)r17.z
MESA: info: mov.u32u32 r3.y, (last)r17.w
MESA: info: l2599:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.s.lt p0.x, r18.x, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l2605
MESA: info: mov.u32u32 r18.x, 0xffffffff
MESA: info: jump #l2625
MESA: info: l2605:
MESA: info: add.f r18.z, c12.y, (neg)r14.x
MESA: info: add.f r18.w, c12.z, (neg)r14.w
MESA: info: add.f r3.z, c12.x, (neg)r12.w
MESA: info: mul.f r18.z, (last)r18.z, r18.z
MESA: info: cov.u32s16 hr36.z, r18.x
MESA: info: (nop1) mad.f32 r18.w, (last)r18.w, r18.w, (last)r18.z
MESA: info: mad.f32 r3.z, (last)r3.z, r3.z, (last)r18.w
MESA: info: mova a0.x, (last)hr36.z
MESA: info: (rpt3)nop
MESA: info: rsq r3.z, (last)r3.z
MESA: info: nop
MESA: info: (ul)mov.u32u32 r3.w, r<a0.x + 9>
MESA: info: (rpt1)nop
MESA: info: (ss)(nop2) mul.f r3.w, (last)r3.w, (last)r3.z
MESA: info: (nop2) mul.f r3.w, c13.x, (last)r3.w
MESA: info: (nop3) cmps.f.lt p0.x, (last)r3.w, c13.y
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l2625
MESA: info: add.u r18.x, (last)r18.x, -1
MESA: info: jump #l2599
MESA: info: l2625:
MESA: info: (jp)isam.v.base3 (u32)(xy)r4.x, r8.z, s#0, t#0
MESA: info: isam.v.base3 (u32)(xyzw)r4.z, r7.x, s#0, t#0
MESA: info: isam.v.base3 (u32)(x)r5.z, r7.y, s#0, t#0
MESA: info: mov.u32u32 r15.x, (last)r0.w
MESA: info: nop
MESA: info: (nop2) sub.u r18.x, c7.y, (last)r18.x
MESA: info: (nop2) shl.b r18.x, 1, (last)r18.x
MESA: info: cov.u32f32 r18.x, (last)r18.x
MESA: info: (rpt1)nop
MESA: info: min.f r14.w, r9.y, (last)r18.x
MESA: info: (sy)max.f r4.x, c12.z, (last)r4.x
MESA: info: mov.u32u32 r1.x, (last)r4.z
MESA: info: mov.u32u32 r1.y, (last)r4.w
MESA: info: min.f r4.x, (last)r4.x, (last)r4.y
MESA: info: mov.u32u32 r1.z, (last)r5.x
MESA: info: mov.u32u32 r1.w, (last)r5.y
MESA: info: mov.u32u32 r2.x, (last)r5.z
MESA: info: l2642:
MESA: info: (rpt1)nop
MESA: info: (nop3) cmps.s.lt p0.x, r15.x, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l2648
MESA: info: mov.u32u32 r15.x, 0xffffffff
MESA: info: jump #l2668
MESA: info: l2648:
MESA: info: add.f r6.x, c12.y, (neg)r8.x
MESA: info: add.f r6.y, c12.z, (neg)r4.x
MESA: info: add.f r6.z, c12.x, (neg)r7.z
MESA: info: mul.f r6.x, (last)r6.x, r6.x
MESA: info: cov.u32s16 hr11.z, r15.x
MESA: info: (nop1) mad.f32 r6.y, (last)r6.y, r6.y, (last)r6.x
MESA: info: mad.f32 r6.z, (last)r6.z, r6.z, (last)r6.y
MESA: info: mova a0.x, (last)hr11.z
MESA: info: (rpt3)nop
MESA: info: rsq r6.z, (last)r6.z
MESA: info: nop
MESA: info: (ul)mov.u32u32 r6.w, r<a0.x + 4>
MESA: info: (rpt1)nop
MESA: info: (ss)(nop2) mul.f r6.w, (last)r6.w, (last)r6.z
MESA: info: (nop2) mul.f r6.w, c13.x, (last)r6.w
MESA: info: (nop3) cmps.f.lt p0.x, (last)r6.w, c13.y
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l2668
MESA: info: add.u r15.x, (last)r15.x, -1
MESA: info: jump #l2642
MESA: info: l2668:
MESA: info: (jp)mul.f r7.x, r9.w, c17.z
MESA: info: mul.f r7.y, r10.x, c17.z
MESA: info: sub.u r15.x, c7.y, (last)r15.x
MESA: info: floor.f r7.x, (last)r7.x
MESA: info: floor.f r7.y, (last)r7.y
MESA: info: shl.b r15.x, 1, (last)r15.x
MESA: info: add.f r7.x, (last)r7.x, (neg)c8.x
MESA: info: add.f r7.y, (last)r7.y, (neg)c8.y
MESA: info: shrm r7.z, 6, r0.x, 31
MESA: info: cov.f32u32 r7.x, (last)r7.x
MESA: info: cov.f32u32 r7.y, (last)r7.y
MESA: info: and.b r7.w, r0.x, 63
MESA: info: and.b r7.x, (last)r7.x, 3
MESA: info: and.b r7.y, (last)r7.y, 3
MESA: info: cov.u32f32 r15.x, (last)r15.x
MESA: info: cov.u32f32 r7.x, (last)r7.x
MESA: info: cov.u32f32 r7.y, (last)r7.y
MESA: info: cov.s32f32 r15.w, (last)r15.w
MESA: info: cov.s32f32 r16.z, (last)r16.z
MESA: info: mul.s24 r7.z, (last)r7.z, 48
MESA: info: mov.u32u32 r9.z, r9.y
MESA: info: min.f r15.x, r9.y, (last)r15.x
MESA: info: mad.f32 r10.y, c7.w, r7.x, (last)r15.w
MESA: info: mad.f32 r10.z, c7.w, r7.y, (last)r16.z
MESA: info: (nop3) mad.s24 r7.w, c16.x, r7.w, (last)r7.z
MESA: info: (rpt1)nop
MESA: info: stl.u32 l[r7.w], r9.w, 4
MESA: info: stl.u32 l[r7.w+16], r14.y, 4
MESA: info: stl.u32 l[r7.w+32], r9.y, 2
MESA: info: chmask
MESA: info: chsh
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r0.z (VARYING_SLOT_PRIMITIVE_ID) r0.y (VARYING_SLOT_PATCH3) r0.x (TCS_HEADER)
MESA: info: ; VERT: inputs: r0.x (SYSTEM_VALUE_TCS_HEADER_IR3 slot=85 cm=1,il=0,b=0) r0.y (SYSTEM_VALUE_REL_PATCH_ID_IR3 slot=86 cm=1,il=0,b=0) r0.z (SYSTEM_VALUE_PRIMITIVE_ID slot=35 cm=1,il=0,b=0) r0.w (SYSTEM_VALUE_VERTEX_ID slot=9 cm=1,il=0,b=0)
MESA: info: ; VERT prog 102/1: 2240 instr, 156 nops, 2084 non-nops, 66 mov, 110 cov, 5408 dwords
MESA: info: ; VERT prog 102/1: 0 last-baryf, 0 last-helper, 0 half, 19 full, 20 constlen
MESA: info: ; VERT prog 102/1: 178 cat0, 176 cat1, 1155 cat2, 708 cat3, 5 cat4, 15 cat5, 3 cat6, 0 cat7
MESA: info: ; VERT prog 102/1: 30 sstall, 5 (ss), 230 systall, 6 (sy), 5 loops
MESA: info: ; VERT prog 102/1: 10 max_waves, 0 double_threadsize
MESA: info: ; 606 preamble-instr, 1 early-preamble
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x9aba71b9, 0xe7089c03, 0xefe423a5, 0x3b581672, 0x6e837932, 0x857b7eff, 0xe9e9f8b6, 0x83300901}
MESA: info: inputs_read: 32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: uses_discard: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_VAR0.xyzw, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #1
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000005 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x5)) (desc_set=1)
MESA: info:             con 32    %118 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32x2  %114 = @load_ubo_vec4 (%4, %118 (0x1)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %6 = frcp %114.x
MESA: info:                              @store_const_ir3 (%6) (base=0)
MESA: info:             con 32      %7 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32    %157 = ffma %7 (2.000000), %114.y, %114.x
MESA: info:             con 32     %10 = f2i32 %157
MESA: info:                              @store_const_ir3 (%10) (base=1)
MESA: info:             con 32     %11 = frcp %157
MESA: info:                              @store_const_ir3 (%11) (base=2)
MESA: info:             con 32     %12 = ftrunc %157
MESA: info:                              @store_const_ir3 (%12) (base=3)
MESA: info:             con 32     %13 = load_const (0xffffffff = -1 = 4294967295)
MESA: info:             con 32     %14 = iadd %10, %13 (0xffffffff)
MESA: info:                              @store_const_ir3 (%14) (base=4)
MESA: info:             con 32     %17 = load_const (0x00000000 = 0.000000)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %17 (0x0)) (base=16, range=4)
MESA: info:             con 32     %18 = load_const (0x00000007 = 0.000000)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%18 (0x7)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%19, %17 (0x0)) (base=32, range=256)
MESA: info:             con 32     %21 = load_const (0x00000100 = 0.000000 = 256)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%19, %21 (0x100)) (base=1056, range=16)
MESA: info:             con 32     %22 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32     %23 = @bindless_resource_ir3 (%22 (0x2)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%23)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %24 = load_const (0x00000000)
MESA: info:     div 32x2   %25 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x4   %26 = @load_interpolated_input (%25, %24 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32     %27 = load_const (0x3f000000 = 0.500000)
MESA: info:     div 32x2  %158 = fadd %26.zw, %27 (0.500000).xx
MESA: info:     div 32x2  %159 = ffloor %158
MESA: info:     con 32     %34 = load_const (0x00000002)
MESA: info:     con 32     %35 = load_const (0x00000010 = 16)
MESA: info:     con 32x2   %39 = @load_const_ir3 (%24 (0x0)) (base=20)
MESA: info:     div 32x2  %160 = fmul %26.xy, %39.xx
MESA: info:     div 32x2  %161 = ffloor %160
MESA: info:     div 32x2  %162 = fadd %161, %27 (0.500000).xx
MESA: info:     con 32     %47 = @load_const_ir3 (%24 (0x0)) (base=0)
MESA: info:     div 32x2  %163 = fmul %162, %47.xx
MESA: info:     con 32     %51 = @load_const_ir3 (%24 (0x0)) (base=1)
MESA: info:     div 32x2  %164 = f2i32 %159
MESA: info:     div 32x2  %165 = umul_low %51.xx, %164
MESA: info:     div 32x2  %166 = imadsh_mix16 %51.xx, %164, %165
MESA: info:     div 32x2  %167 = imadsh_mix16 %164, %51.xx, %166
MESA: info:     div 32x2  %168 = ffma %163, %39.xx, %39.yy
MESA: info:     con 32     %61 = @load_const_ir3 (%24 (0x0)) (base=2)
MESA: info:     div 32x2  %169 = ffma %168, %61.xx, %159
MESA: info:     con 32     %67 = @load_const_ir3 (%24 (0x0)) (base=3)
MESA: info:     div 32x2  %170 = fmul %169, %67.xx
MESA: info:     div 32x2  %171 = f2i32 %170
MESA: info:     div 32x2  %172 = imax %171, %167
MESA: info:     con 32     %74 = load_const (0xffffffff = -1 = 4294967295)
MESA: info:     con 32     %76 = @load_const_ir3 (%24 (0x0)) (base=4)
MESA: info:     div 32x2  %173 = iadd %76.xx, %167
MESA: info:     div 32x2  %174 = imin %172, %173
MESA: info:     con 32     %82 = @bindless_resource_ir3 (%34 (0x2)) (desc_set=2)
MESA: info:     div 32x4   %83 = (float32)txf %82 (texture_handle), %174 (coord), %24 (0x0) (lod), 0 (texture)
MESA: info:     con 32     %84 = load_const (0x437f0000 = 255.000000)
MESA: info:     div 32    %152 = ffma %84 (255.000000), %83.x, %27 (0.500000)
MESA: info:     div 32     %87 = f2i32 %152
MESA: info:     div 32     %88 = ishl %164.x, %34 (0x2)
MESA: info:     div 32     %89 = iadd %88, %164.y
MESA: info:     con 32     %90 = load_const (0x00000011 = 17)
MESA: info:     div 32    %131 = umul_low %90 (0x11), %89
MESA: info:     div 32    %132 = imadsh_mix16 %90 (0x11), %89, %131
MESA: info:     con 32     %92 = load_const (0x00000110 = 272)
MESA: info:     div 32    %128 = umul_low %89, %92 (0x110)
MESA: info:     div 32    %130 = imadsh_mix16 %92 (0x110), %89, %128
MESA: info:     div 32     %97 = ushr %130, %34 (0x2)
MESA: info:     div 32     %98 = @load_const_ir3 (%97) (base=32)
MESA: info:     div 1      %99 = ige %35 (0x10), %98
MESA: info:     div 32    %100 = iadd %87, %132
MESA: info:     div 32    %105 = ishl %100, %34 (0x2)
MESA: info:     div 32    %106 = @load_const_ir3 (%105) (base=36)
MESA: info:     div 32    %116 = bcsel %99, %106, %87
MESA: info:     div 32    %117 = iadd %74 (0xffffffff), %116
MESA: info:     con 32    %110 = load_const (0x000000fe = 254)
MESA: info:     div 1     %111 = ieq %117, %110 (0xfe)
MESA: info:                      @demote_if (%111)
MESA: info:                      // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 3c6ab6490ad69c73a0684198ca6d92b856080f81:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (276 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      2
MESA: info: ;   range[0]:
MESA: info: ;     block:          5
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          7
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           272 vec4 (0b -> 4352b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @const(c280.x)	0x437f0000, 0x3f000000, 0x00000011, 0x00000110
MESA: info: shps #l28
MESA: info: getone #l28
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 1, 5
MESA: info: mova1 a1.x, 16
MESA: info: mov.u32u32 r0.z, 256
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 2
MESA: info: (sy)(ss)mul.f r48.y, (2.0), r48.y
MESA: info: add.f r48.y, r48.y, r48.x
MESA: info: cov.f32s32 r48.z, r48.y
MESA: info: trunc.f r48.w, r48.y
MESA: info: add.u r49.x, r48.z, -1
MESA: info: (ss)rcp r48.x, r48.x
MESA: info: rcp r48.y, r48.y
MESA: info: stc.u32 c[1], r48.z, 1
MESA: info: stc.u32 c[3], r48.w, 1
MESA: info: stc.u32 c[4], r49.x, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[2], r48.y, 1
MESA: info: (rpt2)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 5
MESA: info: (ss)mova1 a1.x, 32
MESA: info: (rpt4)nop
MESA: info: ldc.256.k.imm.base1 c[a1.x], 0, 7
MESA: info: (ss)mova1 a1.x, 1056
MESA: info: (rpt4)nop
MESA: info: ldc.16.k.imm.base1 c[a1.x], r0.z, 7
MESA: info: (sy)(ss)shpe
MESA: info: l28:
MESA: info: (jp)bary.f r0.w, 2, r0.x
MESA: info: bary.f r1.x, 3, r0.x
MESA: info: (rpt1)bary.f (ei)r1.y, (r)0, (last)r0.x
MESA: info: add.f r0.w, (last)r0.w, (0.5)
MESA: info: (rpt1)mul.f r1.y, (last)(r)r1.y, c5.x
MESA: info: add.f r1.x, (last)r1.x, (0.5)
MESA: info: (rpt1)floor.f r1.y, (last)(r)r1.y
MESA: info: floor.f r0.w, (last)r0.w
MESA: info: (rpt1)add.f r1.y, (last)(r)r1.y, (0.5)
MESA: info: floor.f r1.x, (last)r1.x
MESA: info: (rpt1)mul.f r1.y, (last)(r)r1.y, c0.x
MESA: info: cov.f32s32 r2.y, r0.w
MESA: info: (rpt1)mad.f32 r1.y, c5.x, (r)r1.y, c5.y
MESA: info: cov.f32s32 r2.z, r1.x
MESA: info: mad.f32 r1.w, c0.z, r1.y, (last)r0.w
MESA: info: mov.f32f32 r3.w, c0.y
MESA: info: mull.u r2.w, c0.y, r2.y
MESA: info: mad.f32 r2.x, c0.z, r1.z, (last)r1.x
MESA: info: mull.u r3.z, c0.y, r2.z
MESA: info: madsh.m16 r3.x, c0.y, r2.y, (last)r2.w
MESA: info: (rpt1)mul.f r1.w, (last)(r)r1.w, c0.w
MESA: info: madsh.m16 r3.y, c0.y, r2.z, (last)r3.z
MESA: info: (rpt1)cov.f32s32 r1.w, (last)(r)r1.w
MESA: info: (rpt1)madsh.m16 r3.x, (r)r2.y, r3.w, (r)(last)r3.x
MESA: info: shl.b r2.y, (last)r2.y, 2
MESA: info: max.s r1.w, (last)r1.w, r3.x
MESA: info: max.s r2.x, (last)r2.x, r3.y
MESA: info: add.u r3.x, c1.x, (last)r3.x
MESA: info: add.u r3.y, c1.x, (last)r3.y
MESA: info: add.u r2.y, (last)r2.y, (last)r2.z
MESA: info: min.s r1.w, (last)r1.w, (last)r3.x
MESA: info: min.s r2.x, (last)r2.x, (last)r3.y
MESA: info: mull.u r4.y, 17, r2.y
MESA: info: mull.u r4.z, r2.y, 272
MESA: info: madsh.m16 r4.y, c280.z, r2.y, (last)r4.y
MESA: info: (nop1) madsh.m16 r2.y, c280.w, r2.y, (last)r4.z
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: isaml.base2 (f32)(x)r4.x, r1.w, r40.x, s#0, t#2
MESA: info: nop
MESA: info: (nop2) shr.b r2.y, (last)r2.y, 2
MESA: info: cov.u32s16 hr4.z, (last)r2.y
MESA: info: (rpt1)nop
MESA: info: mova a0.x, (last)hr4.z
MESA: info: (sy)(nop2) mad.f32 r4.x, c280.x, r4.x, c280.y
MESA: info: cov.f32s32 r4.x, (last)r4.x
MESA: info: nop
MESA: info: (ul)cmps.s.ge r4.w, 16, c<a0.x + 32>
MESA: info: (nop2) add.u r4.y, r4.x, (last)r4.y
MESA: info: (nop2) shl.b r4.y, (last)r4.y, 2
MESA: info: cov.u32s16 hr8.z, (last)r4.y
MESA: info: (rpt1)nop
MESA: info: mova a0.x, (last)hr8.z
MESA: info: (rpt4)nop
MESA: info: (nop2) (ul)sel.b32 r4.w, c<a0.x + 36>, r4.w, (last)r4.x
MESA: info: (nop2) add.u r4.w, -1, (last)r4.w
MESA: info: (nop3) cmps.s.eq p0.x, (last)r4.w, 254
MESA: info: (rpt1)nop
MESA: info: kill p0.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs:
MESA: info: ; FRAG: inputs: r1.y (VARYING_SLOT_VAR0 slot=32 cm=f,il=0,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 105/1: 91 instr, 29 nops, 62 non-nops, 3 mov, 7 cov, 192 dwords
MESA: info: ; FRAG prog 105/1: 2 last-baryf, 0 last-helper, 0 half, 5 full, 284 constlen
MESA: info: ; FRAG prog 105/1: 31 cat0, 10 cat1, 36 cat2, 12 cat3, 0 cat4, 1 cat5, 0 cat6, 1 cat7
MESA: info: ; FRAG prog 105/1: 0 sstall, 0 (ss), 21 systall, 1 (sy), 0 loops
MESA: info: ; FRAG prog 105/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 38 preamble-instr, 0 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x9aba71b9, 0xe7089c03, 0xefe423a5, 0x3b581672, 0x6e837932, 0x857b7eff, 0xe9e9f8b6, 0x83300901}
MESA: info: inputs_read: 32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: uses_discard: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_VAR0.xyzw, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #1
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000005 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x5)) (desc_set=1)
MESA: info:             con 32    %119 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32x2  %109 = @load_ubo_vec4 (%4, %119 (0x1)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %6 = frcp %109.x
MESA: info:                              @store_const_ir3 (%6) (base=0)
MESA: info:             con 32      %7 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32    %157 = ffma %7 (2.000000), %109.y, %109.x
MESA: info:             con 32     %10 = f2i32 %157
MESA: info:                              @store_const_ir3 (%10) (base=1)
MESA: info:             con 32     %11 = frcp %157
MESA: info:                              @store_const_ir3 (%11) (base=2)
MESA: info:             con 32     %12 = ftrunc %157
MESA: info:                              @store_const_ir3 (%12) (base=3)
MESA: info:             con 32     %13 = load_const (0xffffffff = -1 = 4294967295)
MESA: info:             con 32     %14 = iadd %10, %13 (0xffffffff)
MESA: info:                              @store_const_ir3 (%14) (base=4)
MESA: info:             con 32     %17 = load_const (0x00000000 = 0.000000)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %17 (0x0)) (base=16, range=4)
MESA: info:             con 32     %18 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32     %19 = @bindless_resource_ir3 (%18 (0x2)) (desc_set=2)
MESA: info:                              @prefetch_tex_ir3 (%19)
MESA: info:             con 32     %20 = load_const (0x00000007 = 0.000000)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%20 (0x7)) (desc_set=1)
MESA: info:                              @prefetch_ubo_ir3 (%21)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %24 = load_const (0x00000000)
MESA: info:     div 32x2   %25 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x4   %26 = @load_interpolated_input (%25, %24 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32     %27 = load_const (0x3f000000 = 0.500000)
MESA: info:     div 32x2  %158 = fadd %26.zw, %27 (0.500000).xx
MESA: info:     div 32x2  %159 = ffloor %158
MESA: info:     con 32     %33 = load_const (0x00000004)
MESA: info:     con 32     %34 = load_const (0x00000002)
MESA: info:     con 32     %35 = load_const (0x00000010 = 16)
MESA: info:     con 32x2   %39 = @load_const_ir3 (%24 (0x0)) (base=20)
MESA: info:     div 32x2  %160 = fmul %26.xy, %39.xx
MESA: info:     div 32x2  %161 = ffloor %160
MESA: info:     div 32x2  %162 = fadd %161, %27 (0.500000).xx
MESA: info:     con 32     %47 = @load_const_ir3 (%24 (0x0)) (base=0)
MESA: info:     div 32x2  %163 = fmul %162, %47.xx
MESA: info:     con 32     %51 = @load_const_ir3 (%24 (0x0)) (base=1)
MESA: info:     div 32x2  %164 = f2i32 %159
MESA: info:     div 32x2  %165 = umul_low %51.xx, %164
MESA: info:     div 32x2  %166 = imadsh_mix16 %51.xx, %164, %165
MESA: info:     div 32x2  %167 = imadsh_mix16 %164, %51.xx, %166
MESA: info:     div 32x2  %168 = ffma %163, %39.xx, %39.yy
MESA: info:     con 32     %61 = @load_const_ir3 (%24 (0x0)) (base=2)
MESA: info:     div 32x2  %169 = ffma %168, %61.xx, %159
MESA: info:     con 32     %67 = @load_const_ir3 (%24 (0x0)) (base=3)
MESA: info:     div 32x2  %170 = fmul %169, %67.xx
MESA: info:     div 32x2  %171 = f2i32 %170
MESA: info:     div 32x2  %172 = imax %171, %167
MESA: info:     con 32     %74 = load_const (0xffffffff = -1 = 4294967295)
MESA: info:     con 32     %76 = @load_const_ir3 (%24 (0x0)) (base=4)
MESA: info:     div 32x2  %173 = iadd %76.xx, %167
MESA: info:     div 32x2  %174 = imin %172, %173
MESA: info:     con 32     %82 = @bindless_resource_ir3 (%34 (0x2)) (desc_set=2)
MESA: info:     div 32x4   %83 = (float32)txf %82 (texture_handle), %174 (coord), %24 (0x0) (lod), 0 (texture)
MESA: info:     con 32     %84 = load_const (0x437f0000 = 255.000000)
MESA: info:     div 32    %152 = ffma %84 (255.000000), %83.x, %27 (0.500000)
MESA: info:     div 32     %87 = f2i32 %152
MESA: info:     div 32     %88 = ishl %164.x, %34 (0x2)
MESA: info:     div 32     %89 = iadd %88, %164.y
MESA: info:     con 32     %90 = load_const (0x00000011 = 17)
MESA: info:     div 32    %131 = umul_low %90 (0x11), %89
MESA: info:     div 32    %132 = imadsh_mix16 %90 (0x11), %89, %131
MESA: info:     con 32     %92 = load_const (0x00000110 = 272)
MESA: info:     con 32     %93 = load_const (0x00000007 = 0.000000)
MESA: info:     div 32    %128 = umul_low %89, %92 (0x110)
MESA: info:     div 32    %130 = imadsh_mix16 %92 (0x110), %89, %128
MESA: info:     con 32     %95 = @bindless_resource_ir3 (%93 (0x7)) (desc_set=1)
MESA: info:     div 32    %111 = ushr %130, %33 (0x4)
MESA: info:     div 32    %112 = @load_ubo_vec4 (%95, %111) (access=speculatable, base=0, component=0)
MESA: info:     div 1      %97 = ige %35 (0x10), %112
MESA: info:     div 32     %98 = iadd %87, %132
MESA: info:     div 32     %99 = ishl %98, %33 (0x4)
MESA: info:     div 32    %100 = iadd %99, %35 (0x10)
MESA: info:     div 32    %114 = ushr %100, %33 (0x4)
MESA: info:     div 32    %115 = @load_ubo_vec4 (%95, %114) (access=speculatable, base=0, component=0)
MESA: info:     div 32    %117 = bcsel %97, %115, %87
MESA: info:     div 32    %118 = iadd %74 (0xffffffff), %117
MESA: info:     con 32    %105 = load_const (0x000000fe = 254)
MESA: info:     div 1     %106 = ieq %118, %105 (0xfe)
MESA: info:                      @demote_if (%106)
MESA: info:                      // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 38c20afd778e83f64ff898332a60d081991295c8:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (4 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          5
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @const(c8.x)	0x437f0000, 0x3f000000, 0x00000011, 0x00000110
MESA: info: shps #l21
MESA: info: getone #l21
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 1, 5
MESA: info: mova1 a1.x, (r)16
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 2
MESA: info: ldc.offset0.1.imm.base1 r63.x, 0, 7
MESA: info: (sy)(ss)mul.f r48.y, (2.0), r48.y
MESA: info: add.f r48.y, r48.y, r48.x
MESA: info: cov.f32s32 r48.z, r48.y
MESA: info: trunc.f r48.w, r48.y
MESA: info: add.u r49.x, r48.z, -1
MESA: info: (ss)rcp r48.x, r48.x
MESA: info: rcp r48.y, r48.y
MESA: info: stc.u32 c[1], r48.z, 1
MESA: info: stc.u32 c[3], r48.w, 1
MESA: info: stc.u32 c[4], r49.x, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[2], r48.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 5
MESA: info: (sy)(ss)shpe
MESA: info: l21:
MESA: info: (jp)bary.f r0.z, 2, r0.x
MESA: info: bary.f r0.w, 3, r0.x
MESA: info: (rpt1)bary.f (ei)r1.x, (r)0, (last)r0.x
MESA: info: add.f r0.z, (last)r0.z, (0.5)
MESA: info: (rpt1)mul.f r1.x, (last)(r)r1.x, c5.x
MESA: info: add.f r0.w, (last)r0.w, (0.5)
MESA: info: (rpt1)floor.f r1.x, (last)(r)r1.x
MESA: info: floor.f r0.z, (last)r0.z
MESA: info: (rpt1)add.f r1.x, (last)(r)r1.x, (0.5)
MESA: info: floor.f r0.w, (last)r0.w
MESA: info: (rpt1)mul.f r1.x, (last)(r)r1.x, c0.x
MESA: info: cov.f32s32 r2.x, r0.z
MESA: info: (rpt1)mad.f32 r1.x, c5.x, (r)r1.x, c5.y
MESA: info: cov.f32s32 r2.y, r0.w
MESA: info: mad.f32 r1.z, c0.z, r1.x, (last)r0.z
MESA: info: mov.f32f32 r3.z, c0.y
MESA: info: mull.u r2.z, c0.y, r2.x
MESA: info: mad.f32 r1.w, c0.z, r1.y, (last)r0.w
MESA: info: mull.u r3.y, c0.y, r2.y
MESA: info: madsh.m16 r2.w, c0.y, r2.x, (last)r2.z
MESA: info: (rpt1)mul.f r1.z, (last)(r)r1.z, c0.w
MESA: info: madsh.m16 r3.x, c0.y, r2.y, (last)r3.y
MESA: info: (rpt1)cov.f32s32 r1.z, (last)(r)r1.z
MESA: info: (rpt1)madsh.m16 r2.w, (r)r2.x, r3.z, (r)(last)r2.w
MESA: info: shl.b r2.x, (last)r2.x, 2
MESA: info: max.s r1.z, (last)r1.z, r2.w
MESA: info: max.s r1.w, (last)r1.w, r3.x
MESA: info: add.u r2.w, c1.x, (last)r2.w
MESA: info: add.u r3.x, c1.x, (last)r3.x
MESA: info: add.u r2.x, (last)r2.x, (last)r2.y
MESA: info: min.s r1.z, (last)r1.z, (last)r2.w
MESA: info: min.s r1.w, (last)r1.w, (last)r3.x
MESA: info: mull.u r4.x, 17, r2.x
MESA: info: mull.u r4.y, r2.x, 272
MESA: info: madsh.m16 r4.x, c8.z, r2.x, (last)r4.x
MESA: info: (nop1) madsh.m16 r2.x, c8.w, r2.x, (last)r4.y
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: isaml.base2 (f32)(x)r3.w, r1.z, r40.x, s#0, t#2
MESA: info: nop
MESA: info: shr.b r2.x, (last)r2.x, 4
MESA: info: (sy)(nop2) mad.f32 r3.w, c8.x, r3.w, c8.y
MESA: info: cov.f32s32 r3.w, (last)r3.w
MESA: info: nop
MESA: info: ldc.offset0.1.imm.base1 r4.z, r2.x, 7
MESA: info: nop
MESA: info: (nop2) add.u r4.x, r3.w, (last)r4.x
MESA: info: (nop2) shl.b r4.x, (last)r4.x, 4
MESA: info: (nop2) add.u r4.x, (last)r4.x, 16
MESA: info: (nop3) shr.b r4.x, (last)r4.x, 4
MESA: info: (rpt1)nop
MESA: info: ldc.offset0.1.imm.base1 r4.w, r4.x, 7
MESA: info: (sy)(nop2) cmps.s.ge r4.z, 16, (last)r4.z
MESA: info: (nop2) sel.b32 r4.w, (last)r4.w, r4.z, (last)r3.w
MESA: info: (nop2) add.u r4.w, -1, (last)r4.w
MESA: info: (nop3) cmps.s.eq p0.x, (last)r4.w, 254
MESA: info: (rpt1)nop
MESA: info: kill p0.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs:
MESA: info: ; FRAG: inputs: r1.x (VARYING_SLOT_VAR0 slot=32 cm=f,il=0,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 105/2: 90 instr, 28 nops, 62 non-nops, 1 mov, 5 cov, 166 dwords
MESA: info: ; FRAG prog 105/2: 2 last-baryf, 0 last-helper, 0 half, 5 full, 12 constlen
MESA: info: ; FRAG prog 105/2: 30 cat0, 6 cat1, 38 cat2, 12 cat3, 0 cat4, 1 cat5, 2 cat6, 1 cat7
MESA: info: ; FRAG prog 105/2: 0 sstall, 0 (ss), 41 systall, 2 (sy), 0 loops
MESA: info: ; FRAG prog 105/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 21 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x61021ade, 0x13d2a139, 0x7a82eb01, 0x0d90b229, 0xb3ca7a6d, 0x08574d29, 0x8f5f117d, 0x90ae7da2}
MESA: info: inputs_read: 15-24
MESA: info: outputs_written: 0,32-37
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 10
MESA: info: outputs: 7
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VERT_ATTRIB_GENERIC2.xyzw, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #3 (VERT_ATTRIB_GENERIC3.xyzw, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #4 (VERT_ATTRIB_GENERIC4.xyz, 4, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #5 (VERT_ATTRIB_GENERIC5.xyz, 5, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #6 (VERT_ATTRIB_GENERIC6.xyzw, 6, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #7 (VERT_ATTRIB_GENERIC7.xyz, 7, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #8 (VERT_ATTRIB_GENERIC8.xy, 8, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #9 (VERT_ATTRIB_GENERIC9.xyzw, 9, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #10 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #11 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #12 (VARYING_SLOT_VAR1.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #13 (VARYING_SLOT_VAR2.xyzw, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #14 (VARYING_SLOT_VAR3.xyzw, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #15 (VARYING_SLOT_VAR4.xyzw, 5, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec3 #16 (VARYING_SLOT_VAR5.xyz, 6, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #17
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %5 = @bindless_resource_ir3 (%3 (0x2)) (desc_set=1)
MESA: info:             con 32    %495 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32    %524 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32x2  %497 = @load_ubo_vec4 (%5, %524 (0x10)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %8 = @bindless_resource_ir3 (%2 (0.000000)) (desc_set=1)
MESA: info:             con 32    %525 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %500 = @load_ubo_vec4 (%8, %525 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32x2  %646 = fmul %497, %500.xx
MESA: info:             con 32x2  %647 = fabs %646.yx
MESA: info:             con 32     %14 = fneg %647.y
MESA: info:             con 1      %15 = feq! %647.x, %14
MESA: info:             con 32     %16 = b2i32 %15
MESA: info:                              @store_const_ir3 (%16) (base=0)
MESA: info:             con 32     %17 = fneg %646.x
MESA: info:                              @store_const_ir3 (%17) (base=1)
MESA: info:             con 32    %645 = fsub %646.y, %646.x
MESA: info:             con 32     %19 = frcp %645
MESA: info:                              @store_const_ir3 (%19) (base=2)
MESA: info:             con 32     %20 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %21 = frcp %500
MESA: info:             con 32x2  %503 = @load_ubo_vec4 (%5, %2 (0.000000)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %24 = fmul %503.x, %500
MESA: info:                              @store_const_ir3 (%24) (base=3)
MESA: info:             con 32     %25 = fmul %503.y, %21
MESA: info:                              @store_const_ir3 (%25) (base=4)
MESA: info:             con 32     %26 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32     %30 = @bindless_resource_ir3 (%495 (0x4)) (desc_set=1)
MESA: info:             con 32x2  %506 = @load_ubo_vec4 (%30, %2 (0.000000)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %527 = load_const (0x00000019 = 0.000000 = 25)
MESA: info:             con 32    %509 = @load_ubo_vec4 (%8, %527 (0x19)) (access=speculatable, base=0, component=1)
MESA: info:             con 32x2  %648 = fmul %506, %509.xx
MESA: info:             con 32     %36 = fneg %648.x
MESA: info:                              @store_const_ir3 (%36) (base=5)
MESA: info:             con 32     %37 = frcp %648.y
MESA: info:                              @store_const_ir3 (%37) (base=6)
MESA: info:             con 32    %512 = @load_ubo_vec4 (%30, %495 (0x4)) (access=speculatable, base=0, component=1)
MESA: info:             con 1      %40 = fge! %2 (0.000000), %512
MESA: info:             con 1      %41 = inot %40
MESA: info:             con 32     %42 = b2i32 %41
MESA: info:                              @store_const_ir3 (%42) (base=7)
MESA: info:             con 32     %43 = frcp %512
MESA: info:                              @store_const_ir3 (%43) (base=8)
MESA: info:             con 32    %515 = @load_ubo_vec4 (%30, %3 (0x2)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %45 = frcp %515
MESA: info:                              @store_const_ir3 (%45) (base=9)
MESA: info:             con 32    %530 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32    %518 = @load_ubo_vec4 (%30, %530 (0x3)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %47 = frcp %518
MESA: info:                              @store_const_ir3 (%47) (base=10)
MESA: info:             con 32    %521 = @load_ubo_vec4 (%30, %495 (0x4)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %643 = fneg %521
MESA: info:             con 32    %644 = ffma %643, %521, %20 (1.000000)
MESA: info:             con 32x2  %649 = load_const (0x40000000, 0x3f800000) = (2.000000, 1.000000)
MESA: info:             con 32x2  %650 = ffma %521.xx, %521.xx, %649 (2.000000, 1.000000)
MESA: info:             con 32    %651 = mov %650.y
MESA: info:                              @store_const_ir3 (%651) (base=11)
MESA: info:             con 32     %55 = frcp %650.x
MESA: info:             con 32     %56 = load_const (0x3ef47d19 = 0.477517)
MESA: info:             con 32     %57 = fmul %644, %56 (0.477517)
MESA: info:             con 32     %58 = fmul %57, %55
MESA: info:                              @store_const_ir3 (%58) (base=12)
MESA: info:             con 32     %59 = fmul %26 (2.000000), %521
MESA: info:                              @store_const_ir3 (%59) (base=13)
MESA: info:             con 32     %62 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %62 (0x14)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %2 (0.000000)) (base=32, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%30, %2 (0.000000)) (base=48, range=8)
MESA: info:             con 32     %69 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %70 = @bindless_resource_ir3 (%69 (0x1)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%70, %2 (0.000000)) (base=80, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %72 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x4   %73 = @load_input (%72 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x4   %74 = @load_input (%72 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x4   %75 = @load_input (%72 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x4   %76 = @load_input (%72 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32x3   %77 = @load_input (%72 (0x0)) (base=4, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC4 slots=1)
MESA: info:     div 32x3   %78 = @load_input (%72 (0x0)) (base=5, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC5 slots=1)
MESA: info:     div 32x4   %79 = @load_input (%72 (0x0)) (base=6, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC6 slots=1)
MESA: info:     div 32x3   %80 = @load_input (%72 (0x0)) (base=7, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC7 slots=1)
MESA: info:     div 32x2   %81 = @load_input (%72 (0x0)) (base=8, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC8 slots=1)
MESA: info:     div 32x4   %82 = @load_input (%72 (0x0)) (base=9, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC9 slots=1)
MESA: info:     con 32x3   %89 = @load_const_ir3 (%72 (0x0)) (base=28)
MESA: info:     div 32x3  %653 = fmax %89, %77
MESA: info:     div 32x3  %655 = fmin %653, %78
MESA: info:     div 32x3  %657 = fsub %89, %655
MESA: info:     div 32    %103 = fmul %657.y, %657.y
MESA: info:     div 32    %637 = ffma %657.z, %657.z, %103
MESA: info:     div 32    %636 = ffma %657.x, %657.x, %637
MESA: info:     div 32    %107 = fsqrt %636
MESA: info:     con 32    %109 = @load_const_ir3 (%72 (0x0)) (base=0)
MESA: info:     con 1     %111 = ine %109, %72 (0x0)
MESA: info:                      // succs: b7 b8
MESA: info:     if %111 {
MESA: info:         con block b7:        // preds: b6
MESA: info:         div 32x4  %660 = fmul %74, %79.yyyy
MESA: info:         div 32x4  %663 = ffma %73, %79.xxxx, %660
MESA: info:         div 32x4  %666 = ffma %75, %79.zzzz, %663
MESA: info:         div 32x4  %672 = ffma %76, %79.wwww, %666
MESA: info:         div 32x4  %701 = mov %672.wzyx
MESA: info:                          // succs: b9
MESA: info:     } else {
MESA: info:         con block b8:        // preds: b6
MESA: info:         con 32    %141 = @load_const_ir3 (%72 (0x0)) (base=1)
MESA: info:         div 32    %142 = fadd %107, %141
MESA: info:         con 32    %144 = @load_const_ir3 (%72 (0x0)) (base=2)
MESA: info:         div 32    %145 = fmul %142, %144
MESA: info:         div 32    %146 = fsat %145
MESA: info:         div 32x3  %676 = fneg %79.xyz
MESA: info:         div 32x3  %677 = ffma %676, %146.xxx, %79.xyz
MESA: info:         div 32x4  %680 = fmul %74, %677.yyyy
MESA: info:         div 32x4  %683 = ffma %73, %677.xxxx, %680
MESA: info:         div 32x4  %686 = ffma %75, %677.zzzz, %683
MESA: info:         div 32x4  %692 = fadd %686, %76
MESA: info:         div 32x4  %702 = mov %692.wzyx
MESA: info:                          // succs: b9
MESA: info:     }
MESA: info:     con block b9:        // preds: b7 b8
MESA: info:     div 32x4  %700 = phi b7: %701, b8: %702
MESA: info:     con 32    %184 = load_const (0x3f800000 = 1.000000)
MESA: info:     con 32    %188 = @load_const_ir3 (%72 (0x0)) (base=3)
MESA: info:     con 32    %190 = @load_const_ir3 (%72 (0x0)) (base=4)
MESA: info:     div 32    %609 = fsub %188, %107
MESA: info:     con 32    %193 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32    %194 = fmul %193 (2.000000), %609
MESA: info:     div 32    %195 = fmul %194, %190
MESA: info:     div 32    %196 = fsat %195
MESA: info:     con 32x4  %199 = @load_const_ir3 (%72 (0x0)) (base=32)
MESA: info:     con 32x4  %207 = @load_const_ir3 (%72 (0x0)) (base=36)
MESA: info:     div 32x4  %705 = fmul %207, %700.zzzz
MESA: info:     div 32x4  %708 = ffma %199, %700.wwww, %705
MESA: info:     con 32x4  %219 = @load_const_ir3 (%72 (0x0)) (base=40)
MESA: info:     div 32x4  %711 = ffma %219, %700.yyyy, %708
MESA: info:     con 32x4  %231 = @load_const_ir3 (%72 (0x0)) (base=44)
MESA: info:     div 32x4  %714 = fadd %711, %231
MESA: info:     div 32x3  %716 = fmul %74.xyz, %80.yyy
MESA: info:     div 32x3  %718 = ffma %73.xyz, %80.xxx, %716
MESA: info:     div 32x3  %720 = ffma %75.xyz, %80.zzz, %718
MESA: info:     div 32x3  %722 = fmul %74.xyz, %82.yyy
MESA: info:     div 32x3  %724 = ffma %73.xyz, %82.xxx, %722
MESA: info:     div 32x3  %726 = ffma %75.xyz, %82.zzz, %724
MESA: info:     div 32x3  %728 = fmul %720.zxy, %726.yzx
MESA: info:     div 32x3  %731 = fneg %728
MESA: info:     div 32x3  %732 = ffma %720.yzx, %726.zxy, %731
MESA: info:     div 32x3  %734 = fmul %732, %82.www
MESA: info:     con 32    %284 = @load_const_ir3 (%72 (0x0)) (base=48)
MESA: info:     div 32x3  %736 = fsub %700.wzy, %89
MESA: info:     div 32    %292 = fmul %736.y, %736.y
MESA: info:     div 32    %582 = ffma %736.z, %736.z, %292
MESA: info:     div 32    %581 = ffma %736.x, %736.x, %582
MESA: info:     div 32    %296 = fsqrt %581
MESA: info:     con 32    %298 = @load_const_ir3 (%72 (0x0)) (base=5)
MESA: info:     div 32    %299 = fadd %296, %298
MESA: info:     con 32    %301 = @load_const_ir3 (%72 (0x0)) (base=6)
MESA: info:     div 32    %302 = fmul %299, %301
MESA: info:     div 32    %303 = fsat %302
MESA: info:     div 32    %304 = fmul %303, %303
MESA: info:     div 32    %305 = fmul %304, %304
MESA: info:     div 32    %306 = fmul %305, %304
MESA: info:     div 32    %307 = fmul %284, %306
MESA: info:     con 32    %311 = @load_const_ir3 (%72 (0x0)) (base=65)
MESA: info:     con 32    %313 = @load_const_ir3 (%72 (0x0)) (base=7)
MESA: info:     con 1     %315 = ine %313, %72 (0x0)
MESA: info:                      // succs: b10 b16
MESA: info:     if %315 {
MESA: info:         con block b10:       // preds: b9
MESA: info:         con 32    %185 = load_const (0x00000001)
MESA: info:         div 32x3  %738 = fsub %89, %700.wzy
MESA: info:         con 1     %322 = flt! %89.z, %72 (0.000000)
MESA: info:         div 1     %323 = fge! %700.y, %72 (0.000000)
MESA: info:         div 1     %324 = iand %322, %323
MESA: info:         div 32    %325 = frcp %738.z
MESA: info:         div 32    %326 = fmul %89.z, %325
MESA: info:         div 32    %576 = fneg %326
MESA: info:         div 32x3  %740 = ffma %576.xxx, %738, %89
MESA: info:         div 32x3  %742 = bcsel %324.xxx, %740, %89
MESA: info:         div 32x3  %744 = fsub %742, %700.wzy
MESA: info:         con 32x3  %344 = @load_const_ir3 (%72 (0x0)) (base=56)
MESA: info:         con 32x3  %347 = @load_const_ir3 (%72 (0x0)) (base=60)
MESA: info:         div 32    %348 = fmax %742.z, %72 (0.000000)
MESA: info:         div 32    %349 = fmax %700.y, %72 (0.000000)
MESA: info:         div 32    %351 = fmul %744.y, %744.y
MESA: info:         div 32    %568 = ffma %744.z, %744.z, %351
MESA: info:         div 32    %567 = ffma %744.x, %744.x, %568
MESA: info:         div 32    %355 = fsqrt %567
MESA: info:         con 32    %357 = @load_const_ir3 (%72 (0x0)) (base=8)
MESA: info:         div 32    %358 = fmul %355, %357
MESA: info:         con 32x3  %751 = load_const (0x3f800000, 0x3f800000, 0x3f800000) = (1.000000, 1.000000, 1.000000)
MESA: info:         con 32x2  %755 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:         con 32x4  %764 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:         con 32x2  %767 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:                          // succs: b11
MESA: info:         con loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32x3  %750 = phi b10: %751 (1.000000, 1.000000, 1.000000), b14: %780
MESA: info:             div 32x2  %754 = phi b10: %755 (0.000000, 0.000000), b14: %756
MESA: info:             div 32x4  %763 = phi b10: %764 (0.000000, 0.000000, 0.000000, 0.000000), b14: %765
MESA: info:             div 32x2  %766 = phi b10: %767 (0.000000, 0.000000), b14: %783
MESA: info:             con 32    %370 = phi b10: %72 (0x0), b14: %430
MESA: info:             con 32    %371 = i2f32 %370
MESA: info:             con 1     %372 = flt! %371, %311
MESA: info:             con 1     %373 = inot %372
MESA: info:                              // succs: b12 b13
MESA: info:             if %373 {
MESA: info:                 con block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 con block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             con block b14:       // preds: b13
MESA: info:             con 32    %374 = load_const (0x3f000000 = 0.500000)
MESA: info:             con 32    %375 = fadd %371, %374 (0.500000)
MESA: info:             con 32    %376 = fmul %375, %357
MESA: info:             div 32    %566 = fsub %349, %348
MESA: info:             div 32    %565 = ffma %376, %566, %348
MESA: info:             con 32    %382 = @load_const_ir3 (%72 (0x0)) (base=9)
MESA: info:             con 32    %383 = load_const (0x3fb8aa3b = 1.442695)
MESA: info:             div 32    %384 = fmul %565, %383 (1.442695)
MESA: info:             div 32    %385 = fmul %384, %382
MESA: info:             div 32    %386 = fneg %385
MESA: info:             div 32    %387 = fexp2 %386
MESA: info:             div 32    %388 = fmul %387, %358
MESA: info:             con 32    %390 = @load_const_ir3 (%72 (0x0)) (base=10)
MESA: info:             div 32    %391 = fmul %384, %390
MESA: info:             div 32    %392 = fneg %391
MESA: info:             div 32    %393 = fexp2 %392
MESA: info:             div 32    %394 = fmul %393, %358
MESA: info:             div 32    %395 = fadd %754.x, %388
MESA: info:             div 32    %396 = fadd %754.y, %394
MESA: info:             div 32x3  %770 = fmul %347, %396.xxx
MESA: info:             div 32x3  %774 = fneg %770
MESA: info:             con 32x3  %775 = fneg %344
MESA: info:             div 32x3  %776 = ffma %775, %395.xxx, %774
MESA: info:             div 32x3  %778 = fmul %776, %383 (1.442695).xxx
MESA: info:             div 32x3  %780 = fexp2 %778
MESA: info:             div 32x3  %782 = ffma %780, %388.xxx, %763.xyz
MESA: info:             div 32    %555 = ffma %780.x, %394, %763.w
MESA: info:             div 32x2  %783 = ffma %780.yz, %394.xx, %766
MESA: info:             con 32    %430 = iadd %370, %185 (0x1)
MESA: info:             div 32x2  %756 = vec2 %395, %396
MESA: info:             div 32x4  %765 = vec4 %782.x, %782.y, %782.z, %555
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         con block b15:       // preds: b12
MESA: info:         div 32x3  %803 = phi b12: %750
MESA: info:         div 32x4  %802 = phi b12: %763
MESA: info:         div 32x2  %801 = phi b12: %766
MESA: info:         div 32    %431 = frsq %567
MESA: info:         div 32x3  %785 = fmul %744, %431.xxx
MESA: info:         con 32x3  %438 = @load_const_ir3 (%72 (0x0)) (base=80)
MESA: info:         div 32    %440 = fmul %785.y, %438.y
MESA: info:         div 32    %552 = ffma %785.z, %438.z, %440
MESA: info:         div 32    %551 = ffma %785.x, %438.x, %552
MESA: info:         con 32    %444 = load_const (0xbf800000 = -1.000000)
MESA: info:         div 32    %445 = fmax %551, %444 (-1.000000)
MESA: info:         div 32    %446 = fmin %445, %184 (1.000000)
MESA: info:         div 32    %550 = ffma %446, %446, %184 (1.000000)
MESA: info:         con 32    %449 = load_const (0x3f16c8b4 = 0.589000)
MESA: info:         div 32    %450 = fmul %449 (0.589000), %550
MESA: info:         div 32x3  %787 = fmul %344, %450.xxx
MESA: info:         con 32    %455 = @load_const_ir3 (%72 (0x0)) (base=11)
MESA: info:         con 32    %457 = @load_const_ir3 (%72 (0x0)) (base=12)
MESA: info:         con 32    %459 = @load_const_ir3 (%72 (0x0)) (base=13)
MESA: info:         con 32    %548 = fneg %459
MESA: info:         div 32    %549 = ffma %548, %446, %455
MESA: info:         con 32    %463 = load_const (0x3fc00000 = 1.500000)
MESA: info:         div 32    %464 = flog2 %549
MESA: info:         div 32    %465 = fmul %464, %463 (1.500000)
MESA: info:         div 32    %466 = fneg %465
MESA: info:         div 32    %467 = fexp2 %466
MESA: info:         div 32    %468 = fmul %550, %467
MESA: info:         div 32    %469 = fmul %457, %468
MESA: info:         div 32x3  %789 = fmul %347, %469.xxx
MESA: info:         div 32    %476 = fmul %802.w, %789.x
MESA: info:         div 32x2  %790 = fmul %801, %789.yz
MESA: info:         div 32    %547 = ffma %802.x, %787.x, %476
MESA: info:         div 32x2  %791 = ffma %802.yz, %787.yz, %790
MESA: info:                          // succs: b17
MESA: info:     } else {
MESA: info:         con block b16:       // preds: b9
MESA: info:         con 32x2  %795 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:         con 32x3  %800 = load_const (0x3f800000, 0x3f800000, 0x3f800000) = (1.000000, 1.000000, 1.000000)
MESA: info:                          // succs: b17
MESA: info:     }
MESA: info:     con block b17:       // preds: b15 b16
MESA: info:     div 32x2  %794 = phi b15: %791, b16: %795 (0.000000, 0.000000)
MESA: info:     div 32    %483 = phi b15: %547, b16: %72 (0x0)
MESA: info:     div 32x3  %799 = phi b15: %803, b16: %800 (1.000000, 1.000000, 1.000000)
MESA: info:                      @store_output (%714, %72 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %489 = vec4 %307, %700.x, %720.x, %720.y
MESA: info:                      @store_output (%489, %72 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %490 = vec4 %720.z, %726.x, %726.y, %726.z
MESA: info:                      @store_output (%490, %72 (0x0)) (base=2, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR1 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %491 = vec4 %734.x, %734.y, %734.z, %700.w
MESA: info:                      @store_output (%491, %72 (0x0)) (base=3, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR2 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %492 = vec4 %700.z, %700.y, %799.x, %799.y
MESA: info:                      @store_output (%492, %72 (0x0)) (base=4, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR3 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %493 = vec4 %799.z, %483, %794.x, %794.y
MESA: info:                      @store_output (%493, %72 (0x0)) (base=5, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR4 slots=1, xfb(), xfb2())
MESA: info:     div 32x3  %494 = vec3 %81.x, %81.y, %196
MESA: info:                      @store_output (%494, %72 (0x0)) (base=6, range=1, wrmask=xyz, component=0, src_type=float32, io location=VARYING_SLOT_VAR5 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b18
MESA: info:     block b18:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 c1e261f5ffaf6703ad5be2e333d741e45343b204:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (20 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c24.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      4
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (320b -> 384b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: @in(r1.x)	in1 (wrmask=0xf)
MESA: info: @in(r2.x)	in2 (wrmask=0xf)
MESA: info: @in(r3.x)	in3 (wrmask=0xf)
MESA: info: @in(r4.x)	in4 (wrmask=0x7)
MESA: info: @in(r4.w)	in5 (wrmask=0x7)
MESA: info: @in(r5.z)	in6 (wrmask=0xf)
MESA: info: @in(r6.z)	in7 (wrmask=0x7)
MESA: info: @in(r7.y)	in8 (wrmask=0x3)
MESA: info: @in(r8.x)	in9 (wrmask=0xf)
MESA: info: @const(c25.x)	0x3ef47d19, 0x3f16c8b4, 0xbf800000, 0x3f800000
MESA: info: @const(c26.x)	0x3fc00000, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l68
MESA: info: getone #l68
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 16, 2
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 0, 2
MESA: info: ldc.u.offset3.1.imm.base1 r48.z, 24, 0
MESA: info: ldc.u.offset0.1.imm.base1 r51.w, 4, 4
MESA: info: ldc.u.offset2.2.imm.base1 r49.y, 0, 4
MESA: info: ldc.u.offset1.1.imm.base1 r50.w, 25, 0
MESA: info: ldc.u.offset1.1.imm.base1 r51.x, 4, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.y, 2, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.z, 3, 4
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)(rpt1)mul.f r49.w, (r)r48.x, r48.z
MESA: info: mul.f r48.w, r48.w, r48.z
MESA: info: cmps.f.eq hr52.z, (abs)r50.x, (absneg)r49.w
MESA: info: mul.f r49.z, r49.z, r50.w
MESA: info: cmps.f.ge hr48.x, (0.0), r51.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: rcp r51.y, r51.y
MESA: info: rcp r51.z, r51.z
MESA: info: mul.f r49.y, r49.y, r50.w
MESA: info: cov.u16s32 r50.z, hr52.z
MESA: info: sub.u hr48.x, h(1), hr48.x
MESA: info: absneg.f r49.w, (neg)r49.w
MESA: info: absneg.f r49.y, (neg)r49.y
MESA: info: cov.u16s32 r48.y, hr48.x
MESA: info: (ss)nop
MESA: info: stc.u32 c[3], r48.w, 1
MESA: info: rcp r48.z, r48.z
MESA: info: rcp r49.z, r49.z
MESA: info: rcp r51.x, r51.x
MESA: info: rcp r50.x, r50.x
MESA: info: stc.u32 c[9], r51.y, 1
MESA: info: stc.u32 c[10], r51.z, 1
MESA: info: stc.u32 c[0], r50.z, 1
MESA: info: stc.u32 c[1], r49.w, 1
MESA: info: stc.u32 c[5], r49.y, 1
MESA: info: stc.u32 c[7], r48.y, 1
MESA: info: (ss)mul.f r48.w, r51.w, r51.w
MESA: info: add.f r48.w, r48.w, (2.0)
MESA: info: mul.f r49.x, r49.x, r48.z
MESA: info: mul.f r48.z, (neg)r51.w, r51.w
MESA: info: add.f r48.z, r48.z, (1.0)
MESA: info: mul.f r48.z, r48.z, c25.x
MESA: info: stc.u32 c[6], r49.z, 1
MESA: info: stc.u32 c[8], r51.x, 1
MESA: info: stc.u32 c[2], r50.x, 1
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[4], r49.x, 1
MESA: info: (ss)mul.f r48.z, r48.z, r48.w
MESA: info: mul.f r49.x, r51.w, r51.w
MESA: info: add.f r49.x, r49.x, (1.0)
MESA: info: mul.f r51.w, (2.0), r51.w
MESA: info: (ss)nop
MESA: info: stc.u32 c[12], r48.z, 1
MESA: info: stc.u32 c[11], r49.x, 1
MESA: info: stc.u32 c[13], r51.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 20, 0
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)80
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l68:
MESA: info: (jp)max.f r4.y, c7.y, (last)r4.y
MESA: info: max.f r4.z, c7.z, (last)r4.z
MESA: info: max.f r4.x, c7.x, (last)r4.x
MESA: info: min.f r4.y, (last)r4.y, (last)r5.x
MESA: info: min.f r4.z, (last)r4.z, (last)r5.y
MESA: info: min.f r4.x, (last)r4.x, (last)r4.w
MESA: info: add.f r4.y, c7.y, (last)(neg)r4.y
MESA: info: add.f r4.z, c7.z, (last)(neg)r4.z
MESA: info: add.f r4.x, c7.x, (last)(neg)r4.x
MESA: info: mul.f r4.y, (last)r4.y, r4.y
MESA: info: cmps.s.ne p0.x, c0.x, 0
MESA: info: (nop1) mad.f32 r4.z, (last)r4.z, r4.z, (last)r4.y
MESA: info: (nop3) mad.f32 r4.x, (last)r4.x, r4.x, (last)r4.z
MESA: info: (rpt1)nop
MESA: info: sqrt r4.x, (last)r4.x
MESA: info: br !p0.x, #l101
MESA: info: mul.f r9.x, r1.x, r5.w
MESA: info: mul.f r1.w, (last)r1.w, r5.w
MESA: info: mad.f32 r9.x, r0.x, r5.z, (last)r9.x
MESA: info: mad.f32 r0.w, (last)r0.w, r5.z, r1.w
MESA: info: mad.f32 r9.x, r2.x, r6.x, (last)r9.x
MESA: info: mad.f32 r2.w, (last)r2.w, r6.x, r0.w
MESA: info: mad.f32 r9.w, (last)r3.x, r6.y, (last)r9.x
MESA: info: mul.f r3.x, r1.y, r5.w
MESA: info: mad.f32 r4.z, r3.w, r6.y, r2.w
MESA: info: (nop1) mad.f32 r3.x, r0.y, r5.z, (last)r3.x
MESA: info: (nop1) mad.f32 r3.x, r2.y, r6.x, (last)r3.x
MESA: info: mad.f32 r10.x, (last)r3.y, r6.y, r3.x
MESA: info: (nop1) mul.f r3.y, r1.z, r5.w
MESA: info: (nop1) mad.f32 r3.y, r0.z, r5.z, (last)r3.y
MESA: info: (nop1) mad.f32 r3.y, r2.z, r6.x, (last)r3.y
MESA: info: mad.f32 r10.y, r3.z, r6.y, r3.y
MESA: info: jump #l119
MESA: info: l101:
MESA: info: (ss)(nop2) add.f r5.y, r4.x, c0.y
MESA: info: (sat)(nop2) mul.f r5.y, (last)r5.y, c0.z
MESA: info: mad.f32 r5.w, (neg)(last)r5.w, r5.y, r5.w
MESA: info: mad.f32 r5.z, (neg)(last)r5.z, r5.y, r5.z
MESA: info: mad.f32 r6.x, (neg)(last)r6.x, r5.y, r6.x
MESA: info: mul.f r6.y, r1.x, r5.w
MESA: info: mul.f r7.w, r1.y, r5.w
MESA: info: mad.f32 r6.y, r0.x, r5.z, (last)r6.y
MESA: info: mad.f32 r7.w, r0.y, r5.z, (last)r7.w
MESA: info: (rpt1)mul.f r9.x, (r)r1.z, (last)r5.w
MESA: info: mad.f32 r6.y, r2.x, r6.x, (last)r6.y
MESA: info: mad.f32 r7.w, r2.y, r6.x, (last)r7.w
MESA: info: (rpt1)mad.f32 r9.x, (r)r0.z, r5.z, (r)(last)r9.x
MESA: info: (rpt1)mad.f32 r9.x, (r)r2.z, r6.x, (r)(last)r9.x
MESA: info: add.f r9.w, (last)r6.y, (last)r3.x
MESA: info: add.f r10.x, (last)r7.w, (last)r3.y
MESA: info: add.f r10.y, (last)r9.x, (last)r3.z
MESA: info: add.f r4.z, (last)r9.y, (last)r3.w
MESA: info: l119:
MESA: info: add.f r5.z, r10.x, (neg)c7.y
MESA: info: add.f r6.x, r9.w, (neg)c7.x
MESA: info: add.f r5.w, r10.y, (neg)c7.z
MESA: info: mul.f r5.z, (last)r5.z, r5.z
MESA: info: (ss)add.f r4.x, c0.w, (last)(neg)r4.x
MESA: info: mad.f32 r5.w, (last)r5.w, r5.w, (last)r5.z
MESA: info: mul.f r1.w, r1.x, r6.w
MESA: info: mad.f32 r6.x, (last)r6.x, r6.x, (last)r5.w
MESA: info: mul.f r2.w, r1.y, r6.w
MESA: info: mul.f r1.x, (last)r1.x, r8.y
MESA: info: mul.f r1.y, (last)r1.y, r8.y
MESA: info: mul.f r6.w, r1.z, (last)r6.w
MESA: info: mul.f r1.z, (last)r1.z, (last)r8.y
MESA: info: sqrt r6.x, (last)r6.x
MESA: info: mad.f32 r1.w, r0.x, r6.z, (last)r1.w
MESA: info: mad.f32 r2.w, r0.y, r6.z, (last)r2.w
MESA: info: mad.f32 r0.x, (last)r0.x, r8.x, (last)r1.x
MESA: info: mad.f32 r0.y, (last)r0.y, r8.x, (last)r1.y
MESA: info: mad.f32 r6.z, r0.z, r6.z, (last)r6.w
MESA: info: mad.f32 r0.z, (last)r0.z, r8.x, (last)r1.z
MESA: info: mul.f r4.x, (2.0), (last)r4.x
MESA: info: mad.f32 r4.w, r2.x, r7.x, (last)r1.w
MESA: info: mad.f32 r5.x, r2.y, r7.x, (last)r2.w
MESA: info: mad.f32 r3.y, (last)r2.x, r8.z, (last)r0.x
MESA: info: (ss)add.f r6.x, (last)r6.x, c1.y
MESA: info: mad.f32 r3.z, (last)r2.y, r8.z, (last)r0.y
MESA: info: mad.f32 r3.x, r2.z, r7.x, (last)r6.z
MESA: info: (sat)mul.f r6.x, (last)r6.x, c1.z
MESA: info: mad.f32 r3.w, (last)r2.z, r8.z, (last)r0.z
MESA: info: mul.f r9.z, c9.x, r10.x
MESA: info: mul.f r6.x, (last)r6.x, r6.x
MESA: info: mul.f r11.z, c9.y, r10.x
MESA: info: mul.f r11.w, c9.z, r10.x
MESA: info: mul.f r0.w, c9.w, r10.x
MESA: info: mul.f r6.y, r6.x, r6.x
MESA: info: (sat)mul.f r7.w, (last)r4.x, c1.x
MESA: info: mul.f r5.y, r5.x, r3.y
MESA: info: mul.f r4.y, r4.w, r3.w
MESA: info: mad.f32 r9.z, c8.x, r9.w, (last)r9.z
MESA: info: mad.f32 r11.z, c8.y, r9.w, (last)r11.z
MESA: info: mad.f32 r11.w, c8.z, r9.w, (last)r11.w
MESA: info: mad.f32 r0.w, c8.w, r9.w, (last)r0.w
MESA: info: mul.f r4.x, r3.x, r3.z
MESA: info: mul.f r6.y, (last)r6.y, (last)r6.x
MESA: info: mad.f32 r5.y, r4.w, r3.z, (neg)(last)r5.y
MESA: info: mad.f32 r4.y, r3.x, r3.y, (neg)(last)r4.y
MESA: info: mad.f32 r9.z, c10.x, r10.y, (last)r9.z
MESA: info: mad.f32 r11.z, c10.y, r10.y, (last)r11.z
MESA: info: mad.f32 r11.w, c10.z, r10.y, (last)r11.w
MESA: info: mad.f32 r0.w, c10.w, r10.y, (last)r0.w
MESA: info: mad.f32 r4.x, r5.x, r3.w, (neg)(last)r4.x
MESA: info: cmps.s.ne p0.x, c1.w, 0
MESA: info: mul.f r9.y, (last)r4.y, r8.w
MESA: info: add.f r10.z, (last)r9.z, c11.x
MESA: info: add.f r10.w, (last)r11.z, c11.y
MESA: info: add.f r11.x, (last)r11.w, c11.z
MESA: info: add.f r11.y, (last)r0.w, c11.w
MESA: info: mul.f r9.x, (last)r4.x, r8.w
MESA: info: mul.f r4.y, c12.x, (last)r6.y
MESA: info: mul.f r9.z, (last)r5.y, (last)r8.w
MESA: info: br !p0.x, #l286
MESA: info: cmps.f.lt hr50.z, c7.z, (0.0)
MESA: info: mov.u32u32 r49.z, 0
MESA: info: add.f r8.z, c7.z, (neg)r10.y
MESA: info: cmps.f.ge hr13.x, r10.y, (0.0)
MESA: info: (rpt1)add.f r8.x, (r)c7.x, (neg)(r)r9.w
MESA: info: max.f r8.w, r10.y, (0.0)
MESA: info: mov.u32u32 r0.w, 0x3f800000
MESA: info: rcp r11.z, r8.z
MESA: info: mov.u32u32 r1.x, 0x3f800000
MESA: info: mov.u32u32 r5.y, 0
MESA: info: mov.u32u32 r4.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: mov.u32u32 r2.z, 0
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: mov.u32u32 r1.y, 0x3f800000
MESA: info: (ss)mul.f r11.z, c7.z, (last)r11.z
MESA: info: (nop1) and.b r11.w, hr50.z, (last)hr13.x
MESA: info: (rpt1)mad.f32 r8.y, (neg)r11.z, (r)r8.y, (r)c7.y
MESA: info: mad.f32 r11.z, (neg)(last)r11.z, r8.x, c7.x
MESA: info: (rpt1)sel.b32 r8.y, (r)(last)r8.y, r11.w, (r)c7.y
MESA: info: sel.b32 r11.z, (last)r11.z, r11.w, c7.x
MESA: info: add.f r8.y, (last)r8.y, (neg)r10.x
MESA: info: add.f r0.x, r8.z, (neg)r10.y
MESA: info: add.f r11.z, (last)r11.z, (neg)r9.w
MESA: info: mul.f r0.y, r8.y, r8.y
MESA: info: max.f r8.z, (last)r8.z, (0.0)
MESA: info: (nop1) mad.f32 r0.y, r0.x, r0.x, (last)r0.y
MESA: info: (nop3) mad.f32 r0.y, r11.z, r11.z, (last)r0.y
MESA: info: (rpt1)nop
MESA: info: sqrt r0.z, r0.y
MESA: info: (ss)mul.f r0.z, (last)r0.z, c2.x
MESA: info: l214:
MESA: info: cov.s32f32 r49.w, r49.z
MESA: info: cmps.f.lt hr52.x, r49.w, c16.y
MESA: info: (ss)(nop3) cmps.s.ne p0.x, hr52.x, h(0)
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l254
MESA: info: add.f r49.w, r49.w, (0.5)
MESA: info: mul.f r49.w, r49.w, c2.x
MESA: info: add.u r49.z, r49.z, 1
MESA: info: (nop2) add.f r5.z, r8.w, (neg)r8.z
MESA: info: (ss)(nop2) mad.f32 r5.z, r49.w, r5.z, r8.z
MESA: info: (nop2) mul.f r5.z, (last)r5.z, (log2(e))
MESA: info: mul.f r5.w, r5.z, c2.y
MESA: info: (nop3) mul.f r5.z, (last)r5.z, c2.z
MESA: info: (rpt1)nop
MESA: info: exp2 r5.z, (last)(neg)r5.z
MESA: info: exp2 r5.w, (last)(neg)r5.w
MESA: info: (ss)mul.f r5.z, (last)r5.z, r0.z
MESA: info: (nop1) mul.f r5.w, (last)r5.w, r0.z
MESA: info: add.f r1.w, (last)r1.w, r5.z
MESA: info: (nop1) add.f r1.z, (last)r1.z, r5.w
MESA: info: mul.f r6.x, c15.x, r1.w
MESA: info: (rpt1)mul.f r6.y, (r)c15.y, r1.w
MESA: info: mad.f32 r6.x, (neg)c14.x, r1.z, (neg)(last)r6.x
MESA: info: (rpt1)mad.f32 r6.y, (neg)(r)c14.y, r1.z, (neg)(r)(last)r6.y
MESA: info: mul.f r6.x, (last)r6.x, (log2(e))
MESA: info: (rpt1)mul.f r6.y, (last)(r)r6.y, (log2(e))
MESA: info: (rpt2)nop
MESA: info: exp2 r6.x, (last)r6.x
MESA: info: nop
MESA: info: (rpt1)exp2 r6.y, (last)(r)r6.y
MESA: info: (ss)mad.f32 r2.x, r6.x, r5.w, (last)r2.x
MESA: info: mad.f32 r2.w, r6.x, r5.z, (last)r2.w
MESA: info: mov.u32u32 r0.w, (last)r6.x
MESA: info: mad.f32 r2.y, r6.y, r5.w, (last)r2.y
MESA: info: mad.f32 r4.x, r6.y, r5.z, (last)r4.x
MESA: info: mad.f32 r2.z, r6.z, r5.w, (last)r2.z
MESA: info: mad.f32 r5.y, r6.z, r5.z, (last)r5.y
MESA: info: mov.u32u32 r1.x, (last)r6.y
MESA: info: mov.u32u32 r1.y, (last)r6.z
MESA: info: jump #l214
MESA: info: l254:
MESA: info: rsq r0.y, (last)r0.y
MESA: info: mov.u32u32 r0.z, (last)r1.x
MESA: info: (ss)mul.f r8.y, (last)r8.y, r0.y
MESA: info: mul.f r0.x, (last)r0.x, r0.y
MESA: info: mul.f r11.z, (last)r11.z, (last)r0.y
MESA: info: mul.f r8.y, (last)r8.y, c20.y
MESA: info: mov.u32u32 r0.y, (last)r0.w
MESA: info: mad.f32 r0.x, c20.z, r0.x, (last)r8.y
MESA: info: mov.u32u32 r0.w, (last)r1.y
MESA: info: (nop2) mad.f32 r11.z, c20.x, r11.z, (last)r0.x
MESA: info: (nop2) max.f r11.z, (last)r11.z, c25.z
MESA: info: (nop2) min.f r11.z, (last)r11.z, (1.0)
MESA: info: mad.f32 r6.w, r11.z, r11.z, c25.w
MESA: info: (nop1) mad.f32 r11.z, (neg)c3.y, r11.z, c2.w
MESA: info: (nop2) mul.f r7.x, c25.y, r6.w
MESA: info: (rpt2)mul.f r8.x, (r)c14.x, (last)r7.x
MESA: info: log2 r11.z, (last)r11.z
MESA: info: (ss)(nop3) mul.f r11.z, (last)r11.z, c26.x
MESA: info: (rpt1)nop
MESA: info: exp2 r11.z, (last)(neg)r11.z
MESA: info: (ss)(nop2) mul.f r6.w, (last)r6.w, (last)r11.z
MESA: info: (nop2) mul.f r6.w, c3.x, (last)r6.w
MESA: info: mul.f r8.w, c15.x, r6.w
MESA: info: (rpt1)mul.f r11.z, (r)c15.y, (last)r6.w
MESA: info: mul.f r2.w, (last)r2.w, (last)r8.w
MESA: info: mul.f r4.x, (last)r4.x, (last)r11.z
MESA: info: mad.f32 r2.x, (last)r2.x, r8.x, (last)r2.w
MESA: info: mul.f r5.y, (last)r5.y, (last)r11.w
MESA: info: mad.f32 r11.z, (last)r2.y, r8.y, (last)r4.x
MESA: info: mov.u32u32 r0.x, (last)r2.x
MESA: info: mad.f32 r11.w, (last)r2.z, r8.z, (last)r5.y
MESA: info: jump #l292
MESA: info: l286:
MESA: info: mov.u32u32 r11.z, 0
MESA: info: mov.u32u32 r0.w, 0x3f800000
MESA: info: mov.u32u32 r0.z, 0x3f800000
MESA: info: mov.u32u32 r0.y, 0x3f800000
MESA: info: mov.u32u32 r0.x, 0
MESA: info: mov.u32u32 r11.w, 0
MESA: info: l292:
MESA: info: mov.u32u32 r1.x, (last)r0.w
MESA: info: mov.u32u32 r1.y, (last)r0.x
MESA: info: mov.u32u32 r1.z, (last)r11.z
MESA: info: mov.u32u32 r1.w, (last)r11.w
MESA: info: mov.u32u32 r2.x, (last)r10.x
MESA: info: mov.u32u32 r2.y, (last)r10.y
MESA: info: mov.u32u32 r2.z, (last)r0.y
MESA: info: mov.u32u32 r2.w, (last)r0.z
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r10.z (VARYING_SLOT_POS) r4.y (VARYING_SLOT_VAR0) r3.x (VARYING_SLOT_VAR1) r9.x (VARYING_SLOT_VAR2) r2.x (VARYING_SLOT_VAR3) r1.x (VARYING_SLOT_VAR4) r7.y (VARYING_SLOT_VAR5)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r1.x (VERT_ATTRIB_GENERIC1 slot=16 cm=f,il=0,b=0) r2.x (VERT_ATTRIB_GENERIC2 slot=17 cm=f,il=0,b=0) r3.x (VERT_ATTRIB_GENERIC3 slot=18 cm=f,il=0,b=0) r4.x (VERT_ATTRIB_GENERIC4 slot=19 cm=7,il=0,b=0) r4.w (VERT_ATTRIB_GENERIC5 slot=20 cm=7,il=0,b=0) r5.z (VERT_ATTRIB_GENERIC6 slot=21 cm=f,il=0,b=0) r6.z (VERT_ATTRIB_GENERIC7 slot=22 cm=7,il=0,b=0) r7.y (VERT_ATTRIB_GENERIC8 slot=23 cm=3,il=0,b=0) r8.x (VERT_ATTRIB_GENERIC9 slot=24 cm=f,il=0,b=0)
MESA: info: ; VERT prog 106/1: 301 instr, 62 nops, 239 non-nops, 33 mov, 1 cov, 610 dwords
MESA: info: ; VERT prog 106/1: 0 last-baryf, 0 last-helper, 0 half, 12 full, 28 constlen
MESA: info: ; VERT prog 106/1: 69 cat0, 34 cat1, 111 cat2, 75 cat3, 12 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 106/1: 77 sstall, 12 (ss), 0 systall, 0 (sy), 1 loops
MESA: info: ; VERT prog 106/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 69 preamble-instr, 1 early-preamble
MESA: info: ; pos: r10.z
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x61021ade, 0x13d2a139, 0x7a82eb01, 0x0d90b229, 0xb3ca7a6d, 0x08574d29, 0x8f5f117d, 0x90ae7da2}
MESA: info: inputs_read: 15-24
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 10
MESA: info: outputs: 7
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VERT_ATTRIB_GENERIC2.xyzw, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #3 (VERT_ATTRIB_GENERIC3.xyzw, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #4 (VERT_ATTRIB_GENERIC4.xyz, 4, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #5 (VERT_ATTRIB_GENERIC5.xyz, 5, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #6 (VERT_ATTRIB_GENERIC6.xyzw, 6, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #7 (VERT_ATTRIB_GENERIC7.xyz, 7, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #8 (VERT_ATTRIB_GENERIC8.xy, 8, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #9 (VERT_ATTRIB_GENERIC9.xyzw, 9, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #10 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #11 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #12 (VARYING_SLOT_VAR1.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #13 (VARYING_SLOT_VAR2.xyzw, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #14 (VARYING_SLOT_VAR3.xyzw, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #15 (VARYING_SLOT_VAR4.xyzw, 5, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec3 #16 (VARYING_SLOT_VAR5.xyz, 6, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #17
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %5 = @bindless_resource_ir3 (%3 (0x2)) (desc_set=1)
MESA: info:             con 32    %495 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32    %524 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32x2  %497 = @load_ubo_vec4 (%5, %524 (0x10)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %8 = @bindless_resource_ir3 (%2 (0.000000)) (desc_set=1)
MESA: info:             con 32    %525 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %500 = @load_ubo_vec4 (%8, %525 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32x2  %587 = fmul %497, %500.xx
MESA: info:             con 32x2  %588 = fabs %587.yx
MESA: info:             con 32     %14 = fneg %588.y
MESA: info:             con 1      %15 = feq! %588.x, %14
MESA: info:             con 32     %16 = b2i32 %15
MESA: info:                              @store_const_ir3 (%16) (base=0)
MESA: info:             con 32     %17 = fneg %587.x
MESA: info:                              @store_const_ir3 (%17) (base=1)
MESA: info:             con 32    %586 = fsub %587.y, %587.x
MESA: info:             con 32     %19 = frcp %586
MESA: info:                              @store_const_ir3 (%19) (base=2)
MESA: info:             con 32     %20 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %21 = frcp %500
MESA: info:             con 32x2  %503 = @load_ubo_vec4 (%5, %2 (0.000000)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %24 = fmul %503.x, %500
MESA: info:                              @store_const_ir3 (%24) (base=3)
MESA: info:             con 32     %25 = fmul %503.y, %21
MESA: info:                              @store_const_ir3 (%25) (base=4)
MESA: info:             con 32     %26 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32     %30 = @bindless_resource_ir3 (%495 (0x4)) (desc_set=1)
MESA: info:             con 32x2  %506 = @load_ubo_vec4 (%30, %2 (0.000000)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %527 = load_const (0x00000019 = 0.000000 = 25)
MESA: info:             con 32    %509 = @load_ubo_vec4 (%8, %527 (0x19)) (access=speculatable, base=0, component=1)
MESA: info:             con 32x2  %589 = fmul %506, %509.xx
MESA: info:             con 32     %36 = fneg %589.x
MESA: info:                              @store_const_ir3 (%36) (base=5)
MESA: info:             con 32     %37 = frcp %589.y
MESA: info:                              @store_const_ir3 (%37) (base=6)
MESA: info:             con 32    %512 = @load_ubo_vec4 (%30, %495 (0x4)) (access=speculatable, base=0, component=1)
MESA: info:             con 1      %40 = fge! %2 (0.000000), %512
MESA: info:             con 1      %41 = inot %40
MESA: info:             con 32     %42 = b2i32 %41
MESA: info:                              @store_const_ir3 (%42) (base=7)
MESA: info:             con 32     %43 = frcp %512
MESA: info:                              @store_const_ir3 (%43) (base=8)
MESA: info:             con 32    %515 = @load_ubo_vec4 (%30, %3 (0x2)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %45 = frcp %515
MESA: info:                              @store_const_ir3 (%45) (base=9)
MESA: info:             con 32    %530 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32    %518 = @load_ubo_vec4 (%30, %530 (0x3)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %47 = frcp %518
MESA: info:                              @store_const_ir3 (%47) (base=10)
MESA: info:             con 32    %521 = @load_ubo_vec4 (%30, %495 (0x4)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %584 = fneg %521
MESA: info:             con 32    %585 = ffma %584, %521, %20 (1.000000)
MESA: info:             con 32x2  %590 = load_const (0x40000000, 0x3f800000) = (2.000000, 1.000000)
MESA: info:             con 32x2  %591 = ffma %521.xx, %521.xx, %590 (2.000000, 1.000000)
MESA: info:             con 32    %592 = mov %591.y
MESA: info:                              @store_const_ir3 (%592) (base=11)
MESA: info:             con 32     %55 = frcp %591.x
MESA: info:             con 32     %56 = load_const (0x3ef47d19 = 0.477517)
MESA: info:             con 32     %57 = fmul %585, %56 (0.477517)
MESA: info:             con 32     %58 = fmul %57, %55
MESA: info:                              @store_const_ir3 (%58) (base=12)
MESA: info:             con 32     %59 = fmul %26 (2.000000), %521
MESA: info:                              @store_const_ir3 (%59) (base=13)
MESA: info:             con 32     %62 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %62 (0x14)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %2 (0.000000)) (base=32, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%30, %2 (0.000000)) (base=48, range=8)
MESA: info:             con 32     %69 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %70 = @bindless_resource_ir3 (%69 (0x1)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%70, %2 (0.000000)) (base=80, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %72 = load_const (0x00000000)
MESA: info:     div 32x3   %73 = @load_input (%72 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3   %74 = @load_input (%72 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3   %75 = @load_input (%72 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3   %76 = @load_input (%72 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32x3   %77 = @load_input (%72 (0x0)) (base=4, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC4 slots=1)
MESA: info:     div 32x3   %78 = @load_input (%72 (0x0)) (base=5, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC5 slots=1)
MESA: info:     div 32x4   %79 = @load_input (%72 (0x0)) (base=6, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC6 slots=1)
MESA: info:     con 32x3   %89 = @load_const_ir3 (%72 (0x0)) (base=28)
MESA: info:     div 32x3  %594 = fmax %89, %77
MESA: info:     div 32x3  %596 = fmin %594, %78
MESA: info:     div 32x3  %598 = fsub %89, %596
MESA: info:     div 32    %103 = fmul %598.y, %598.y
MESA: info:     div 32    %578 = ffma %598.z, %598.z, %103
MESA: info:     div 32    %577 = ffma %598.x, %598.x, %578
MESA: info:     div 32    %107 = fsqrt %577
MESA: info:     con 32    %109 = @load_const_ir3 (%72 (0x0)) (base=0)
MESA: info:     con 1     %111 = ine %109, %72 (0x0)
MESA: info:                      // succs: b7 b8
MESA: info:     if %111 {
MESA: info:         con block b7:        // preds: b6
MESA: info:         div 32x3  %600 = fmul %74, %79.yyy
MESA: info:         div 32x3  %602 = ffma %73, %79.xxx, %600
MESA: info:         div 32x3  %604 = ffma %75, %79.zzz, %602
MESA: info:         div 32x3  %608 = ffma %76, %79.www, %604
MESA: info:         div 32x3  %629 = mov %608.zyx
MESA: info:                          // succs: b9
MESA: info:     } else {
MESA: info:         con block b8:        // preds: b6
MESA: info:         con 32    %141 = @load_const_ir3 (%72 (0x0)) (base=1)
MESA: info:         div 32    %142 = fadd %107, %141
MESA: info:         con 32    %144 = @load_const_ir3 (%72 (0x0)) (base=2)
MESA: info:         div 32    %145 = fmul %142, %144
MESA: info:         div 32    %146 = fsat %145
MESA: info:         div 32x3  %612 = fneg %79.xyz
MESA: info:         div 32x3  %613 = ffma %612, %146.xxx, %79.xyz
MESA: info:         div 32x3  %615 = fmul %74, %613.yyy
MESA: info:         div 32x3  %617 = ffma %73, %613.xxx, %615
MESA: info:         div 32x3  %619 = ffma %75, %613.zzz, %617
MESA: info:         div 32x3  %623 = fadd %619, %76
MESA: info:         div 32x3  %630 = mov %623.zyx
MESA: info:                          // succs: b9
MESA: info:     }
MESA: info:     con block b9:        // preds: b7 b8
MESA: info:     div 32x3  %628 = phi b7: %629, b8: %630
MESA: info:     con 32x4  %199 = @load_const_ir3 (%72 (0x0)) (base=32)
MESA: info:     con 32x4  %207 = @load_const_ir3 (%72 (0x0)) (base=36)
MESA: info:     div 32x4  %633 = fmul %207, %628.yyyy
MESA: info:     div 32x4  %636 = ffma %199, %628.zzzz, %633
MESA: info:     con 32x4  %219 = @load_const_ir3 (%72 (0x0)) (base=40)
MESA: info:     div 32x4  %639 = ffma %219, %628.xxxx, %636
MESA: info:     con 32x4  %231 = @load_const_ir3 (%72 (0x0)) (base=44)
MESA: info:     div 32x4  %642 = fadd %639, %231
MESA: info:                      @store_output (%642, %72 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                      // succs: b10
MESA: info:     block b10:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 b8fe1d5ba27059120773602fe5850f4af5a3698e:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (20 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c24.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      4
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (320b -> 384b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0x7)
MESA: info: @in(r3.w)	in5 (wrmask=0x7)
MESA: info: @in(r4.z)	in6 (wrmask=0xf)
MESA: info: @const(c25.x)	0x3ef47d19, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l68
MESA: info: getone #l68
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 16, 2
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 0, 2
MESA: info: ldc.u.offset3.1.imm.base1 r48.z, 24, 0
MESA: info: ldc.u.offset0.1.imm.base1 r51.w, 4, 4
MESA: info: ldc.u.offset2.2.imm.base1 r49.y, 0, 4
MESA: info: ldc.u.offset1.1.imm.base1 r50.w, 25, 0
MESA: info: ldc.u.offset1.1.imm.base1 r51.x, 4, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.y, 2, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.z, 3, 4
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)(rpt1)mul.f r49.w, (r)r48.x, r48.z
MESA: info: mul.f r48.w, r48.w, r48.z
MESA: info: cmps.f.eq hr52.z, (abs)r50.x, (absneg)r49.w
MESA: info: mul.f r49.z, r49.z, r50.w
MESA: info: cmps.f.ge hr48.x, (0.0), r51.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: rcp r51.y, r51.y
MESA: info: rcp r51.z, r51.z
MESA: info: mul.f r49.y, r49.y, r50.w
MESA: info: cov.u16s32 r50.z, hr52.z
MESA: info: sub.u hr48.x, h(1), hr48.x
MESA: info: absneg.f r49.w, (neg)r49.w
MESA: info: absneg.f r49.y, (neg)r49.y
MESA: info: cov.u16s32 r48.y, hr48.x
MESA: info: (ss)nop
MESA: info: stc.u32 c[3], r48.w, 1
MESA: info: rcp r48.z, r48.z
MESA: info: rcp r49.z, r49.z
MESA: info: rcp r51.x, r51.x
MESA: info: rcp r50.x, r50.x
MESA: info: stc.u32 c[9], r51.y, 1
MESA: info: stc.u32 c[10], r51.z, 1
MESA: info: stc.u32 c[0], r50.z, 1
MESA: info: stc.u32 c[1], r49.w, 1
MESA: info: stc.u32 c[5], r49.y, 1
MESA: info: stc.u32 c[7], r48.y, 1
MESA: info: (ss)mul.f r48.w, r51.w, r51.w
MESA: info: add.f r48.w, r48.w, (2.0)
MESA: info: mul.f r49.x, r49.x, r48.z
MESA: info: mul.f r48.z, (neg)r51.w, r51.w
MESA: info: add.f r48.z, r48.z, (1.0)
MESA: info: mul.f r48.z, r48.z, c25.x
MESA: info: stc.u32 c[6], r49.z, 1
MESA: info: stc.u32 c[8], r51.x, 1
MESA: info: stc.u32 c[2], r50.x, 1
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[4], r49.x, 1
MESA: info: (ss)mul.f r48.z, r48.z, r48.w
MESA: info: mul.f r49.x, r51.w, r51.w
MESA: info: add.f r49.x, r49.x, (1.0)
MESA: info: mul.f r51.w, (2.0), r51.w
MESA: info: (ss)nop
MESA: info: stc.u32 c[12], r48.z, 1
MESA: info: stc.u32 c[11], r49.x, 1
MESA: info: stc.u32 c[13], r51.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 20, 0
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)80
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l68:
MESA: info: (jp)max.f r3.y, c7.y, (last)r3.y
MESA: info: max.f r3.z, c7.z, (last)r3.z
MESA: info: max.f r3.x, c7.x, (last)r3.x
MESA: info: min.f r3.y, (last)r3.y, (last)r4.x
MESA: info: min.f r3.z, (last)r3.z, (last)r4.y
MESA: info: min.f r3.x, (last)r3.x, (last)r3.w
MESA: info: add.f r3.y, c7.y, (last)(neg)r3.y
MESA: info: add.f r3.z, c7.z, (last)(neg)r3.z
MESA: info: add.f r3.x, c7.x, (last)(neg)r3.x
MESA: info: mul.f r3.y, (last)r3.y, r3.y
MESA: info: cmps.s.ne p0.x, c0.x, 0
MESA: info: (nop1) mad.f32 r3.z, (last)r3.z, r3.z, (last)r3.y
MESA: info: (nop3) mad.f32 r3.x, (last)r3.x, r3.x, (last)r3.z
MESA: info: (rpt1)nop
MESA: info: sqrt r3.x, (last)r3.x
MESA: info: br !p0.x, #l97
MESA: info: mul.f r0.w, (last)r0.w, r4.w
MESA: info: mul.f r1.x, (last)r1.x, r4.w
MESA: info: mul.f r1.y, (last)r1.y, r4.w
MESA: info: mad.f32 r0.x, (last)r0.x, r4.z, r0.w
MESA: info: mad.f32 r0.y, (last)r0.y, r4.z, r1.x
MESA: info: mad.f32 r0.z, (last)r0.z, r4.z, r1.y
MESA: info: mad.f32 r1.z, (last)r1.z, r5.x, r0.x
MESA: info: mad.f32 r1.w, (last)r1.w, r5.x, r0.y
MESA: info: mad.f32 r2.x, (last)r2.x, r5.x, r0.z
MESA: info: mad.f32 r2.y, (last)r2.y, r5.y, r1.z
MESA: info: mad.f32 r5.z, r2.z, r5.y, r1.w
MESA: info: mad.f32 r5.w, r2.w, r5.y, r2.x
MESA: info: jump #l110
MESA: info: l97:
MESA: info: (ss)(nop2) add.f r3.x, (last)r3.x, c0.y
MESA: info: (sat)(nop2) mul.f r3.x, (last)r3.x, c0.z
MESA: info: mad.f32 r4.w, (neg)(last)r4.w, r3.x, r4.w
MESA: info: mad.f32 r4.z, (neg)(last)r4.z, r3.x, r4.z
MESA: info: mad.f32 r5.x, (neg)(last)r5.x, r3.x, r5.x
MESA: info: mul.f r0.w, (last)r0.w, r4.w
MESA: info: (rpt1)mul.f r1.x, (last)(r)r1.x, (last)r4.w
MESA: info: mad.f32 r0.x, (last)r0.x, r4.z, (last)r0.w
MESA: info: (rpt1)mad.f32 r0.y, (r)(last)r0.y, r4.z, (r)(last)r1.x
MESA: info: mad.f32 r1.z, (last)r1.z, r5.x, (last)r0.x
MESA: info: (rpt1)mad.f32 r1.w, (r)(last)r1.w, r5.x, (r)(last)r0.y
MESA: info: add.f r2.y, (last)r1.z, (last)r2.y
MESA: info: (rpt1)add.f r5.z, (last)(r)r1.w, (last)(r)r2.z
MESA: info: l110:
MESA: info: nop
MESA: info: mul.f r6.x, c9.x, r5.z
MESA: info: mul.f r7.y, c9.y, r5.z
MESA: info: mad.f32 r6.x, c8.x, r2.y, (last)r6.x
MESA: info: mad.f32 r7.y, c8.y, r2.y, (last)r7.y
MESA: info: mad.f32 r6.y, c10.x, r5.w, (last)r6.x
MESA: info: mad.f32 r6.z, c10.y, r5.w, (last)r7.y
MESA: info: (rpt1)mul.f r7.z, (r)c9.z, (last)r5.z
MESA: info: (rpt1)mad.f32 r7.z, (r)c8.z, r2.y, (r)(last)r7.z
MESA: info: (rpt1)mad.f32 r6.w, (r)c10.z, r5.w, (r)(last)r7.z
MESA: info: (rpt3)add.f r8.x, (last)(r)r6.y, (r)c11.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r8.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (VERT_ATTRIB_GENERIC4 slot=19 cm=7,il=0,b=0) r3.w (VERT_ATTRIB_GENERIC5 slot=20 cm=7,il=0,b=0) r4.z (VERT_ATTRIB_GENERIC6 slot=21 cm=f,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0)
MESA: info: ; BVERT prog 106/2: 73 instr, 11 nops, 62 non-nops, 0 mov, 0 cov, 256 dwords
MESA: info: ; BVERT prog 106/2: 0 last-baryf, 0 last-helper, 0 half, 9 full, 28 constlen
MESA: info: ; BVERT prog 106/2: 14 cat0, 0 cat1, 30 cat2, 28 cat3, 1 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 106/2: 9 sstall, 1 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 106/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 69 preamble-instr, 1 early-preamble
MESA: info: ; pos: r8.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x41957396, 0x37fff87e, 0xeee0f0a7, 0xc28d26d5, 0x713c5fd7, 0x8aa473cf, 0x2fd43644, 0x208d7426}
MESA: info: inputs_read: 32-37
MESA: info: outputs_written: 4-5
MESA: info: system_values_read: 0x00000000'00000000'00000000'00800000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 6
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_VAR0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_VAR1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VARYING_SLOT_VAR2.xyzw, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #3 (VARYING_SLOT_VAR3.xyzw, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #4 (VARYING_SLOT_VAR4.xyzw, 4, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #5 (VARYING_SLOT_VAR5.xyz, 5, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #6 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #7 (FRAG_RESULT_DATA1.xyzw, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #8
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000007 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%3 (0x7)) (desc_set=1)
MESA: info:             con 32    %651 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32    %659 = load_const (0x00000009 = 0.000000)
MESA: info:             con 32    %653 = @load_ubo_vec4 (%4, %659 (0x9)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %656 = @load_ubo_vec4 (%4, %2 (0x0)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %8 = frcp %656
MESA: info:                              @store_const_ir3 (%8) (base=0)
MESA: info:             con 32x2  %854 = load_const (0x3e800000, 0x3fc00000) = (0.250000, 1.500000)
MESA: info:             con 32x2  %855 = fmul %8.xx, %854 (0.250000, 1.500000)
MESA: info:             con 32    %856 = mov %855.x
MESA: info:             con 32    %857 = mov %855.y
MESA: info:                              @store_const_ir3 (%856) (base=1)
MESA: info:                              @store_const_ir3 (%857) (base=2)
MESA: info:             con 32     %13 = frcp %653
MESA: info:                              @store_const_ir3 (%13) (base=3)
MESA: info:             con 32     %15 = @bindless_resource_ir3 (%659 (0x9)) (desc_set=1)
MESA: info:             con 32     %16 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%15, %16 (0x10)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%15, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %20 = load_const (0x00000006 = 0.000000)
MESA: info:             con 32     %21 = @bindless_resource_ir3 (%20 (0x6)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%21, %2 (0x0)) (base=48, range=4)
MESA: info:             con 32     %23 = load_const (0x00000005 = 0.000000)
MESA: info:             con 32     %24 = @bindless_resource_ir3 (%23 (0x5)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%24, %16 (0x10)) (base=64, range=8)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=96, range=12)
MESA: info:             con 32     %29 = load_const (0x00000008 = 0.000000)
MESA: info:             con 32     %30 = @bindless_resource_ir3 (%29 (0x8)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%30, %2 (0x0)) (base=144, range=4)
MESA: info:             con 32     %33 = @bindless_resource_ir3 (%651 (0x4)) (desc_set=2)
MESA: info:             con 32     %35 = @bindless_resource_ir3 (%23 (0x5)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%33, %35)
MESA: info:             con 32     %36 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32     %37 = @bindless_resource_ir3 (%36 (0x2)) (desc_set=2)
MESA: info:             con 32     %38 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32     %39 = @bindless_resource_ir3 (%38 (0x3)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%37, %39)
MESA: info:             con 32     %41 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %42 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %43 = @bindless_resource_ir3 (%42 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%41, %43)
MESA: info:             con 32     %45 = @bindless_resource_ir3 (%20 (0x6)) (desc_set=2)
MESA: info:             con 32     %47 = @bindless_resource_ir3 (%3 (0x7)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%45, %47)
MESA: info:             con 32     %49 = @bindless_resource_ir3 (%29 (0x8)) (desc_set=2)
MESA: info:             con 32     %51 = @bindless_resource_ir3 (%659 (0x9)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%49, %51)
MESA: info:             con 32     %56 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:             con 32     %57 = @bindless_resource_ir3 (%56 (0xa)) (desc_set=2)
MESA: info:             con 32     %58 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:             con 32     %59 = @bindless_resource_ir3 (%58 (0xb)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%57, %59)
MESA: info:             con 32     %64 = load_const (0x0000000c = 0.000000 = 12)
MESA: info:             con 32     %65 = @bindless_resource_ir3 (%64 (0xc)) (desc_set=2)
MESA: info:             con 32     %66 = load_const (0x0000000d = 0.000000 = 13)
MESA: info:             con 32     %67 = @bindless_resource_ir3 (%66 (0xd)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%65, %67)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %72 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x2   %73 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x4   %74 = @load_interpolated_input (%73, %72 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     div 32x4   %75 = @load_interpolated_input (%73, %72 (0x0)) (base=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR1 slots=1)
MESA: info:     div 32x4   %76 = @load_interpolated_input (%73, %72 (0x0)) (base=2, component=0, dest_type=float32, io location=VARYING_SLOT_VAR2 slots=1)
MESA: info:     div 32x4   %77 = @load_interpolated_input (%73, %72 (0x0)) (base=3, component=0, dest_type=float32, io location=VARYING_SLOT_VAR3 slots=1)
MESA: info:     div 32x4   %78 = @load_interpolated_input (%73, %72 (0x0)) (base=4, component=0, dest_type=float32, io location=VARYING_SLOT_VAR4 slots=1)
MESA: info:     div 32x2   %79 = @load_barycentric_centroid (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x3   %80 = @load_interpolated_input (%79, %72 (0x0)) (base=5, component=0, dest_type=float32, io location=VARYING_SLOT_VAR5 slots=1)
MESA: info:     div 32x2   %81 = vec2 %80.x, %80.y
MESA: info:     con 32     %82 = load_const (0x00000005 = 0.000000)
MESA: info:     con 32     %83 = @bindless_resource_ir3 (%82 (0x5)) (desc_set=2)
MESA: info:     con 32     %84 = load_const (0x00000004 = 0.000000)
MESA: info:     con 32     %85 = @bindless_resource_ir3 (%84 (0x4)) (desc_set=2)
MESA: info:     div 32x4   %86 = (float32)tex (pre-dispatchable) %85 (texture_handle), %83 (sampler_handle), %81 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32     %88 = load_const (0x00000002 = 0.000000)
MESA: info:     con 32x2   %95 = @load_const_ir3 (%72 (0x0)) (base=16)
MESA: info:     con 32     %96 = load_const (0xbf008081 = -0.501961)
MESA: info:     div 32x2  %858 = fadd %86.xy, %96 (-0.501961).xx
MESA: info:     con 32     %99 = load_const (0x40008102 = 2.007874)
MESA: info:     div 32x2  %859 = fmul %99 (2.007874).xx, %858
MESA: info:     div 32    %103 = fmul %859.x, %859.x
MESA: info:     div 32    %811 = ffma %859.y, %859.y, %103
MESA: info:     con 32    %105 = load_const (0x3f800000 = 1.000000)
MESA: info:     div 32    %810 = fsub %105 (1.000000), %811
MESA: info:     div 32    %108 = fsat %810
MESA: info:     div 32    %109 = fsqrt %108
MESA: info:     div 32x2  %860 = fmul %95.xx, %859
MESA: info:     div 32    %809 = ffma %860.y, %860.y, %108
MESA: info:     div 32    %808 = ffma %860.x, %860.x, %809
MESA: info:     div 32    %116 = frsq %808
MESA: info:     div 32x2  %861 = fmul %860, %116.xx
MESA: info:     div 32    %119 = fmul %109, %116
MESA: info:     con 1     %120 = ine %95.y, %72 (0x0)
MESA: info:     div 32x3  %863 = fmul %76.xyz, %861.yyy
MESA: info:     div 32x3  %865 = ffma %75.yzw, %861.xxx, %863
MESA: info:     div 32x2  %866 = ffma %74.zw, %119.xx, %865.xy
MESA: info:     div 32    %802 = ffma %75.x, %119, %865.z
MESA: info:     div 32    %137 = fmul %866.y, %866.y
MESA: info:     div 32    %801 = ffma %802, %802, %137
MESA: info:     div 32    %800 = ffma %866.x, %866.x, %801
MESA: info:     div 32    %141 = frsq %800
MESA: info:     div 32x2  %867 = fmul %866, %141.xx
MESA: info:     div 32    %144 = fmul %802, %141
MESA: info:     div 1     %145 = @load_front_face
MESA: info:     div 1     %146 = inot %145
MESA: info:     div 1     %147 = iand %146, %120
MESA: info:     div 32x2  %868 = fneg %867
MESA: info:     div 32    %150 = fneg %144
MESA: info:     div 32x2  %869 = bcsel %147.xx, %868, %867
MESA: info:     div 32    %153 = bcsel %147, %150, %144
MESA: info:     con 32    %154 = load_const (0x00000003 = 0.000000)
MESA: info:     con 32    %155 = @bindless_resource_ir3 (%154 (0x3)) (desc_set=2)
MESA: info:     con 32    %156 = @bindless_resource_ir3 (%88 (0x2)) (desc_set=2)
MESA: info:     div 32x4  %157 = (float32)tex (pre-dispatchable) %156 (texture_handle), %155 (sampler_handle), %81 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32    %158 = fmin %74.y, %157.z
MESA: info:     con 32    %159 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32    %160 = @bindless_resource_ir3 (%159 (0x1)) (desc_set=2)
MESA: info:     con 32    %161 = @bindless_resource_ir3 (%72 (0x0)) (desc_set=2)
MESA: info:     div 32x4  %162 = (float32)tex (pre-dispatchable) %161 (texture_handle), %160 (sampler_handle), %81 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32x3  %165 = @load_const_ir3 (%72 (0x0)) (base=32)
MESA: info:     div 32x3  %871 = fmul %162.xyz, %165
MESA: info:     con 32x4  %174 = @load_const_ir3 (%72 (0x0)) (base=48)
MESA: info:     con 32x4  %183 = @load_const_ir3 (%72 (0x0)) (base=52)
MESA: info:     con 32x4  %196 = @load_const_ir3 (%72 (0x0)) (base=56)
MESA: info:     con 32x4  %210 = @load_const_ir3 (%72 (0x0)) (base=60)
MESA: info:     div 32x4  %878 = ffma %183, %77.xxxx, %210
MESA: info:     div 32x4  %879 = ffma %174, %76.wwww, %878
MESA: info:     div 32x4  %880 = ffma %196, %77.yyyy, %879
MESA: info:     div 32    %216 = frcp %880.w
MESA: info:     div 32x2  %881 = fmul %880.xy, %216.xx
MESA: info:     div 32    %219 = fmin! %881.y, %881.x
MESA: info:     con 32    %220 = load_const (0xbf800000 = -1.000000)
MESA: info:     div 1     %221 = flt! %219, %220 (-1.000000)
MESA: info:     div 32    %222 = fmax! %881.y, %881.x
MESA: info:     div 1     %223 = flt! %105 (1.000000), %222
MESA: info:     div 1     %851 = inot %221
MESA: info:     div 1     %852 = inot %223
MESA: info:     div 1     %853 = iand %851, %852
MESA: info:                      // succs: b7 b8
MESA: info:     if %853 {
MESA: info:         div block b7:        // preds: b6
MESA: info:         con 32    %170 = load_const (0x00000006 = 0.000000)
MESA: info:         con 32    %184 = load_const (0x00000007 = 0.000000)
MESA: info:         con 32    %226 = load_const (0x3f000000 = 0.500000)
MESA: info:         div 32x2  %882 = ffma %226 (0.500000).xx, %881, %226 (0.500000).xx
MESA: info:         div 32    %789 = ffma %226 (0.500000), %880.z, %226 (0.500000)
MESA: info:         con 32    %234 = @bindless_resource_ir3 (%184 (0x7)) (desc_set=2)
MESA: info:         con 32    %235 = @bindless_resource_ir3 (%170 (0x6)) (desc_set=2)
MESA: info:         div 32    %236 = (float32)tex %235 (texture_handle), %234 (sampler_handle), %882 (coord), %789 (comparator), 0 (texture), 0 (sampler)
MESA: info:                          // succs: b9
MESA: info:     } else {
MESA: info:         div block b8:  // preds: b6, succs: b9
MESA: info:     }
MESA: info:     con block b9:        // preds: b7 b8
MESA: info:     div 32    %237 = phi b7: %236, b8: %105 (1.000000)
MESA: info:     con 32     %87 = load_const (0x00000009 = 0.000000)
MESA: info:     con 32    %166 = load_const (0x00000008 = 0.000000)
MESA: info:     con 32    %197 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:     con 32    %198 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:     con 32    %238 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32    %788 = fsub %238 (2.000000), %157.x
MESA: info:     div 32    %241 = fmul %157.x, %788
MESA: info:     con 32    %242 = load_const (0x3f600000 = 0.875000)
MESA: info:     div 1     %243 = fge! %242 (0.875000), %157.y
MESA: info:     con 32    %244 = load_const (0x3f26f694 = 0.652200)
MESA: info:     div 32    %245 = fmul %244 (0.652200), %157.y
MESA: info:     con 32    %246 = load_const (0xbf600000 = -0.875000)
MESA: info:     div 32    %247 = fadd %157.y, %246 (-0.875000)
MESA: info:     con 32    %248 = load_const (0x405bd07c = 3.434600)
MESA: info:     con 32    %250 = load_const (0x3f1217c2 = 0.570675)
MESA: info:     div 32    %787 = ffma %248 (3.434600), %247, %250 (0.570675)
MESA: info:     div 32    %252 = bcsel %243, %245, %787
MESA: info:     con 32    %253 = load_const (0x400ccccd = 2.200000)
MESA: info:     div 32x3  %886 = flog2 %871
MESA: info:     div 32x3  %887 = fmul %886, %253 (2.200000).xxx
MESA: info:     div 32x3  %888 = fexp2 %887
MESA: info:     div 32x3  %890 = fmul %888, %241.xxx
MESA: info:     div 32x3  %892 = fsub %888, %890
MESA: info:     con 32    %272 = load_const (0x3d23d70a = 0.040000)
MESA: info:     con 32    %274 = load_const (0x3c23d70a = 0.010000)
MESA: info:     div 32    %783 = ffma %252, %272 (0.040000), %274 (0.010000)
MESA: info:     div 32    %782 = fsub %105 (1.000000), %241
MESA: info:     div 32x3  %894 = ffma %783.xxx, %782.xxx, %890
MESA: info:     div 32x3  %896 = fsat %892
MESA: info:     div 32x3  %898 = fsat %894
MESA: info:     con 32x3  %292 = @load_const_ir3 (%72 (0x0)) (base=92)
MESA: info:     div 32    %778 = fsub %76.w, %292.x
MESA: info:     div 32x2  %899 = fsub %77.xy, %292.yz
MESA: info:     div 32    %300 = fmul %869.y, %899.x
MESA: info:     div 32    %775 = ffma %153, %899.y, %300
MESA: info:     div 32    %774 = ffma %869.x, %778, %775
MESA: info:     div 32    %304 = fmul %774, %238 (2.000000)
MESA: info:     div 32    %772 = fneg %304
MESA: info:     div 32    %773 = ffma %772, %869.x, %778
MESA: info:     div 32    %771 = ffma %772, %869.y, %899.x
MESA: info:     div 32    %769 = ffma %772, %153, %899.y
MESA: info:     div 32    %315 = fmul %771, %771
MESA: info:     div 32    %767 = ffma %769, %769, %315
MESA: info:     div 32    %766 = ffma %773, %773, %767
MESA: info:     div 32    %319 = frsq %766
MESA: info:     div 32    %320 = fmul %773, %319
MESA: info:     div 32    %321 = fmul %771, %319
MESA: info:     div 32    %322 = fmul %769, %319
MESA: info:     div 32x3  %901 = fsub %252.xxx, %898
MESA: info:     div 32x3  %903 = fmax %901, %72 (0.000000).xxx
MESA: info:     div 32    %333 = fmul %869.y, %321
MESA: info:     div 32    %762 = ffma %153, %322, %333
MESA: info:     div 32    %761 = ffma %869.x, %320, %762
MESA: info:     div 32    %337 = fabs %761
MESA: info:     div 32    %760 = fsub %105 (1.000000), %337
MESA: info:     div 32    %340 = fsat %760
MESA: info:     div 32    %342 = fmul %340, %340
MESA: info:     div 32    %343 = fmul %342, %342
MESA: info:     div 32    %344 = fmul %343, %340
MESA: info:     div 32x3  %905 = ffma %903, %344.xxx, %898
MESA: info:     div 32x3  %907 = fsub %105 (1.000000).xxx, %905
MESA: info:     div 32x3  %909 = fmul %896, %907
MESA: info:     div 32    %753 = fsub %105 (1.000000), %252
MESA: info:     con 32    %362 = load_const (0x40c00000 = 6.000000)
MESA: info:     div 32    %363 = fmul %362 (6.000000), %753
MESA: info:     con 32x3  %368 = @load_const_ir3 (%72 (0x0)) (base=116)
MESA: info:     con 32x3  %375 = @load_const_ir3 (%72 (0x0)) (base=120)
MESA: info:     con 32x3  %385 = @load_const_ir3 (%72 (0x0)) (base=124)
MESA: info:     con 32x3  %395 = @load_const_ir3 (%72 (0x0)) (base=128)
MESA: info:     div 32x3  %913 = ffma %375, %869.yyy, %395
MESA: info:     div 32x3  %914 = ffma %368, %869.xxx, %913
MESA: info:     div 32x3  %915 = ffma %385, %153.xxx, %914
MESA: info:     con 32    %400 = @bindless_resource_ir3 (%87 (0x9)) (desc_set=2)
MESA: info:     con 32    %401 = @bindless_resource_ir3 (%166 (0x8)) (desc_set=2)
MESA: info:     div 32x4  %402 = (float32)txl %401 (texture_handle), %400 (sampler_handle), %915 (coord), %362 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %945 = mov %402.yzx
MESA: info:     div 32x3  %919 = ffma %375, %321.xxx, %395
MESA: info:     div 32x3  %920 = ffma %368, %320.xxx, %919
MESA: info:     div 32x3  %921 = ffma %385, %322.xxx, %920
MESA: info:     div 32x4  %422 = (float32)txl %401 (texture_handle), %400 (sampler_handle), %921 (coord), %363 (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %939 = mov %422.yzx
MESA: info:     con 32    %423 = @bindless_resource_ir3 (%198 (0xb)) (desc_set=2)
MESA: info:     con 32    %424 = @bindless_resource_ir3 (%197 (0xa)) (desc_set=2)
MESA: info:     div 32x4  %425 = (float32)txl %424 (texture_handle), %423 (sampler_handle), %915 (coord), %362 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %942 = mov %425.yzx
MESA: info:     div 32x4  %426 = (float32)txl %424 (texture_handle), %423 (sampler_handle), %921 (coord), %363 (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %936 = mov %426.yzx
MESA: info:     con 32    %430 = @load_const_ir3 (%72 (0x0)) (base=132)
MESA: info:     con 1     %431 = flt! %105 (1.000000), %430
MESA: info:                      // succs: b10 b11
MESA: info:     if %431 {
MESA: info:         con block b10:       // preds: b9
MESA: info:         con 32x4  %434 = @load_const_ir3 (%72 (0x0)) (base=96)
MESA: info:         con 32    %436 = @load_const_ir3 (%72 (0x0)) (base=0)
MESA: info:         con 32    %438 = @load_const_ir3 (%72 (0x0)) (base=1)
MESA: info:         con 32    %440 = @load_const_ir3 (%72 (0x0)) (base=2)
MESA: info:         div 32    %441 = fmax %153, %72 (0.000000)
MESA: info:         div 32    %442 = fadd %105 (1.000000), %441
MESA: info:         div 32    %443 = fmul %438, %442
MESA: info:         div 32x3  %944 = mov %443.xxx
MESA: info:         div 32    %445 = fmul %869.y, %434.y
MESA: info:         div 32    %740 = ffma %153, %434.z, %445
MESA: info:         div 32    %739 = ffma %869.x, %434.x, %740
MESA: info:         div 32    %449 = fmax %739, %72 (0.000000)
MESA: info:         div 32    %450 = fadd %443, %449
MESA: info:         div 32    %451 = fmul %440, %450
MESA: info:         div 32x3  %941 = mov %451.xxx
MESA: info:         con 32    %452 = load_const (0x3dcccccd = 0.100000)
MESA: info:         con 32    %453 = fmul %452 (0.100000), %436
MESA: info:         con 32x3  %938 = mov %453.xxx
MESA: info:         div 32    %455 = fmul %321, %434.y
MESA: info:         div 32    %738 = ffma %322, %434.z, %455
MESA: info:         div 32    %737 = ffma %320, %434.x, %738
MESA: info:         div 32    %459 = fmax %737, %72 (0.000000)
MESA: info:         div 32    %460 = fmul %436, %459
MESA: info:         div 32x3  %935 = mov %460.xxx
MESA: info:                          // succs: b12
MESA: info:     } else {
MESA: info:         con block b11:  // preds: b9, succs: b12
MESA: info:     }
MESA: info:     con block b12:       // preds: b10 b11
MESA: info:     div 32x3  %934 = phi b10: %935, b11: %936
MESA: info:     div 32x3  %940 = phi b10: %941, b11: %942
MESA: info:     div 32x3  %937 = phi b10: %938, b11: %939
MESA: info:     div 32x3  %943 = phi b10: %944, b11: %945
MESA: info:     con 32    %175 = load_const (0x0000000c = 0.000000 = 12)
MESA: info:     con 32    %211 = load_const (0x0000000d = 0.000000 = 13)
MESA: info:     con 32    %341 = load_const (0x40a00000 = 5.000000)
MESA: info:     con 32    %487 = @load_const_ir3 (%72 (0x0)) (base=99)
MESA: info:     div 32    %488 = fmul %430, %158
MESA: info:     con 32    %493 = @load_const_ir3 (%72 (0x0)) (base=3)
MESA: info:     con 32    %494 = load_const (0x3f266666 = 0.650000)
MESA: info:     con 32    %496 = load_const (0x3eb33333 = 0.350000)
MESA: info:     div 32    %736 = ffma %158, %494 (0.650000), %496 (0.350000)
MESA: info:     div 32    %498 = fmul %493, %736
MESA: info:     div 32    %499 = fmul %498, %237
MESA: info:     div 32x3  %947 = fsub %940.zxy, %943.zxy
MESA: info:     div 32x3  %949 = fmul %499.xxx, %947
MESA: info:     div 32x3  %951 = ffma %488.xxx, %943.zxy, %949
MESA: info:     div 32x3  %953 = fmul %430.xxx, %937.zxy
MESA: info:     div 32x3  %956 = fneg %953
MESA: info:     div 32x3  %957 = ffma %493.xxx, %934.zxy, %956
MESA: info:     div 32x3  %959 = fmul %237.xxx, %957
MESA: info:     div 32x3  %961 = ffma %430.xxx, %937.zxy, %959
MESA: info:     div 32x3  %963 = fmul %905, %961
MESA: info:     div 32x3  %965 = ffma %909, %951, %963
MESA: info:     div 32x3  %967 = fmul %487.xxx, %965
MESA: info:     div 32    %720 = fsub %105 (1.000000), %80.z
MESA: info:     div 32    %718 = fneg %907.x
MESA: info:     div 32    %719 = ffma %718, %720, %105 (1.000000)
MESA: info:     div 32    %548 = fmul %899.x, %899.x
MESA: info:     div 32    %717 = ffma %899.y, %899.y, %548
MESA: info:     div 32    %716 = ffma %778, %778, %717
MESA: info:     div 32    %552 = frsq %716
MESA: info:     div 32    %553 = fmul %778, %552
MESA: info:     div 32x2  %968 = fmul %899, %552.xx
MESA: info:     div 32x3  %972 = ffma %375, %968.xxx, %395
MESA: info:     div 32x3  %973 = ffma %368, %553.xxx, %972
MESA: info:     div 32x3  %974 = ffma %385, %968.yyy, %973
MESA: info:     con 32    %575 = @bindless_resource_ir3 (%211 (0xd)) (desc_set=2)
MESA: info:     con 32    %576 = @bindless_resource_ir3 (%175 (0xc)) (desc_set=2)
MESA: info:     div 32x4  %577 = (float32)txl %576 (texture_handle), %575 (sampler_handle), %974 (coord), %72 (0.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %578 = (float32)txl %576 (texture_handle), %575 (sampler_handle), %974 (coord), %362 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     con 32x3  %585 = @load_const_ir3 (%72 (0x0)) (base=148)
MESA: info:     div 32x3  %976 = fmul %585, %78.yzw
MESA: info:     div 32x2  %977 = ffma %967.xy, %77.zw, %976.xy
MESA: info:     div 32    %707 = ffma %967.z, %78.x, %976.z
MESA: info:     con 32    %592 = load_const (0xbf4ccccd = -0.800000)
MESA: info:     div 32    %593 = fadd %74.x, %592 (-0.800000)
MESA: info:     div 32    %594 = fmul %593, %341 (5.000000)
MESA: info:     div 32    %595 = fsat %594
MESA: info:     div 32x3  %979 = fsub %577.xyz, %578.xyz
MESA: info:     div 32x3  %981 = ffma %595.xxx, %979, %578.xyz
MESA: info:     div 32x2  %982 = fneg %977
MESA: info:     div 32x2  %983 = ffma %487.xx, %981.xy, %982
MESA: info:     div 32x2  %984 = ffma %74.xx, %983, %977
MESA: info:     div 32    %619 = fneg %707
MESA: info:     div 32    %696 = ffma %487, %981.z, %619
MESA: info:     div 32    %695 = ffma %74.x, %696, %707
MESA: info:     con 32x3  %625 = @load_const_ir3 (%72 (0x0)) (base=64)
MESA: info:     con 32x3  %632 = @load_const_ir3 (%72 (0x0)) (base=68)
MESA: info:     div 32x3  %986 = fmul %632, %869.yyy
MESA: info:     div 32x3  %988 = ffma %625, %869.xxx, %986
MESA: info:     con 32x3  %642 = @load_const_ir3 (%72 (0x0)) (base=72)
MESA: info:     div 32x3  %990 = ffma %642, %153.xxx, %988
MESA: info:     div 32x4  %649 = vec4 %984.x, %984.y, %695, %719
MESA: info:                      @store_output (%649, %72 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %650 = vec4 %990.x, %990.y, %990.z, %105 (0x3f800000)
MESA: info:                      @store_output (%650, %72 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA1 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b13
MESA: info:     block b13:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 0c794e81eac307399ba9cba05509ba55e244b0dd:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (36 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      6
MESA: info: ;   range[0]:
MESA: info: ;     block:          9
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (256b -> 320b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          9
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          6
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          5
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c16.x
MESA: info: ;     size:           8 vec4 (256b -> 384b)
MESA: info: ;   range[4]:
MESA: info: ;     block:          7
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c24.x
MESA: info: ;     size:           12 vec4 (0b -> 192b)
MESA: info: ;   range[5]:
MESA: info: ;     block:          8
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c36.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.z)	in0 (wrmask=0x3)
MESA: info: @in(r0.x)	in1 (wrmask=0x3)
MESA: info: @in(hr2.x)	in2 (wrmask=0x1)
MESA: info: @tex(r1.y)	src=20, bindless=1, samp=5, tex=4, wrmask=0x3, opc=sam
MESA: info: @tex(r1.w)	src=20, bindless=1, samp=3, tex=2, wrmask=0x7, opc=sam
MESA: info: @tex(r2.z)	src=20, bindless=1, samp=1, tex=0, wrmask=0x7, opc=sam
MESA: info: @const(c40.x)	0x3e800000, 0x3fc00000, 0xbf800000, 0xbf4ccccd
MESA: info: @const(c41.x)	0x40a00000, 0x400ccccd, 0x3f26f694, 0x3f600000
MESA: info: @const(c42.x)	0x405bd07c, 0xbf600000, 0x3f1217c2, 0x3c23d70a
MESA: info: @const(c43.x)	0x3d23d70a, 0x40008102, 0xbf008081, 0x3eb33333
MESA: info: @const(c44.x)	0x3f266666, 0x3f000000, 0x3dcccccd, 0x40c00000
MESA: info: @const(c45.x)	0x3f800000, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l38
MESA: info: getone #l38
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#5, t#4
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#3, t#2
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#7, t#6
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#9, t#8
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#11, t#10
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#13, t#12
MESA: info: (ss)nop
MESA: info: ldc.u.offset3.1.imm.base1 r48.x, 0, 7
MESA: info: ldc.u.offset0.1.imm.base1 r48.y, 9, 7
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)rcp r48.x, r48.x
MESA: info: rcp r48.y, r48.y
MESA: info: (ss)(rpt1)mul.f r48.z, r48.x, (r)c40.x
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[3], r48.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[1], r48.z, 1
MESA: info: stc.u32 c[2], r48.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 16, 9
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 9
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 6
MESA: info: (ss)mova1 a1.x, (r)64
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 16, 5
MESA: info: (ss)mova1 a1.x, (r)96
MESA: info: (ss)nop
MESA: info: ldc.12.k.imm.base1 c[a1.x], 0, 7
MESA: info: (ss)mova1 a1.x, (r)144
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 8
MESA: info: (sy)(ss)shpe
MESA: info: l38:
MESA: info: (jp)(rpt1)bary.f r4.x, (r)8, r0.z
MESA: info: bary.f r4.w, 10, r0.z
MESA: info: (rpt1)bary.f r5.x, (r)6, r0.z
MESA: info: (rpt1)bary.f r5.z, (r)2, r0.z
MESA: info: bary.f r4.z, 5, r0.z
MESA: info: bary.f r6.x, 4, r0.z
MESA: info: bary.f r6.z, 12, r0.z
MESA: info: bary.f r6.w, 11, r0.z
MESA: info: bary.f r7.x, 13, r0.z
MESA: info: bary.f r6.y, 1, r0.z
MESA: info: bary.f r0.x, 22, (last)r0.x
MESA: info: (rpt2)bary.f r10.y, (r)17, r0.z
MESA: info: (rpt1)bary.f r11.x, (r)14, r0.z
MESA: info: bary.f r11.z, 0, r0.z
MESA: info: bary.f (ei)r0.z, 16, (last)r0.z
MESA: info: cmps.s.ne hr50.x, c4.y, 0
MESA: info: (sy)(rpt1)add.f r1.y, (last)(r)r1.y, c43.z
MESA: info: mad.f32 r10.x, c13.w, r6.z, c15.w
MESA: info: (rpt1)mul.f r1.y, c43.y, (last)(r)r1.y
MESA: info: mad.f32 r10.x, c12.w, r6.w, (last)r10.x
MESA: info: mul.f r7.y, r1.y, r1.y
MESA: info: mul.f r1.y, c4.x, (last)r1.y
MESA: info: mad.f32 r7.y, r1.z, r1.z, (last)r7.y
MESA: info: mul.f r1.z, c4.x, (last)r1.z
MESA: info: mad.f32 r10.x, c14.w, r7.x, (last)r10.x
MESA: info: (sat)add.f r7.y, (1.0), (last)(neg)r7.y
MESA: info: mad.f32 r7.w, c13.x, r6.z, c15.x
MESA: info: mad.f32 r7.z, r1.z, r1.z, r7.y
MESA: info: mad.f32 r8.z, c13.y, r6.z, c15.y
MESA: info: mad.f32 r7.z, r1.y, r1.y, (last)r7.z
MESA: info: rcp r10.x, (last)r10.x
MESA: info: mad.f32 r7.w, c12.x, r6.w, (last)r7.w
MESA: info: sqrt r7.y, (last)r7.y
MESA: info: cmps.s.eq hr2.x, (last)hr2.x, h(0)
MESA: info: mad.f32 r8.z, c12.y, r6.w, (last)r8.z
MESA: info: mad.f32 r8.x, c14.x, r7.x, (last)r7.w
MESA: info: mad.f32 r8.y, c14.y, r7.x, (last)r8.z
MESA: info: rsq r7.z, (last)r7.z
MESA: info: sub.u hr2.x, h(1), (last)hr2.x
MESA: info: mad.f32 r9.w, c13.z, r6.z, c15.z
MESA: info: mul.f r3.y, (last)r2.z, c8.x
MESA: info: mad.f32 r9.w, c12.z, r6.w, (last)r9.w
MESA: info: (rpt1)mul.f r3.z, (last)(r)r2.w, (r)c8.y
MESA: info: min.f r6.y, (last)r6.y, (last)r2.y
MESA: info: mad.f32 r9.w, c14.z, r7.x, (last)r9.w
MESA: info: (ss)mul.f r1.z, (last)r1.z, r7.z
MESA: info: mul.f r1.y, (last)r1.y, r7.z
MESA: info: mul.f r7.y, (last)r7.y, (last)r7.z
MESA: info: mul.f r4.y, (last)r4.y, r1.z
MESA: info: mul.f r4.w, (last)r4.w, r1.z
MESA: info: mad.f32 r5.x, (last)r5.x, r1.y, (last)r4.y
MESA: info: mul.f r4.x, (last)r4.x, (last)r1.z
MESA: info: mad.f32 r5.y, (last)r5.y, r1.y, (last)r4.w
MESA: info: mad.f32 r9.y, (last)r5.w, r7.y, (last)r5.x
MESA: info: mad.f32 r4.z, (last)r4.z, r1.y, (last)r4.x
MESA: info: mad.f32 r6.x, (last)r6.x, r7.y, (last)r5.y
MESA: info: mul.f r9.z, r9.y, r9.y
MESA: info: mad.f32 r9.x, (last)r5.z, r7.y, (last)r4.z
MESA: info: mad.f32 r9.z, r6.x, r6.x, (last)r9.z
MESA: info: (rpt1)mul.f r8.x, (last)(r)r8.x, (last)r10.x
MESA: info: mad.f32 r9.z, r9.x, r9.x, (last)r9.z
MESA: info: and.b r8.w, (last)hr2.x, hr50.x
MESA: info: max.f r1.y, r8.y, r8.x
MESA: info: (nop1) min.f r1.x, r8.y, r8.x
MESA: info: cmps.f.lt p0.y, (1.0), (last)r1.y
MESA: info: rsq r9.z, (last)r9.z
MESA: info: cmps.f.lt p0.x, (last)r1.x, c40.z
MESA: info: (ss)(rpt1)mul.f r9.x, (last)(r)r9.x, r9.z
MESA: info: mul.f r6.x, (last)r6.x, (last)r9.z
MESA: info: absneg.f r11.w, (neg)r9.x
MESA: info: absneg.f r0.y, (neg)r9.y
MESA: info: absneg.f r0.w, (neg)r6.x
MESA: info: sel.b32 r11.w, (last)r11.w, r8.w, (last)r9.x
MESA: info: sel.b32 r0.y, (last)r0.y, r8.w, (last)r9.y
MESA: info: sel.b32 r0.w, (last)r0.w, r8.w, (last)r6.x
MESA: info: brao p0.x, p0.y, #l121
MESA: info: (rpt1)mad.f32 r8.x, c44.y, (r)r8.x, c44.y
MESA: info: (nop3) mad.f32 r9.w, c44.y, r9.w, c44.y
MESA: info: (rpt1)nop
MESA: info: alias.tex.b32.0 r8.z, r9.w
MESA: info: sam.s.base2 (f32)(x)r1.z, r8.x, s#7, t#6
MESA: info: (eq)nop
MESA: info: jump #l123
MESA: info: l121:
MESA: info: (eq)(jp)nop
MESA: info: mov.u32u32 r1.z, 0x3f800000
MESA: info: l123:
MESA: info: (jp)(rpt2)log2 r3.y, (last)(r)r3.y
MESA: info: add.f r6.z, (last)r6.z, (neg)c23.y
MESA: info: add.f r7.x, (last)r7.x, (neg)c23.z
MESA: info: add.f r6.w, (last)r6.w, (neg)c23.x
MESA: info: mul.f r4.y, r0.y, r6.z
MESA: info: mad.f32 r5.z, c30.x, r0.y, c32.x
MESA: info: mad.f32 r4.y, r0.w, r7.x, (last)r4.y
MESA: info: mad.f32 r5.w, c30.y, r0.y, c32.y
MESA: info: mad.f32 r4.y, r11.w, r6.w, (last)r4.y
MESA: info: mad.f32 r6.x, c30.z, r0.y, c32.z
MESA: info: mad.f32 r5.z, c29.x, r11.w, (last)r5.z
MESA: info: mul.f r4.y, (last)r4.y, (2.0)
MESA: info: (ss)(rpt2)mul.f r3.y, (last)(r)r3.y, c41.y
MESA: info: mad.f32 r4.w, (neg)r4.y, r0.y, r6.z
MESA: info: mad.f32 r5.x, (neg)r4.y, r0.w, r7.x
MESA: info: mad.f32 r4.y, (neg)(last)r4.y, r11.w, r6.w
MESA: info: (rpt2)exp2 r3.y, (last)(r)r3.y
MESA: info: mul.f r5.y, r4.w, r4.w
MESA: info: mad.f32 r5.w, c29.y, r11.w, (last)r5.w
MESA: info: mad.f32 r5.y, r5.x, r5.x, (last)r5.y
MESA: info: mad.f32 r6.x, c29.z, r11.w, (last)r6.x
MESA: info: mad.f32 r5.y, r4.y, r4.y, (last)r5.y
MESA: info: mad.f32 r5.z, c31.x, r0.w, (last)r5.z
MESA: info: mad.f32 r5.w, c31.y, r0.w, (last)r5.w
MESA: info: mad.f32 r6.x, c31.z, r0.w, (last)r6.x
MESA: info: add.f r2.z, r2.x, c42.y
MESA: info: add.f r2.y, (2.0), (neg)r1.w
MESA: info: rsq r5.y, (last)r5.y
MESA: info: cmps.f.ge r2.w, c41.w, r2.x
MESA: info: mul.f r2.x, c41.z, (last)r2.x
MESA: info: mad.f32 r2.z, c42.x, r2.z, c42.z
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r7.y, r5.z, r40.x, s#9, t#8
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r8.x, r5.z, r40.x, s#11, t#10
MESA: info: mul.f r1.w, (last)r1.w, (last)r2.y
MESA: info: sel.b32 r2.x, (last)r2.x, r2.w, (last)r2.z
MESA: info: cmps.f.lt p0.x, (1.0), c33.x
MESA: info: add.f r3.x, (1.0), (neg)r1.w
MESA: info: mad.f32 r4.x, c43.x, r2.x, c42.w
MESA: info: (ss)mul.f r4.w, (last)r4.w, r5.y
MESA: info: mul.f r5.x, (last)r5.x, r5.y
MESA: info: mul.f r4.y, (last)r4.y, (last)r5.y
MESA: info: mul.f r5.w, r0.y, r4.w
MESA: info: mul.f r8.w, r3.y, r1.w
MESA: info: mad.f32 r5.w, r0.w, r5.x, (last)r5.w
MESA: info: (sat)mad.f32 r9.x, r4.x, r3.x, r8.w
MESA: info: mad.f32 r5.w, r11.w, r4.y, (last)r5.w
MESA: info: (sat)add.f r3.y, (last)r3.y, (last)(neg)r8.w
MESA: info: (rpt1)mul.f r9.w, (r)r3.z, (last)r1.w
MESA: info: (sat)add.f r5.w, (1.0), (last)(absneg)r5.w
MESA: info: add.f r1.x, r2.x, (neg)r9.x
MESA: info: add.f r4.z, (1.0), (neg)r2.x
MESA: info: mul.f r8.w, r5.w, r5.w
MESA: info: mad.f32 r6.x, c30.x, r4.w, c32.x
MESA: info: (sat)add.f r3.z, (last)r3.z, (neg)r9.w
MESA: info: mul.f r8.w, (last)r8.w, r8.w
MESA: info: (sat)(rpt1)mad.f32 r9.y, (last)r4.x, r3.x, (r)r9.w
MESA: info: (sat)add.f r3.w, (last)r3.w, (last)(neg)r10.x
MESA: info: mad.f32 r9.w, c30.y, r4.w, c32.y
MESA: info: mad.f32 r10.x, c30.z, r4.w, c32.z
MESA: info: max.f r2.y, (last)r1.x, (0.0)
MESA: info: mad.f32 r6.x, c29.x, r4.y, (last)r6.x
MESA: info: mul.f r8.w, (last)r8.w, (last)r5.w
MESA: info: mad.f32 r9.w, c29.y, r4.y, (last)r9.w
MESA: info: mad.f32 r10.x, c29.z, r4.y, (last)r10.x
MESA: info: mul.f r4.z, c44.w, (last)r4.z
MESA: info: (rpt1)add.f r5.y, (last)r2.x, (neg)(r)r9.y
MESA: info: mad.f32 r6.x, c31.x, r5.x, (last)r6.x
MESA: info: mad.f32 r9.w, c31.y, r5.x, (last)r9.w
MESA: info: mad.f32 r10.x, c31.z, r5.x, (last)r10.x
MESA: info: (rpt1)max.f r2.z, (last)(r)r5.y, (0.0)
MESA: info: (rpt2)mad.f32 r2.y, (r)(last)r2.y, r8.w, (r)(last)r9.x
MESA: info: alias.tex.b32.0 r9.z, r6.x
MESA: info: saml.3d.base2 (f32)(xyz)r5.y, r9.z, r4.z, s#9, t#8
MESA: info: add.f r9.x, (1.0), (neg)r2.y
MESA: info: add.f r9.y, (1.0), (neg)r2.z
MESA: info: add.f r9.z, (1.0), (neg)r2.w
MESA: info: mul.f r3.y, (last)r3.y, r9.x
MESA: info: mul.f r3.z, (last)r3.z, (last)r9.y
MESA: info: mul.f r3.w, (last)r3.w, (last)r9.z
MESA: info: (ss)nop
MESA: info: alias.tex.b32.0 r9.z, r6.x
MESA: info: saml.3d.base2 (f32)(xyz)r9.y, r9.z, r4.z, s#11, t#10
MESA: info: br !p0.x, #l233
MESA: info: mov.u32u32 r49.y, c0.x
MESA: info: mul.f r49.y, c44.z, r49.y
MESA: info: mul.f r1.x, r0.y, c24.y
MESA: info: mul.f r4.w, (last)r4.w, c24.y
MESA: info: mad.f32 r1.x, c24.z, r0.w, (last)r1.x
MESA: info: mad.f32 r5.x, c24.z, r5.x, (last)r4.w
MESA: info: mad.f32 r1.x, c24.x, r11.w, (last)r1.x
MESA: info: mad.f32 r4.y, c24.x, r4.y, (last)r5.x
MESA: info: (ss)max.f r10.x, r0.w, (0.0)
MESA: info: max.f r1.x, (last)r1.x, (0.0)
MESA: info: max.f r4.y, (last)r4.y, (0.0)
MESA: info: (nop2) add.f r10.x, (1.0), (last)r10.x
MESA: info: (sy)mul.f r7.z, c0.y, (last)r10.x
MESA: info: mov.u32u32 r5.z, r49.y
MESA: info: mul.f r9.z, c0.x, (last)r4.y
MESA: info: add.f r1.x, r7.z, (last)r1.x
MESA: info: mov.u32u32 r7.w, r7.z
MESA: info: mov.u32u32 r7.y, r7.z
MESA: info: mul.f r8.y, c0.z, (last)r1.x
MESA: info: mov.u32u32 r5.w, r5.z
MESA: info: mov.u32u32 r5.y, r5.z
MESA: info: mov.u32u32 r9.w, r9.z
MESA: info: mov.u32u32 r9.y, r9.z
MESA: info: mov.u32u32 r8.z, r8.y
MESA: info: mov.u32u32 r8.x, r8.y
MESA: info: l233:
MESA: info: mad.f32 r4.w, c44.x, r6.y, c43.w
MESA: info: mul.f r6.y, c33.x, (last)r6.y
MESA: info: mul.f r10.y, c37.x, (last)r10.y
MESA: info: mul.f r4.w, c0.w, (last)r4.w
MESA: info: mul.f r10.z, c37.y, (last)r10.z
MESA: info: mul.f r10.w, c37.z, (last)r10.w
MESA: info: (nop2) add.f r0.x, (1.0), (last)(neg)r0.x
MESA: info: mad.f32 r1.w, (neg)(last)r9.x, r0.x, c45.x
MESA: info: (sy)mul.f r5.x, c33.x, r5.y
MESA: info: mul.f r4.w, (last)r4.w, r1.z
MESA: info: mad.f32 r9.y, c0.w, r9.y, (neg)(last)r5.x
MESA: info: add.f r4.x, (last)r8.x, (neg)r7.y
MESA: info: (rpt1)add.f r4.y, (last)(r)r8.y, (neg)(r)r7.z
MESA: info: mul.f r9.y, r1.z, (last)r9.y
MESA: info: (rpt2)mul.f r4.x, (last)r4.w, (last)(r)r4.x
MESA: info: mad.f32 r5.y, c33.x, r5.y, (last)r9.y
MESA: info: (rpt2)mad.f32 r7.y, (last)r6.y, (r)r7.y, (r)(last)r4.x
MESA: info: mul.f r2.y, (last)r2.y, (last)r5.y
MESA: info: mul.f r5.y, c33.x, r5.z
MESA: info: mad.f32 r3.y, (last)r3.y, r7.y, (last)r2.y
MESA: info: mad.f32 r9.z, c0.w, r9.z, (neg)(last)r5.y
MESA: info: add.f r7.y, r11.z, c40.w
MESA: info: mul.f r3.y, c24.w, (last)r3.y
MESA: info: mul.f r9.z, r1.z, (last)r9.z
MESA: info: (sat)mul.f r7.y, (last)r7.y, c41.x
MESA: info: mad.f32 r5.z, c33.x, r5.z, (last)r9.z
MESA: info: (nop1) mad.f32 r6.x, (last)r3.y, r11.x, (last)r10.y
MESA: info: mul.f r2.z, (last)r2.z, (last)r5.z
MESA: info: mul.f r5.z, c33.x, r5.w
MESA: info: mad.f32 r3.z, (last)r3.z, r7.z, (last)r2.z
MESA: info: mad.f32 r9.w, c0.w, r9.w, (neg)(last)r5.z
MESA: info: mul.f r7.z, c17.x, r0.y
MESA: info: mul.f r3.z, c24.w, (last)r3.z
MESA: info: mul.f r1.z, (last)r1.z, (last)r9.w
MESA: info: mul.f r9.w, c17.y, r0.y
MESA: info: mad.f32 r5.w, c33.x, r5.w, (last)r1.z
MESA: info: mad.f32 r6.y, (last)r3.z, r11.y, (last)r10.z
MESA: info: mul.f r0.y, c17.z, (last)r0.y
MESA: info: mul.f r2.w, (last)r2.w, (last)r5.w
MESA: info: mul.f r5.w, r6.z, r6.z
MESA: info: mad.f32 r3.w, (last)r3.w, r7.w, (last)r2.w
MESA: info: mad.f32 r5.w, r7.x, r7.x, (last)r5.w
MESA: info: mad.f32 r8.y, c16.z, r11.w, (last)r0.y
MESA: info: mad.f32 r5.w, r6.w, r6.w, (last)r5.w
MESA: info: mul.f r3.w, c24.w, (last)r3.w
MESA: info: mad.f32 r7.w, c16.x, r11.w, (last)r7.z
MESA: info: mad.f32 r8.x, c16.y, r11.w, (last)r9.w
MESA: info: mad.f32 r3.w, (last)r3.w, r0.z, (last)r10.w
MESA: info: mov.u32u32 r2.w, 0x3f800000
MESA: info: rsq r5.w, (last)r5.w
MESA: info: (rpt2)mad.f32 r2.x, (r)c18.x, r0.w, (r)(last)r7.w
MESA: info: (ss)mul.f r6.z, (last)r6.z, r5.w
MESA: info: mul.f r6.w, (last)r6.w, r5.w
MESA: info: mul.f r7.x, (last)r7.x, (last)r5.w
MESA: info: mad.f32 r8.z, c30.x, r6.z, c32.x
MESA: info: (rpt1)mad.f32 r9.y, (r)c30.y, r6.z, (r)c32.y
MESA: info: mad.f32 r8.z, c29.x, r6.w, (last)r8.z
MESA: info: (rpt1)mad.f32 r9.y, (r)c29.y, r6.w, (r)(last)r9.y
MESA: info: mad.f32 r8.z, c31.x, r7.x, (last)r8.z
MESA: info: (rpt1)mad.f32 r9.y, (r)c31.y, r7.x, (r)(last)r9.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r9.x, r8.z
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: saml.3d.base2 (f32)(xyz)r10.x, r9.x, r40.x, s#13, t#12
MESA: info: alias.tex.b32.1 r9.x, r8.z
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r10.w, r9.x, r40.x, s#13, t#12
MESA: info: (sy)add.f r10.x, (last)r10.x, (neg)r10.w
MESA: info: add.f r10.y, (last)r10.y, (neg)r11.x
MESA: info: add.f r10.z, (last)r10.z, (neg)r11.y
MESA: info: mad.f32 r0.y, r7.y, r10.x, (last)r10.w
MESA: info: mad.f32 r0.z, r7.y, r10.y, (last)r11.x
MESA: info: mad.f32 r7.y, (last)r7.y, r10.z, (last)r11.y
MESA: info: (rpt1)mad.f32 r0.y, c24.w, (r)r0.y, (neg)(r)r6.x
MESA: info: mad.f32 r7.y, c24.w, r7.y, (neg)r3.w
MESA: info: (rpt1)mad.f32 r1.x, r11.z, (r)r0.y, (r)(last)r6.x
MESA: info: mad.f32 r1.z, (last)r11.z, r7.y, (last)r3.w
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r1.x (FRAG_RESULT_DATA0) r2.x (FRAG_RESULT_DATA1)
MESA: info: ; FRAG: inputs: r11.z (VARYING_SLOT_VAR0 slot=32 cm=f,il=0,b=1) r6.x (VARYING_SLOT_VAR1 slot=33 cm=f,il=4,b=1) r4.x (VARYING_SLOT_VAR2 slot=34 cm=f,il=8,b=1) r6.z (VARYING_SLOT_VAR3 slot=35 cm=f,il=12,b=1) r0.z (VARYING_SLOT_VAR4 slot=36 cm=f,il=16,b=1) r0.x (VARYING_SLOT_VAR5 slot=37 cm=7,il=20,b=1) r0.z (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_CENTROID slot=58 cm=3,il=0,b=0) r2.x (SYSTEM_VALUE_FRONT_FACE slot=23 cm=1,il=0,b=0)
MESA: info: ; FRAG prog 107/1: 323 instr, 19 nops, 304 non-nops, 12 mov, 0 cov, 640 dwords
MESA: info: ; FRAG prog 107/1: 20 last-baryf, 100 last-helper, 0 half, 12 full, 48 constlen
MESA: info: ; FRAG prog 107/1: 23 cat0, 12 cat1, 148 cat2, 112 cat3, 12 cat4, 7 cat5, 0 cat6, 9 cat7
MESA: info: ; FRAG prog 107/1: 18 sstall, 7 (ss), 88 systall, 4 (sy), 0 loops
MESA: info: ; FRAG prog 107/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 39 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.z
MESA: info: ; pos (ij_centroid): r0.x
MESA: info: ; data0: r1.x
MESA: info: ; data1: r2.x
MESA: info: ; fragface: r2.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x61021ade, 0x13d2a139, 0x7a82eb01, 0x0d90b229, 0xb3ca7a6d, 0x08574d29, 0x8f5f117d, 0x90ae7da2}
MESA: info: inputs_read: 15-24
MESA: info: outputs_written: 0,32-37
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 10
MESA: info: outputs: 7
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VERT_ATTRIB_GENERIC2.xyzw, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #3 (VERT_ATTRIB_GENERIC3.xyzw, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #4 (VERT_ATTRIB_GENERIC4.xyz, 4, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #5 (VERT_ATTRIB_GENERIC5.xyz, 5, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #6 (VERT_ATTRIB_GENERIC6.xyzw, 6, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #7 (VERT_ATTRIB_GENERIC7.xyz, 7, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #8 (VERT_ATTRIB_GENERIC8.xy, 8, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #9 (VERT_ATTRIB_GENERIC9.xyzw, 9, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #10 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #11 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #12 (VARYING_SLOT_VAR1.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #13 (VARYING_SLOT_VAR2.xyzw, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #14 (VARYING_SLOT_VAR3.xyzw, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #15 (VARYING_SLOT_VAR4.xyzw, 5, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec3 #16 (VARYING_SLOT_VAR5.xyz, 6, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #17
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %5 = @bindless_resource_ir3 (%3 (0x2)) (desc_set=1)
MESA: info:             con 32    %495 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32    %524 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32x2  %497 = @load_ubo_vec4 (%5, %524 (0x10)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %8 = @bindless_resource_ir3 (%2 (0.000000)) (desc_set=1)
MESA: info:             con 32    %525 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %500 = @load_ubo_vec4 (%8, %525 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32x2  %646 = fmul %497, %500.xx
MESA: info:             con 32x2  %647 = fabs %646.yx
MESA: info:             con 32     %14 = fneg %647.y
MESA: info:             con 1      %15 = feq! %647.x, %14
MESA: info:             con 32     %16 = b2i32 %15
MESA: info:                              @store_const_ir3 (%16) (base=0)
MESA: info:             con 32     %17 = fneg %646.x
MESA: info:                              @store_const_ir3 (%17) (base=1)
MESA: info:             con 32    %645 = fsub %646.y, %646.x
MESA: info:             con 32     %19 = frcp %645
MESA: info:                              @store_const_ir3 (%19) (base=2)
MESA: info:             con 32     %20 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %21 = frcp %500
MESA: info:             con 32x2  %503 = @load_ubo_vec4 (%5, %2 (0.000000)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %24 = fmul %503.x, %500
MESA: info:                              @store_const_ir3 (%24) (base=3)
MESA: info:             con 32     %25 = fmul %503.y, %21
MESA: info:                              @store_const_ir3 (%25) (base=4)
MESA: info:             con 32     %26 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32     %30 = @bindless_resource_ir3 (%495 (0x4)) (desc_set=1)
MESA: info:             con 32x2  %506 = @load_ubo_vec4 (%30, %2 (0.000000)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %527 = load_const (0x00000019 = 0.000000 = 25)
MESA: info:             con 32    %509 = @load_ubo_vec4 (%8, %527 (0x19)) (access=speculatable, base=0, component=1)
MESA: info:             con 32x2  %648 = fmul %506, %509.xx
MESA: info:             con 32     %36 = fneg %648.x
MESA: info:                              @store_const_ir3 (%36) (base=5)
MESA: info:             con 32     %37 = frcp %648.y
MESA: info:                              @store_const_ir3 (%37) (base=6)
MESA: info:             con 32    %512 = @load_ubo_vec4 (%30, %495 (0x4)) (access=speculatable, base=0, component=1)
MESA: info:             con 1      %40 = fge! %2 (0.000000), %512
MESA: info:             con 1      %41 = inot %40
MESA: info:             con 32     %42 = b2i32 %41
MESA: info:                              @store_const_ir3 (%42) (base=7)
MESA: info:             con 32     %43 = frcp %512
MESA: info:                              @store_const_ir3 (%43) (base=8)
MESA: info:             con 32    %515 = @load_ubo_vec4 (%30, %3 (0x2)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %45 = frcp %515
MESA: info:                              @store_const_ir3 (%45) (base=9)
MESA: info:             con 32    %530 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32    %518 = @load_ubo_vec4 (%30, %530 (0x3)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %47 = frcp %518
MESA: info:                              @store_const_ir3 (%47) (base=10)
MESA: info:             con 32    %521 = @load_ubo_vec4 (%30, %495 (0x4)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %643 = fneg %521
MESA: info:             con 32    %644 = ffma %643, %521, %20 (1.000000)
MESA: info:             con 32x2  %649 = load_const (0x40000000, 0x3f800000) = (2.000000, 1.000000)
MESA: info:             con 32x2  %650 = ffma %521.xx, %521.xx, %649 (2.000000, 1.000000)
MESA: info:             con 32    %651 = mov %650.y
MESA: info:                              @store_const_ir3 (%651) (base=11)
MESA: info:             con 32     %55 = frcp %650.x
MESA: info:             con 32     %56 = load_const (0x3ef47d19 = 0.477517)
MESA: info:             con 32     %57 = fmul %644, %56 (0.477517)
MESA: info:             con 32     %58 = fmul %57, %55
MESA: info:                              @store_const_ir3 (%58) (base=12)
MESA: info:             con 32     %59 = fmul %26 (2.000000), %521
MESA: info:                              @store_const_ir3 (%59) (base=13)
MESA: info:             con 32     %62 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %62 (0x14)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %2 (0.000000)) (base=32, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%30, %2 (0.000000)) (base=48, range=8)
MESA: info:             con 32     %69 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %70 = @bindless_resource_ir3 (%69 (0x1)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%70, %2 (0.000000)) (base=80, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %72 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x4   %73 = @load_input (%72 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x4   %74 = @load_input (%72 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x4   %75 = @load_input (%72 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x4   %76 = @load_input (%72 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32x3   %77 = @load_input (%72 (0x0)) (base=4, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC4 slots=1)
MESA: info:     div 32x3   %78 = @load_input (%72 (0x0)) (base=5, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC5 slots=1)
MESA: info:     div 32x4   %79 = @load_input (%72 (0x0)) (base=6, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC6 slots=1)
MESA: info:     div 32x3   %80 = @load_input (%72 (0x0)) (base=7, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC7 slots=1)
MESA: info:     div 32x2   %81 = @load_input (%72 (0x0)) (base=8, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC8 slots=1)
MESA: info:     div 32x4   %82 = @load_input (%72 (0x0)) (base=9, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC9 slots=1)
MESA: info:     con 32x3   %89 = @load_const_ir3 (%72 (0x0)) (base=28)
MESA: info:     div 32x3  %653 = fmax %89, %77
MESA: info:     div 32x3  %655 = fmin %653, %78
MESA: info:     div 32x3  %657 = fsub %89, %655
MESA: info:     div 32    %103 = fmul %657.y, %657.y
MESA: info:     div 32    %637 = ffma %657.z, %657.z, %103
MESA: info:     div 32    %636 = ffma %657.x, %657.x, %637
MESA: info:     div 32    %107 = fsqrt %636
MESA: info:     con 32    %109 = @load_const_ir3 (%72 (0x0)) (base=0)
MESA: info:     con 1     %111 = ine %109, %72 (0x0)
MESA: info:                      // succs: b7 b8
MESA: info:     if %111 {
MESA: info:         con block b7:        // preds: b6
MESA: info:         div 32x4  %660 = fmul %74, %79.yyyy
MESA: info:         div 32x4  %663 = ffma %73, %79.xxxx, %660
MESA: info:         div 32x4  %666 = ffma %75, %79.zzzz, %663
MESA: info:         div 32x4  %672 = ffma %76, %79.wwww, %666
MESA: info:         div 32x4  %701 = mov %672.wzyx
MESA: info:                          // succs: b9
MESA: info:     } else {
MESA: info:         con block b8:        // preds: b6
MESA: info:         con 32    %141 = @load_const_ir3 (%72 (0x0)) (base=1)
MESA: info:         div 32    %142 = fadd %107, %141
MESA: info:         con 32    %144 = @load_const_ir3 (%72 (0x0)) (base=2)
MESA: info:         div 32    %145 = fmul %142, %144
MESA: info:         div 32    %146 = fsat %145
MESA: info:         div 32x3  %676 = fneg %79.xyz
MESA: info:         div 32x3  %677 = ffma %676, %146.xxx, %79.xyz
MESA: info:         div 32x4  %680 = fmul %74, %677.yyyy
MESA: info:         div 32x4  %683 = ffma %73, %677.xxxx, %680
MESA: info:         div 32x4  %686 = ffma %75, %677.zzzz, %683
MESA: info:         div 32x4  %692 = fadd %686, %76
MESA: info:         div 32x4  %702 = mov %692.wzyx
MESA: info:                          // succs: b9
MESA: info:     }
MESA: info:     con block b9:        // preds: b7 b8
MESA: info:     div 32x4  %700 = phi b7: %701, b8: %702
MESA: info:     con 32    %184 = load_const (0x3f800000 = 1.000000)
MESA: info:     con 32    %188 = @load_const_ir3 (%72 (0x0)) (base=3)
MESA: info:     con 32    %190 = @load_const_ir3 (%72 (0x0)) (base=4)
MESA: info:     div 32    %609 = fsub %188, %107
MESA: info:     con 32    %193 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32    %194 = fmul %193 (2.000000), %609
MESA: info:     div 32    %195 = fmul %194, %190
MESA: info:     div 32    %196 = fsat %195
MESA: info:     con 32x4  %199 = @load_const_ir3 (%72 (0x0)) (base=32)
MESA: info:     con 32x4  %207 = @load_const_ir3 (%72 (0x0)) (base=36)
MESA: info:     div 32x4  %705 = fmul %207, %700.zzzz
MESA: info:     div 32x4  %708 = ffma %199, %700.wwww, %705
MESA: info:     con 32x4  %219 = @load_const_ir3 (%72 (0x0)) (base=40)
MESA: info:     div 32x4  %711 = ffma %219, %700.yyyy, %708
MESA: info:     con 32x4  %231 = @load_const_ir3 (%72 (0x0)) (base=44)
MESA: info:     div 32x4  %714 = fadd %711, %231
MESA: info:     div 32x3  %716 = fmul %74.xyz, %80.yyy
MESA: info:     div 32x3  %718 = ffma %73.xyz, %80.xxx, %716
MESA: info:     div 32x3  %720 = ffma %75.xyz, %80.zzz, %718
MESA: info:     div 32x3  %722 = fmul %74.xyz, %82.yyy
MESA: info:     div 32x3  %724 = ffma %73.xyz, %82.xxx, %722
MESA: info:     div 32x3  %726 = ffma %75.xyz, %82.zzz, %724
MESA: info:     div 32x3  %728 = fmul %720.zxy, %726.yzx
MESA: info:     div 32x3  %731 = fneg %728
MESA: info:     div 32x3  %732 = ffma %720.yzx, %726.zxy, %731
MESA: info:     div 32x3  %734 = fmul %732, %82.www
MESA: info:     con 32    %284 = @load_const_ir3 (%72 (0x0)) (base=48)
MESA: info:     div 32x3  %736 = fsub %700.wzy, %89
MESA: info:     div 32    %292 = fmul %736.y, %736.y
MESA: info:     div 32    %582 = ffma %736.z, %736.z, %292
MESA: info:     div 32    %581 = ffma %736.x, %736.x, %582
MESA: info:     div 32    %296 = fsqrt %581
MESA: info:     con 32    %298 = @load_const_ir3 (%72 (0x0)) (base=5)
MESA: info:     div 32    %299 = fadd %296, %298
MESA: info:     con 32    %301 = @load_const_ir3 (%72 (0x0)) (base=6)
MESA: info:     div 32    %302 = fmul %299, %301
MESA: info:     div 32    %303 = fsat %302
MESA: info:     div 32    %304 = fmul %303, %303
MESA: info:     div 32    %305 = fmul %304, %304
MESA: info:     div 32    %306 = fmul %305, %304
MESA: info:     div 32    %307 = fmul %284, %306
MESA: info:     con 32    %311 = @load_const_ir3 (%72 (0x0)) (base=65)
MESA: info:     con 32    %313 = @load_const_ir3 (%72 (0x0)) (base=7)
MESA: info:     con 1     %315 = ine %313, %72 (0x0)
MESA: info:                      // succs: b10 b16
MESA: info:     if %315 {
MESA: info:         con block b10:       // preds: b9
MESA: info:         con 32    %185 = load_const (0x00000001)
MESA: info:         div 32x3  %738 = fsub %89, %700.wzy
MESA: info:         con 1     %322 = flt! %89.z, %72 (0.000000)
MESA: info:         div 1     %323 = fge! %700.y, %72 (0.000000)
MESA: info:         div 1     %324 = iand %322, %323
MESA: info:         div 32    %325 = frcp %738.z
MESA: info:         div 32    %326 = fmul %89.z, %325
MESA: info:         div 32    %576 = fneg %326
MESA: info:         div 32x3  %740 = ffma %576.xxx, %738, %89
MESA: info:         div 32x3  %742 = bcsel %324.xxx, %740, %89
MESA: info:         div 32x3  %744 = fsub %742, %700.wzy
MESA: info:         con 32x3  %344 = @load_const_ir3 (%72 (0x0)) (base=56)
MESA: info:         con 32x3  %347 = @load_const_ir3 (%72 (0x0)) (base=60)
MESA: info:         div 32    %348 = fmax %742.z, %72 (0.000000)
MESA: info:         div 32    %349 = fmax %700.y, %72 (0.000000)
MESA: info:         div 32    %351 = fmul %744.y, %744.y
MESA: info:         div 32    %568 = ffma %744.z, %744.z, %351
MESA: info:         div 32    %567 = ffma %744.x, %744.x, %568
MESA: info:         div 32    %355 = fsqrt %567
MESA: info:         con 32    %357 = @load_const_ir3 (%72 (0x0)) (base=8)
MESA: info:         div 32    %358 = fmul %355, %357
MESA: info:         con 32x3  %751 = load_const (0x3f800000, 0x3f800000, 0x3f800000) = (1.000000, 1.000000, 1.000000)
MESA: info:         con 32x2  %755 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:         con 32x4  %764 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:         con 32x2  %767 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:                          // succs: b11
MESA: info:         con loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32x3  %750 = phi b10: %751 (1.000000, 1.000000, 1.000000), b14: %780
MESA: info:             div 32x2  %754 = phi b10: %755 (0.000000, 0.000000), b14: %756
MESA: info:             div 32x4  %763 = phi b10: %764 (0.000000, 0.000000, 0.000000, 0.000000), b14: %765
MESA: info:             div 32x2  %766 = phi b10: %767 (0.000000, 0.000000), b14: %783
MESA: info:             con 32    %370 = phi b10: %72 (0x0), b14: %430
MESA: info:             con 32    %371 = i2f32 %370
MESA: info:             con 1     %372 = flt! %371, %311
MESA: info:             con 1     %373 = inot %372
MESA: info:                              // succs: b12 b13
MESA: info:             if %373 {
MESA: info:                 con block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 con block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             con block b14:       // preds: b13
MESA: info:             con 32    %374 = load_const (0x3f000000 = 0.500000)
MESA: info:             con 32    %375 = fadd %371, %374 (0.500000)
MESA: info:             con 32    %376 = fmul %375, %357
MESA: info:             div 32    %566 = fsub %349, %348
MESA: info:             div 32    %565 = ffma %376, %566, %348
MESA: info:             con 32    %382 = @load_const_ir3 (%72 (0x0)) (base=9)
MESA: info:             con 32    %383 = load_const (0x3fb8aa3b = 1.442695)
MESA: info:             div 32    %384 = fmul %565, %383 (1.442695)
MESA: info:             div 32    %385 = fmul %384, %382
MESA: info:             div 32    %386 = fneg %385
MESA: info:             div 32    %387 = fexp2 %386
MESA: info:             div 32    %388 = fmul %387, %358
MESA: info:             con 32    %390 = @load_const_ir3 (%72 (0x0)) (base=10)
MESA: info:             div 32    %391 = fmul %384, %390
MESA: info:             div 32    %392 = fneg %391
MESA: info:             div 32    %393 = fexp2 %392
MESA: info:             div 32    %394 = fmul %393, %358
MESA: info:             div 32    %395 = fadd %754.x, %388
MESA: info:             div 32    %396 = fadd %754.y, %394
MESA: info:             div 32x3  %770 = fmul %347, %396.xxx
MESA: info:             div 32x3  %774 = fneg %770
MESA: info:             con 32x3  %775 = fneg %344
MESA: info:             div 32x3  %776 = ffma %775, %395.xxx, %774
MESA: info:             div 32x3  %778 = fmul %776, %383 (1.442695).xxx
MESA: info:             div 32x3  %780 = fexp2 %778
MESA: info:             div 32x3  %782 = ffma %780, %388.xxx, %763.xyz
MESA: info:             div 32    %555 = ffma %780.x, %394, %763.w
MESA: info:             div 32x2  %783 = ffma %780.yz, %394.xx, %766
MESA: info:             con 32    %430 = iadd %370, %185 (0x1)
MESA: info:             div 32x2  %756 = vec2 %395, %396
MESA: info:             div 32x4  %765 = vec4 %782.x, %782.y, %782.z, %555
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         con block b15:       // preds: b12
MESA: info:         div 32x3  %803 = phi b12: %750
MESA: info:         div 32x4  %802 = phi b12: %763
MESA: info:         div 32x2  %801 = phi b12: %766
MESA: info:         div 32    %431 = frsq %567
MESA: info:         div 32x3  %785 = fmul %744, %431.xxx
MESA: info:         con 32x3  %438 = @load_const_ir3 (%72 (0x0)) (base=80)
MESA: info:         div 32    %440 = fmul %785.y, %438.y
MESA: info:         div 32    %552 = ffma %785.z, %438.z, %440
MESA: info:         div 32    %551 = ffma %785.x, %438.x, %552
MESA: info:         con 32    %444 = load_const (0xbf800000 = -1.000000)
MESA: info:         div 32    %445 = fmax %551, %444 (-1.000000)
MESA: info:         div 32    %446 = fmin %445, %184 (1.000000)
MESA: info:         div 32    %550 = ffma %446, %446, %184 (1.000000)
MESA: info:         con 32    %449 = load_const (0x3f16c8b4 = 0.589000)
MESA: info:         div 32    %450 = fmul %449 (0.589000), %550
MESA: info:         div 32x3  %787 = fmul %344, %450.xxx
MESA: info:         con 32    %455 = @load_const_ir3 (%72 (0x0)) (base=11)
MESA: info:         con 32    %457 = @load_const_ir3 (%72 (0x0)) (base=12)
MESA: info:         con 32    %459 = @load_const_ir3 (%72 (0x0)) (base=13)
MESA: info:         con 32    %548 = fneg %459
MESA: info:         div 32    %549 = ffma %548, %446, %455
MESA: info:         con 32    %463 = load_const (0x3fc00000 = 1.500000)
MESA: info:         div 32    %464 = flog2 %549
MESA: info:         div 32    %465 = fmul %464, %463 (1.500000)
MESA: info:         div 32    %466 = fneg %465
MESA: info:         div 32    %467 = fexp2 %466
MESA: info:         div 32    %468 = fmul %550, %467
MESA: info:         div 32    %469 = fmul %457, %468
MESA: info:         div 32x3  %789 = fmul %347, %469.xxx
MESA: info:         div 32    %476 = fmul %802.w, %789.x
MESA: info:         div 32x2  %790 = fmul %801, %789.yz
MESA: info:         div 32    %547 = ffma %802.x, %787.x, %476
MESA: info:         div 32x2  %791 = ffma %802.yz, %787.yz, %790
MESA: info:                          // succs: b17
MESA: info:     } else {
MESA: info:         con block b16:       // preds: b9
MESA: info:         con 32x2  %795 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:         con 32x3  %800 = load_const (0x3f800000, 0x3f800000, 0x3f800000) = (1.000000, 1.000000, 1.000000)
MESA: info:                          // succs: b17
MESA: info:     }
MESA: info:     con block b17:       // preds: b15 b16
MESA: info:     div 32x2  %794 = phi b15: %791, b16: %795 (0.000000, 0.000000)
MESA: info:     div 32    %483 = phi b15: %547, b16: %72 (0x0)
MESA: info:     div 32x3  %799 = phi b15: %803, b16: %800 (1.000000, 1.000000, 1.000000)
MESA: info:                      @store_output (%714, %72 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %489 = vec4 %307, %700.x, %720.x, %720.y
MESA: info:                      @store_output (%489, %72 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %490 = vec4 %720.z, %726.x, %726.y, %726.z
MESA: info:                      @store_output (%490, %72 (0x0)) (base=2, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR1 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %491 = vec4 %734.x, %734.y, %734.z, %700.w
MESA: info:                      @store_output (%491, %72 (0x0)) (base=3, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR2 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %492 = vec4 %700.z, %700.y, %799.x, %799.y
MESA: info:                      @store_output (%492, %72 (0x0)) (base=4, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR3 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %493 = vec4 %799.z, %483, %794.x, %794.y
MESA: info:                      @store_output (%493, %72 (0x0)) (base=5, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR4 slots=1, xfb(), xfb2())
MESA: info:     div 32x3  %494 = vec3 %81.x, %81.y, %196
MESA: info:                      @store_output (%494, %72 (0x0)) (base=6, range=1, wrmask=xyz, component=0, src_type=float32, io location=VARYING_SLOT_VAR5 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b18
MESA: info:     block b18:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 c1e261f5ffaf6703ad5be2e333d741e45343b204:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (20 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c24.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      4
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (320b -> 384b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: @in(r1.x)	in1 (wrmask=0xf)
MESA: info: @in(r2.x)	in2 (wrmask=0xf)
MESA: info: @in(r3.x)	in3 (wrmask=0xf)
MESA: info: @in(r4.x)	in4 (wrmask=0x7)
MESA: info: @in(r4.w)	in5 (wrmask=0x7)
MESA: info: @in(r5.z)	in6 (wrmask=0xf)
MESA: info: @in(r6.z)	in7 (wrmask=0x7)
MESA: info: @in(r7.y)	in8 (wrmask=0x3)
MESA: info: @in(r8.x)	in9 (wrmask=0xf)
MESA: info: @const(c25.x)	0x3ef47d19, 0x3f16c8b4, 0xbf800000, 0x3f800000
MESA: info: @const(c26.x)	0x3fc00000, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l68
MESA: info: getone #l68
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 16, 2
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 0, 2
MESA: info: ldc.u.offset3.1.imm.base1 r48.z, 24, 0
MESA: info: ldc.u.offset0.1.imm.base1 r51.w, 4, 4
MESA: info: ldc.u.offset2.2.imm.base1 r49.y, 0, 4
MESA: info: ldc.u.offset1.1.imm.base1 r50.w, 25, 0
MESA: info: ldc.u.offset1.1.imm.base1 r51.x, 4, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.y, 2, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.z, 3, 4
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)(rpt1)mul.f r49.w, (r)r48.x, r48.z
MESA: info: mul.f r48.w, r48.w, r48.z
MESA: info: cmps.f.eq hr52.z, (abs)r50.x, (absneg)r49.w
MESA: info: mul.f r49.z, r49.z, r50.w
MESA: info: cmps.f.ge hr48.x, (0.0), r51.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: rcp r51.y, r51.y
MESA: info: rcp r51.z, r51.z
MESA: info: mul.f r49.y, r49.y, r50.w
MESA: info: cov.u16s32 r50.z, hr52.z
MESA: info: sub.u hr48.x, h(1), hr48.x
MESA: info: absneg.f r49.w, (neg)r49.w
MESA: info: absneg.f r49.y, (neg)r49.y
MESA: info: cov.u16s32 r48.y, hr48.x
MESA: info: (ss)nop
MESA: info: stc.u32 c[3], r48.w, 1
MESA: info: rcp r48.z, r48.z
MESA: info: rcp r49.z, r49.z
MESA: info: rcp r51.x, r51.x
MESA: info: rcp r50.x, r50.x
MESA: info: stc.u32 c[9], r51.y, 1
MESA: info: stc.u32 c[10], r51.z, 1
MESA: info: stc.u32 c[0], r50.z, 1
MESA: info: stc.u32 c[1], r49.w, 1
MESA: info: stc.u32 c[5], r49.y, 1
MESA: info: stc.u32 c[7], r48.y, 1
MESA: info: (ss)mul.f r48.w, r51.w, r51.w
MESA: info: add.f r48.w, r48.w, (2.0)
MESA: info: mul.f r49.x, r49.x, r48.z
MESA: info: mul.f r48.z, (neg)r51.w, r51.w
MESA: info: add.f r48.z, r48.z, (1.0)
MESA: info: mul.f r48.z, r48.z, c25.x
MESA: info: stc.u32 c[6], r49.z, 1
MESA: info: stc.u32 c[8], r51.x, 1
MESA: info: stc.u32 c[2], r50.x, 1
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[4], r49.x, 1
MESA: info: (ss)mul.f r48.z, r48.z, r48.w
MESA: info: mul.f r49.x, r51.w, r51.w
MESA: info: add.f r49.x, r49.x, (1.0)
MESA: info: mul.f r51.w, (2.0), r51.w
MESA: info: (ss)nop
MESA: info: stc.u32 c[12], r48.z, 1
MESA: info: stc.u32 c[11], r49.x, 1
MESA: info: stc.u32 c[13], r51.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 20, 0
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)80
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l68:
MESA: info: (jp)max.f r4.y, c7.y, (last)r4.y
MESA: info: max.f r4.z, c7.z, (last)r4.z
MESA: info: max.f r4.x, c7.x, (last)r4.x
MESA: info: min.f r4.y, (last)r4.y, (last)r5.x
MESA: info: min.f r4.z, (last)r4.z, (last)r5.y
MESA: info: min.f r4.x, (last)r4.x, (last)r4.w
MESA: info: add.f r4.y, c7.y, (last)(neg)r4.y
MESA: info: add.f r4.z, c7.z, (last)(neg)r4.z
MESA: info: add.f r4.x, c7.x, (last)(neg)r4.x
MESA: info: mul.f r4.y, (last)r4.y, r4.y
MESA: info: cmps.s.ne p0.x, c0.x, 0
MESA: info: (nop1) mad.f32 r4.z, (last)r4.z, r4.z, (last)r4.y
MESA: info: (nop3) mad.f32 r4.x, (last)r4.x, r4.x, (last)r4.z
MESA: info: (rpt1)nop
MESA: info: sqrt r4.x, (last)r4.x
MESA: info: br !p0.x, #l101
MESA: info: mul.f r9.x, r1.x, r5.w
MESA: info: mul.f r1.w, (last)r1.w, r5.w
MESA: info: mad.f32 r9.x, r0.x, r5.z, (last)r9.x
MESA: info: mad.f32 r0.w, (last)r0.w, r5.z, r1.w
MESA: info: mad.f32 r9.x, r2.x, r6.x, (last)r9.x
MESA: info: mad.f32 r2.w, (last)r2.w, r6.x, r0.w
MESA: info: mad.f32 r9.w, (last)r3.x, r6.y, (last)r9.x
MESA: info: mul.f r3.x, r1.y, r5.w
MESA: info: mad.f32 r4.z, r3.w, r6.y, r2.w
MESA: info: (nop1) mad.f32 r3.x, r0.y, r5.z, (last)r3.x
MESA: info: (nop1) mad.f32 r3.x, r2.y, r6.x, (last)r3.x
MESA: info: mad.f32 r10.x, (last)r3.y, r6.y, r3.x
MESA: info: (nop1) mul.f r3.y, r1.z, r5.w
MESA: info: (nop1) mad.f32 r3.y, r0.z, r5.z, (last)r3.y
MESA: info: (nop1) mad.f32 r3.y, r2.z, r6.x, (last)r3.y
MESA: info: mad.f32 r10.y, r3.z, r6.y, r3.y
MESA: info: jump #l119
MESA: info: l101:
MESA: info: (ss)(nop2) add.f r5.y, r4.x, c0.y
MESA: info: (sat)(nop2) mul.f r5.y, (last)r5.y, c0.z
MESA: info: mad.f32 r5.w, (neg)(last)r5.w, r5.y, r5.w
MESA: info: mad.f32 r5.z, (neg)(last)r5.z, r5.y, r5.z
MESA: info: mad.f32 r6.x, (neg)(last)r6.x, r5.y, r6.x
MESA: info: mul.f r6.y, r1.x, r5.w
MESA: info: mul.f r7.w, r1.y, r5.w
MESA: info: mad.f32 r6.y, r0.x, r5.z, (last)r6.y
MESA: info: mad.f32 r7.w, r0.y, r5.z, (last)r7.w
MESA: info: (rpt1)mul.f r9.x, (r)r1.z, (last)r5.w
MESA: info: mad.f32 r6.y, r2.x, r6.x, (last)r6.y
MESA: info: mad.f32 r7.w, r2.y, r6.x, (last)r7.w
MESA: info: (rpt1)mad.f32 r9.x, (r)r0.z, r5.z, (r)(last)r9.x
MESA: info: (rpt1)mad.f32 r9.x, (r)r2.z, r6.x, (r)(last)r9.x
MESA: info: add.f r9.w, (last)r6.y, (last)r3.x
MESA: info: add.f r10.x, (last)r7.w, (last)r3.y
MESA: info: add.f r10.y, (last)r9.x, (last)r3.z
MESA: info: add.f r4.z, (last)r9.y, (last)r3.w
MESA: info: l119:
MESA: info: add.f r5.z, r10.x, (neg)c7.y
MESA: info: add.f r6.x, r9.w, (neg)c7.x
MESA: info: add.f r5.w, r10.y, (neg)c7.z
MESA: info: mul.f r5.z, (last)r5.z, r5.z
MESA: info: (ss)add.f r4.x, c0.w, (last)(neg)r4.x
MESA: info: mad.f32 r5.w, (last)r5.w, r5.w, (last)r5.z
MESA: info: mul.f r1.w, r1.x, r6.w
MESA: info: mad.f32 r6.x, (last)r6.x, r6.x, (last)r5.w
MESA: info: mul.f r2.w, r1.y, r6.w
MESA: info: mul.f r1.x, (last)r1.x, r8.y
MESA: info: mul.f r1.y, (last)r1.y, r8.y
MESA: info: mul.f r6.w, r1.z, (last)r6.w
MESA: info: mul.f r1.z, (last)r1.z, (last)r8.y
MESA: info: sqrt r6.x, (last)r6.x
MESA: info: mad.f32 r1.w, r0.x, r6.z, (last)r1.w
MESA: info: mad.f32 r2.w, r0.y, r6.z, (last)r2.w
MESA: info: mad.f32 r0.x, (last)r0.x, r8.x, (last)r1.x
MESA: info: mad.f32 r0.y, (last)r0.y, r8.x, (last)r1.y
MESA: info: mad.f32 r6.z, r0.z, r6.z, (last)r6.w
MESA: info: mad.f32 r0.z, (last)r0.z, r8.x, (last)r1.z
MESA: info: mul.f r4.x, (2.0), (last)r4.x
MESA: info: mad.f32 r4.w, r2.x, r7.x, (last)r1.w
MESA: info: mad.f32 r5.x, r2.y, r7.x, (last)r2.w
MESA: info: mad.f32 r3.y, (last)r2.x, r8.z, (last)r0.x
MESA: info: (ss)add.f r6.x, (last)r6.x, c1.y
MESA: info: mad.f32 r3.z, (last)r2.y, r8.z, (last)r0.y
MESA: info: mad.f32 r3.x, r2.z, r7.x, (last)r6.z
MESA: info: (sat)mul.f r6.x, (last)r6.x, c1.z
MESA: info: mad.f32 r3.w, (last)r2.z, r8.z, (last)r0.z
MESA: info: mul.f r9.z, c9.x, r10.x
MESA: info: mul.f r6.x, (last)r6.x, r6.x
MESA: info: mul.f r11.z, c9.y, r10.x
MESA: info: mul.f r11.w, c9.z, r10.x
MESA: info: mul.f r0.w, c9.w, r10.x
MESA: info: mul.f r6.y, r6.x, r6.x
MESA: info: (sat)mul.f r7.w, (last)r4.x, c1.x
MESA: info: mul.f r5.y, r5.x, r3.y
MESA: info: mul.f r4.y, r4.w, r3.w
MESA: info: mad.f32 r9.z, c8.x, r9.w, (last)r9.z
MESA: info: mad.f32 r11.z, c8.y, r9.w, (last)r11.z
MESA: info: mad.f32 r11.w, c8.z, r9.w, (last)r11.w
MESA: info: mad.f32 r0.w, c8.w, r9.w, (last)r0.w
MESA: info: mul.f r4.x, r3.x, r3.z
MESA: info: mul.f r6.y, (last)r6.y, (last)r6.x
MESA: info: mad.f32 r5.y, r4.w, r3.z, (neg)(last)r5.y
MESA: info: mad.f32 r4.y, r3.x, r3.y, (neg)(last)r4.y
MESA: info: mad.f32 r9.z, c10.x, r10.y, (last)r9.z
MESA: info: mad.f32 r11.z, c10.y, r10.y, (last)r11.z
MESA: info: mad.f32 r11.w, c10.z, r10.y, (last)r11.w
MESA: info: mad.f32 r0.w, c10.w, r10.y, (last)r0.w
MESA: info: mad.f32 r4.x, r5.x, r3.w, (neg)(last)r4.x
MESA: info: cmps.s.ne p0.x, c1.w, 0
MESA: info: mul.f r9.y, (last)r4.y, r8.w
MESA: info: add.f r10.z, (last)r9.z, c11.x
MESA: info: add.f r10.w, (last)r11.z, c11.y
MESA: info: add.f r11.x, (last)r11.w, c11.z
MESA: info: add.f r11.y, (last)r0.w, c11.w
MESA: info: mul.f r9.x, (last)r4.x, r8.w
MESA: info: mul.f r4.y, c12.x, (last)r6.y
MESA: info: mul.f r9.z, (last)r5.y, (last)r8.w
MESA: info: br !p0.x, #l286
MESA: info: cmps.f.lt hr50.z, c7.z, (0.0)
MESA: info: mov.u32u32 r49.z, 0
MESA: info: add.f r8.z, c7.z, (neg)r10.y
MESA: info: cmps.f.ge hr13.x, r10.y, (0.0)
MESA: info: (rpt1)add.f r8.x, (r)c7.x, (neg)(r)r9.w
MESA: info: max.f r8.w, r10.y, (0.0)
MESA: info: mov.u32u32 r0.w, 0x3f800000
MESA: info: rcp r11.z, r8.z
MESA: info: mov.u32u32 r1.x, 0x3f800000
MESA: info: mov.u32u32 r5.y, 0
MESA: info: mov.u32u32 r4.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: mov.u32u32 r2.z, 0
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: mov.u32u32 r1.y, 0x3f800000
MESA: info: (ss)mul.f r11.z, c7.z, (last)r11.z
MESA: info: (nop1) and.b r11.w, hr50.z, (last)hr13.x
MESA: info: (rpt1)mad.f32 r8.y, (neg)r11.z, (r)r8.y, (r)c7.y
MESA: info: mad.f32 r11.z, (neg)(last)r11.z, r8.x, c7.x
MESA: info: (rpt1)sel.b32 r8.y, (r)(last)r8.y, r11.w, (r)c7.y
MESA: info: sel.b32 r11.z, (last)r11.z, r11.w, c7.x
MESA: info: add.f r8.y, (last)r8.y, (neg)r10.x
MESA: info: add.f r0.x, r8.z, (neg)r10.y
MESA: info: add.f r11.z, (last)r11.z, (neg)r9.w
MESA: info: mul.f r0.y, r8.y, r8.y
MESA: info: max.f r8.z, (last)r8.z, (0.0)
MESA: info: (nop1) mad.f32 r0.y, r0.x, r0.x, (last)r0.y
MESA: info: (nop3) mad.f32 r0.y, r11.z, r11.z, (last)r0.y
MESA: info: (rpt1)nop
MESA: info: sqrt r0.z, r0.y
MESA: info: (ss)mul.f r0.z, (last)r0.z, c2.x
MESA: info: l214:
MESA: info: cov.s32f32 r49.w, r49.z
MESA: info: cmps.f.lt hr52.x, r49.w, c16.y
MESA: info: (ss)(nop3) cmps.s.ne p0.x, hr52.x, h(0)
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l254
MESA: info: add.f r49.w, r49.w, (0.5)
MESA: info: mul.f r49.w, r49.w, c2.x
MESA: info: add.u r49.z, r49.z, 1
MESA: info: (nop2) add.f r5.z, r8.w, (neg)r8.z
MESA: info: (ss)(nop2) mad.f32 r5.z, r49.w, r5.z, r8.z
MESA: info: (nop2) mul.f r5.z, (last)r5.z, (log2(e))
MESA: info: mul.f r5.w, r5.z, c2.y
MESA: info: (nop3) mul.f r5.z, (last)r5.z, c2.z
MESA: info: (rpt1)nop
MESA: info: exp2 r5.z, (last)(neg)r5.z
MESA: info: exp2 r5.w, (last)(neg)r5.w
MESA: info: (ss)mul.f r5.z, (last)r5.z, r0.z
MESA: info: (nop1) mul.f r5.w, (last)r5.w, r0.z
MESA: info: add.f r1.w, (last)r1.w, r5.z
MESA: info: (nop1) add.f r1.z, (last)r1.z, r5.w
MESA: info: mul.f r6.x, c15.x, r1.w
MESA: info: (rpt1)mul.f r6.y, (r)c15.y, r1.w
MESA: info: mad.f32 r6.x, (neg)c14.x, r1.z, (neg)(last)r6.x
MESA: info: (rpt1)mad.f32 r6.y, (neg)(r)c14.y, r1.z, (neg)(r)(last)r6.y
MESA: info: mul.f r6.x, (last)r6.x, (log2(e))
MESA: info: (rpt1)mul.f r6.y, (last)(r)r6.y, (log2(e))
MESA: info: (rpt2)nop
MESA: info: exp2 r6.x, (last)r6.x
MESA: info: nop
MESA: info: (rpt1)exp2 r6.y, (last)(r)r6.y
MESA: info: (ss)mad.f32 r2.x, r6.x, r5.w, (last)r2.x
MESA: info: mad.f32 r2.w, r6.x, r5.z, (last)r2.w
MESA: info: mov.u32u32 r0.w, (last)r6.x
MESA: info: mad.f32 r2.y, r6.y, r5.w, (last)r2.y
MESA: info: mad.f32 r4.x, r6.y, r5.z, (last)r4.x
MESA: info: mad.f32 r2.z, r6.z, r5.w, (last)r2.z
MESA: info: mad.f32 r5.y, r6.z, r5.z, (last)r5.y
MESA: info: mov.u32u32 r1.x, (last)r6.y
MESA: info: mov.u32u32 r1.y, (last)r6.z
MESA: info: jump #l214
MESA: info: l254:
MESA: info: rsq r0.y, (last)r0.y
MESA: info: mov.u32u32 r0.z, (last)r1.x
MESA: info: (ss)mul.f r8.y, (last)r8.y, r0.y
MESA: info: mul.f r0.x, (last)r0.x, r0.y
MESA: info: mul.f r11.z, (last)r11.z, (last)r0.y
MESA: info: mul.f r8.y, (last)r8.y, c20.y
MESA: info: mov.u32u32 r0.y, (last)r0.w
MESA: info: mad.f32 r0.x, c20.z, r0.x, (last)r8.y
MESA: info: mov.u32u32 r0.w, (last)r1.y
MESA: info: (nop2) mad.f32 r11.z, c20.x, r11.z, (last)r0.x
MESA: info: (nop2) max.f r11.z, (last)r11.z, c25.z
MESA: info: (nop2) min.f r11.z, (last)r11.z, (1.0)
MESA: info: mad.f32 r6.w, r11.z, r11.z, c25.w
MESA: info: (nop1) mad.f32 r11.z, (neg)c3.y, r11.z, c2.w
MESA: info: (nop2) mul.f r7.x, c25.y, r6.w
MESA: info: (rpt2)mul.f r8.x, (r)c14.x, (last)r7.x
MESA: info: log2 r11.z, (last)r11.z
MESA: info: (ss)(nop3) mul.f r11.z, (last)r11.z, c26.x
MESA: info: (rpt1)nop
MESA: info: exp2 r11.z, (last)(neg)r11.z
MESA: info: (ss)(nop2) mul.f r6.w, (last)r6.w, (last)r11.z
MESA: info: (nop2) mul.f r6.w, c3.x, (last)r6.w
MESA: info: mul.f r8.w, c15.x, r6.w
MESA: info: (rpt1)mul.f r11.z, (r)c15.y, (last)r6.w
MESA: info: mul.f r2.w, (last)r2.w, (last)r8.w
MESA: info: mul.f r4.x, (last)r4.x, (last)r11.z
MESA: info: mad.f32 r2.x, (last)r2.x, r8.x, (last)r2.w
MESA: info: mul.f r5.y, (last)r5.y, (last)r11.w
MESA: info: mad.f32 r11.z, (last)r2.y, r8.y, (last)r4.x
MESA: info: mov.u32u32 r0.x, (last)r2.x
MESA: info: mad.f32 r11.w, (last)r2.z, r8.z, (last)r5.y
MESA: info: jump #l292
MESA: info: l286:
MESA: info: mov.u32u32 r11.z, 0
MESA: info: mov.u32u32 r0.w, 0x3f800000
MESA: info: mov.u32u32 r0.z, 0x3f800000
MESA: info: mov.u32u32 r0.y, 0x3f800000
MESA: info: mov.u32u32 r0.x, 0
MESA: info: mov.u32u32 r11.w, 0
MESA: info: l292:
MESA: info: mov.u32u32 r1.x, (last)r0.w
MESA: info: mov.u32u32 r1.y, (last)r0.x
MESA: info: mov.u32u32 r1.z, (last)r11.z
MESA: info: mov.u32u32 r1.w, (last)r11.w
MESA: info: mov.u32u32 r2.x, (last)r10.x
MESA: info: mov.u32u32 r2.y, (last)r10.y
MESA: info: mov.u32u32 r2.z, (last)r0.y
MESA: info: mov.u32u32 r2.w, (last)r0.z
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r10.z (VARYING_SLOT_POS) r4.y (VARYING_SLOT_VAR0) r3.x (VARYING_SLOT_VAR1) r9.x (VARYING_SLOT_VAR2) r2.x (VARYING_SLOT_VAR3) r1.x (VARYING_SLOT_VAR4) r7.y (VARYING_SLOT_VAR5)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r1.x (VERT_ATTRIB_GENERIC1 slot=16 cm=f,il=0,b=0) r2.x (VERT_ATTRIB_GENERIC2 slot=17 cm=f,il=0,b=0) r3.x (VERT_ATTRIB_GENERIC3 slot=18 cm=f,il=0,b=0) r4.x (VERT_ATTRIB_GENERIC4 slot=19 cm=7,il=0,b=0) r4.w (VERT_ATTRIB_GENERIC5 slot=20 cm=7,il=0,b=0) r5.z (VERT_ATTRIB_GENERIC6 slot=21 cm=f,il=0,b=0) r6.z (VERT_ATTRIB_GENERIC7 slot=22 cm=7,il=0,b=0) r7.y (VERT_ATTRIB_GENERIC8 slot=23 cm=3,il=0,b=0) r8.x (VERT_ATTRIB_GENERIC9 slot=24 cm=f,il=0,b=0)
MESA: info: ; VERT prog 108/1: 301 instr, 62 nops, 239 non-nops, 33 mov, 1 cov, 610 dwords
MESA: info: ; VERT prog 108/1: 0 last-baryf, 0 last-helper, 0 half, 12 full, 28 constlen
MESA: info: ; VERT prog 108/1: 69 cat0, 34 cat1, 111 cat2, 75 cat3, 12 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 108/1: 77 sstall, 12 (ss), 0 systall, 0 (sy), 1 loops
MESA: info: ; VERT prog 108/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 69 preamble-instr, 1 early-preamble
MESA: info: ; pos: r10.z
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x61021ade, 0x13d2a139, 0x7a82eb01, 0x0d90b229, 0xb3ca7a6d, 0x08574d29, 0x8f5f117d, 0x90ae7da2}
MESA: info: inputs_read: 15-24
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 10
MESA: info: outputs: 7
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VERT_ATTRIB_GENERIC2.xyzw, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #3 (VERT_ATTRIB_GENERIC3.xyzw, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #4 (VERT_ATTRIB_GENERIC4.xyz, 4, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #5 (VERT_ATTRIB_GENERIC5.xyz, 5, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #6 (VERT_ATTRIB_GENERIC6.xyzw, 6, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #7 (VERT_ATTRIB_GENERIC7.xyz, 7, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #8 (VERT_ATTRIB_GENERIC8.xy, 8, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #9 (VERT_ATTRIB_GENERIC9.xyzw, 9, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #10 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #11 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #12 (VARYING_SLOT_VAR1.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #13 (VARYING_SLOT_VAR2.xyzw, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #14 (VARYING_SLOT_VAR3.xyzw, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #15 (VARYING_SLOT_VAR4.xyzw, 5, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec3 #16 (VARYING_SLOT_VAR5.xyz, 6, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #17
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %5 = @bindless_resource_ir3 (%3 (0x2)) (desc_set=1)
MESA: info:             con 32    %495 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32    %524 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32x2  %497 = @load_ubo_vec4 (%5, %524 (0x10)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %8 = @bindless_resource_ir3 (%2 (0.000000)) (desc_set=1)
MESA: info:             con 32    %525 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %500 = @load_ubo_vec4 (%8, %525 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32x2  %587 = fmul %497, %500.xx
MESA: info:             con 32x2  %588 = fabs %587.yx
MESA: info:             con 32     %14 = fneg %588.y
MESA: info:             con 1      %15 = feq! %588.x, %14
MESA: info:             con 32     %16 = b2i32 %15
MESA: info:                              @store_const_ir3 (%16) (base=0)
MESA: info:             con 32     %17 = fneg %587.x
MESA: info:                              @store_const_ir3 (%17) (base=1)
MESA: info:             con 32    %586 = fsub %587.y, %587.x
MESA: info:             con 32     %19 = frcp %586
MESA: info:                              @store_const_ir3 (%19) (base=2)
MESA: info:             con 32     %20 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %21 = frcp %500
MESA: info:             con 32x2  %503 = @load_ubo_vec4 (%5, %2 (0.000000)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %24 = fmul %503.x, %500
MESA: info:                              @store_const_ir3 (%24) (base=3)
MESA: info:             con 32     %25 = fmul %503.y, %21
MESA: info:                              @store_const_ir3 (%25) (base=4)
MESA: info:             con 32     %26 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32     %30 = @bindless_resource_ir3 (%495 (0x4)) (desc_set=1)
MESA: info:             con 32x2  %506 = @load_ubo_vec4 (%30, %2 (0.000000)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %527 = load_const (0x00000019 = 0.000000 = 25)
MESA: info:             con 32    %509 = @load_ubo_vec4 (%8, %527 (0x19)) (access=speculatable, base=0, component=1)
MESA: info:             con 32x2  %589 = fmul %506, %509.xx
MESA: info:             con 32     %36 = fneg %589.x
MESA: info:                              @store_const_ir3 (%36) (base=5)
MESA: info:             con 32     %37 = frcp %589.y
MESA: info:                              @store_const_ir3 (%37) (base=6)
MESA: info:             con 32    %512 = @load_ubo_vec4 (%30, %495 (0x4)) (access=speculatable, base=0, component=1)
MESA: info:             con 1      %40 = fge! %2 (0.000000), %512
MESA: info:             con 1      %41 = inot %40
MESA: info:             con 32     %42 = b2i32 %41
MESA: info:                              @store_const_ir3 (%42) (base=7)
MESA: info:             con 32     %43 = frcp %512
MESA: info:                              @store_const_ir3 (%43) (base=8)
MESA: info:             con 32    %515 = @load_ubo_vec4 (%30, %3 (0x2)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %45 = frcp %515
MESA: info:                              @store_const_ir3 (%45) (base=9)
MESA: info:             con 32    %530 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32    %518 = @load_ubo_vec4 (%30, %530 (0x3)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %47 = frcp %518
MESA: info:                              @store_const_ir3 (%47) (base=10)
MESA: info:             con 32    %521 = @load_ubo_vec4 (%30, %495 (0x4)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %584 = fneg %521
MESA: info:             con 32    %585 = ffma %584, %521, %20 (1.000000)
MESA: info:             con 32x2  %590 = load_const (0x40000000, 0x3f800000) = (2.000000, 1.000000)
MESA: info:             con 32x2  %591 = ffma %521.xx, %521.xx, %590 (2.000000, 1.000000)
MESA: info:             con 32    %592 = mov %591.y
MESA: info:                              @store_const_ir3 (%592) (base=11)
MESA: info:             con 32     %55 = frcp %591.x
MESA: info:             con 32     %56 = load_const (0x3ef47d19 = 0.477517)
MESA: info:             con 32     %57 = fmul %585, %56 (0.477517)
MESA: info:             con 32     %58 = fmul %57, %55
MESA: info:                              @store_const_ir3 (%58) (base=12)
MESA: info:             con 32     %59 = fmul %26 (2.000000), %521
MESA: info:                              @store_const_ir3 (%59) (base=13)
MESA: info:             con 32     %62 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %62 (0x14)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %2 (0.000000)) (base=32, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%30, %2 (0.000000)) (base=48, range=8)
MESA: info:             con 32     %69 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %70 = @bindless_resource_ir3 (%69 (0x1)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%70, %2 (0.000000)) (base=80, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %72 = load_const (0x00000000)
MESA: info:     div 32x3   %73 = @load_input (%72 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3   %74 = @load_input (%72 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3   %75 = @load_input (%72 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3   %76 = @load_input (%72 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32x3   %77 = @load_input (%72 (0x0)) (base=4, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC4 slots=1)
MESA: info:     div 32x3   %78 = @load_input (%72 (0x0)) (base=5, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC5 slots=1)
MESA: info:     div 32x4   %79 = @load_input (%72 (0x0)) (base=6, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC6 slots=1)
MESA: info:     con 32x3   %89 = @load_const_ir3 (%72 (0x0)) (base=28)
MESA: info:     div 32x3  %594 = fmax %89, %77
MESA: info:     div 32x3  %596 = fmin %594, %78
MESA: info:     div 32x3  %598 = fsub %89, %596
MESA: info:     div 32    %103 = fmul %598.y, %598.y
MESA: info:     div 32    %578 = ffma %598.z, %598.z, %103
MESA: info:     div 32    %577 = ffma %598.x, %598.x, %578
MESA: info:     div 32    %107 = fsqrt %577
MESA: info:     con 32    %109 = @load_const_ir3 (%72 (0x0)) (base=0)
MESA: info:     con 1     %111 = ine %109, %72 (0x0)
MESA: info:                      // succs: b7 b8
MESA: info:     if %111 {
MESA: info:         con block b7:        // preds: b6
MESA: info:         div 32x3  %600 = fmul %74, %79.yyy
MESA: info:         div 32x3  %602 = ffma %73, %79.xxx, %600
MESA: info:         div 32x3  %604 = ffma %75, %79.zzz, %602
MESA: info:         div 32x3  %608 = ffma %76, %79.www, %604
MESA: info:         div 32x3  %629 = mov %608.zyx
MESA: info:                          // succs: b9
MESA: info:     } else {
MESA: info:         con block b8:        // preds: b6
MESA: info:         con 32    %141 = @load_const_ir3 (%72 (0x0)) (base=1)
MESA: info:         div 32    %142 = fadd %107, %141
MESA: info:         con 32    %144 = @load_const_ir3 (%72 (0x0)) (base=2)
MESA: info:         div 32    %145 = fmul %142, %144
MESA: info:         div 32    %146 = fsat %145
MESA: info:         div 32x3  %612 = fneg %79.xyz
MESA: info:         div 32x3  %613 = ffma %612, %146.xxx, %79.xyz
MESA: info:         div 32x3  %615 = fmul %74, %613.yyy
MESA: info:         div 32x3  %617 = ffma %73, %613.xxx, %615
MESA: info:         div 32x3  %619 = ffma %75, %613.zzz, %617
MESA: info:         div 32x3  %623 = fadd %619, %76
MESA: info:         div 32x3  %630 = mov %623.zyx
MESA: info:                          // succs: b9
MESA: info:     }
MESA: info:     con block b9:        // preds: b7 b8
MESA: info:     div 32x3  %628 = phi b7: %629, b8: %630
MESA: info:     con 32x4  %199 = @load_const_ir3 (%72 (0x0)) (base=32)
MESA: info:     con 32x4  %207 = @load_const_ir3 (%72 (0x0)) (base=36)
MESA: info:     div 32x4  %633 = fmul %207, %628.yyyy
MESA: info:     div 32x4  %636 = ffma %199, %628.zzzz, %633
MESA: info:     con 32x4  %219 = @load_const_ir3 (%72 (0x0)) (base=40)
MESA: info:     div 32x4  %639 = ffma %219, %628.xxxx, %636
MESA: info:     con 32x4  %231 = @load_const_ir3 (%72 (0x0)) (base=44)
MESA: info:     div 32x4  %642 = fadd %639, %231
MESA: info:                      @store_output (%642, %72 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                      // succs: b10
MESA: info:     block b10:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 b8fe1d5ba27059120773602fe5850f4af5a3698e:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (20 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c24.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      4
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (320b -> 384b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0x7)
MESA: info: @in(r3.w)	in5 (wrmask=0x7)
MESA: info: @in(r4.z)	in6 (wrmask=0xf)
MESA: info: @const(c25.x)	0x3ef47d19, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l68
MESA: info: getone #l68
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 16, 2
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 0, 2
MESA: info: ldc.u.offset3.1.imm.base1 r48.z, 24, 0
MESA: info: ldc.u.offset0.1.imm.base1 r51.w, 4, 4
MESA: info: ldc.u.offset2.2.imm.base1 r49.y, 0, 4
MESA: info: ldc.u.offset1.1.imm.base1 r50.w, 25, 0
MESA: info: ldc.u.offset1.1.imm.base1 r51.x, 4, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.y, 2, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.z, 3, 4
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)(rpt1)mul.f r49.w, (r)r48.x, r48.z
MESA: info: mul.f r48.w, r48.w, r48.z
MESA: info: cmps.f.eq hr52.z, (abs)r50.x, (absneg)r49.w
MESA: info: mul.f r49.z, r49.z, r50.w
MESA: info: cmps.f.ge hr48.x, (0.0), r51.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: rcp r51.y, r51.y
MESA: info: rcp r51.z, r51.z
MESA: info: mul.f r49.y, r49.y, r50.w
MESA: info: cov.u16s32 r50.z, hr52.z
MESA: info: sub.u hr48.x, h(1), hr48.x
MESA: info: absneg.f r49.w, (neg)r49.w
MESA: info: absneg.f r49.y, (neg)r49.y
MESA: info: cov.u16s32 r48.y, hr48.x
MESA: info: (ss)nop
MESA: info: stc.u32 c[3], r48.w, 1
MESA: info: rcp r48.z, r48.z
MESA: info: rcp r49.z, r49.z
MESA: info: rcp r51.x, r51.x
MESA: info: rcp r50.x, r50.x
MESA: info: stc.u32 c[9], r51.y, 1
MESA: info: stc.u32 c[10], r51.z, 1
MESA: info: stc.u32 c[0], r50.z, 1
MESA: info: stc.u32 c[1], r49.w, 1
MESA: info: stc.u32 c[5], r49.y, 1
MESA: info: stc.u32 c[7], r48.y, 1
MESA: info: (ss)mul.f r48.w, r51.w, r51.w
MESA: info: add.f r48.w, r48.w, (2.0)
MESA: info: mul.f r49.x, r49.x, r48.z
MESA: info: mul.f r48.z, (neg)r51.w, r51.w
MESA: info: add.f r48.z, r48.z, (1.0)
MESA: info: mul.f r48.z, r48.z, c25.x
MESA: info: stc.u32 c[6], r49.z, 1
MESA: info: stc.u32 c[8], r51.x, 1
MESA: info: stc.u32 c[2], r50.x, 1
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[4], r49.x, 1
MESA: info: (ss)mul.f r48.z, r48.z, r48.w
MESA: info: mul.f r49.x, r51.w, r51.w
MESA: info: add.f r49.x, r49.x, (1.0)
MESA: info: mul.f r51.w, (2.0), r51.w
MESA: info: (ss)nop
MESA: info: stc.u32 c[12], r48.z, 1
MESA: info: stc.u32 c[11], r49.x, 1
MESA: info: stc.u32 c[13], r51.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 20, 0
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)80
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l68:
MESA: info: (jp)max.f r3.y, c7.y, (last)r3.y
MESA: info: max.f r3.z, c7.z, (last)r3.z
MESA: info: max.f r3.x, c7.x, (last)r3.x
MESA: info: min.f r3.y, (last)r3.y, (last)r4.x
MESA: info: min.f r3.z, (last)r3.z, (last)r4.y
MESA: info: min.f r3.x, (last)r3.x, (last)r3.w
MESA: info: add.f r3.y, c7.y, (last)(neg)r3.y
MESA: info: add.f r3.z, c7.z, (last)(neg)r3.z
MESA: info: add.f r3.x, c7.x, (last)(neg)r3.x
MESA: info: mul.f r3.y, (last)r3.y, r3.y
MESA: info: cmps.s.ne p0.x, c0.x, 0
MESA: info: (nop1) mad.f32 r3.z, (last)r3.z, r3.z, (last)r3.y
MESA: info: (nop3) mad.f32 r3.x, (last)r3.x, r3.x, (last)r3.z
MESA: info: (rpt1)nop
MESA: info: sqrt r3.x, (last)r3.x
MESA: info: br !p0.x, #l97
MESA: info: mul.f r0.w, (last)r0.w, r4.w
MESA: info: mul.f r1.x, (last)r1.x, r4.w
MESA: info: mul.f r1.y, (last)r1.y, r4.w
MESA: info: mad.f32 r0.x, (last)r0.x, r4.z, r0.w
MESA: info: mad.f32 r0.y, (last)r0.y, r4.z, r1.x
MESA: info: mad.f32 r0.z, (last)r0.z, r4.z, r1.y
MESA: info: mad.f32 r1.z, (last)r1.z, r5.x, r0.x
MESA: info: mad.f32 r1.w, (last)r1.w, r5.x, r0.y
MESA: info: mad.f32 r2.x, (last)r2.x, r5.x, r0.z
MESA: info: mad.f32 r2.y, (last)r2.y, r5.y, r1.z
MESA: info: mad.f32 r5.z, r2.z, r5.y, r1.w
MESA: info: mad.f32 r5.w, r2.w, r5.y, r2.x
MESA: info: jump #l110
MESA: info: l97:
MESA: info: (ss)(nop2) add.f r3.x, (last)r3.x, c0.y
MESA: info: (sat)(nop2) mul.f r3.x, (last)r3.x, c0.z
MESA: info: mad.f32 r4.w, (neg)(last)r4.w, r3.x, r4.w
MESA: info: mad.f32 r4.z, (neg)(last)r4.z, r3.x, r4.z
MESA: info: mad.f32 r5.x, (neg)(last)r5.x, r3.x, r5.x
MESA: info: mul.f r0.w, (last)r0.w, r4.w
MESA: info: (rpt1)mul.f r1.x, (last)(r)r1.x, (last)r4.w
MESA: info: mad.f32 r0.x, (last)r0.x, r4.z, (last)r0.w
MESA: info: (rpt1)mad.f32 r0.y, (r)(last)r0.y, r4.z, (r)(last)r1.x
MESA: info: mad.f32 r1.z, (last)r1.z, r5.x, (last)r0.x
MESA: info: (rpt1)mad.f32 r1.w, (r)(last)r1.w, r5.x, (r)(last)r0.y
MESA: info: add.f r2.y, (last)r1.z, (last)r2.y
MESA: info: (rpt1)add.f r5.z, (last)(r)r1.w, (last)(r)r2.z
MESA: info: l110:
MESA: info: nop
MESA: info: mul.f r6.x, c9.x, r5.z
MESA: info: mul.f r7.y, c9.y, r5.z
MESA: info: mad.f32 r6.x, c8.x, r2.y, (last)r6.x
MESA: info: mad.f32 r7.y, c8.y, r2.y, (last)r7.y
MESA: info: mad.f32 r6.y, c10.x, r5.w, (last)r6.x
MESA: info: mad.f32 r6.z, c10.y, r5.w, (last)r7.y
MESA: info: (rpt1)mul.f r7.z, (r)c9.z, (last)r5.z
MESA: info: (rpt1)mad.f32 r7.z, (r)c8.z, r2.y, (r)(last)r7.z
MESA: info: (rpt1)mad.f32 r6.w, (r)c10.z, r5.w, (r)(last)r7.z
MESA: info: (rpt3)add.f r8.x, (last)(r)r6.y, (r)c11.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r8.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (VERT_ATTRIB_GENERIC4 slot=19 cm=7,il=0,b=0) r3.w (VERT_ATTRIB_GENERIC5 slot=20 cm=7,il=0,b=0) r4.z (VERT_ATTRIB_GENERIC6 slot=21 cm=f,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0)
MESA: info: ; BVERT prog 108/2: 73 instr, 11 nops, 62 non-nops, 0 mov, 0 cov, 256 dwords
MESA: info: ; BVERT prog 108/2: 0 last-baryf, 0 last-helper, 0 half, 9 full, 28 constlen
MESA: info: ; BVERT prog 108/2: 14 cat0, 0 cat1, 30 cat2, 28 cat3, 1 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 108/2: 9 sstall, 1 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 108/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 69 preamble-instr, 1 early-preamble
MESA: info: ; pos: r8.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0xd07fb585, 0x733c3d51, 0xd47a448f, 0xa4b06043, 0x5215d7fd, 0x414eb3e2, 0x878a394f, 0xb44f9ea9}
MESA: info: inputs_read: 32-37
MESA: info: outputs_written: 4-5
MESA: info: system_values_read: 0x00000000'00000000'00000000'00800000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 6
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_VAR0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_VAR1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VARYING_SLOT_VAR2.xyzw, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #3 (VARYING_SLOT_VAR3.xyzw, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #4 (VARYING_SLOT_VAR4.xyzw, 4, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #5 (VARYING_SLOT_VAR5.xyz, 5, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #6 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #7 (FRAG_RESULT_DATA1.xyzw, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #8
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:         // preds:
MESA: info:     con 1        %0 = @preamble_start_ir3
MESA: info:                       // succs: b1 b14
MESA: info:     if %0 {
MESA: info:         con block b1:         // preds: b0
MESA: info:         div 1        %1 = @elect_any_ir3
MESA: info:                           // succs: b2 b12
MESA: info:         if %1 {
MESA: info:             div block b2:         // preds: b1
MESA: info:             con 32       %3 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32       %4 = load_const (0x00000005 = 0.000000)
MESA: info:             con 32       %5 = load_const (0x00000009 = 0.000000)
MESA: info:             con 32       %6 = @bindless_resource_ir3 (%5 (0x9)) (desc_set=1)
MESA: info:             con 32    %1411 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32    %1396 = @load_ubo_vec4 (%6, %1411 (0x10)) (access=speculatable, base=0, component=3)
MESA: info:             con 32       %9 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32      %10 = load_const (0x00000006 = 0.000000)
MESA: info:             con 32x4  %1864 = load_const (0x00000003, 0x00000004, 0x00000005, 0x00000006)
MESA: info:             con 1x4   %1865 = ieq %1396.xxxx, %1864 (0x3, 0x4, 0x5, 0x6)
MESA: info:             con 1     %1866 = mov %1865.w
MESA: info:             con 1     %1863 = mov %1865.z
MESA: info:             con 1     %1859 = mov %1865.x
MESA: info:             con 1     %1860 = mov %1865.y
MESA: info:                               // succs: b3 b4
MESA: info:             if %1859 {
MESA: info:                 div block b3:         // preds: b2
MESA: info:                 con 32      %15 = load_const (0x3f000000 = 0.500000)
MESA: info:                 con 32      %17 = load_const (0x00000007 = 0.000000)
MESA: info:                 con 32      %18 = @bindless_resource_ir3 (%17 (0x7)) (desc_set=2)
MESA: info:                 con 32      %19 = @bindless_resource_ir3 (%10 (0x6)) (desc_set=2)
MESA: info:                 con 16x2  %1836 = load_const (0x3400, 0x3800) = (0.250000, 0.500000)
MESA: info:                 con 16x2  %1837 = load_const (0x0000, 0x0000) = (0.000000, 0.000000)
MESA: info:                 con 32x4    %21 = (float32)txd %19 (texture_handle), %18 (sampler_handle), %1836 (0.250000, 0.500000) (coord), %1837 (0.000000, 0.000000) (ddx), %1837 (0.000000, 0.000000) (ddy), 0 (texture), 0 (sampler)
MESA: info:                 con 16x2  %1839 = load_const (0x3a00, 0x3800) = (0.750000, 0.500000)
MESA: info:                 con 32x4    %24 = (float32)txd %19 (texture_handle), %18 (sampler_handle), %1839 (0.750000, 0.500000) (coord), %1837 (0.000000, 0.000000) (ddx), %1837 (0.000000, 0.000000) (ddy), 0 (texture), 0 (sampler)
MESA: info:                 con 1x4   %1869 = fge! %21, %15 (0.500000).xxxx
MESA: info:                 con 32x4  %1875 = b2f32 %1869
MESA: info:                 con 32    %1876 = mov %1875.w
MESA: info:                 con 32    %1874 = mov %1875.z
MESA: info:                 con 32    %1871 = mov %1875.x
MESA: info:                 con 32    %1872 = mov %1875.y
MESA: info:                                   @store_const_ir3 (%1871) (base=0)
MESA: info:                                   @store_const_ir3 (%1872) (base=1)
MESA: info:                                   @store_const_ir3 (%1874) (base=2)
MESA: info:                                   @store_const_ir3 (%1876) (base=3)
MESA: info:                 con 1x4   %1879 = fge! %24, %15 (0.500000).xxxx
MESA: info:                 con 32x4  %1885 = b2f32 %1879
MESA: info:                 con 32    %1886 = mov %1885.w
MESA: info:                 con 32    %1884 = mov %1885.z
MESA: info:                 con 32    %1881 = mov %1885.x
MESA: info:                 con 32    %1882 = mov %1885.y
MESA: info:                                   @store_const_ir3 (%1881) (base=4)
MESA: info:                                   @store_const_ir3 (%1882) (base=5)
MESA: info:                                   @store_const_ir3 (%1884) (base=6)
MESA: info:                                   @store_const_ir3 (%1886) (base=7)
MESA: info:                 con 1       %41 = load_const (true)
MESA: info:                                   // succs: b11
MESA: info:             } else {
MESA: info:                 div block b4:  // preds: b2, succs: b5 b6
MESA: info:                 if %1860 {
MESA: info:                     div block b5:         // preds: b4
MESA: info:                     con 1       %42 = load_const (true)
MESA: info:                                       // succs: b10
MESA: info:                 } else {
MESA: info:                     div block b6:  // preds: b4, succs: b7 b8
MESA: info:                     if %1863 {
MESA: info:                         div block b7:         // preds: b6
MESA: info:                         con 32      %43 = load_const (0x3f000000 = 0.500000)
MESA: info:                         con 32      %45 = load_const (0x00000007 = 0.000000)
MESA: info:                         con 32      %46 = @bindless_resource_ir3 (%45 (0x7)) (desc_set=2)
MESA: info:                         con 32      %47 = @bindless_resource_ir3 (%10 (0x6)) (desc_set=2)
MESA: info:                         con 16x2  %1842 = load_const (0x3400, 0x3800) = (0.250000, 0.500000)
MESA: info:                         con 16x2  %1843 = load_const (0x0000, 0x0000) = (0.000000, 0.000000)
MESA: info:                         con 32x4    %49 = (float32)txd %47 (texture_handle), %46 (sampler_handle), %1842 (0.250000, 0.500000) (coord), %1843 (0.000000, 0.000000) (ddx), %1843 (0.000000, 0.000000) (ddy), 0 (texture), 0 (sampler)
MESA: info:                         con 16x2  %1845 = load_const (0x3a00, 0x3800) = (0.750000, 0.500000)
MESA: info:                         con 32x4    %52 = (float32)txd %47 (texture_handle), %46 (sampler_handle), %1845 (0.750000, 0.500000) (coord), %1843 (0.000000, 0.000000) (ddx), %1843 (0.000000, 0.000000) (ddy), 0 (texture), 0 (sampler)
MESA: info:                         con 1x3   %1888 = fge! %52.xyz, %43 (0.500000).xxx
MESA: info:                         con 32      %56 = load_const (0xbf000000 = -0.500000)
MESA: info:                         con 32x3  %1890 = bcsel %1888, %43 (0x3f000000).xxx, %56 (0xbf000000).xxx
MESA: info:                         con 32x3  %1892 = fmul %49.xyz, %1890
MESA: info:                         con 32      %64 = fmul %1892.y, %1892.y
MESA: info:                         con 32    %1736 = ffma %1892.z, %1892.z, %64
MESA: info:                         con 32    %1735 = ffma %1892.x, %1892.x, %1736
MESA: info:                         con 32      %68 = frsq %1735
MESA: info:                         con 32x3  %1896 = fmul %1892, %68.xxx
MESA: info:                         con 32    %1897 = mov %1896.z
MESA: info:                         con 32    %1894 = mov %1896.x
MESA: info:                         con 32    %1895 = mov %1896.y
MESA: info:                                           @store_const_ir3 (%1894) (base=8)
MESA: info:                                           @store_const_ir3 (%1895) (base=9)
MESA: info:                                           @store_const_ir3 (%1897) (base=10)
MESA: info:                         con 1       %72 = load_const (true)
MESA: info:                                           // succs: b9
MESA: info:                     } else {
MESA: info:                         div block b8:         // preds: b6
MESA: info:                         con 32      %73 = load_const (0x3e800000 = 0.250000)
MESA: info:                         con 32      %75 = load_const (0x00000007 = 0.000000)
MESA: info:                         con 32      %76 = @bindless_resource_ir3 (%75 (0x7)) (desc_set=2)
MESA: info:                         con 32      %77 = @bindless_resource_ir3 (%10 (0x6)) (desc_set=2)
MESA: info:                         con 16x2  %1848 = load_const (0x3400, 0x3800) = (0.250000, 0.500000)
MESA: info:                         con 16x2  %1849 = load_const (0x0000, 0x0000) = (0.000000, 0.000000)
MESA: info:                         con 32x4    %79 = (float32)txd %77 (texture_handle), %76 (sampler_handle), %1848 (0.250000, 0.500000) (coord), %1849 (0.000000, 0.000000) (ddx), %1849 (0.000000, 0.000000) (ddy), 0 (texture), 0 (sampler)
MESA: info:                         con 16x2  %1851 = load_const (0x3a00, 0x3800) = (0.750000, 0.500000)
MESA: info:                         con 32x4    %83 = (float32)txd %77 (texture_handle), %76 (sampler_handle), %1851 (0.750000, 0.500000) (coord), %1849 (0.000000, 0.000000) (ddx), %1849 (0.000000, 0.000000) (ddy), 0 (texture), 0 (sampler)
MESA: info:                         con 32x4  %1900 = load_const (0x3f400000, 0x3f400000, 0x3f400000, 0x3e800000) = (0.750000, 0.750000, 0.750000, 0.250000)
MESA: info:                         con 1x4   %1901 = fge! %79.xyzx, %1900 (0.750000, 0.750000, 0.750000, 0.250000)
MESA: info:                         con 32x4  %1907 = b2f32 %1901
MESA: info:                         con 32    %1906 = mov %1907.z
MESA: info:                         con 32    %1903 = mov %1907.x
MESA: info:                         con 32    %1904 = mov %1907.y
MESA: info:                                           @store_const_ir3 (%1903) (base=11)
MESA: info:                                           @store_const_ir3 (%1904) (base=12)
MESA: info:                                           @store_const_ir3 (%1906) (base=13)
MESA: info:                         con 1x2   %1908 = fge! %79.yz, %73 (0.250000).xx
MESA: info:                         con 32x2  %1909 = b2f32 %1908
MESA: info:                         con 32x4  %1912 = load_const (0x3f400000, 0x3f400000, 0x3f400000, 0x3e800000) = (0.750000, 0.750000, 0.750000, 0.250000)
MESA: info:                         con 1x4   %1913 = fge! %83.xyzx, %1912 (0.750000, 0.750000, 0.750000, 0.250000)
MESA: info:                         con 32x4  %1919 = b2f32 %1913
MESA: info:                         con 32    %1918 = mov %1919.z
MESA: info:                         con 32    %1915 = mov %1919.x
MESA: info:                         con 32    %1916 = mov %1919.y
MESA: info:                                           @store_const_ir3 (%1915) (base=14)
MESA: info:                                           @store_const_ir3 (%1916) (base=15)
MESA: info:                                           @store_const_ir3 (%1918) (base=16)
MESA: info:                         con 1x2   %1920 = fge! %83.yz, %73 (0.250000).xx
MESA: info:                         con 32x2  %1921 = b2f32 %1920
MESA: info:                         con 32     %108 = load_const (0x3f800000 = 1.000000)
MESA: info:                         con 32    %1734 = fsub %108 (1.000000), %1907.w
MESA: info:                                           @store_const_ir3 (%1734) (base=17)
MESA: info:                         con 32x2  %1922 = fsub %108 (1.000000).xx, %1909
MESA: info:                         con 32    %1923 = mov %1922.x
MESA: info:                         con 32    %1924 = mov %1922.y
MESA: info:                                           @store_const_ir3 (%1923) (base=18)
MESA: info:                                           @store_const_ir3 (%1924) (base=19)
MESA: info:                         con 32    %1731 = fsub %108 (1.000000), %1919.w
MESA: info:                                           @store_const_ir3 (%1731) (base=20)
MESA: info:                         con 32x2  %1925 = fsub %108 (1.000000).xx, %1921
MESA: info:                         con 32    %1926 = mov %1925.x
MESA: info:                         con 32    %1927 = mov %1925.y
MESA: info:                                           @store_const_ir3 (%1926) (base=21)
MESA: info:                                           @store_const_ir3 (%1927) (base=22)
MESA: info:                                           // succs: b9
MESA: info:                     }
MESA: info:                     div block b9:         // preds: b7 b8
MESA: info:                     con 1      %121 = phi b7: %72 (true), b8: %1866
MESA: info:                                       // succs: b10
MESA: info:                 }
MESA: info:                 div block b10:        // preds: b5 b9
MESA: info:                 con 1      %122 = phi b5: %42 (true), b9: %121
MESA: info:                                   // succs: b11
MESA: info:             }
MESA: info:             div block b11:        // preds: b3 b10
MESA: info:             con 1      %123 = phi b3: %41 (true), b10: %122
MESA: info:             con 32       %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %124 = b2i32 %123
MESA: info:                               @store_const_ir3 (%124) (base=23)
MESA: info:             con 32     %125 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32    %1412 = load_const (0x00000011 = 0.000000 = 17)
MESA: info:             con 32    %1399 = @load_ubo_vec4 (%6, %1412 (0x11)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %1728 = fsub %125 (1.000000), %1399
MESA: info:                               @store_const_ir3 (%1728) (base=24)
MESA: info:             con 32     %132 = load_const (0x3f000000 = 0.500000)
MESA: info:             con 32     %133 = fmul %132 (0.500000), %1728
MESA: info:                               @store_const_ir3 (%133) (base=25)
MESA: info:                               @store_const_ir3 (%1728) (base=26)
MESA: info:             con 32    %1413 = load_const (0x00000013 = 0.000000 = 19)
MESA: info:             con 32    %1402 = @load_ubo_vec4 (%6, %1413 (0x13)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %1727 = fsub %125 (1.000000), %1402
MESA: info:                               @store_const_ir3 (%1727) (base=27)
MESA: info:             con 32     %143 = fmul %132 (0.500000), %1727
MESA: info:                               @store_const_ir3 (%143) (base=28)
MESA: info:                               @store_const_ir3 (%1727) (base=29)
MESA: info:             con 32     %146 = load_const (0x00000007 = 0.000000)
MESA: info:             con 32     %147 = @bindless_resource_ir3 (%146 (0x7)) (desc_set=1)
MESA: info:             con 32    %1405 = @load_ubo_vec4 (%147, %5 (0x9)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %1408 = @load_ubo_vec4 (%147, %2 (0x0)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %151 = frcp %1408
MESA: info:                               @store_const_ir3 (%151) (base=30)
MESA: info:             con 32x2  %1928 = load_const (0x3e800000, 0x3fc00000) = (0.250000, 1.500000)
MESA: info:             con 32x2  %1929 = fmul %151.xx, %1928 (0.250000, 1.500000)
MESA: info:             con 32    %1930 = mov %1929.x
MESA: info:             con 32    %1931 = mov %1929.y
MESA: info:                               @store_const_ir3 (%1930) (base=31)
MESA: info:                               @store_const_ir3 (%1931) (base=32)
MESA: info:             con 32     %156 = frcp %1405
MESA: info:                               @store_const_ir3 (%156) (base=33)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%6, %1411 (0x10)) (base=48, range=4)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=64, range=4)
MESA: info:             con 32     %164 = @bindless_resource_ir3 (%10 (0x6)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%164, %2 (0x0)) (base=80, range=4)
MESA: info:             con 32     %167 = @bindless_resource_ir3 (%4 (0x5)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%167, %1411 (0x10)) (base=96, range=8)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%147, %2 (0x0)) (base=128, range=12)
MESA: info:             con 32     %172 = load_const (0x00000008 = 0.000000)
MESA: info:             con 32     %173 = @bindless_resource_ir3 (%172 (0x8)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%173, %2 (0x0)) (base=176, range=4)
MESA: info:             con 32     %176 = @bindless_resource_ir3 (%3 (0x4)) (desc_set=2)
MESA: info:             con 32     %178 = @bindless_resource_ir3 (%4 (0x5)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%176, %178)
MESA: info:             con 32     %180 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %181 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %182 = @bindless_resource_ir3 (%181 (0x1)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%180, %182)
MESA: info:             con 32     %184 = @bindless_resource_ir3 (%10 (0x6)) (desc_set=2)
MESA: info:             con 32     %186 = @bindless_resource_ir3 (%146 (0x7)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%184, %186)
MESA: info:             con 32     %188 = @bindless_resource_ir3 (%172 (0x8)) (desc_set=2)
MESA: info:             con 32     %190 = @bindless_resource_ir3 (%5 (0x9)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%188, %190)
MESA: info:             con 32     %191 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32     %192 = @bindless_resource_ir3 (%191 (0x2)) (desc_set=2)
MESA: info:             con 32     %194 = @bindless_resource_ir3 (%9 (0x3)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%192, %194)
MESA: info:             con 32     %195 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:             con 32     %196 = @bindless_resource_ir3 (%195 (0xa)) (desc_set=2)
MESA: info:             con 32     %197 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:             con 32     %198 = @bindless_resource_ir3 (%197 (0xb)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%196, %198)
MESA: info:             con 32     %199 = load_const (0x0000000c = 0.000000 = 12)
MESA: info:             con 32     %200 = @bindless_resource_ir3 (%199 (0xc)) (desc_set=2)
MESA: info:             con 32     %201 = load_const (0x0000000d = 0.000000 = 13)
MESA: info:             con 32     %202 = @bindless_resource_ir3 (%201 (0xd)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%200, %202)
MESA: info:             con 32     %207 = load_const (0x0000000e = 0.000000 = 14)
MESA: info:             con 32     %208 = @bindless_resource_ir3 (%207 (0xe)) (desc_set=2)
MESA: info:             con 32     %209 = load_const (0x0000000f = 0.000000 = 15)
MESA: info:             con 32     %210 = @bindless_resource_ir3 (%209 (0xf)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%208, %210)
MESA: info:             con 32     %216 = @bindless_resource_ir3 (%1411 (0x10)) (desc_set=2)
MESA: info:             con 32     %218 = @bindless_resource_ir3 (%1412 (0x11)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%216, %218)
MESA: info:                               @preamble_end_ir3
MESA: info:                               // succs: b13
MESA: info:         } else {
MESA: info:             div block b12:  // preds: b1, succs: b13
MESA: info:         }
MESA: info:         con block b13:  // preds: b11 b12, succs: b15
MESA: info:     } else {
MESA: info:         con block b14:  // preds: b0, succs: b15
MESA: info:     }
MESA: info:     con block b15:        // preds: b13 b14
MESA: info:     con 32     %223 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x2   %224 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x4   %225 = @load_interpolated_input (%224, %223 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     div 32x4   %226 = @load_interpolated_input (%224, %223 (0x0)) (base=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR1 slots=1)
MESA: info:     div 32x4   %227 = @load_interpolated_input (%224, %223 (0x0)) (base=2, component=0, dest_type=float32, io location=VARYING_SLOT_VAR2 slots=1)
MESA: info:     div 32x4   %228 = @load_interpolated_input (%224, %223 (0x0)) (base=3, component=0, dest_type=float32, io location=VARYING_SLOT_VAR3 slots=1)
MESA: info:     div 32x4   %229 = @load_interpolated_input (%224, %223 (0x0)) (base=4, component=0, dest_type=float32, io location=VARYING_SLOT_VAR4 slots=1)
MESA: info:     con 32     %230 = load_const (0x00000004 = 0.000000)
MESA: info:     con 32     %231 = load_const (0x00000005 = 0.000000)
MESA: info:     con 32     %240 = @load_const_ir3 (%223 (0x0)) (base=61)
MESA: info:     con 1      %241 = ine %240, %223 (0x0)
MESA: info:     div 32     %243 = fmul %225.w, %225.w
MESA: info:     div 32    %1726 = ffma %226.x, %226.x, %243
MESA: info:     div 32    %1725 = ffma %225.z, %225.z, %1726
MESA: info:     div 32     %247 = frsq %1725
MESA: info:     div 32x2  %1932 = fmul %225.zw, %247.xx
MESA: info:     div 32     %250 = fmul %226.x, %247
MESA: info:     div 1      %251 = @load_front_face
MESA: info:     div 1      %252 = inot %251
MESA: info:     div 1      %253 = iand %252, %241
MESA: info:     div 32x2  %1933 = fneg %1932
MESA: info:     div 32     %256 = fneg %250
MESA: info:     div 32x2  %1934 = bcsel %253.xx, %1933, %1932
MESA: info:     div 32     %259 = bcsel %253, %256, %250
MESA: info:     div 32     %260 = mov %227.w
MESA: info:     div 32     %261 = mov %228.x
MESA: info:     div 32x2   %262 = @load_barycentric_centroid (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x3   %263 = @load_interpolated_input (%262, %223 (0x0)) (base=5, component=0, dest_type=float32, io location=VARYING_SLOT_VAR5 slots=1)
MESA: info:     con 32x2   %269 = @load_const_ir3 (%223 (0x0)) (base=50)
MESA: info:     con 32x2   %275 = @load_const_ir3 (%223 (0x0)) (base=52)
MESA: info:     con 32     %276 = load_const (0x00000003)
MESA: info:     con 32     %277 = load_const (0x00000006 = 0.000000)
MESA: info:     con 32x4  %1942 = load_const (0x00000003, 0x00000004, 0x00000005, 0x00000006)
MESA: info:     con 1x4   %1943 = ieq %269.yyyy, %1942 (0x3, 0x4, 0x5, 0x6)
MESA: info:     con 1     %1944 = mov %1943.w
MESA: info:     con 1     %1941 = mov %1943.z
MESA: info:     con 1     %1937 = mov %1943.x
MESA: info:     con 1     %1938 = mov %1943.y
MESA: info:                       // succs: b16 b17
MESA: info:     if %1937 {
MESA: info:         con block b16:        // preds: b15
MESA: info:         div 32     %283 = fmul %226.z, %226.z
MESA: info:         div 32    %1724 = ffma %226.w, %226.w, %283
MESA: info:         div 32    %1723 = ffma %226.y, %226.y, %1724
MESA: info:         div 32     %287 = frsq %1723
MESA: info:         div 32x3  %1946 = fmul %226.yzw, %287.xxx
MESA: info:         div 32     %292 = fmul %228.x, %1946.y
MESA: info:         div 32    %1722 = ffma %228.y, %1946.z, %292
MESA: info:         div 32    %1721 = ffma %227.w, %1946.x, %1722
MESA: info:         div 32     %297 = fmul %227.y, %227.y
MESA: info:         div 32    %1720 = ffma %227.z, %227.z, %297
MESA: info:         div 32    %1719 = ffma %227.x, %227.x, %1720
MESA: info:         div 32     %301 = frsq %1719
MESA: info:         div 32x3  %1948 = fmul %227.xyz, %301.xxx
MESA: info:         div 32     %306 = fmul %228.x, %1948.y
MESA: info:         div 32    %1718 = ffma %228.y, %1948.z, %306
MESA: info:         div 32    %1717 = ffma %227.w, %1948.x, %1718
MESA: info:         con 32     %311 = @load_const_ir3 (%223 (0x0)) (base=0)
MESA: info:         con 32     %313 = @load_const_ir3 (%223 (0x0)) (base=1)
MESA: info:         con 32     %315 = @load_const_ir3 (%223 (0x0)) (base=2)
MESA: info:         con 32     %317 = @load_const_ir3 (%223 (0x0)) (base=3)
MESA: info:         con 32     %319 = @load_const_ir3 (%223 (0x0)) (base=4)
MESA: info:         con 32     %321 = @load_const_ir3 (%223 (0x0)) (base=5)
MESA: info:         con 32     %323 = @load_const_ir3 (%223 (0x0)) (base=6)
MESA: info:         con 32     %325 = @load_const_ir3 (%223 (0x0)) (base=7)
MESA: info:         div 32     %327 = fmul %315, %263.x
MESA: info:         div 32    %1716 = ffma %317, %263.y, %327
MESA: info:         div 32    %1715 = ffma %313, %1717, %1716
MESA: info:         div 32    %1714 = ffma %311, %1721, %1715
MESA: info:         div 32     %333 = fmul %1714, %275.x
MESA: info:         div 32     %335 = fmul %323, %263.x
MESA: info:         div 32    %1713 = ffma %325, %263.y, %335
MESA: info:         div 32    %1712 = ffma %321, %1717, %1713
MESA: info:         div 32    %1711 = ffma %319, %1721, %1712
MESA: info:         div 32     %341 = fmul %1711, %275.y
MESA: info:                           // succs: b27
MESA: info:     } else {
MESA: info:         con block b17:  // preds: b15, succs: b18 b19
MESA: info:         if %1938 {
MESA: info:             con block b18:        // preds: b17
MESA: info:             div 32     %343 = fmul %226.z, %226.z
MESA: info:             div 32    %1710 = ffma %226.w, %226.w, %343
MESA: info:             div 32    %1709 = ffma %226.y, %226.y, %1710
MESA: info:             div 32     %347 = frsq %1709
MESA: info:             div 32x3  %1950 = fmul %226.yzw, %347.xxx
MESA: info:             div 32     %352 = fmul %228.x, %1950.y
MESA: info:             div 32    %1708 = ffma %228.y, %1950.z, %352
MESA: info:             div 32    %1707 = ffma %227.w, %1950.x, %1708
MESA: info:             div 32     %356 = fmul %1707, %275.x
MESA: info:             div 32     %358 = fmul %227.y, %227.y
MESA: info:             div 32    %1706 = ffma %227.z, %227.z, %358
MESA: info:             div 32    %1705 = ffma %227.x, %227.x, %1706
MESA: info:             div 32     %362 = frsq %1705
MESA: info:             div 32x3  %1952 = fmul %227.xyz, %362.xxx
MESA: info:             div 32     %367 = fmul %228.x, %1952.y
MESA: info:             div 32    %1704 = ffma %228.y, %1952.z, %367
MESA: info:             div 32    %1703 = ffma %227.w, %1952.x, %1704
MESA: info:             div 32     %371 = fmul %1703, %275.y
MESA: info:                               // succs: b26
MESA: info:         } else {
MESA: info:             con block b19:  // preds: b17, succs: b20 b21
MESA: info:             if %1941 {
MESA: info:                 con block b20:        // preds: b19
MESA: info:                 con 32     %373 = @load_const_ir3 (%223 (0x0)) (base=8)
MESA: info:                 con 32     %375 = @load_const_ir3 (%223 (0x0)) (base=9)
MESA: info:                 con 32     %377 = @load_const_ir3 (%223 (0x0)) (base=10)
MESA: info:                 div 32     %379 = fmul %1934.y, %373
MESA: info:                 div 32     %381 = fmul %259, %375
MESA: info:                 div 32     %383 = fmul %1934.x, %377
MESA: info:                 div 32     %384 = fneg %381
MESA: info:                 div 32    %1702 = ffma %1934.y, %377, %384
MESA: info:                 div 32     %386 = fneg %383
MESA: info:                 div 32    %1701 = ffma %259, %373, %386
MESA: info:                 div 32     %388 = fneg %379
MESA: info:                 div 32    %1700 = ffma %1934.x, %375, %388
MESA: info:                 div 32     %391 = fmul %228.x, %1701
MESA: info:                 div 32    %1699 = ffma %228.y, %1700, %391
MESA: info:                 div 32    %1698 = ffma %227.w, %1702, %1699
MESA: info:                 div 32     %395 = fmul %1698, %275.x
MESA: info:                 div 32     %399 = fmul %259, %1701
MESA: info:                 div 32     %400 = fmul %1934.x, %1700
MESA: info:                 div 32     %401 = fmul %1934.y, %1702
MESA: info:                 div 32     %402 = fneg %399
MESA: info:                 div 32    %1697 = ffma %1934.y, %1700, %402
MESA: info:                 div 32     %404 = fneg %400
MESA: info:                 div 32    %1696 = ffma %259, %1702, %404
MESA: info:                 div 32     %406 = fneg %401
MESA: info:                 div 32    %1695 = ffma %1934.x, %1701, %406
MESA: info:                 div 32     %409 = fmul %228.x, %1696
MESA: info:                 div 32    %1694 = ffma %228.y, %1695, %409
MESA: info:                 div 32    %1693 = ffma %227.w, %1697, %1694
MESA: info:                 div 32     %413 = fmul %1693, %275.y
MESA: info:                                   // succs: b25
MESA: info:             } else {
MESA: info:                 con block b21:  // preds: b19, succs: b22 b23
MESA: info:                 if %1944 {
MESA: info:                     con block b22:        // preds: b21
MESA: info:                     con 32     %415 = @load_const_ir3 (%223 (0x0)) (base=11)
MESA: info:                     con 32     %417 = @load_const_ir3 (%223 (0x0)) (base=12)
MESA: info:                     con 32     %419 = @load_const_ir3 (%223 (0x0)) (base=13)
MESA: info:                     con 32     %421 = @load_const_ir3 (%223 (0x0)) (base=14)
MESA: info:                     con 32     %423 = @load_const_ir3 (%223 (0x0)) (base=15)
MESA: info:                     con 32     %425 = @load_const_ir3 (%223 (0x0)) (base=16)
MESA: info:                     con 32     %432 = @load_const_ir3 (%223 (0x0)) (base=17)
MESA: info:                     con 32     %434 = @load_const_ir3 (%223 (0x0)) (base=18)
MESA: info:                     con 32     %436 = @load_const_ir3 (%223 (0x0)) (base=19)
MESA: info:                     div 32     %438 = fmul %434, %263.y
MESA: info:                     div 32    %1690 = ffma %436, %263.z, %438
MESA: info:                     div 32    %1689 = ffma %432, %263.x, %1690
MESA: info:                     div 32    %1779 = ffma %417, %228.x, %1689
MESA: info:                     div 32    %1780 = ffma %419, %228.y, %1779
MESA: info:                     div 32    %1781 = ffma %415, %227.w, %1780
MESA: info:                     div 32     %443 = fmul %1781, %275.x
MESA: info:                     con 32     %450 = @load_const_ir3 (%223 (0x0)) (base=20)
MESA: info:                     con 32     %452 = @load_const_ir3 (%223 (0x0)) (base=21)
MESA: info:                     con 32     %454 = @load_const_ir3 (%223 (0x0)) (base=22)
MESA: info:                     div 32     %456 = fmul %452, %263.y
MESA: info:                     div 32    %1686 = ffma %454, %263.z, %456
MESA: info:                     div 32    %1685 = ffma %450, %263.x, %1686
MESA: info:                     div 32    %1776 = ffma %423, %228.x, %1685
MESA: info:                     div 32    %1777 = ffma %425, %228.y, %1776
MESA: info:                     div 32    %1778 = ffma %421, %227.w, %1777
MESA: info:                     div 32     %461 = fmul %1778, %275.y
MESA: info:                                       // succs: b24
MESA: info:                 } else {
MESA: info:                     con block b23:        // preds: b21
MESA: info:                     div 32x2  %1953 = fmul %263.xy, %275
MESA: info:                     div 32    %1954 = mov %1953.x
MESA: info:                     div 32    %1955 = mov %1953.y
MESA: info:                                       // succs: b24
MESA: info:                 }
MESA: info:                 con block b24:        // preds: b22 b23
MESA: info:                 div 32     %464 = phi b22: %461, b23: %1955
MESA: info:                 div 32     %465 = phi b22: %443, b23: %1954
MESA: info:                                   // succs: b25
MESA: info:             }
MESA: info:             con block b25:        // preds: b20 b24
MESA: info:             div 32     %466 = phi b20: %413, b24: %464
MESA: info:             div 32     %467 = phi b20: %395, b24: %465
MESA: info:                               // succs: b26
MESA: info:         }
MESA: info:         con block b26:        // preds: b18 b25
MESA: info:         div 32     %468 = phi b18: %371, b25: %466
MESA: info:         div 32     %469 = phi b18: %356, b25: %467
MESA: info:                           // succs: b27
MESA: info:     }
MESA: info:     con block b27:        // preds: b16 b26
MESA: info:     div 32     %470 = phi b16: %341, b26: %468
MESA: info:     div 32     %471 = phi b16: %333, b26: %469
MESA: info:     con 32     %233 = load_const (0x00000002 = 0.000000)
MESA: info:     con 32     %473 = @load_const_ir3 (%223 (0x0)) (base=23)
MESA: info:     div 32    %1684 = icsel_eqz %473, %263.x, %471
MESA: info:     div 32    %1683 = icsel_eqz %473, %263.y, %470
MESA: info:     div 32x2   %478 = vec2 %1684, %1683
MESA: info:     con 32     %479 = @bindless_resource_ir3 (%231 (0x5)) (desc_set=2)
MESA: info:     con 32     %480 = @bindless_resource_ir3 (%230 (0x4)) (desc_set=2)
MESA: info:     div 32x4   %481 = (float32)tex %480 (texture_handle), %479 (sampler_handle), %478 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32     %487 = @load_const_ir3 (%223 (0x0)) (base=48)
MESA: info:     con 32     %488 = load_const (0xbf008081 = -0.501961)
MESA: info:     div 32x2  %1956 = fadd %481.xy, %488 (-0.501961).xx
MESA: info:     con 32     %491 = load_const (0x40008102 = 2.007874)
MESA: info:     div 32x2  %1957 = fmul %491 (2.007874).xx, %1956
MESA: info:     div 32     %495 = fmul %1957.x, %1957.x
MESA: info:     div 32    %1682 = ffma %1957.y, %1957.y, %495
MESA: info:     con 32     %497 = load_const (0x3f800000 = 1.000000)
MESA: info:     div 32    %1681 = fsub %497 (1.000000), %1682
MESA: info:     div 32     %500 = fsat %1681
MESA: info:     div 32     %501 = fsqrt %500
MESA: info:     div 32x2  %1958 = fmul %487.xx, %1957
MESA: info:     div 32    %1680 = ffma %1958.y, %1958.y, %500
MESA: info:     div 32    %1679 = ffma %1958.x, %1958.x, %1680
MESA: info:     div 32     %508 = frsq %1679
MESA: info:     div 32x2  %1959 = fmul %1958, %508.xx
MESA: info:     div 32     %511 = fmul %501, %508
MESA: info:     div 32x3  %1961 = fmul %227.xyz, %1959.yyy
MESA: info:     div 32x3  %1963 = ffma %226.yzw, %1959.xxx, %1961
MESA: info:     div 32x2  %1964 = ffma %225.zw, %511.xx, %1963.xy
MESA: info:     div 32    %1673 = ffma %226.x, %511, %1963.z
MESA: info:     div 32     %528 = fmul %1964.y, %1964.y
MESA: info:     div 32    %1672 = ffma %1673, %1673, %528
MESA: info:     div 32    %1671 = ffma %1964.x, %1964.x, %1672
MESA: info:     div 32     %532 = frsq %1671
MESA: info:     div 32x2  %1965 = fmul %1964, %532.xx
MESA: info:     div 32     %535 = fmul %1673, %532
MESA: info:     div 32x2  %1966 = fneg %1965
MESA: info:     div 32     %538 = fneg %535
MESA: info:     div 32x2  %1967 = bcsel %253.xx, %1966, %1965
MESA: info:     div 32     %541 = bcsel %253, %538, %535
MESA: info:     con 32     %542 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32     %543 = @bindless_resource_ir3 (%542 (0x1)) (desc_set=2)
MESA: info:     con 32     %544 = @bindless_resource_ir3 (%223 (0x0)) (desc_set=2)
MESA: info:     div 32x4   %545 = (float32)tex %544 (texture_handle), %543 (sampler_handle), %478 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %2060 = mov %545.zyx
MESA: info:     div 32x3  %2052 = mov %545.zyx
MESA: info:     con 1      %546 = ilt %269.y, %276 (0x3)
MESA: info:                       // succs: b28 b44
MESA: info:     if %546 {
MESA: info:         con block b28:        // preds: b27
MESA: info:         con 32     %552 = @load_const_ir3 (%223 (0x0)) (base=54)
MESA: info:         con 32x4  %1975 = load_const (0x00000000, 0x00000001, 0x00000002, 0x00000003)
MESA: info:         con 1x4   %1976 = ieq %269.xxxx, %1975 (0x0, 0x1, 0x2, 0x3)
MESA: info:         con 1     %1974 = mov %1976.z
MESA: info:         con 1     %1970 = mov %1976.x
MESA: info:         con 1     %1971 = mov %1976.y
MESA: info:         con 1     %2264 = inot %1970
MESA: info:                           // succs: b29 b42
MESA: info:         if %2264 {
MESA: info:             con block b29:        // preds: b28
MESA: info:             con 32x2  %1977 = load_const (0x00000000, 0x00000001)
MESA: info:             con 1x2   %1978 = ine %269.yy, %1977 (0x0, 0x1)
MESA: info:             con 1     %1979 = mov %1978.x
MESA: info:             con 1     %1980 = mov %1978.y
MESA: info:                               // succs: b30 b34
MESA: info:             if %1979 {
MESA: info:                 con block b30:  // preds: b29, succs: b31 b32
MESA: info:                 if %1980 {
MESA: info:                     con block b31:        // preds: b30
MESA: info:                     con 32     %562 = load_const (0x3f7d70a4 = 0.990000)
MESA: info:                     con 32     %564 = load_const (0x3e107c85 = 0.141100)
MESA: info:                     con 32x2  %1981 = load_const (0x3e107c85, 0x3f7d70a4) = (0.141100, 0.990000)
MESA: info:                     div 32x2  %1982 = fmul %1981 (0.141100, 0.990000), %1934.yy
MESA: info:                     div 32     %567 = fmul %564 (0.141100), %259
MESA: info:                     div 32     %568 = fneg %567
MESA: info:                     div 32    %1670 = ffma %562 (0.990000), %1934.x, %568
MESA: info:                     div 32     %572 = fmul %1670, %1670
MESA: info:                     div 32    %1669 = ffma %1982.x, %1982.x, %572
MESA: info:                     div 32    %1668 = ffma %1982.y, %1982.y, %1669
MESA: info:                     div 32     %575 = frsq %1668
MESA: info:                     div 32x2  %1983 = fmul %1982.yx, %575.xx
MESA: info:                     div 32     %578 = fmul %1670, %575
MESA: info:                     div 32     %580 = fmul %228.x, %578
MESA: info:                     div 32    %1667 = ffma %228.y, %1983.y, %580
MESA: info:                     div 32    %1665 = fneg %1983.x
MESA: info:                     div 32    %1666 = ffma %1665, %227.w, %1667
MESA: info:                     div 32     %589 = fmul %259, %578
MESA: info:                     div 32     %590 = fmul %1934.x, %1983.y
MESA: info:                     div 32     %591 = fmul %1983.x, %1934.y
MESA: info:                     div 32     %592 = fneg %589
MESA: info:                     div 32    %1664 = ffma %1934.y, %1983.y, %592
MESA: info:                     div 32     %594 = fneg %590
MESA: info:                     div 32    %1663 = ffma %1665, %259, %594
MESA: info:                     div 32    %1661 = ffma %1934.x, %578, %591
MESA: info:                     div 32     %598 = fmul %228.x, %1663
MESA: info:                     div 32    %1660 = ffma %228.y, %1661, %598
MESA: info:                     div 32    %1659 = ffma %227.w, %1664, %1660
MESA: info:                                       // succs: b33
MESA: info:                 } else {
MESA: info:                     con block b32:  // preds: b30, succs: b33
MESA: info:                 }
MESA: info:                 con block b33:        // preds: b31 b32
MESA: info:                 div 32     %602 = phi b31: %1659, b32: %261
MESA: info:                 div 32     %603 = phi b31: %1666, b32: %260
MESA: info:                                   // succs: b35
MESA: info:             } else {
MESA: info:                 con block b34:  // preds: b29, succs: b35
MESA: info:             }
MESA: info:             con block b35:        // preds: b33 b34
MESA: info:             div 32     %604 = phi b33: %602, b34: %1683
MESA: info:             div 32     %605 = phi b33: %603, b34: %1684
MESA: info:             div 32     %606 = fmul %275.x, %605
MESA: info:             div 32     %607 = fmul %275.y, %604
MESA: info:             div 32x2   %608 = vec2 %606, %607
MESA: info:             con 32     %609 = load_const (0x00000007 = 0.000000)
MESA: info:             con 32     %610 = @bindless_resource_ir3 (%609 (0x7)) (desc_set=2)
MESA: info:             con 32     %611 = @bindless_resource_ir3 (%277 (0x6)) (desc_set=2)
MESA: info:             div 32x4   %612 = (float32)tex %611 (texture_handle), %610 (sampler_handle), %608 (coord), 0 (texture), 0 (sampler)
MESA: info:                               // succs: b36 b37
MESA: info:             if %1971 {
MESA: info:                 con block b36:        // preds: b35
MESA: info:                 con 32     %617 = @load_const_ir3 (%223 (0x0)) (base=24)
MESA: info:                 div 32x3  %1985 = ffma %612.xyz, %552.xxx, %617.xxx
MESA: info:                 div 32x3  %1989 = fmul %545.xyz, %1985
MESA: info:                 div 32x3  %2044 = mov %1989.zyx
MESA: info:                                   // succs: b41
MESA: info:             } else {
MESA: info:                 con block b37:  // preds: b35, succs: b38 b39
MESA: info:                 if %1974 {
MESA: info:                     con block b38:        // preds: b37
MESA: info:                     con 32     %624 = load_const (0x3f000000 = 0.500000)
MESA: info:                     con 32     %626 = @load_const_ir3 (%223 (0x0)) (base=25)
MESA: info:                     div 32x3  %1992 = ffma %612.xyz, %552.xxx, %626.xxx
MESA: info:                     con 32     %633 = load_const (0x3de147ae = 0.110000)
MESA: info:                     con 32     %634 = load_const (0x3f170a3d = 0.590000)
MESA: info:                     con 32     %635 = load_const (0x3e99999a = 0.300000)
MESA: info:                     div 32     %637 = fmul %634 (0.590000), %545.y
MESA: info:                     div 32    %1652 = ffma %633 (0.110000), %545.z, %637
MESA: info:                     div 32    %1651 = ffma %635 (0.300000), %545.x, %1652
MESA: info:                     div 1      %641 = flt! %1651, %624 (0.500000)
MESA: info:                     con 32     %642 = load_const (0x40000000 = 2.000000)
MESA: info:                     div 32x3  %1994 = fmul %642 (2.000000).xxx, %1992
MESA: info:                     div 32x3  %1996 = fmul %1994, %545.xyz
MESA: info:                     div 32x3  %1998 = fsub %497 (1.000000).xxx, %1992
MESA: info:                     div 32x3  %2000 = fmul %642 (2.000000).xxx, %1998
MESA: info:                     div 32x3  %2002 = fsub %497 (1.000000).xxx, %545.xyz
MESA: info:                     div 32x3  %2005 = fneg %2000
MESA: info:                     div 32x3  %2006 = ffma %2005, %2002, %497 (1.000000).xxx
MESA: info:                     div 32x3  %2010 = bcsel %641.xxx, %1996, %2006
MESA: info:                     div 32x3  %2035 = mov %2010.zyx
MESA: info:                                       // succs: b40
MESA: info:                 } else {
MESA: info:                     con block b39:        // preds: b37
MESA: info:                     con 32     %680 = @load_const_ir3 (%223 (0x0)) (base=26)
MESA: info:                     div 32x3  %2013 = ffma %612.xyz, %552.xxx, %680.xxx
MESA: info:                     div 32x3  %2015 = fsub %497 (1.000000).xxx, %2013
MESA: info:                     div 32x3  %2017 = fneg %2015
MESA: info:                     div 32x3  %2019 = fsub %612.xyz, %545.xyz
MESA: info:                     div 32x3  %2021 = fmul %612.www, %2019
MESA: info:                     div 32x3  %2026 = bcsel %1976.www, %2017, %2021
MESA: info:                     div 32x3  %2027 = fadd %545.xyz, %2026
MESA: info:                     div 32x3  %2036 = mov %2027.zyx
MESA: info:                                       // succs: b40
MESA: info:                 }
MESA: info:                 con block b40:        // preds: b38 b39
MESA: info:                 div 32x3  %2034 = phi b38: %2035, b39: %2036
MESA: info:                                   // succs: b41
MESA: info:             }
MESA: info:             con block b41:        // preds: b36 b40
MESA: info:             div 32x3  %2043 = phi b36: %2044, b40: %2034
MESA: info:                               // succs: b43
MESA: info:         } else {
MESA: info:             con block b42:  // preds: b28, succs: b43
MESA: info:         }
MESA: info:         con block b43:        // preds: b41 b42
MESA: info:         div 32x3  %2051 = phi b41: %2043, b42: %2052
MESA: info:                           // succs: b45
MESA: info:     } else {
MESA: info:         con block b44:  // preds: b27, succs: b45
MESA: info:     }
MESA: info:     con block b45:        // preds: b43 b44
MESA: info:     div 32x3  %2059 = phi b43: %2051, b44: %2060
MESA: info:     con 32x4   %731 = @load_const_ir3 (%223 (0x0)) (base=56)
MESA: info:     con 32     %737 = @load_const_ir3 (%223 (0x0)) (base=60)
MESA: info:     con 32x3  %2065 = load_const (0x00000000, 0x00000000, 0x00000001)
MESA: info:     con 1x3   %2066 = ine %731.xyy, %2065 (0x0, 0x0, 0x1)
MESA: info:     con 1     %2067 = mov %2066.z
MESA: info:     con 1     %2063 = mov %2066.x
MESA: info:     con 1     %2064 = mov %2066.y
MESA: info:                       // succs: b46 b59
MESA: info:     if %2063 {
MESA: info:         con block b46:  // preds: b45, succs: b47 b51
MESA: info:         if %2064 {
MESA: info:             con block b47:  // preds: b46, succs: b48 b49
MESA: info:             if %2067 {
MESA: info:                 con block b48:        // preds: b47
MESA: info:                 con 32     %741 = load_const (0x3f7d70a4 = 0.990000)
MESA: info:                 con 32     %743 = load_const (0x3e107c85 = 0.141100)
MESA: info:                 con 32x2  %2068 = load_const (0x3e107c85, 0x3f7d70a4) = (0.141100, 0.990000)
MESA: info:                 div 32x2  %2069 = fmul %2068 (0.141100, 0.990000), %1934.yy
MESA: info:                 div 32     %746 = fmul %743 (0.141100), %259
MESA: info:                 div 32     %747 = fneg %746
MESA: info:                 div 32    %1620 = ffma %741 (0.990000), %1934.x, %747
MESA: info:                 div 32     %751 = fmul %1620, %1620
MESA: info:                 div 32    %1619 = ffma %2069.x, %2069.x, %751
MESA: info:                 div 32    %1618 = ffma %2069.y, %2069.y, %1619
MESA: info:                 div 32     %754 = frsq %1618
MESA: info:                 div 32x2  %2070 = fmul %2069.yx, %754.xx
MESA: info:                 div 32     %757 = fmul %1620, %754
MESA: info:                 div 32     %759 = fmul %228.x, %757
MESA: info:                 div 32    %1617 = ffma %228.y, %2070.y, %759
MESA: info:                 div 32    %1615 = fneg %2070.x
MESA: info:                 div 32    %1616 = ffma %1615, %227.w, %1617
MESA: info:                 div 32     %768 = fmul %259, %757
MESA: info:                 div 32     %769 = fmul %1934.x, %2070.y
MESA: info:                 div 32     %770 = fmul %2070.x, %1934.y
MESA: info:                 div 32     %771 = fneg %768
MESA: info:                 div 32    %1614 = ffma %1934.y, %2070.y, %771
MESA: info:                 div 32     %773 = fneg %769
MESA: info:                 div 32    %1613 = ffma %1615, %259, %773
MESA: info:                 div 32    %1611 = ffma %1934.x, %757, %770
MESA: info:                 div 32     %777 = fmul %228.x, %1613
MESA: info:                 div 32    %1610 = ffma %228.y, %1611, %777
MESA: info:                 div 32    %1609 = ffma %227.w, %1614, %1610
MESA: info:                                   // succs: b50
MESA: info:             } else {
MESA: info:                 con block b49:  // preds: b47, succs: b50
MESA: info:             }
MESA: info:             con block b50:        // preds: b48 b49
MESA: info:             div 32     %781 = phi b48: %1609, b49: %261
MESA: info:             div 32     %782 = phi b48: %1616, b49: %260
MESA: info:                               // succs: b52
MESA: info:         } else {
MESA: info:             con block b51:  // preds: b46, succs: b52
MESA: info:         }
MESA: info:         con block b52:        // preds: b50 b51
MESA: info:         div 32     %783 = phi b50: %781, b51: %1683
MESA: info:         div 32     %784 = phi b50: %782, b51: %1684
MESA: info:         con 32     %232 = load_const (0x00000009 = 0.000000)
MESA: info:         div 32     %785 = fmul %731.z, %784
MESA: info:         div 32     %786 = fmul %731.w, %783
MESA: info:         div 32x2   %787 = vec2 %785, %786
MESA: info:         con 32     %788 = @bindless_resource_ir3 (%232 (0x9)) (desc_set=2)
MESA: info:         con 32     %789 = load_const (0x00000008 = 0.000000)
MESA: info:         con 32     %790 = @bindless_resource_ir3 (%789 (0x8)) (desc_set=2)
MESA: info:         div 32x4   %791 = (float32)tex %790 (texture_handle), %788 (sampler_handle), %787 (coord), 0 (texture), 0 (sampler)
MESA: info:         con 32x3  %2075 = load_const (0x00000001, 0x00000002, 0x00000003)
MESA: info:         con 1x3   %2076 = ieq %731.xxx, %2075 (0x1, 0x2, 0x3)
MESA: info:         con 1     %2073 = mov %2076.x
MESA: info:         con 1     %2074 = mov %2076.y
MESA: info:                           // succs: b53 b54
MESA: info:         if %2073 {
MESA: info:             con block b53:        // preds: b52
MESA: info:             con 32     %799 = @load_const_ir3 (%223 (0x0)) (base=27)
MESA: info:             div 32x3  %2078 = ffma %791.xyz, %737.xxx, %799.xxx
MESA: info:             div 32x3  %2082 = fmul %2059.zyx, %2078
MESA: info:             div 32x3  %2137 = mov %2082.zyx
MESA: info:                               // succs: b58
MESA: info:         } else {
MESA: info:             con block b54:  // preds: b52, succs: b55 b56
MESA: info:             if %2074 {
MESA: info:                 con block b55:        // preds: b54
MESA: info:                 con 32     %806 = load_const (0x3f000000 = 0.500000)
MESA: info:                 con 32     %808 = @load_const_ir3 (%223 (0x0)) (base=28)
MESA: info:                 div 32x3  %2085 = ffma %791.xyz, %737.xxx, %808.xxx
MESA: info:                 con 32     %815 = load_const (0x3de147ae = 0.110000)
MESA: info:                 con 32     %816 = load_const (0x3f170a3d = 0.590000)
MESA: info:                 con 32     %817 = load_const (0x3e99999a = 0.300000)
MESA: info:                 div 32     %819 = fmul %816 (0.590000), %2059.y
MESA: info:                 div 32    %1602 = ffma %815 (0.110000), %2059.x, %819
MESA: info:                 div 32    %1601 = ffma %817 (0.300000), %2059.z, %1602
MESA: info:                 div 1      %823 = flt! %1601, %806 (0.500000)
MESA: info:                 con 32     %824 = load_const (0x40000000 = 2.000000)
MESA: info:                 div 32x3  %2087 = fmul %824 (2.000000).xxx, %2085
MESA: info:                 div 32x3  %2089 = fmul %2087, %2059.zyx
MESA: info:                 div 32x3  %2091 = fsub %497 (1.000000).xxx, %2085
MESA: info:                 div 32x3  %2093 = fmul %824 (2.000000).xxx, %2091
MESA: info:                 div 32x3  %2095 = fsub %497 (1.000000).xxx, %2059.zyx
MESA: info:                 div 32x3  %2098 = fneg %2093
MESA: info:                 div 32x3  %2099 = ffma %2098, %2095, %497 (1.000000).xxx
MESA: info:                 div 32x3  %2103 = bcsel %823.xxx, %2089, %2099
MESA: info:                 div 32x3  %2128 = mov %2103.zyx
MESA: info:                                   // succs: b57
MESA: info:             } else {
MESA: info:                 con block b56:        // preds: b54
MESA: info:                 con 32     %862 = @load_const_ir3 (%223 (0x0)) (base=29)
MESA: info:                 div 32x3  %2106 = ffma %791.xyz, %737.xxx, %862.xxx
MESA: info:                 div 32x3  %2108 = fsub %497 (1.000000).xxx, %2106
MESA: info:                 div 32x3  %2110 = fneg %2108
MESA: info:                 div 32x3  %2112 = fsub %791.xyz, %2059.zyx
MESA: info:                 div 32x3  %2114 = fmul %791.www, %2112
MESA: info:                 div 32x3  %2119 = bcsel %2076.zzz, %2110, %2114
MESA: info:                 div 32x3  %2120 = fadd %2059.zyx, %2119
MESA: info:                 div 32x3  %2129 = mov %2120.zyx
MESA: info:                                   // succs: b57
MESA: info:             }
MESA: info:             con block b57:        // preds: b55 b56
MESA: info:             div 32x3  %2127 = phi b55: %2128, b56: %2129
MESA: info:                               // succs: b58
MESA: info:         }
MESA: info:         con block b58:        // preds: b53 b57
MESA: info:         div 32x3  %2136 = phi b53: %2137, b57: %2127
MESA: info:                           // succs: b60
MESA: info:     } else {
MESA: info:         con block b59:  // preds: b45, succs: b60
MESA: info:     }
MESA: info:     con block b60:        // preds: b58 b59
MESA: info:     div 32x3  %2142 = phi b58: %2136, b59: %2059
MESA: info:     con 32     %902 = @bindless_resource_ir3 (%276 (0x3)) (desc_set=2)
MESA: info:     con 32     %903 = @bindless_resource_ir3 (%233 (0x2)) (desc_set=2)
MESA: info:     div 32x4   %904 = (float32)tex %903 (texture_handle), %902 (sampler_handle), %478 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32     %905 = fmin %225.y, %904.z
MESA: info:     con 32x3   %908 = @load_const_ir3 (%223 (0x0)) (base=64)
MESA: info:     div 32x3  %2144 = fmul %2142.zyx, %908
MESA: info:     con 32x4   %916 = @load_const_ir3 (%223 (0x0)) (base=80)
MESA: info:     con 32x4   %925 = @load_const_ir3 (%223 (0x0)) (base=84)
MESA: info:     con 32x4   %937 = @load_const_ir3 (%223 (0x0)) (base=88)
MESA: info:     con 32x4   %951 = @load_const_ir3 (%223 (0x0)) (base=92)
MESA: info:     div 32x4  %2151 = ffma %925, %228.xxxx, %951
MESA: info:     div 32x4  %2152 = ffma %916, %227.wwww, %2151
MESA: info:     div 32x4  %2153 = ffma %937, %228.yyyy, %2152
MESA: info:     div 32     %959 = frcp %2153.w
MESA: info:     div 32x2  %2154 = fmul %2153.xy, %959.xx
MESA: info:     div 32     %962 = fmin! %2154.y, %2154.x
MESA: info:     con 32     %963 = load_const (0xbf800000 = -1.000000)
MESA: info:     div 1      %964 = flt! %962, %963 (-1.000000)
MESA: info:     div 32     %965 = fmax! %2154.y, %2154.x
MESA: info:     div 1      %966 = flt! %497 (1.000000), %965
MESA: info:     div 1     %1854 = inot %964
MESA: info:     div 1     %1855 = inot %966
MESA: info:     div 1     %1856 = iand %1854, %1855
MESA: info:                       // succs: b61 b62
MESA: info:     if %1856 {
MESA: info:         div block b61:        // preds: b60
MESA: info:         con 32     %938 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:         con 32     %939 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:         con 32     %969 = load_const (0x3f000000 = 0.500000)
MESA: info:         div 32x2  %2155 = ffma %969 (0.500000).xx, %2154, %969 (0.500000).xx
MESA: info:         div 32    %1560 = ffma %969 (0.500000), %2153.z, %969 (0.500000)
MESA: info:         con 32     %977 = @bindless_resource_ir3 (%939 (0xb)) (desc_set=2)
MESA: info:         con 32     %978 = @bindless_resource_ir3 (%938 (0xa)) (desc_set=2)
MESA: info:         div 32     %979 = (float32)tex %978 (texture_handle), %977 (sampler_handle), %2155 (coord), %1560 (comparator), 0 (texture), 0 (sampler)
MESA: info:                           // succs: b63
MESA: info:     } else {
MESA: info:         div block b62:  // preds: b60, succs: b63
MESA: info:     }
MESA: info:     con block b63:        // preds: b61 b62
MESA: info:     div 32     %980 = phi b61: %979, b62: %497 (1.000000)
MESA: info:     con 32     %917 = load_const (0x0000000c = 0.000000 = 12)
MESA: info:     con 32     %952 = load_const (0x0000000d = 0.000000 = 13)
MESA: info:     con 32     %953 = load_const (0x0000000e = 0.000000 = 14)
MESA: info:     con 32     %954 = load_const (0x0000000f = 0.000000 = 15)
MESA: info:     con 32     %981 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32    %1559 = fsub %981 (2.000000), %904.x
MESA: info:     div 32     %984 = fmul %904.x, %1559
MESA: info:     con 32     %985 = load_const (0x3f600000 = 0.875000)
MESA: info:     div 1      %986 = fge! %985 (0.875000), %904.y
MESA: info:     con 32     %987 = load_const (0x3f26f694 = 0.652200)
MESA: info:     div 32     %988 = fmul %987 (0.652200), %904.y
MESA: info:     con 32     %989 = load_const (0xbf600000 = -0.875000)
MESA: info:     div 32     %990 = fadd %904.y, %989 (-0.875000)
MESA: info:     con 32     %991 = load_const (0x405bd07c = 3.434600)
MESA: info:     con 32     %993 = load_const (0x3f1217c2 = 0.570675)
MESA: info:     div 32    %1558 = ffma %991 (3.434600), %990, %993 (0.570675)
MESA: info:     div 32     %995 = bcsel %986, %988, %1558
MESA: info:     con 32     %996 = load_const (0x400ccccd = 2.200000)
MESA: info:     div 32x3  %2159 = flog2 %2144
MESA: info:     div 32x3  %2160 = fmul %2159, %996 (2.200000).xxx
MESA: info:     div 32x3  %2161 = fexp2 %2160
MESA: info:     div 32x3  %2163 = fmul %2161, %984.xxx
MESA: info:     div 32x3  %2165 = fsub %2161, %2163
MESA: info:     con 32    %1015 = load_const (0x3d23d70a = 0.040000)
MESA: info:     con 32    %1017 = load_const (0x3c23d70a = 0.010000)
MESA: info:     div 32    %1554 = ffma %995, %1015 (0.040000), %1017 (0.010000)
MESA: info:     div 32    %1553 = fsub %497 (1.000000), %984
MESA: info:     div 32x3  %2167 = ffma %1554.xxx, %1553.xxx, %2163
MESA: info:     div 32x3  %2169 = fsat %2165
MESA: info:     div 32x3  %2171 = fsat %2167
MESA: info:     con 32x3  %1035 = @load_const_ir3 (%223 (0x0)) (base=124)
MESA: info:     div 32    %1549 = fsub %227.w, %1035.x
MESA: info:     div 32x2  %2172 = fsub %228.xy, %1035.yz
MESA: info:     div 32    %1043 = fmul %1967.y, %2172.x
MESA: info:     div 32    %1546 = ffma %541, %2172.y, %1043
MESA: info:     div 32    %1545 = ffma %1967.x, %1549, %1546
MESA: info:     div 32    %1047 = fmul %1545, %981 (2.000000)
MESA: info:     div 32    %1543 = fneg %1047
MESA: info:     div 32    %1544 = ffma %1543, %1967.x, %1549
MESA: info:     div 32    %1542 = ffma %1543, %1967.y, %2172.x
MESA: info:     div 32    %1540 = ffma %1543, %541, %2172.y
MESA: info:     div 32    %1058 = fmul %1542, %1542
MESA: info:     div 32    %1538 = ffma %1540, %1540, %1058
MESA: info:     div 32    %1537 = ffma %1544, %1544, %1538
MESA: info:     div 32    %1062 = frsq %1537
MESA: info:     div 32    %1063 = fmul %1544, %1062
MESA: info:     div 32    %1064 = fmul %1542, %1062
MESA: info:     div 32    %1065 = fmul %1540, %1062
MESA: info:     div 32x3  %2174 = fsub %995.xxx, %2171
MESA: info:     div 32x3  %2176 = fmax %2174, %223 (0.000000).xxx
MESA: info:     div 32    %1076 = fmul %1967.y, %1064
MESA: info:     div 32    %1533 = ffma %541, %1065, %1076
MESA: info:     div 32    %1532 = ffma %1967.x, %1063, %1533
MESA: info:     div 32    %1080 = fabs %1532
MESA: info:     div 32    %1531 = fsub %497 (1.000000), %1080
MESA: info:     div 32    %1083 = fsat %1531
MESA: info:     div 32    %1085 = fmul %1083, %1083
MESA: info:     div 32    %1086 = fmul %1085, %1085
MESA: info:     div 32    %1087 = fmul %1086, %1083
MESA: info:     div 32x3  %2178 = ffma %2176, %1087.xxx, %2171
MESA: info:     div 32x3  %2180 = fsub %497 (1.000000).xxx, %2178
MESA: info:     div 32x3  %2182 = fmul %2169, %2180
MESA: info:     div 32    %1524 = fsub %497 (1.000000), %995
MESA: info:     con 32    %1105 = load_const (0x40c00000 = 6.000000)
MESA: info:     div 32    %1106 = fmul %1105 (6.000000), %1524
MESA: info:     con 32x3  %1112 = @load_const_ir3 (%223 (0x0)) (base=148)
MESA: info:     con 32x3  %1119 = @load_const_ir3 (%223 (0x0)) (base=152)
MESA: info:     con 32x3  %1129 = @load_const_ir3 (%223 (0x0)) (base=156)
MESA: info:     con 32x3  %1139 = @load_const_ir3 (%223 (0x0)) (base=160)
MESA: info:     div 32x3  %2186 = ffma %1119, %1967.yyy, %1139
MESA: info:     div 32x3  %2187 = ffma %1112, %1967.xxx, %2186
MESA: info:     div 32x3  %2188 = ffma %1129, %541.xxx, %2187
MESA: info:     con 32    %1144 = @bindless_resource_ir3 (%952 (0xd)) (desc_set=2)
MESA: info:     con 32    %1145 = @bindless_resource_ir3 (%917 (0xc)) (desc_set=2)
MESA: info:     div 32x4  %1146 = (float32)txl %1145 (texture_handle), %1144 (sampler_handle), %2188 (coord), %1105 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %2218 = mov %1146.yzx
MESA: info:     div 32x3  %2192 = ffma %1119, %1064.xxx, %1139
MESA: info:     div 32x3  %2193 = ffma %1112, %1063.xxx, %2192
MESA: info:     div 32x3  %2194 = ffma %1129, %1065.xxx, %2193
MESA: info:     div 32x4  %1166 = (float32)txl %1145 (texture_handle), %1144 (sampler_handle), %2194 (coord), %1106 (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %2212 = mov %1166.yzx
MESA: info:     con 32    %1167 = @bindless_resource_ir3 (%954 (0xf)) (desc_set=2)
MESA: info:     con 32    %1168 = @bindless_resource_ir3 (%953 (0xe)) (desc_set=2)
MESA: info:     div 32x4  %1169 = (float32)txl %1168 (texture_handle), %1167 (sampler_handle), %2188 (coord), %1105 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %2215 = mov %1169.yzx
MESA: info:     div 32x4  %1170 = (float32)txl %1168 (texture_handle), %1167 (sampler_handle), %2194 (coord), %1106 (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %2209 = mov %1170.yzx
MESA: info:     con 32    %1174 = @load_const_ir3 (%223 (0x0)) (base=164)
MESA: info:     con 1     %1175 = flt! %497 (1.000000), %1174
MESA: info:                       // succs: b64 b65
MESA: info:     if %1175 {
MESA: info:         con block b64:        // preds: b63
MESA: info:         con 32x4  %1178 = @load_const_ir3 (%223 (0x0)) (base=128)
MESA: info:         con 32    %1180 = @load_const_ir3 (%223 (0x0)) (base=30)
MESA: info:         con 32    %1182 = @load_const_ir3 (%223 (0x0)) (base=31)
MESA: info:         con 32    %1184 = @load_const_ir3 (%223 (0x0)) (base=32)
MESA: info:         div 32    %1185 = fmax %541, %223 (0.000000)
MESA: info:         div 32    %1186 = fadd %497 (1.000000), %1185
MESA: info:         div 32    %1187 = fmul %1182, %1186
MESA: info:         div 32x3  %2217 = mov %1187.xxx
MESA: info:         div 32    %1189 = fmul %1967.y, %1178.y
MESA: info:         div 32    %1511 = ffma %541, %1178.z, %1189
MESA: info:         div 32    %1510 = ffma %1967.x, %1178.x, %1511
MESA: info:         div 32    %1193 = fmax %1510, %223 (0.000000)
MESA: info:         div 32    %1194 = fadd %1187, %1193
MESA: info:         div 32    %1195 = fmul %1184, %1194
MESA: info:         div 32x3  %2214 = mov %1195.xxx
MESA: info:         con 32    %1196 = load_const (0x3dcccccd = 0.100000)
MESA: info:         con 32    %1197 = fmul %1196 (0.100000), %1180
MESA: info:         con 32x3  %2211 = mov %1197.xxx
MESA: info:         div 32    %1199 = fmul %1064, %1178.y
MESA: info:         div 32    %1509 = ffma %1065, %1178.z, %1199
MESA: info:         div 32    %1508 = ffma %1063, %1178.x, %1509
MESA: info:         div 32    %1203 = fmax %1508, %223 (0.000000)
MESA: info:         div 32    %1204 = fmul %1180, %1203
MESA: info:         div 32x3  %2208 = mov %1204.xxx
MESA: info:                           // succs: b66
MESA: info:     } else {
MESA: info:         con block b65:  // preds: b63, succs: b66
MESA: info:     }
MESA: info:     con block b66:        // preds: b64 b65
MESA: info:     div 32x3  %2207 = phi b64: %2208, b65: %2209
MESA: info:     div 32x3  %2213 = phi b64: %2214, b65: %2215
MESA: info:     div 32x3  %2210 = phi b64: %2211, b65: %2212
MESA: info:     div 32x3  %2216 = phi b64: %2217, b65: %2218
MESA: info:     con 32     %922 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:     con 32    %1084 = load_const (0x40a00000 = 5.000000)
MESA: info:     con 32    %1231 = @load_const_ir3 (%223 (0x0)) (base=131)
MESA: info:     div 32    %1232 = fmul %1174, %905
MESA: info:     con 32    %1237 = @load_const_ir3 (%223 (0x0)) (base=33)
MESA: info:     con 32    %1238 = load_const (0x3f266666 = 0.650000)
MESA: info:     con 32    %1240 = load_const (0x3eb33333 = 0.350000)
MESA: info:     div 32    %1507 = ffma %905, %1238 (0.650000), %1240 (0.350000)
MESA: info:     div 32    %1242 = fmul %1237, %1507
MESA: info:     div 32    %1243 = fmul %1242, %980
MESA: info:     div 32x3  %2220 = fsub %2213.zxy, %2216.zxy
MESA: info:     div 32x3  %2222 = fmul %1243.xxx, %2220
MESA: info:     div 32x3  %2224 = ffma %1232.xxx, %2216.zxy, %2222
MESA: info:     div 32x3  %2226 = fmul %1174.xxx, %2210.zxy
MESA: info:     div 32x3  %2229 = fneg %2226
MESA: info:     div 32x3  %2230 = ffma %1237.xxx, %2207.zxy, %2229
MESA: info:     div 32x3  %2232 = fmul %980.xxx, %2230
MESA: info:     div 32x3  %2234 = ffma %1174.xxx, %2210.zxy, %2232
MESA: info:     div 32x3  %2236 = fmul %2178, %2234
MESA: info:     div 32x3  %2238 = ffma %2182, %2224, %2236
MESA: info:     div 32x3  %2240 = fmul %1231.xxx, %2238
MESA: info:     div 32    %1491 = fsub %497 (1.000000), %263.z
MESA: info:     div 32    %1489 = fneg %2180.x
MESA: info:     div 32    %1490 = ffma %1489, %1491, %497 (1.000000)
MESA: info:     div 32    %1292 = fmul %2172.x, %2172.x
MESA: info:     div 32    %1488 = ffma %2172.y, %2172.y, %1292
MESA: info:     div 32    %1487 = ffma %1549, %1549, %1488
MESA: info:     div 32    %1296 = frsq %1487
MESA: info:     div 32    %1297 = fmul %1549, %1296
MESA: info:     div 32x2  %2241 = fmul %2172, %1296.xx
MESA: info:     div 32x3  %2245 = ffma %1119, %2241.xxx, %1139
MESA: info:     div 32x3  %2246 = ffma %1112, %1297.xxx, %2245
MESA: info:     div 32x3  %2247 = ffma %1129, %2241.yyy, %2246
MESA: info:     con 32    %1319 = load_const (0x00000011 = 0.000000 = 17)
MESA: info:     con 32    %1320 = @bindless_resource_ir3 (%1319 (0x11)) (desc_set=2)
MESA: info:     con 32    %1321 = @bindless_resource_ir3 (%922 (0x10)) (desc_set=2)
MESA: info:     div 32x4  %1322 = (float32)txl %1321 (texture_handle), %1320 (sampler_handle), %2247 (coord), %223 (0.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %1323 = (float32)txl %1321 (texture_handle), %1320 (sampler_handle), %2247 (coord), %1105 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     con 32x3  %1330 = @load_const_ir3 (%223 (0x0)) (base=180)
MESA: info:     div 32x3  %2249 = fmul %1330, %229.yzw
MESA: info:     div 32x2  %2250 = ffma %2240.xy, %228.zw, %2249.xy
MESA: info:     div 32    %1478 = ffma %2240.z, %229.x, %2249.z
MESA: info:     con 32    %1337 = load_const (0xbf4ccccd = -0.800000)
MESA: info:     div 32    %1338 = fadd %225.x, %1337 (-0.800000)
MESA: info:     div 32    %1339 = fmul %1338, %1084 (5.000000)
MESA: info:     div 32    %1340 = fsat %1339
MESA: info:     div 32x3  %2252 = fsub %1322.xyz, %1323.xyz
MESA: info:     div 32x3  %2254 = ffma %1340.xxx, %2252, %1323.xyz
MESA: info:     div 32x2  %2255 = fneg %2250
MESA: info:     div 32x2  %2256 = ffma %1231.xx, %2254.xy, %2255
MESA: info:     div 32x2  %2257 = ffma %225.xx, %2256, %2250
MESA: info:     div 32    %1364 = fneg %1478
MESA: info:     div 32    %1467 = ffma %1231, %2254.z, %1364
MESA: info:     div 32    %1466 = ffma %225.x, %1467, %1478
MESA: info:     con 32x3  %1370 = @load_const_ir3 (%223 (0x0)) (base=96)
MESA: info:     con 32x3  %1376 = @load_const_ir3 (%223 (0x0)) (base=100)
MESA: info:     div 32x3  %2259 = fmul %1376, %1967.yyy
MESA: info:     div 32x3  %2261 = ffma %1370, %1967.xxx, %2259
MESA: info:     con 32x3  %1385 = @load_const_ir3 (%223 (0x0)) (base=104)
MESA: info:     div 32x3  %2263 = ffma %1385, %541.xxx, %2261
MESA: info:     div 32x4  %1392 = vec4 %2257.x, %2257.y, %1466, %1490
MESA: info:                       @store_output (%1392, %223 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %1393 = vec4 %2263.x, %2263.y, %2263.z, %497 (0x3f800000)
MESA: info:                       @store_output (%1393, %223 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA1 slots=1, xfb(), xfb2())
MESA: info:                       // succs: b67
MESA: info:     block b67:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 0b7607636c64779001d20f0978ed4607f722baf0:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c12.x (36 vec4)
MESA: info: ;   preamble                   c0.x (12 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      6
MESA: info: ;   range[0]:
MESA: info: ;     block:          9
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           4 vec4 (256b -> 320b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          9
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c16.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          6
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          5
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c24.x
MESA: info: ;     size:           8 vec4 (256b -> 384b)
MESA: info: ;   range[4]:
MESA: info: ;     block:          7
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c32.x
MESA: info: ;     size:           12 vec4 (0b -> 192b)
MESA: info: ;   range[5]:
MESA: info: ;     block:          8
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c44.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @in(hr1.x)	in1 (wrmask=0x1)
MESA: info: @in(r0.w)	in2 (wrmask=0x3)
MESA: info: @const(c48.x)	0x3f000000, 0xbf000000, 0x3f400000, 0x3e800000
MESA: info: @const(c49.x)	0x3fc00000, 0xbf800000, 0xbf4ccccd, 0x40a00000
MESA: info: @const(c50.x)	0x3f7d70a4, 0x3e107c85, 0x3e99999a, 0x3de147ae
MESA: info: @const(c51.x)	0x3f170a3d, 0x3f800000, 0x400ccccd, 0x3f26f694
MESA: info: @const(c52.x)	0x3f600000, 0x405bd07c, 0xbf600000, 0x3f1217c2
MESA: info: @const(c53.x)	0x3c23d70a, 0x3d23d70a, 0x40008102, 0xbf008081
MESA: info: @const(c54.x)	0x3eb33333, 0x3f266666, 0x3dcccccd, 0x40c00000
MESA: info: shps #l225
MESA: info: getone #l225
MESA: info: ldc.u.offset3.1.imm.base1 r48.x, 16, 9
MESA: info: (sy)(ss)cmps.s.eq p0.x, r48.x, 3
MESA: info: cmps.s.eq p0.y, r48.x, 4
MESA: info: cmps.s.eq p0.z, r48.x, 5
MESA: info: (nop3) cmps.s.eq hr48.x, r48.x, 6
MESA: info: br !p0.x, #l50
MESA: info: alias.tex.b16.7 hr40.x, h(0x3400)
MESA: info: alias.tex.b16.0 hr40.y, h(0x3800)
MESA: info: alias.tex.b16.0 hr40.z, h(0x0)
MESA: info: alias.tex.b16.0 hr40.w, h(0x0)
MESA: info: alias.tex.b16.0 hr41.x, h(0x0)
MESA: info: alias.tex.b16.0 hr41.y, h(0x0)
MESA: info: alias.tex.b16.0 hr41.z, h(0x0)
MESA: info: alias.tex.b16.0 hr41.w, h(0x0)
MESA: info: samgq.base2 (f32)(xyzw)r1.y, hr40.x, s#7, t#6
MESA: info: alias.tex.b16.7 hr40.x, h(0x3a00)
MESA: info: alias.tex.b16.0 hr40.y, h(0x3800)
MESA: info: alias.tex.b16.0 hr40.z, h(0x0)
MESA: info: alias.tex.b16.0 hr40.w, h(0x0)
MESA: info: alias.tex.b16.0 hr41.x, h(0x0)
MESA: info: alias.tex.b16.0 hr41.y, h(0x0)
MESA: info: alias.tex.b16.0 hr41.z, h(0x0)
MESA: info: alias.tex.b16.0 hr41.w, h(0x0)
MESA: info: samgq.base2 (f32)(xyzw)r2.y, hr40.x, s#7, t#6
MESA: info: mov.u16u16 hr48.x, 1
MESA: info: (sy)mov.u32u32 r48.y, (last)r1.y
MESA: info: mov.u32u32 r48.z, (last)r1.z
MESA: info: mov.u32u32 r48.w, (last)r1.w
MESA: info: mov.u32u32 r49.x, (last)r2.x
MESA: info: mov.u32u32 r49.y, (last)r2.y
MESA: info: mov.u32u32 r49.z, (last)r2.z
MESA: info: mov.u32u32 r49.w, (last)r2.w
MESA: info: mov.u32u32 r50.x, (last)r3.x
MESA: info: (ss)(rpt3)cmps.f.ge hr48.z, (r)r48.y, (0.5)
MESA: info: (rpt3)cmps.f.ge hr50.z, (r)r49.y, (0.5)
MESA: info: cov.u16f32 r50.y, hr48.z
MESA: info: (rpt2)cov.u16f32 r50.z, (r)hr48.w
MESA: info: (rpt3)cov.u16f32 r51.y, (r)hr50.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[0], r50.y, 1
MESA: info: stc.u32 c[1], r50.z, 1
MESA: info: stc.u32 c[2], r50.w, 1
MESA: info: stc.u32 c[3], r51.x, 1
MESA: info: stc.u32 c[4], r51.y, 1
MESA: info: stc.u32 c[5], r51.z, 1
MESA: info: stc.u32 c[6], r51.w, 1
MESA: info: stc.u32 c[7], r52.x, 1
MESA: info: jump #l170
MESA: info: l50:
MESA: info: nop
MESA: info: br !p0.y, #l54
MESA: info: mov.u16u16 hr48.x, 1
MESA: info: jump #l170
MESA: info: l54:
MESA: info: nop
MESA: info: br !p0.z, #l102
MESA: info: alias.tex.b16.7 hr40.x, h(0x3400)
MESA: info: alias.tex.b16.0 hr40.y, h(0x3800)
MESA: info: alias.tex.b16.0 hr40.z, h(0x0)
MESA: info: alias.tex.b16.0 hr40.w, h(0x0)
MESA: info: alias.tex.b16.0 hr41.x, h(0x0)
MESA: info: alias.tex.b16.0 hr41.y, h(0x0)
MESA: info: alias.tex.b16.0 hr41.z, h(0x0)
MESA: info: alias.tex.b16.0 hr41.w, h(0x0)
MESA: info: samgq.base2 (f32)(xyz)r3.y, hr40.x, s#7, t#6
MESA: info: alias.tex.b16.7 hr40.x, h(0x3a00)
MESA: info: alias.tex.b16.0 hr40.y, h(0x3800)
MESA: info: alias.tex.b16.0 hr40.z, h(0x0)
MESA: info: alias.tex.b16.0 hr40.w, h(0x0)
MESA: info: alias.tex.b16.0 hr41.x, h(0x0)
MESA: info: alias.tex.b16.0 hr41.y, h(0x0)
MESA: info: alias.tex.b16.0 hr41.z, h(0x0)
MESA: info: alias.tex.b16.0 hr41.w, h(0x0)
MESA: info: samgq.base2 (f32)(xyz)r4.x, hr40.x, s#7, t#6
MESA: info: mov.u16u16 hr48.x, 1
MESA: info: (sy)mov.u32u32 r53.x, (last)r3.y
MESA: info: mov.u32u32 r53.y, (last)r3.z
MESA: info: mov.u32u32 r53.z, (last)r3.w
MESA: info: mov.u32u32 r52.y, (last)r4.x
MESA: info: mov.u32u32 r52.z, (last)r4.y
MESA: info: mov.u32u32 r52.w, (last)r4.z
MESA: info: (ss)cmps.f.ge r52.y, r52.y, (0.5)
MESA: info: (rpt1)cmps.f.ge r52.z, (r)r52.z, (0.5)
MESA: info: sel.b32 r52.y, c48.x, r52.y, c48.y
MESA: info: sel.b32 r52.z, c48.x, r52.z, c48.y
MESA: info: sel.b32 r52.w, c48.x, r52.w, c48.y
MESA: info: mul.f r53.x, r53.x, r52.y
MESA: info: mul.f r53.w, r53.y, r52.z
MESA: info: mul.f r54.x, r53.z, r52.w
MESA: info: mul.f r54.w, r53.x, r53.x
MESA: info: mul.f r54.y, r53.w, r53.w
MESA: info: mul.f r54.z, r54.x, r54.x
MESA: info: add.f r54.z, r54.z, r54.y
MESA: info: add.f r54.w, r54.w, r54.z
MESA: info: (ss)rsq r54.w, r54.w
MESA: info: (ss)mul.f r53.x, r53.x, r54.w
MESA: info: (rpt1)mul.f r53.w, (r)r53.w, r54.w
MESA: info: (ss)nop
MESA: info: stc.u32 c[8], r53.x, 1
MESA: info: stc.u32 c[9], r53.w, 1
MESA: info: stc.u32 c[10], r54.x, 1
MESA: info: jump #l170
MESA: info: l102:
MESA: info: alias.tex.b16.7 hr40.x, h(0x3400)
MESA: info: alias.tex.b16.0 hr40.y, h(0x3800)
MESA: info: alias.tex.b16.0 hr40.z, h(0x0)
MESA: info: alias.tex.b16.0 hr40.w, h(0x0)
MESA: info: alias.tex.b16.0 hr41.x, h(0x0)
MESA: info: alias.tex.b16.0 hr41.y, h(0x0)
MESA: info: alias.tex.b16.0 hr41.z, h(0x0)
MESA: info: alias.tex.b16.0 hr41.w, h(0x0)
MESA: info: samgq.base2 (f32)(xyz)r4.w, hr40.x, s#7, t#6
MESA: info: alias.tex.b16.7 hr40.x, h(0x3a00)
MESA: info: alias.tex.b16.0 hr40.y, h(0x3800)
MESA: info: alias.tex.b16.0 hr40.z, h(0x0)
MESA: info: alias.tex.b16.0 hr40.w, h(0x0)
MESA: info: alias.tex.b16.0 hr41.x, h(0x0)
MESA: info: alias.tex.b16.0 hr41.y, h(0x0)
MESA: info: alias.tex.b16.0 hr41.z, h(0x0)
MESA: info: alias.tex.b16.0 hr41.w, h(0x0)
MESA: info: samgq.base2 (f32)(xyz)r5.z, hr40.x, s#7, t#6
MESA: info: (sy)mov.u32u32 r55.x, (last)r4.w
MESA: info: mov.u32u32 r55.y, (last)r5.x
MESA: info: mov.u32u32 r48.y, (last)r5.w
MESA: info: mov.u32u32 r48.z, (last)r6.x
MESA: info: mov.u32u32 r55.z, (last)r5.y
MESA: info: mov.u32u32 r55.w, (last)r5.z
MESA: info: (ss)cmps.f.ge hr50.z, r55.x, c48.w
MESA: info: cmps.f.ge hr49.z, r55.x, c48.z
MESA: info: cmps.f.ge hr51.z, r55.y, c48.z
MESA: info: cmps.f.ge hr51.w, r55.y, c48.w
MESA: info: cmps.f.ge hr48.y, r48.y, c48.z
MESA: info: cov.u16f32 r49.z, hr50.z
MESA: info: cov.u16f32 r49.x, hr49.z
MESA: info: cov.u16f32 r50.x, hr51.z
MESA: info: cov.u16f32 r50.y, hr51.w
MESA: info: add.f r49.z, (1.0), (neg)r49.z
MESA: info: cmps.f.ge hr50.z, r48.z, c48.z
MESA: info: cmps.f.ge hr53.x, r55.z, c48.z
MESA: info: cmps.f.ge hr53.y, r55.z, c48.w
MESA: info: cmps.f.ge hr54.z, r55.w, c48.z
MESA: info: cmps.f.ge hr54.w, r55.w, c48.w
MESA: info: cmps.f.ge hr48.z, r48.y, c48.w
MESA: info: add.f r50.y, (1.0), (neg)r50.y
MESA: info: cmps.f.ge hr49.x, r48.z, c48.w
MESA: info: cov.u16f32 r50.w, hr53.x
MESA: info: cov.u16f32 r51.x, hr53.y
MESA: info: cov.u16f32 r51.z, hr54.z
MESA: info: cov.u16f32 r51.w, hr54.w
MESA: info: add.f r51.x, (1.0), (neg)r51.x
MESA: info: add.f r51.w, (1.0), (neg)r51.w
MESA: info: (ss)nop
MESA: info: stc.u32 c[11], r49.x, 1
MESA: info: cov.u16f32 r48.w, hr48.y
MESA: info: cov.u16f32 r49.w, hr49.x
MESA: info: add.f r49.w, (1.0), (neg)r49.w
MESA: info: stc.u32 c[17], r49.z, 1
MESA: info: stc.u32 c[12], r50.x, 1
MESA: info: stc.u32 c[18], r50.y, 1
MESA: info: stc.u32 c[13], r50.w, 1
MESA: info: stc.u32 c[14], r51.z, 1
MESA: info: stc.u32 c[19], r51.x, 1
MESA: info: (ss)cov.u16f32 r49.x, hr48.z
MESA: info: cov.u16f32 r49.z, hr50.z
MESA: info: add.f r49.x, (1.0), (neg)r49.x
MESA: info: stc.u32 c[20], r51.w, 1
MESA: info: stc.u32 c[15], r48.w, 1
MESA: info: stc.u32 c[22], r49.w, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[16], r49.z, 1
MESA: info: stc.u32 c[21], r49.x, 1
MESA: info: l170:
MESA: info: cov.u16s32 r50.x, hr48.x
MESA: info: mova1 a1.x, 138
MESA: info: (ss)nop
MESA: info: ldc.u.offset3.1.imm.base1 r51.x, 0, 7
MESA: info: ldc.u.offset0.1.imm.base1 r51.y, 9, 7
MESA: info: ldc.u.offset2.1.imm.base1 r50.y, 17, 9
MESA: info: ldc.u.offset0.1.imm.base1 r50.w, 19, 9
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#5, t#4
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#7, t#6
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#9, t#8
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#3, t#2
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#11, t#10
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#13, t#12
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#15, t#14
MESA: info: stc.u32 c[23], r50.x, 1
MESA: info: (sy)(ss)rcp r51.x, r51.x
MESA: info: rcp r51.y, r51.y
MESA: info: add.f r50.y, (1.0), (neg)r50.y
MESA: info: add.f r50.w, (1.0), (neg)r50.w
MESA: info: mul.f r50.z, (0.5), r50.y
MESA: info: mul.f r51.z, (0.5), r50.w
MESA: info: (ss)(rpt1)mul.f r51.w, r51.x, (r)c48.w
MESA: info: stc.u32 c[30], r51.x, 1
MESA: info: stc.u32 c[33], r51.y, 1
MESA: info: stc.u32 c[24], r50.y, 1
MESA: info: stc.u32 c[26], r50.y, 1
MESA: info: stc.u32 c[27], r50.w, 1
MESA: info: stc.u32 c[29], r50.w, 1
MESA: info: stc.u32 c[25], r50.z, 1
MESA: info: stc.u32 c[28], r51.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[31], r51.w, 1
MESA: info: stc.u32 c[32], r52.x, 1
MESA: info: (rpt2)nop
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, t#16, a1.x
MESA: info: (ss)mova1 a1.x, 48
MESA: info: (rpt4)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 16, 9
MESA: info: (ss)mova1 a1.x, 64
MESA: info: (rpt4)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 9
MESA: info: (ss)mova1 a1.x, 80
MESA: info: (rpt4)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 6
MESA: info: (ss)mova1 a1.x, 96
MESA: info: (rpt4)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 16, 5
MESA: info: (ss)mova1 a1.x, 128
MESA: info: (rpt4)nop
MESA: info: ldc.12.k.imm.base1 c[a1.x], 0, 7
MESA: info: (ss)mova1 a1.x, 176
MESA: info: (rpt4)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 8
MESA: info: (sy)(ss)shpe
MESA: info: l225:
MESA: info: (jp)bary.f r6.z, 3, r0.x
MESA: info: bary.f r6.w, 4, r0.x
MESA: info: bary.f r6.y, 2, r0.x
MESA: info: (rpt2)bary.f r9.z, (r)20, (last)r0.w
MESA: info: bary.f r7.x, 6, r0.x
MESA: info: bary.f r7.z, 5, r0.x
MESA: info: bary.f r7.y, 7, r0.x
MESA: info: (rpt1)bary.f r7.w, (r)12, r0.x
MESA: info: bary.f r8.y, 9, r0.x
MESA: info: bary.f r8.w, 11, r0.x
MESA: info: bary.f r9.x, 8, r0.x
MESA: info: bary.f r8.z, 10, r0.x
MESA: info: bary.f r10.y, 1, r0.x
MESA: info: (rpt1)bary.f r10.z, (r)17, r0.x
MESA: info: bary.f r1.y, 19, r0.x
MESA: info: bary.f r1.z, 15, r0.x
MESA: info: bary.f r1.w, 16, r0.x
MESA: info: bary.f r1.x, 14, r0.x
MESA: info: bary.f (ei)r0.x, 0, (last)r0.x
MESA: info: cmps.s.ne hr48.z, c15.y, 0
MESA: info: mul.f r9.y, r6.z, r6.z
MESA: info: cmps.s.eq hr1.x, (last)hr1.x, h(0)
MESA: info: mad.f32 r9.y, r6.w, r6.w, (last)r9.y
MESA: info: cmps.s.eq p0.x, c12.w, 3
MESA: info: mad.f32 r9.y, r6.y, r6.y, (last)r9.y
MESA: info: sub.u hr1.x, h(1), (last)hr1.x
MESA: info: cmps.s.eq p0.y, c12.w, 4
MESA: info: cmps.s.eq p0.z, c12.w, 5
MESA: info: (ss)and.b r11.x, (last)hr1.x, hr48.z
MESA: info: cmps.s.eq p0.w, c12.w, 6
MESA: info: rsq r9.y, (last)r9.y
MESA: info: (ss)(rpt1)mul.f r11.y, (r)r6.y, r9.y
MESA: info: mul.f r9.y, r6.w, (last)r9.y
MESA: info: absneg.f r11.w, (neg)r11.y
MESA: info: absneg.f r0.z, (neg)r11.z
MESA: info: absneg.f r0.w, (neg)r9.y
MESA: info: sel.b32 r11.w, (last)r11.w, r11.x, (last)r11.y
MESA: info: sel.b32 r0.z, (last)r0.z, r11.x, (last)r11.z
MESA: info: sel.b32 r0.w, (last)r0.w, r11.x, (last)r9.y
MESA: info: br !p0.x, #l297
MESA: info: mul.f r2.y, r8.y, r8.y
MESA: info: mul.f r2.x, r7.x, r7.x
MESA: info: mad.f32 r2.y, r8.z, r8.z, (last)r2.y
MESA: info: mad.f32 r2.x, r7.y, r7.y, (last)r2.x
MESA: info: mad.f32 r2.y, r9.x, r9.x, (last)r2.y
MESA: info: mad.f32 r2.x, r7.z, r7.z, (last)r2.x
MESA: info: mul.f r2.z, c0.z, r9.z
MESA: info: mul.f r2.w, c1.z, r9.z
MESA: info: mad.f32 r2.z, c0.w, r9.w, (last)r2.z
MESA: info: mad.f32 r2.w, c1.w, r9.w, (last)r2.w
MESA: info: rsq r2.y, (last)r2.y
MESA: info: nop
MESA: info: rsq r2.x, (last)r2.x
MESA: info: (ss)mul.f r3.z, r8.y, r2.y
MESA: info: mul.f r3.w, r8.z, r2.y
MESA: info: mul.f r3.x, r7.x, r2.x
MESA: info: mul.f r3.y, r7.y, r2.x
MESA: info: mul.f r3.z, r7.w, (last)r3.z
MESA: info: mul.f r2.y, r9.x, (last)r2.y
MESA: info: mul.f r3.x, r7.w, (last)r3.x
MESA: info: mul.f r2.x, r7.z, (last)r2.x
MESA: info: mad.f32 r3.w, r8.x, r3.w, (last)r3.z
MESA: info: mad.f32 r3.y, r8.x, r3.y, (last)r3.x
MESA: info: mad.f32 r2.y, r8.w, r2.y, (last)r3.w
MESA: info: (nop1) mad.f32 r2.x, r8.w, r2.x, (last)r3.y
MESA: info: mad.f32 r2.z, c0.y, r2.y, (last)r2.z
MESA: info: mad.f32 r2.y, c1.y, r2.y, (last)r2.w
MESA: info: mad.f32 r2.z, c0.x, r2.x, (last)r2.z
MESA: info: (nop1) mad.f32 r2.x, c1.x, r2.x, (last)r2.y
MESA: info: mul.f r2.z, (last)r2.z, c13.x
MESA: info: mul.f r2.x, (last)r2.x, c13.y
MESA: info: jump #l363
MESA: info: l297:
MESA: info: br !p0.y, #l323
MESA: info: mul.f r4.x, r7.x, r7.x
MESA: info: mul.f r4.y, r8.y, r8.y
MESA: info: mad.f32 r4.x, r7.y, r7.y, (last)r4.x
MESA: info: mad.f32 r4.y, r8.z, r8.z, (last)r4.y
MESA: info: mad.f32 r4.x, r7.z, r7.z, (last)r4.x
MESA: info: (nop3) mad.f32 r4.y, r9.x, r9.x, (last)r4.y
MESA: info: nop
MESA: info: rsq r4.x, (last)r4.x
MESA: info: nop
MESA: info: rsq r4.y, (last)r4.y
MESA: info: (ss)mul.f r4.z, r7.x, r4.x
MESA: info: mul.f r5.x, r8.y, r4.y
MESA: info: mul.f r4.w, r7.y, r4.x
MESA: info: mul.f r5.y, r8.z, r4.y
MESA: info: mul.f r4.z, r7.w, (last)r4.z
MESA: info: mul.f r5.x, r7.w, (last)r5.x
MESA: info: mul.f r4.x, r7.z, (last)r4.x
MESA: info: mul.f r4.y, r9.x, (last)r4.y
MESA: info: mad.f32 r4.w, r8.x, r4.w, (last)r4.z
MESA: info: mad.f32 r5.y, r8.x, r5.y, (last)r5.x
MESA: info: mad.f32 r4.x, r8.w, r4.x, (last)r4.w
MESA: info: (nop1) mad.f32 r4.y, r8.w, r4.y, (last)r5.y
MESA: info: mul.f r2.z, (last)r4.x, c13.x
MESA: info: mul.f r2.x, (last)r4.y, c13.y
MESA: info: jump #l363
MESA: info: l323:
MESA: info: br !p0.z, #l345
MESA: info: mul.f r5.w, r11.w, c2.z
MESA: info: mul.f r6.x, r0.z, c2.x
MESA: info: mad.f32 r5.w, c2.x, r0.w, (neg)(last)r5.w
MESA: info: mul.f r5.z, r0.w, c2.y
MESA: info: mad.f32 r6.x, c2.y, r11.w, (neg)(last)r6.x
MESA: info: mul.f r9.y, r7.w, r5.w
MESA: info: mul.f r11.y, r0.w, r5.w
MESA: info: mad.f32 r5.z, c2.z, r0.z, (neg)(last)r5.z
MESA: info: mad.f32 r9.y, r8.x, r6.x, (last)r9.y
MESA: info: mad.f32 r11.y, r0.z, r6.x, (neg)(last)r11.y
MESA: info: mul.f r6.x, r11.w, (last)r6.x
MESA: info: mad.f32 r9.y, r8.w, r5.z, (last)r9.y
MESA: info: mad.f32 r6.x, r0.w, r5.z, (neg)(last)r6.x
MESA: info: mul.f r5.z, r0.z, (last)r5.z
MESA: info: mul.f r2.z, (last)r9.y, c13.x
MESA: info: mad.f32 r5.w, r11.w, r5.w, (neg)(last)r5.z
MESA: info: (nop1) mul.f r6.x, r7.w, (last)r6.x
MESA: info: (nop1) mad.f32 r5.w, r8.x, r5.w, (last)r6.x
MESA: info: (nop2) mad.f32 r11.y, r8.w, r11.y, (last)r5.w
MESA: info: mul.f r2.x, (last)r11.y, c13.y
MESA: info: jump #l363
MESA: info: l345:
MESA: info: br !p0.w, #l361
MESA: info: mul.f r11.z, c4.z, r9.w
MESA: info: mul.f r0.y, c5.y, r9.w
MESA: info: mad.f32 r11.z, c4.w, r10.x, (last)r11.z
MESA: info: mad.f32 r0.y, c5.z, r10.x, (last)r0.y
MESA: info: mad.f32 r11.z, c4.y, r9.z, (last)r11.z
MESA: info: mad.f32 r0.y, c5.x, r9.z, (last)r0.y
MESA: info: mad.f32 r11.z, c3.x, r7.w, (last)r11.z
MESA: info: mad.f32 r0.y, c3.w, r7.w, (last)r0.y
MESA: info: mad.f32 r11.z, c3.y, r8.x, (last)r11.z
MESA: info: mad.f32 r0.y, c4.x, r8.x, (last)r0.y
MESA: info: mad.f32 r11.z, c2.w, r8.w, (last)r11.z
MESA: info: (nop1) mad.f32 r0.y, c3.z, r8.w, (last)r0.y
MESA: info: mul.f r2.z, (last)r11.z, c13.x
MESA: info: mul.f r2.x, (last)r0.y, c13.y
MESA: info: jump #l363
MESA: info: l361:
MESA: info: mul.f r2.x, r9.w, c13.y
MESA: info: mul.f r2.z, r9.z, c13.x
MESA: info: l363:
MESA: info: mov.f32f32 r2.y, c5.w
MESA: info: (nop1) cmps.s.lt p0.x, c12.w, 3
MESA: info: sel.b32 r2.z, (last)r2.z, r2.y, (last)r9.z
MESA: info: (nop3) sel.b32 r2.x, (last)r2.x, r2.y, (last)r9.w
MESA: info: (rpt1)nop
MESA: info: alias.tex.b32.0 r2.w, r2.x
MESA: info: sam.base2 (f32)(xy)r2.w, r2.z, s#5, t#4
MESA: info: alias.tex.b32.0 r2.w, r2.x
MESA: info: sam.base2 (f32)(xyz)r3.y, r2.z, s#1, t#0
MESA: info: (sy)(rpt1)add.f r2.w, (last)(r)r2.w, c53.w
MESA: info: nop
MESA: info: (rpt1)mul.f r2.w, c53.z, (last)(r)r2.w
MESA: info: nop
MESA: info: mul.f r4.x, r2.w, r2.w
MESA: info: mul.f r2.w, c12.x, (last)r2.w
MESA: info: mad.f32 r4.x, r3.x, r3.x, (last)r4.x
MESA: info: (nop1) mul.f r3.x, c12.x, (last)r3.x
MESA: info: (sat)(nop1) add.f r4.x, (1.0), (last)(neg)r4.x
MESA: info: (nop1) mad.f32 r4.y, r3.x, r3.x, r4.x
MESA: info: (nop1) mad.f32 r4.y, r2.w, r2.w, (last)r4.y
MESA: info: sqrt r4.x, (last)r4.x
MESA: info: (rpt3)nop
MESA: info: rsq r4.y, (last)r4.y
MESA: info: (ss)mul.f r3.x, (last)r3.x, r4.y
MESA: info: mul.f r2.w, (last)r2.w, r4.y
MESA: info: mul.f r4.x, (last)r4.x, (last)r4.y
MESA: info: mul.f r9.x, (last)r9.x, r3.x
MESA: info: (rpt1)mul.f r8.y, (last)(r)r8.y, (last)r3.x
MESA: info: (rpt1)mad.f32 r7.x, (r)(last)r7.x, r2.w, (r)(last)r8.y
MESA: info: mad.f32 r4.w, (last)r6.z, r4.x, (last)r7.x
MESA: info: mad.f32 r7.z, (last)r7.z, r2.w, (last)r9.x
MESA: info: mad.f32 r6.w, (last)r6.w, r4.x, (last)r7.y
MESA: info: mul.f r5.x, r4.w, r4.w
MESA: info: mad.f32 r4.z, (last)r6.y, r4.x, (last)r7.z
MESA: info: (nop1) mad.f32 r5.x, r6.w, r6.w, (last)r5.x
MESA: info: (nop3) mad.f32 r5.x, r4.z, r4.z, (last)r5.x
MESA: info: (rpt1)nop
MESA: info: rsq r5.x, (last)r5.x
MESA: info: (ss)(rpt1)mul.f r4.z, (last)(r)r4.z, r5.x
MESA: info: mul.f r6.w, (last)r6.w, (last)r5.x
MESA: info: absneg.f r5.y, (neg)r4.z
MESA: info: absneg.f r5.z, (neg)r4.w
MESA: info: absneg.f r5.w, (neg)r6.w
MESA: info: sel.b32 r5.y, (last)r5.y, r11.x, (last)r4.z
MESA: info: sel.b32 r5.z, (last)r5.z, r11.x, (last)r4.w
MESA: info: sel.b32 r5.w, (last)r5.w, r11.x, (last)r6.w
MESA: info: br !p0.x, #l514
MESA: info: cmps.s.eq p0.x, c12.z, 0
MESA: info: cmps.s.eq p0.y, c12.z, 1
MESA: info: cmps.s.eq p0.z, c12.z, 2
MESA: info: (nop2) cmps.s.eq r6.x, c12.z, 3
MESA: info: br p0.x, #l514
MESA: info: cmps.s.ne p0.x, c12.w, 0
MESA: info: (nop3) cmps.s.ne p0.w, c12.w, 1
MESA: info: nop
MESA: info: br !p0.x, #l449
MESA: info: nop
MESA: info: br !p0.w, #l446
MESA: info: mul.f r6.y, c50.y, r0.w
MESA: info: mul.f r6.z, c50.y, r0.z
MESA: info: mad.f32 r6.y, c50.x, r11.w, (neg)(last)r6.y
MESA: info: (nop1) mul.f r6.w, c50.x, r0.z
MESA: info: (nop1) mul.f r7.x, r6.y, r6.y
MESA: info: (nop1) mad.f32 r7.x, r6.z, r6.z, (last)r7.x
MESA: info: (nop3) mad.f32 r7.x, r6.w, r6.w, (last)r7.x
MESA: info: (rpt1)nop
MESA: info: rsq r7.x, (last)r7.x
MESA: info: (ss)mul.f r6.y, (last)r6.y, r7.x
MESA: info: mul.f r6.z, (last)r6.z, r7.x
MESA: info: mul.f r6.w, (last)r6.w, (last)r7.x
MESA: info: mul.f r7.z, r7.w, r6.y
MESA: info: mul.f r7.y, r11.w, r6.z
MESA: info: mad.f32 r7.z, r8.x, r6.z, (last)r7.z
MESA: info: mad.f32 r7.y, (neg)r6.w, r0.w, (neg)(last)r7.y
MESA: info: mad.f32 r7.z, (neg)r6.w, r8.w, (last)r7.z
MESA: info: mul.f r6.w, (last)r6.w, r0.z
MESA: info: mul.f r7.y, r7.w, (last)r7.y
MESA: info: mad.f32 r6.w, r11.w, r6.y, (last)r6.w
MESA: info: (nop1) mul.f r6.y, r0.w, (last)r6.y
MESA: info: mad.f32 r6.z, r0.z, r6.z, (neg)(last)r6.y
MESA: info: (nop1) mad.f32 r6.w, r8.x, r6.w, (last)r7.y
MESA: info: mad.f32 r6.z, r8.w, r6.z, (last)r6.w
MESA: info: jump #l451
MESA: info: l446:
MESA: info: mov.u32u32 r6.z, r7.w
MESA: info: mov.u32u32 r7.z, r8.w
MESA: info: jump #l451
MESA: info: l449:
MESA: info: mov.u32u32 r6.z, r2.x
MESA: info: mov.u32u32 r7.z, r2.z
MESA: info: l451:
MESA: info: (rpt1)nop
MESA: info: mul.f r6.z, c13.y, (last)r6.z
MESA: info: (nop3) mul.f r7.z, c13.x, (last)r7.z
MESA: info: (rpt1)nop
MESA: info: alias.tex.b32.0 r7.w, r6.z
MESA: info: sam.base2 (f32)(xyzw)r9.x, r7.z, s#7, t#6
MESA: info: br !p0.y, #l465
MESA: info: (sy)mad.f32 r9.x, c13.z, r9.x, c6.x
MESA: info: mad.f32 r9.y, c13.z, r9.y, c6.x
MESA: info: mad.f32 r9.z, c13.z, r9.z, c6.x
MESA: info: mul.f r3.y, (last)r3.y, r9.x
MESA: info: mul.f r3.z, (last)r3.z, r9.y
MESA: info: mul.f r3.w, (last)r3.w, r9.z
MESA: info: jump #l514
MESA: info: l465:
MESA: info: br !p0.z, #l493
MESA: info: (nop1) mul.f r11.x, c51.x, r3.z
MESA: info: (nop1) mad.f32 r11.x, c50.w, r3.w, (last)r11.x
MESA: info: (nop2) mad.f32 r11.x, c50.z, r3.y, (last)r11.x
MESA: info: cmps.f.lt r11.x, (last)r11.x, (0.5)
MESA: info: (sy)(rpt2)mad.f32 r9.x, c13.z, (r)r9.x, c6.y
MESA: info: mul.f r11.y, (2.0), r9.x
MESA: info: mul.f r11.z, (2.0), r9.y
MESA: info: mul.f r0.y, (2.0), r9.z
MESA: info: add.f r9.x, (1.0), (last)(neg)r9.x
MESA: info: add.f r9.y, (1.0), (last)(neg)r9.y
MESA: info: add.f r9.z, (1.0), (last)(neg)r9.z
MESA: info: mul.f r11.y, (last)r11.y, r3.y
MESA: info: mul.f r11.z, (last)r11.z, r3.z
MESA: info: mul.f r0.y, (last)r0.y, r3.w
MESA: info: mul.f r9.x, (2.0), (last)r9.x
MESA: info: mul.f r9.y, (2.0), (last)r9.y
MESA: info: mul.f r9.z, (2.0), (last)r9.z
MESA: info: add.f r3.y, (1.0), (last)(neg)r3.y
MESA: info: add.f r3.z, (1.0), (last)(neg)r3.z
MESA: info: add.f r3.w, (1.0), (last)(neg)r3.w
MESA: info: mad.f32 r9.x, (neg)(last)r9.x, r3.y, c51.y
MESA: info: mad.f32 r9.y, (neg)(last)r9.y, r3.z, c51.y
MESA: info: mad.f32 r9.z, (neg)(last)r9.z, r3.w, c51.y
MESA: info: sel.b32 r3.y, (last)r11.y, r11.x, r9.x
MESA: info: sel.b32 r3.z, (last)r11.z, r11.x, r9.y
MESA: info: sel.b32 r3.w, (last)r0.y, r11.x, r9.z
MESA: info: jump #l514
MESA: info: l493:
MESA: info: (sy)mad.f32 r2.y, c13.z, r9.x, c6.z
MESA: info: mad.f32 r2.w, c13.z, r9.y, c6.z
MESA: info: mad.f32 r3.x, c13.z, r9.z, c6.z
MESA: info: add.f r2.y, (1.0), (last)(neg)r2.y
MESA: info: add.f r2.w, (1.0), (last)(neg)r2.w
MESA: info: add.f r3.x, (1.0), (last)(neg)r3.x
MESA: info: add.f r9.x, (last)r9.x, (neg)r3.y
MESA: info: add.f r9.y, (last)r9.y, (neg)r3.z
MESA: info: add.f r9.z, (last)r9.z, (neg)r3.w
MESA: info: absneg.f r2.y, (last)(neg)r2.y
MESA: info: absneg.f r2.w, (last)(neg)r2.w
MESA: info: absneg.f r3.x, (last)(neg)r3.x
MESA: info: mul.f r9.x, r9.w, (last)r9.x
MESA: info: mul.f r9.y, r9.w, (last)r9.y
MESA: info: mul.f r9.w, (last)r9.w, (last)r9.z
MESA: info: sel.b32 r2.y, (last)r2.y, r6.x, (last)r9.x
MESA: info: sel.b32 r2.w, (last)r2.w, r6.x, (last)r9.y
MESA: info: sel.b32 r3.x, (last)r3.x, r6.x, (last)r9.w
MESA: info: add.f r3.y, (last)r3.y, (last)r2.y
MESA: info: add.f r3.z, (last)r3.z, (last)r2.w
MESA: info: add.f r3.w, (last)r3.w, (last)r3.x
MESA: info: l514:
MESA: info: cmps.s.ne p0.x, c14.x, 0
MESA: info: cmps.s.ne p0.y, c14.y, 0
MESA: info: (nop3) cmps.s.ne p0.z, c14.y, 1
MESA: info: br !p0.x, #l617
MESA: info: nop
MESA: info: br !p0.y, #l550
MESA: info: nop
MESA: info: br !p0.z, #l547
MESA: info: mul.f r4.x, c50.y, r0.w
MESA: info: mul.f r4.y, c50.y, r0.z
MESA: info: mad.f32 r4.x, c50.x, r11.w, (neg)(last)r4.x
MESA: info: (nop1) mul.f r4.z, c50.x, r0.z
MESA: info: (nop1) mul.f r4.w, r4.x, r4.x
MESA: info: (nop1) mad.f32 r4.w, r4.y, r4.y, (last)r4.w
MESA: info: (nop3) mad.f32 r4.w, r4.z, r4.z, (last)r4.w
MESA: info: (rpt1)nop
MESA: info: rsq r4.w, (last)r4.w
MESA: info: (ss)mul.f r4.x, (last)r4.x, r4.w
MESA: info: mul.f r4.y, (last)r4.y, r4.w
MESA: info: mul.f r4.z, (last)r4.z, (last)r4.w
MESA: info: mul.f r6.x, r7.w, r4.x
MESA: info: mul.f r5.x, r11.w, r4.y
MESA: info: mad.f32 r6.x, r8.x, r4.y, (last)r6.x
MESA: info: mad.f32 r5.x, (neg)r4.z, r0.w, (neg)(last)r5.x
MESA: info: mad.f32 r6.x, (neg)r4.z, r8.w, (last)r6.x
MESA: info: mul.f r4.z, (last)r4.z, r0.z
MESA: info: mul.f r0.w, (last)r0.w, r4.x
MESA: info: mad.f32 r11.w, (last)r11.w, r4.x, (last)r4.z
MESA: info: mul.f r5.x, r7.w, (last)r5.x
MESA: info: mad.f32 r0.z, (last)r0.z, r4.y, (neg)(last)r0.w
MESA: info: (nop1) mad.f32 r11.w, r8.x, r11.w, (last)r5.x
MESA: info: mad.f32 r0.z, r8.w, r0.z, (last)r11.w
MESA: info: jump #l552
MESA: info: l547:
MESA: info: mov.u32u32 r0.z, r7.w
MESA: info: mov.u32u32 r6.x, r8.w
MESA: info: jump #l552
MESA: info: l550:
MESA: info: mov.u32u32 r0.z, r2.x
MESA: info: mov.u32u32 r6.x, r2.z
MESA: info: l552:
MESA: info: cmps.s.eq p0.x, c14.x, 1
MESA: info: cmps.s.eq p0.y, c14.x, 2
MESA: info: mul.f r0.z, c14.w, (last)r0.z
MESA: info: mul.f r6.x, c14.z, (last)r6.x
MESA: info: (nop3) cmps.s.eq r6.y, c14.x, 3
MESA: info: nop
MESA: info: alias.tex.b32.0 r6.y, r0.z
MESA: info: sam.base2 (f32)(xyzw)r6.z, r6.x, s#9, t#8
MESA: info: br !p0.x, #l568
MESA: info: (sy)mad.f32 r6.z, c15.x, r6.z, c6.w
MESA: info: mad.f32 r6.w, c15.x, r6.w, c6.w
MESA: info: mad.f32 r7.x, c15.x, r7.x, c6.w
MESA: info: mul.f r3.y, (last)r3.y, r6.z
MESA: info: mul.f r3.z, (last)r3.z, r6.w
MESA: info: mul.f r3.w, (last)r3.w, r7.x
MESA: info: jump #l617
MESA: info: l568:
MESA: info: br !p0.y, #l596
MESA: info: (nop1) mul.f r7.z, c51.x, r3.z
MESA: info: (nop1) mad.f32 r7.z, c50.w, r3.w, (last)r7.z
MESA: info: (nop2) mad.f32 r7.z, c50.z, r3.y, (last)r7.z
MESA: info: cmps.f.lt r7.z, (last)r7.z, (0.5)
MESA: info: (sy)(rpt2)mad.f32 r6.z, c15.x, (r)r6.z, c7.x
MESA: info: mul.f r8.y, (2.0), r6.z
MESA: info: mul.f r8.z, (2.0), r6.w
MESA: info: mul.f r9.x, (2.0), r7.x
MESA: info: add.f r6.z, (1.0), (last)(neg)r6.z
MESA: info: add.f r6.w, (1.0), (last)(neg)r6.w
MESA: info: add.f r7.x, (1.0), (last)(neg)r7.x
MESA: info: mul.f r8.y, (last)r8.y, r3.y
MESA: info: mul.f r8.z, (last)r8.z, r3.z
MESA: info: mul.f r9.x, (last)r9.x, r3.w
MESA: info: mul.f r6.z, (2.0), (last)r6.z
MESA: info: mul.f r6.w, (2.0), (last)r6.w
MESA: info: mul.f r7.x, (2.0), (last)r7.x
MESA: info: add.f r3.y, (1.0), (last)(neg)r3.y
MESA: info: add.f r3.z, (1.0), (last)(neg)r3.z
MESA: info: add.f r3.w, (1.0), (last)(neg)r3.w
MESA: info: mad.f32 r6.z, (neg)(last)r6.z, r3.y, c51.y
MESA: info: mad.f32 r6.w, (neg)(last)r6.w, r3.z, c51.y
MESA: info: mad.f32 r7.x, (neg)(last)r7.x, r3.w, c51.y
MESA: info: sel.b32 r3.y, (last)r8.y, r7.z, r6.z
MESA: info: sel.b32 r3.z, (last)r8.z, r7.z, r6.w
MESA: info: sel.b32 r3.w, (last)r9.x, r7.z, r7.x
MESA: info: jump #l617
MESA: info: l596:
MESA: info: (sy)mad.f32 r9.y, c15.x, r6.z, c7.y
MESA: info: mad.f32 r9.z, c15.x, r6.w, c7.y
MESA: info: mad.f32 r9.w, c15.x, r7.x, c7.y
MESA: info: add.f r9.y, (1.0), (last)(neg)r9.y
MESA: info: add.f r9.z, (1.0), (last)(neg)r9.z
MESA: info: add.f r9.w, (1.0), (last)(neg)r9.w
MESA: info: add.f r6.z, (last)r6.z, (neg)r3.y
MESA: info: add.f r6.w, (last)r6.w, (neg)r3.z
MESA: info: add.f r7.x, (last)r7.x, (neg)r3.w
MESA: info: absneg.f r9.y, (last)(neg)r9.y
MESA: info: absneg.f r9.z, (last)(neg)r9.z
MESA: info: absneg.f r9.w, (last)(neg)r9.w
MESA: info: mul.f r6.z, r7.y, (last)r6.z
MESA: info: mul.f r6.w, r7.y, (last)r6.w
MESA: info: mul.f r7.y, (last)r7.y, (last)r7.x
MESA: info: sel.b32 r9.y, (last)r9.y, r6.y, (last)r6.z
MESA: info: sel.b32 r9.z, (last)r9.z, r6.y, (last)r6.w
MESA: info: sel.b32 r9.w, (last)r9.w, r6.y, (last)r7.y
MESA: info: add.f r3.y, (last)r3.y, (last)r9.y
MESA: info: add.f r3.z, (last)r3.z, (last)r9.z
MESA: info: add.f r3.w, (last)r3.w, (last)r9.w
MESA: info: l617:
MESA: info: alias.tex.b32.0 r2.w, r2.x
MESA: info: sam.base2 (f32)(xyz)r0.y, r2.z, s#3, t#2
MESA: info: mul.f r11.x, (last)r3.y, c16.x
MESA: info: mad.f32 r3.y, c21.w, r7.w, c23.w
MESA: info: (ss)mad.f32 r2.x, c21.x, r7.w, c23.x
MESA: info: mad.f32 r3.y, c20.w, r8.w, (last)r3.y
MESA: info: mad.f32 r2.w, c21.y, r7.w, c23.y
MESA: info: mad.f32 r3.y, c22.w, r8.x, (last)r3.y
MESA: info: mad.f32 r2.x, c20.x, r8.w, (last)r2.x
MESA: info: mad.f32 r2.w, c20.y, r8.w, (last)r2.w
MESA: info: mad.f32 r2.y, c22.x, r8.x, (last)r2.x
MESA: info: mad.f32 r2.z, c22.y, r8.x, (last)r2.w
MESA: info: mul.f r11.z, (last)r3.w, c16.z
MESA: info: rcp r3.y, (last)r3.y
MESA: info: mul.f r11.y, (last)r3.z, c16.y
MESA: info: (nop1) mad.f32 r3.x, c21.z, r7.w, c23.z
MESA: info: (nop1) mad.f32 r3.x, c20.z, r8.w, (last)r3.x
MESA: info: mad.f32 r3.x, c22.z, r8.x, (last)r3.x
MESA: info: (ss)(rpt1)mul.f r2.y, (last)(r)r2.y, (last)r3.y
MESA: info: (rpt1)nop
MESA: info: min.f r3.z, r2.z, r2.y
MESA: info: (nop1) max.f r3.w, r2.z, r2.y
MESA: info: cmps.f.lt p0.x, (last)r3.z, c49.y
MESA: info: cmps.f.lt p0.y, (1.0), (last)r3.w
MESA: info: (sy)(nop3) min.f r10.y, (last)r10.y, (last)r0.w
MESA: info: nop
MESA: info: brao p0.x, p0.y, #l651
MESA: info: (rpt1)mad.f32 r2.y, c48.x, (r)r2.y, c48.x
MESA: info: (nop3) mad.f32 r3.x, c48.x, r3.x, c48.x
MESA: info: (rpt1)nop
MESA: info: alias.tex.b32.0 r2.w, r3.x
MESA: info: sam.s.base2 (f32)(x)r4.x, r2.y, s#11, t#10
MESA: info: (eq)nop
MESA: info: jump #l653
MESA: info: l651:
MESA: info: (eq)(jp)nop
MESA: info: mov.u32u32 r4.x, 0x3f800000
MESA: info: l653:
MESA: info: (jp)(rpt2)log2 r11.x, (last)(r)r11.x
MESA: info: add.f r7.w, (last)r7.w, (neg)c31.y
MESA: info: add.f r8.x, (last)r8.x, (neg)c31.z
MESA: info: add.f r8.w, (last)r8.w, (neg)c31.x
MESA: info: mul.f r6.y, r5.z, r7.w
MESA: info: mad.f32 r7.z, c38.x, r5.z, c40.x
MESA: info: mad.f32 r6.y, r5.w, r8.x, (last)r6.y
MESA: info: mad.f32 r8.y, c38.y, r5.z, c40.y
MESA: info: mad.f32 r6.y, r5.y, r8.w, (last)r6.y
MESA: info: mad.f32 r8.z, c38.z, r5.z, c40.z
MESA: info: mad.f32 r7.z, c37.x, r5.y, (last)r7.z
MESA: info: mul.f r6.y, (last)r6.y, (2.0)
MESA: info: (ss)(rpt2)mul.f r11.x, (last)(r)r11.x, c51.z
MESA: info: mad.f32 r6.w, (neg)r6.y, r5.z, r7.w
MESA: info: mad.f32 r7.x, (neg)r6.y, r5.w, r8.x
MESA: info: mad.f32 r6.y, (neg)(last)r6.y, r5.y, r8.w
MESA: info: (rpt2)exp2 r11.x, (last)(r)r11.x
MESA: info: mul.f r7.y, r6.w, r6.w
MESA: info: mad.f32 r8.y, c37.y, r5.y, (last)r8.y
MESA: info: mad.f32 r7.y, r7.x, r7.x, (last)r7.y
MESA: info: mad.f32 r8.z, c37.z, r5.y, (last)r8.z
MESA: info: mad.f32 r7.y, r6.y, r6.y, (last)r7.y
MESA: info: mad.f32 r7.z, c39.x, r5.w, (last)r7.z
MESA: info: mad.f32 r8.y, c39.y, r5.w, (last)r8.y
MESA: info: mad.f32 r8.z, c39.z, r5.w, (last)r8.z
MESA: info: add.f r4.z, r0.z, c52.z
MESA: info: add.f r4.y, (2.0), (neg)r0.y
MESA: info: rsq r7.y, (last)r7.y
MESA: info: cmps.f.ge r4.w, c52.x, r0.z
MESA: info: mul.f r0.z, c51.w, (last)r0.z
MESA: info: mad.f32 r4.z, c52.y, r4.z, c52.w
MESA: info: alias.tex.b32.1 r8.x, r7.z
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r9.x, r8.x, r40.x, s#13, t#12
MESA: info: alias.tex.b32.1 r8.x, r7.z
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r2.x, r8.x, r40.x, s#15, t#14
MESA: info: mul.f r0.y, (last)r0.y, (last)r4.y
MESA: info: sel.b32 r0.z, (last)r0.z, r4.w, (last)r4.z
MESA: info: cmps.f.lt p0.x, (1.0), c41.x
MESA: info: add.f r5.x, (1.0), (neg)r0.y
MESA: info: mad.f32 r6.x, c53.y, r0.z, c53.x
MESA: info: (ss)mul.f r6.w, (last)r6.w, r7.y
MESA: info: mul.f r7.x, (last)r7.x, r7.y
MESA: info: mul.f r6.y, (last)r6.y, (last)r7.y
MESA: info: mul.f r8.y, r5.z, r6.w
MESA: info: mul.f r2.w, r11.x, r0.y
MESA: info: mad.f32 r8.y, r5.w, r7.x, (last)r8.y
MESA: info: (sat)mad.f32 r3.x, r6.x, r5.x, r2.w
MESA: info: mad.f32 r8.y, r5.y, r6.y, (last)r8.y
MESA: info: add.f r6.z, (1.0), (neg)r0.z
MESA: info: add.f r4.w, r0.z, (neg)r3.x
MESA: info: (sat)add.f r8.y, (1.0), (last)(absneg)r8.y
MESA: info: (rpt1)mul.f r4.y, (r)r11.y, (last)r0.y
MESA: info: mul.f r9.w, r8.y, r8.y
MESA: info: mad.f32 r8.z, c38.x, r6.w, c40.x
MESA: info: mad.f32 r0.w, c38.y, r6.w, c40.y
MESA: info: mul.f r9.w, (last)r9.w, r9.w
MESA: info: (sat)add.f r11.x, (last)r11.x, (last)(neg)r2.w
MESA: info: mad.f32 r2.w, c38.z, r6.w, c40.z
MESA: info: (sat)add.f r11.y, (last)r11.y, (neg)r4.y
MESA: info: (sat)(rpt1)mad.f32 r3.y, (last)r6.x, r5.x, (r)r4.y
MESA: info: mad.f32 r8.z, c37.x, r6.y, (last)r8.z
MESA: info: mad.f32 r0.w, c37.y, r6.y, (last)r0.w
MESA: info: mul.f r9.w, (last)r9.w, (last)r8.y
MESA: info: mad.f32 r2.w, c37.z, r6.y, (last)r2.w
MESA: info: max.f r4.y, (last)r4.w, (0.0)
MESA: info: mul.f r6.z, c54.w, (last)r6.z
MESA: info: (rpt1)add.f r7.y, (last)r0.z, (neg)(r)r3.y
MESA: info: mad.f32 r8.z, c39.x, r7.x, (last)r8.z
MESA: info: mad.f32 r0.w, c39.y, r7.x, (last)r0.w
MESA: info: mad.f32 r2.w, c39.z, r7.x, (last)r2.w
MESA: info: (sat)add.f r11.z, (last)r11.z, (last)(neg)r4.z
MESA: info: (rpt1)max.f r4.z, (last)(r)r7.y, (0.0)
MESA: info: (rpt2)mad.f32 r4.y, (r)(last)r4.y, r9.w, (r)(last)r3.x
MESA: info: alias.tex.b32.1 r8.w, r0.w
MESA: info: alias.tex.b32.0 r9.x, r2.w
MESA: info: saml.3d.base2 (f32)(xyz)r3.x, r8.z, r6.z, s#13, t#12
MESA: info: add.f r11.w, (1.0), (neg)r4.y
MESA: info: add.f r0.y, (1.0), (neg)r4.z
MESA: info: add.f r0.z, (1.0), (neg)r4.w
MESA: info: mul.f r11.x, (last)r11.x, r11.w
MESA: info: mul.f r11.y, (last)r11.y, (last)r0.y
MESA: info: mul.f r11.z, (last)r11.z, (last)r0.z
MESA: info: (ss)nop
MESA: info: alias.tex.b32.1 r8.w, r0.w
MESA: info: alias.tex.b32.0 r9.x, r2.w
MESA: info: saml.3d.base2 (f32)(xyz)r0.y, r8.z, r6.z, s#15, t#14
MESA: info: br !p0.x, #l767
MESA: info: mov.u32u32 r48.z, c7.z
MESA: info: mul.f r48.z, c54.z, r48.z
MESA: info: (nop1) mul.f r6.w, (last)r6.w, c32.y
MESA: info: (nop1) mad.f32 r7.x, c32.z, r7.x, (last)r6.w
MESA: info: (nop2) mad.f32 r6.y, c32.x, r6.y, (last)r7.x
MESA: info: max.f r6.y, (last)r6.y, (0.0)
MESA: info: (sy)max.f r2.x, r5.w, (0.0)
MESA: info: mul.f r2.y, r5.z, c32.y
MESA: info: (ss)mov.u32u32 r3.y, r48.z
MESA: info: mad.f32 r2.y, c32.z, r5.w, (last)r2.y
MESA: info: add.f r2.x, (1.0), (last)r2.x
MESA: info: mad.f32 r2.y, c32.x, r5.y, (last)r2.y
MESA: info: mul.f r0.z, c7.z, (last)r6.y
MESA: info: mul.f r9.y, c7.w, (last)r2.x
MESA: info: max.f r2.y, (last)r2.y, (0.0)
MESA: info: mov.u32u32 r3.z, r3.y
MESA: info: mov.u32u32 r3.x, r3.y
MESA: info: add.f r2.y, r9.y, (last)r2.y
MESA: info: mov.u32u32 r0.w, r0.z
MESA: info: mov.u32u32 r0.y, r0.z
MESA: info: mul.f r2.y, c8.x, (last)r2.y
MESA: info: mov.u32u32 r9.z, r9.y
MESA: info: mov.u32u32 r9.x, r9.y
MESA: info: mov.u32u32 r2.z, r2.y
MESA: info: mov.u32u32 r2.x, r2.y
MESA: info: l767:
MESA: info: mul.f r8.y, r7.w, r7.w
MESA: info: mad.f32 r6.w, c54.y, r10.y, c54.x
MESA: info: mad.f32 r8.y, r8.x, r8.x, (last)r8.y
MESA: info: mul.f r10.y, c41.x, (last)r10.y
MESA: info: mad.f32 r8.y, r8.w, r8.w, (last)r8.y
MESA: info: mul.f r6.w, c8.y, (last)r6.w
MESA: info: mul.f r10.z, c45.x, (last)r10.z
MESA: info: mova1 a1.x, 138
MESA: info: mul.f r10.w, c45.y, (last)r10.w
MESA: info: mul.f r1.y, c45.z, (last)r1.y
MESA: info: rsq r8.y, (last)r8.y
MESA: info: add.f r10.x, (1.0), (last)(neg)r10.x
MESA: info: (nop1) mul.f r9.w, c25.x, r5.z
MESA: info: mad.f32 r3.w, (neg)(last)r11.w, r10.x, c51.y
MESA: info: (sy)mul.f r7.x, c41.x, r3.x
MESA: info: add.f r6.x, (last)r2.x, (neg)r9.x
MESA: info: mad.f32 r0.y, c8.y, r0.y, (neg)(last)r7.x
MESA: info: mul.f r6.w, (last)r6.w, r4.x
MESA: info: (rpt1)add.f r6.y, (last)(r)r2.y, (neg)(r)r9.y
MESA: info: mul.f r0.y, r4.x, (last)r0.y
MESA: info: mul.f r7.y, c41.x, r3.y
MESA: info: mad.f32 r3.x, c41.x, r3.x, (last)r0.y
MESA: info: mul.f r7.z, c41.x, r3.z
MESA: info: (rpt2)mul.f r6.x, (last)r6.w, (last)(r)r6.x
MESA: info: mul.f r4.y, (last)r4.y, (last)r3.x
MESA: info: (rpt2)mad.f32 r9.x, (last)r10.y, (r)r9.x, (r)(last)r6.x
MESA: info: mad.f32 r11.x, (last)r11.x, r9.x, (last)r4.y
MESA: info: mad.f32 r0.z, c8.y, r0.z, (neg)(last)r7.y
MESA: info: mad.f32 r0.w, c8.y, r0.w, (neg)(last)r7.z
MESA: info: (ss)mul.f r7.w, (last)r7.w, r8.y
MESA: info: mul.f r11.x, c32.w, (last)r11.x
MESA: info: mul.f r8.w, (last)r8.w, r8.y
MESA: info: mul.f r0.z, r4.x, (last)r0.z
MESA: info: mul.f r4.x, (last)r4.x, (last)r0.w
MESA: info: mul.f r8.x, (last)r8.x, (last)r8.y
MESA: info: mad.f32 r9.x, (last)r11.x, r1.x, (last)r10.z
MESA: info: mad.f32 r3.y, c41.x, r3.y, (last)r0.z
MESA: info: mad.f32 r3.z, c41.x, r3.z, (last)r4.x
MESA: info: mad.f32 r11.x, c38.x, r7.w, c40.x
MESA: info: mul.f r4.z, (last)r4.z, (last)r3.y
MESA: info: mad.f32 r11.x, c37.x, r8.w, (last)r11.x
MESA: info: (rpt1)mad.f32 r0.y, (r)c38.y, r7.w, (r)c40.y
MESA: info: mul.f r4.w, (last)r4.w, (last)r3.z
MESA: info: mad.f32 r11.x, c39.x, r8.x, (last)r11.x
MESA: info: (rpt1)mad.f32 r0.y, (r)c37.y, r8.w, (r)(last)r0.y
MESA: info: (rpt1)mad.f32 r0.y, (r)c39.y, r8.x, (r)(last)r0.y
MESA: info: mad.f32 r11.y, (last)r11.y, r9.y, (last)r4.z
MESA: info: mad.f32 r11.z, (last)r11.z, r9.z, (last)r4.w
MESA: info: add.f r9.z, r0.x, c49.z
MESA: info: mul.f r11.y, c32.w, (last)r11.y
MESA: info: mul.f r11.z, c32.w, (last)r11.z
MESA: info: (sat)mul.f r9.z, (last)r9.z, c49.w
MESA: info: mad.f32 r9.y, (last)r11.y, r1.z, (last)r10.w
MESA: info: mad.f32 r11.z, (last)r11.z, r1.w, (last)r1.y
MESA: info: alias.tex.b32.1 r0.x, r11.x
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r1.w, r0.x, r40.x, t#16, a1.x
MESA: info: alias.tex.b32.1 r0.x, r11.x
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: saml.3d.base2 (f32)(xyz)r1.x, r0.x, r40.x, t#16, a1.x
MESA: info: mad.f32 r10.y, c24.x, r5.y, (last)r9.w
MESA: info: mul.f r0.w, c25.y, r5.z
MESA: info: mul.f r5.z, c25.z, (last)r5.z
MESA: info: mov.u32u32 r4.w, 0x3f800000
MESA: info: mad.f32 r10.z, c24.y, r5.y, (last)r0.w
MESA: info: mad.f32 r10.w, c24.z, r5.y, (last)r5.z
MESA: info: (rpt2)mad.f32 r4.x, (r)c26.x, r5.w, (r)(last)r10.y
MESA: info: (sy)add.f r1.x, (last)r1.x, (neg)r1.w
MESA: info: add.f r1.y, (last)r1.y, (neg)r2.x
MESA: info: add.f r1.z, (last)r1.z, (neg)r2.y
MESA: info: mad.f32 r2.z, r9.z, r1.x, (last)r1.w
MESA: info: mad.f32 r2.w, r9.z, r1.y, (last)r2.x
MESA: info: mad.f32 r9.z, (last)r9.z, r1.z, (last)r2.y
MESA: info: (rpt1)mad.f32 r2.z, c32.w, (r)r2.z, (neg)(r)r9.x
MESA: info: mad.f32 r9.z, c32.w, r9.z, (neg)r11.z
MESA: info: (rpt1)mad.f32 r3.x, r0.x, (r)r2.z, (r)(last)r9.x
MESA: info: mad.f32 r3.z, (last)r0.x, r9.z, (last)r11.z
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r3.x (FRAG_RESULT_DATA0) r4.x (FRAG_RESULT_DATA1)
MESA: info: ; FRAG: inputs: r0.x (VARYING_SLOT_VAR0 slot=32 cm=f,il=0,b=1) r6.w (VARYING_SLOT_VAR1 slot=33 cm=f,il=4,b=1) r9.x (VARYING_SLOT_VAR2 slot=34 cm=f,il=8,b=1) r7.w (VARYING_SLOT_VAR3 slot=35 cm=f,il=12,b=1) r1.w (VARYING_SLOT_VAR4 slot=36 cm=f,il=16,b=1) r9.z (VARYING_SLOT_VAR5 slot=37 cm=7,il=20,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0) r1.x (SYSTEM_VALUE_FRONT_FACE slot=23 cm=1,il=0,b=0) r0.w (SYSTEM_VALUE_BARYCENTRIC_PERSP_CENTROID slot=58 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 109/1: 745 instr, 108 nops, 637 non-nops, 22 mov, 0 cov, 1698 dwords
MESA: info: ; FRAG prog 109/1: 22 last-baryf, 522 last-helper, 0 half, 12 full, 56 constlen
MESA: info: ; FRAG prog 109/1: 139 cat0, 22 cat1, 314 cat2, 221 cat3, 19 cat4, 12 cat5, 0 cat6, 18 cat7
MESA: info: ; FRAG prog 109/1: 74 sstall, 15 (ss), 335 systall, 11 (sy), 0 loops
MESA: info: ; FRAG prog 109/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 268 preamble-instr, 0 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; pos (ij_centroid): r0.w
MESA: info: ; data0: r3.x
MESA: info: ; data1: r4.x
MESA: info: ; fragface: r1.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xaa4fcd1e, 0xb539c742, 0x4bdca722, 0x9e7beb4b, 0xfbb42398, 0x0038c1ff, 0xd381b376, 0x43396ce5}
MESA: info: inputs_read: 15-23
MESA: info: outputs_written: 0,32-36
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 9
MESA: info: outputs: 6
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VERT_ATTRIB_GENERIC2.xyzw, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #3 (VERT_ATTRIB_GENERIC3.xyzw, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #4 (VERT_ATTRIB_GENERIC4.xyz, 4, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #5 (VERT_ATTRIB_GENERIC5.xyz, 5, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #6 (VERT_ATTRIB_GENERIC6.xyzw, 6, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #7 (VERT_ATTRIB_GENERIC7.xyz, 7, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #8 (VERT_ATTRIB_GENERIC8.xy, 8, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #9 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #10 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #11 (VARYING_SLOT_VAR1.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #12 (VARYING_SLOT_VAR2.xyzw, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #13 (VARYING_SLOT_VAR3.xyzw, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none float #14 (VARYING_SLOT_VAR4.x, 5, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #15
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %5 = @bindless_resource_ir3 (%3 (0x2)) (desc_set=1)
MESA: info:             con 32    %462 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32    %491 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32x2  %464 = @load_ubo_vec4 (%5, %491 (0x10)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %8 = @bindless_resource_ir3 (%2 (0.000000)) (desc_set=1)
MESA: info:             con 32    %492 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %467 = @load_ubo_vec4 (%8, %492 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32x2  %604 = fmul %464, %467.xx
MESA: info:             con 32x2  %605 = fabs %604.yx
MESA: info:             con 32     %14 = fneg %605.y
MESA: info:             con 1      %15 = feq! %605.x, %14
MESA: info:             con 32     %16 = b2i32 %15
MESA: info:                              @store_const_ir3 (%16) (base=0)
MESA: info:             con 32     %17 = fneg %604.x
MESA: info:                              @store_const_ir3 (%17) (base=1)
MESA: info:             con 32    %603 = fsub %604.y, %604.x
MESA: info:             con 32     %19 = frcp %603
MESA: info:                              @store_const_ir3 (%19) (base=2)
MESA: info:             con 32     %20 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %21 = frcp %467
MESA: info:             con 32x2  %470 = @load_ubo_vec4 (%5, %2 (0.000000)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %24 = fmul %470.x, %467
MESA: info:                              @store_const_ir3 (%24) (base=3)
MESA: info:             con 32     %25 = fmul %470.y, %21
MESA: info:                              @store_const_ir3 (%25) (base=4)
MESA: info:             con 32     %26 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32     %30 = @bindless_resource_ir3 (%462 (0x4)) (desc_set=1)
MESA: info:             con 32x2  %473 = @load_ubo_vec4 (%30, %2 (0.000000)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %494 = load_const (0x00000019 = 0.000000 = 25)
MESA: info:             con 32    %476 = @load_ubo_vec4 (%8, %494 (0x19)) (access=speculatable, base=0, component=1)
MESA: info:             con 32x2  %606 = fmul %473, %476.xx
MESA: info:             con 32     %36 = fneg %606.x
MESA: info:                              @store_const_ir3 (%36) (base=5)
MESA: info:             con 32     %37 = frcp %606.y
MESA: info:                              @store_const_ir3 (%37) (base=6)
MESA: info:             con 32    %479 = @load_ubo_vec4 (%30, %462 (0x4)) (access=speculatable, base=0, component=1)
MESA: info:             con 1      %40 = fge! %2 (0.000000), %479
MESA: info:             con 1      %41 = inot %40
MESA: info:             con 32     %42 = b2i32 %41
MESA: info:                              @store_const_ir3 (%42) (base=7)
MESA: info:             con 32     %43 = frcp %479
MESA: info:                              @store_const_ir3 (%43) (base=8)
MESA: info:             con 32    %482 = @load_ubo_vec4 (%30, %3 (0x2)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %45 = frcp %482
MESA: info:                              @store_const_ir3 (%45) (base=9)
MESA: info:             con 32    %497 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32    %485 = @load_ubo_vec4 (%30, %497 (0x3)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %47 = frcp %485
MESA: info:                              @store_const_ir3 (%47) (base=10)
MESA: info:             con 32    %488 = @load_ubo_vec4 (%30, %462 (0x4)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %601 = fneg %488
MESA: info:             con 32    %602 = ffma %601, %488, %20 (1.000000)
MESA: info:             con 32x2  %607 = load_const (0x40000000, 0x3f800000) = (2.000000, 1.000000)
MESA: info:             con 32x2  %608 = ffma %488.xx, %488.xx, %607 (2.000000, 1.000000)
MESA: info:             con 32    %609 = mov %608.y
MESA: info:                              @store_const_ir3 (%609) (base=11)
MESA: info:             con 32     %55 = frcp %608.x
MESA: info:             con 32     %56 = load_const (0x3ef47d19 = 0.477517)
MESA: info:             con 32     %57 = fmul %602, %56 (0.477517)
MESA: info:             con 32     %58 = fmul %57, %55
MESA: info:                              @store_const_ir3 (%58) (base=12)
MESA: info:             con 32     %59 = fmul %26 (2.000000), %488
MESA: info:                              @store_const_ir3 (%59) (base=13)
MESA: info:             con 32     %62 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %62 (0x14)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %2 (0.000000)) (base=32, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%30, %2 (0.000000)) (base=48, range=8)
MESA: info:             con 32     %69 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %70 = @bindless_resource_ir3 (%69 (0x1)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%70, %2 (0.000000)) (base=80, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %72 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x4   %73 = @load_input (%72 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x4   %74 = @load_input (%72 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x4   %75 = @load_input (%72 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x4   %76 = @load_input (%72 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32x3   %77 = @load_input (%72 (0x0)) (base=4, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC4 slots=1)
MESA: info:     div 32x3   %78 = @load_input (%72 (0x0)) (base=5, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC5 slots=1)
MESA: info:     div 32x4   %79 = @load_input (%72 (0x0)) (base=6, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC6 slots=1)
MESA: info:     div 32x3   %80 = @load_input (%72 (0x0)) (base=7, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC7 slots=1)
MESA: info:     div 32x2   %81 = @load_input (%72 (0x0)) (base=8, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC8 slots=1)
MESA: info:     con 32x3   %88 = @load_const_ir3 (%72 (0x0)) (base=28)
MESA: info:     div 32x3  %611 = fmax %88, %77
MESA: info:     div 32x3  %613 = fmin %611, %78
MESA: info:     div 32x3  %615 = fsub %88, %613
MESA: info:     div 32    %102 = fmul %615.y, %615.y
MESA: info:     div 32    %595 = ffma %615.z, %615.z, %102
MESA: info:     div 32    %594 = ffma %615.x, %615.x, %595
MESA: info:     div 32    %106 = fsqrt %594
MESA: info:     con 32    %108 = @load_const_ir3 (%72 (0x0)) (base=0)
MESA: info:     con 1     %110 = ine %108, %72 (0x0)
MESA: info:                      // succs: b7 b8
MESA: info:     if %110 {
MESA: info:         con block b7:        // preds: b6
MESA: info:         div 32x4  %618 = fmul %74, %79.yyyy
MESA: info:         div 32x4  %621 = ffma %73, %79.xxxx, %618
MESA: info:         div 32x4  %624 = ffma %75, %79.zzzz, %621
MESA: info:         div 32x4  %630 = ffma %76, %79.wwww, %624
MESA: info:         div 32x4  %659 = mov %630.wzyx
MESA: info:                          // succs: b9
MESA: info:     } else {
MESA: info:         con block b8:        // preds: b6
MESA: info:         con 32    %140 = @load_const_ir3 (%72 (0x0)) (base=1)
MESA: info:         div 32    %141 = fadd %106, %140
MESA: info:         con 32    %143 = @load_const_ir3 (%72 (0x0)) (base=2)
MESA: info:         div 32    %144 = fmul %141, %143
MESA: info:         div 32    %145 = fsat %144
MESA: info:         div 32x3  %634 = fneg %79.xyz
MESA: info:         div 32x3  %635 = ffma %634, %145.xxx, %79.xyz
MESA: info:         div 32x4  %638 = fmul %74, %635.yyyy
MESA: info:         div 32x4  %641 = ffma %73, %635.xxxx, %638
MESA: info:         div 32x4  %644 = ffma %75, %635.zzzz, %641
MESA: info:         div 32x4  %650 = fadd %644, %76
MESA: info:         div 32x4  %660 = mov %650.wzyx
MESA: info:                          // succs: b9
MESA: info:     }
MESA: info:     con block b9:        // preds: b7 b8
MESA: info:     div 32x4  %658 = phi b7: %659, b8: %660
MESA: info:     con 32    %183 = load_const (0x3f800000 = 1.000000)
MESA: info:     con 32    %187 = @load_const_ir3 (%72 (0x0)) (base=3)
MESA: info:     con 32    %189 = @load_const_ir3 (%72 (0x0)) (base=4)
MESA: info:     div 32    %567 = fsub %187, %106
MESA: info:     con 32    %192 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32    %193 = fmul %192 (2.000000), %567
MESA: info:     div 32    %194 = fmul %193, %189
MESA: info:     div 32    %195 = fsat %194
MESA: info:     con 32x4  %198 = @load_const_ir3 (%72 (0x0)) (base=32)
MESA: info:     con 32x4  %206 = @load_const_ir3 (%72 (0x0)) (base=36)
MESA: info:     div 32x4  %663 = fmul %206, %658.zzzz
MESA: info:     div 32x4  %666 = ffma %198, %658.wwww, %663
MESA: info:     con 32x4  %218 = @load_const_ir3 (%72 (0x0)) (base=40)
MESA: info:     div 32x4  %669 = ffma %218, %658.yyyy, %666
MESA: info:     con 32x4  %230 = @load_const_ir3 (%72 (0x0)) (base=44)
MESA: info:     div 32x4  %672 = fadd %669, %230
MESA: info:     div 32x3  %674 = fmul %74.xyz, %80.yyy
MESA: info:     div 32x3  %676 = ffma %73.xyz, %80.xxx, %674
MESA: info:     div 32x3  %678 = ffma %75.xyz, %80.zzz, %676
MESA: info:     con 32    %253 = @load_const_ir3 (%72 (0x0)) (base=48)
MESA: info:     div 32x3  %680 = fsub %658.wzy, %88
MESA: info:     div 32    %261 = fmul %680.y, %680.y
MESA: info:     div 32    %549 = ffma %680.z, %680.z, %261
MESA: info:     div 32    %548 = ffma %680.x, %680.x, %549
MESA: info:     div 32    %265 = fsqrt %548
MESA: info:     con 32    %267 = @load_const_ir3 (%72 (0x0)) (base=5)
MESA: info:     div 32    %268 = fadd %265, %267
MESA: info:     con 32    %270 = @load_const_ir3 (%72 (0x0)) (base=6)
MESA: info:     div 32    %271 = fmul %268, %270
MESA: info:     div 32    %272 = fsat %271
MESA: info:     div 32    %273 = fmul %272, %272
MESA: info:     div 32    %274 = fmul %273, %273
MESA: info:     div 32    %275 = fmul %274, %273
MESA: info:     div 32    %276 = fmul %253, %275
MESA: info:     con 32    %280 = @load_const_ir3 (%72 (0x0)) (base=65)
MESA: info:     con 32    %282 = @load_const_ir3 (%72 (0x0)) (base=7)
MESA: info:     con 1     %284 = ine %282, %72 (0x0)
MESA: info:                      // succs: b10 b16
MESA: info:     if %284 {
MESA: info:         con block b10:       // preds: b9
MESA: info:         con 32    %184 = load_const (0x00000001)
MESA: info:         div 32x3  %682 = fsub %88, %658.wzy
MESA: info:         con 1     %291 = flt! %88.z, %72 (0.000000)
MESA: info:         div 1     %292 = fge! %658.y, %72 (0.000000)
MESA: info:         div 1     %293 = iand %291, %292
MESA: info:         div 32    %294 = frcp %682.z
MESA: info:         div 32    %295 = fmul %88.z, %294
MESA: info:         div 32    %543 = fneg %295
MESA: info:         div 32x3  %684 = ffma %543.xxx, %682, %88
MESA: info:         div 32x3  %686 = bcsel %293.xxx, %684, %88
MESA: info:         div 32x3  %688 = fsub %686, %658.wzy
MESA: info:         con 32x3  %313 = @load_const_ir3 (%72 (0x0)) (base=56)
MESA: info:         con 32x3  %316 = @load_const_ir3 (%72 (0x0)) (base=60)
MESA: info:         div 32    %317 = fmax %686.z, %72 (0.000000)
MESA: info:         div 32    %318 = fmax %658.y, %72 (0.000000)
MESA: info:         div 32    %320 = fmul %688.y, %688.y
MESA: info:         div 32    %535 = ffma %688.z, %688.z, %320
MESA: info:         div 32    %534 = ffma %688.x, %688.x, %535
MESA: info:         div 32    %324 = fsqrt %534
MESA: info:         con 32    %326 = @load_const_ir3 (%72 (0x0)) (base=8)
MESA: info:         div 32    %327 = fmul %324, %326
MESA: info:         con 32x3  %695 = load_const (0x3f800000, 0x3f800000, 0x3f800000) = (1.000000, 1.000000, 1.000000)
MESA: info:         con 32x2  %699 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:         con 32x4  %708 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:         con 32x2  %711 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:                          // succs: b11
MESA: info:         con loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32x3  %694 = phi b10: %695 (1.000000, 1.000000, 1.000000), b14: %724
MESA: info:             div 32x2  %698 = phi b10: %699 (0.000000, 0.000000), b14: %700
MESA: info:             div 32x4  %707 = phi b10: %708 (0.000000, 0.000000, 0.000000, 0.000000), b14: %709
MESA: info:             div 32x2  %710 = phi b10: %711 (0.000000, 0.000000), b14: %727
MESA: info:             con 32    %339 = phi b10: %72 (0x0), b14: %399
MESA: info:             con 32    %340 = i2f32 %339
MESA: info:             con 1     %341 = flt! %340, %280
MESA: info:             con 1     %342 = inot %341
MESA: info:                              // succs: b12 b13
MESA: info:             if %342 {
MESA: info:                 con block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 con block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             con block b14:       // preds: b13
MESA: info:             con 32    %343 = load_const (0x3f000000 = 0.500000)
MESA: info:             con 32    %344 = fadd %340, %343 (0.500000)
MESA: info:             con 32    %345 = fmul %344, %326
MESA: info:             div 32    %533 = fsub %318, %317
MESA: info:             div 32    %532 = ffma %345, %533, %317
MESA: info:             con 32    %351 = @load_const_ir3 (%72 (0x0)) (base=9)
MESA: info:             con 32    %352 = load_const (0x3fb8aa3b = 1.442695)
MESA: info:             div 32    %353 = fmul %532, %352 (1.442695)
MESA: info:             div 32    %354 = fmul %353, %351
MESA: info:             div 32    %355 = fneg %354
MESA: info:             div 32    %356 = fexp2 %355
MESA: info:             div 32    %357 = fmul %356, %327
MESA: info:             con 32    %359 = @load_const_ir3 (%72 (0x0)) (base=10)
MESA: info:             div 32    %360 = fmul %353, %359
MESA: info:             div 32    %361 = fneg %360
MESA: info:             div 32    %362 = fexp2 %361
MESA: info:             div 32    %363 = fmul %362, %327
MESA: info:             div 32    %364 = fadd %698.x, %357
MESA: info:             div 32    %365 = fadd %698.y, %363
MESA: info:             div 32x3  %714 = fmul %316, %365.xxx
MESA: info:             div 32x3  %718 = fneg %714
MESA: info:             con 32x3  %719 = fneg %313
MESA: info:             div 32x3  %720 = ffma %719, %364.xxx, %718
MESA: info:             div 32x3  %722 = fmul %720, %352 (1.442695).xxx
MESA: info:             div 32x3  %724 = fexp2 %722
MESA: info:             div 32x3  %726 = ffma %724, %357.xxx, %707.xyz
MESA: info:             div 32    %522 = ffma %724.x, %363, %707.w
MESA: info:             div 32x2  %727 = ffma %724.yz, %363.xx, %710
MESA: info:             con 32    %399 = iadd %339, %184 (0x1)
MESA: info:             div 32x2  %700 = vec2 %364, %365
MESA: info:             div 32x4  %709 = vec4 %726.x, %726.y, %726.z, %522
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         con block b15:       // preds: b12
MESA: info:         div 32x3  %747 = phi b12: %694
MESA: info:         div 32x4  %746 = phi b12: %707
MESA: info:         div 32x2  %745 = phi b12: %710
MESA: info:         div 32    %400 = frsq %534
MESA: info:         div 32x3  %729 = fmul %688, %400.xxx
MESA: info:         con 32x3  %407 = @load_const_ir3 (%72 (0x0)) (base=80)
MESA: info:         div 32    %409 = fmul %729.y, %407.y
MESA: info:         div 32    %519 = ffma %729.z, %407.z, %409
MESA: info:         div 32    %518 = ffma %729.x, %407.x, %519
MESA: info:         con 32    %413 = load_const (0xbf800000 = -1.000000)
MESA: info:         div 32    %414 = fmax %518, %413 (-1.000000)
MESA: info:         div 32    %415 = fmin %414, %183 (1.000000)
MESA: info:         div 32    %517 = ffma %415, %415, %183 (1.000000)
MESA: info:         con 32    %418 = load_const (0x3f16c8b4 = 0.589000)
MESA: info:         div 32    %419 = fmul %418 (0.589000), %517
MESA: info:         div 32x3  %731 = fmul %313, %419.xxx
MESA: info:         con 32    %424 = @load_const_ir3 (%72 (0x0)) (base=11)
MESA: info:         con 32    %426 = @load_const_ir3 (%72 (0x0)) (base=12)
MESA: info:         con 32    %428 = @load_const_ir3 (%72 (0x0)) (base=13)
MESA: info:         con 32    %515 = fneg %428
MESA: info:         div 32    %516 = ffma %515, %415, %424
MESA: info:         con 32    %432 = load_const (0x3fc00000 = 1.500000)
MESA: info:         div 32    %433 = flog2 %516
MESA: info:         div 32    %434 = fmul %433, %432 (1.500000)
MESA: info:         div 32    %435 = fneg %434
MESA: info:         div 32    %436 = fexp2 %435
MESA: info:         div 32    %437 = fmul %517, %436
MESA: info:         div 32    %438 = fmul %426, %437
MESA: info:         div 32x3  %733 = fmul %316, %438.xxx
MESA: info:         div 32    %445 = fmul %746.w, %733.x
MESA: info:         div 32x2  %734 = fmul %745, %733.yz
MESA: info:         div 32    %514 = ffma %746.x, %731.x, %445
MESA: info:         div 32x2  %735 = ffma %746.yz, %731.yz, %734
MESA: info:                          // succs: b17
MESA: info:     } else {
MESA: info:         con block b16:       // preds: b9
MESA: info:         con 32x2  %739 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:         con 32x3  %744 = load_const (0x3f800000, 0x3f800000, 0x3f800000) = (1.000000, 1.000000, 1.000000)
MESA: info:                          // succs: b17
MESA: info:     }
MESA: info:     con block b17:       // preds: b15 b16
MESA: info:     div 32x2  %738 = phi b15: %735, b16: %739 (0.000000, 0.000000)
MESA: info:     div 32    %452 = phi b15: %514, b16: %72 (0x0)
MESA: info:     div 32x3  %743 = phi b15: %747, b16: %744 (1.000000, 1.000000, 1.000000)
MESA: info:                      @store_output (%672, %72 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                      @store_output (%195, %72 (0x0)) (base=5, range=1, wrmask=x, component=0, src_type=float32, io location=VARYING_SLOT_VAR4 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %458 = vec4 %276, %658.x, %678.x, %678.y
MESA: info:                      @store_output (%458, %72 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %459 = vec4 %678.z, %658.w, %658.z, %658.y
MESA: info:                      @store_output (%459, %72 (0x0)) (base=2, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR1 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %460 = vec4 %743.x, %743.y, %743.z, %452
MESA: info:                      @store_output (%460, %72 (0x0)) (base=3, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR2 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %461 = vec4 %738.x, %738.y, %81.x, %81.y
MESA: info:                      @store_output (%461, %72 (0x0)) (base=4, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR3 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b18
MESA: info:     block b18:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 055a252085f84cc56612e7feca056c94f35bac75:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (20 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c24.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      4
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (320b -> 384b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: @in(r1.x)	in1 (wrmask=0xf)
MESA: info: @in(r2.x)	in2 (wrmask=0xf)
MESA: info: @in(r3.x)	in3 (wrmask=0xf)
MESA: info: @in(r4.x)	in4 (wrmask=0x7)
MESA: info: @in(r4.w)	in5 (wrmask=0x7)
MESA: info: @in(r5.z)	in6 (wrmask=0xf)
MESA: info: @in(r6.z)	in7 (wrmask=0x7)
MESA: info: @in(r7.w)	in8 (wrmask=0x3)
MESA: info: @const(c25.x)	0x3ef47d19, 0x3f16c8b4, 0xbf800000, 0x3f800000
MESA: info: @const(c26.x)	0x3fc00000, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l68
MESA: info: getone #l68
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 16, 2
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 0, 2
MESA: info: ldc.u.offset3.1.imm.base1 r48.z, 24, 0
MESA: info: ldc.u.offset0.1.imm.base1 r51.w, 4, 4
MESA: info: ldc.u.offset2.2.imm.base1 r49.y, 0, 4
MESA: info: ldc.u.offset1.1.imm.base1 r50.w, 25, 0
MESA: info: ldc.u.offset1.1.imm.base1 r51.x, 4, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.y, 2, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.z, 3, 4
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)(rpt1)mul.f r49.w, (r)r48.x, r48.z
MESA: info: mul.f r48.w, r48.w, r48.z
MESA: info: cmps.f.eq hr52.z, (abs)r50.x, (absneg)r49.w
MESA: info: mul.f r49.z, r49.z, r50.w
MESA: info: cmps.f.ge hr48.x, (0.0), r51.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: rcp r51.y, r51.y
MESA: info: rcp r51.z, r51.z
MESA: info: mul.f r49.y, r49.y, r50.w
MESA: info: cov.u16s32 r50.z, hr52.z
MESA: info: sub.u hr48.x, h(1), hr48.x
MESA: info: absneg.f r49.w, (neg)r49.w
MESA: info: absneg.f r49.y, (neg)r49.y
MESA: info: cov.u16s32 r48.y, hr48.x
MESA: info: (ss)nop
MESA: info: stc.u32 c[3], r48.w, 1
MESA: info: rcp r48.z, r48.z
MESA: info: rcp r49.z, r49.z
MESA: info: rcp r51.x, r51.x
MESA: info: rcp r50.x, r50.x
MESA: info: stc.u32 c[9], r51.y, 1
MESA: info: stc.u32 c[10], r51.z, 1
MESA: info: stc.u32 c[0], r50.z, 1
MESA: info: stc.u32 c[1], r49.w, 1
MESA: info: stc.u32 c[5], r49.y, 1
MESA: info: stc.u32 c[7], r48.y, 1
MESA: info: (ss)mul.f r48.w, r51.w, r51.w
MESA: info: add.f r48.w, r48.w, (2.0)
MESA: info: mul.f r49.x, r49.x, r48.z
MESA: info: mul.f r48.z, (neg)r51.w, r51.w
MESA: info: add.f r48.z, r48.z, (1.0)
MESA: info: mul.f r48.z, r48.z, c25.x
MESA: info: stc.u32 c[6], r49.z, 1
MESA: info: stc.u32 c[8], r51.x, 1
MESA: info: stc.u32 c[2], r50.x, 1
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[4], r49.x, 1
MESA: info: (ss)mul.f r48.z, r48.z, r48.w
MESA: info: mul.f r49.x, r51.w, r51.w
MESA: info: add.f r49.x, r49.x, (1.0)
MESA: info: mul.f r51.w, (2.0), r51.w
MESA: info: (ss)nop
MESA: info: stc.u32 c[12], r48.z, 1
MESA: info: stc.u32 c[11], r49.x, 1
MESA: info: stc.u32 c[13], r51.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 20, 0
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)80
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l68:
MESA: info: (jp)max.f r4.y, c7.y, (last)r4.y
MESA: info: max.f r4.z, c7.z, (last)r4.z
MESA: info: max.f r4.x, c7.x, (last)r4.x
MESA: info: min.f r4.y, (last)r4.y, (last)r5.x
MESA: info: min.f r4.z, (last)r4.z, (last)r5.y
MESA: info: min.f r4.x, (last)r4.x, (last)r4.w
MESA: info: add.f r4.y, c7.y, (last)(neg)r4.y
MESA: info: add.f r4.z, c7.z, (last)(neg)r4.z
MESA: info: add.f r4.x, c7.x, (last)(neg)r4.x
MESA: info: mul.f r4.y, (last)r4.y, r4.y
MESA: info: cmps.s.ne p0.x, c0.x, 0
MESA: info: (nop1) mad.f32 r4.z, (last)r4.z, r4.z, (last)r4.y
MESA: info: (nop3) mad.f32 r4.x, (last)r4.x, r4.x, (last)r4.z
MESA: info: (rpt1)nop
MESA: info: sqrt r4.x, (last)r4.x
MESA: info: br !p0.x, #l101
MESA: info: mul.f r8.y, r1.x, r5.w
MESA: info: mul.f r9.z, r1.y, r5.w
MESA: info: mul.f r9.w, r1.z, r5.w
MESA: info: mul.f r1.w, (last)r1.w, r5.w
MESA: info: mad.f32 r8.y, r0.x, r5.z, (last)r8.y
MESA: info: mad.f32 r9.z, r0.y, r5.z, (last)r9.z
MESA: info: mad.f32 r9.w, r0.z, r5.z, (last)r9.w
MESA: info: mad.f32 r0.w, (last)r0.w, r5.z, r1.w
MESA: info: mad.f32 r8.y, r2.x, r6.x, (last)r8.y
MESA: info: mad.f32 r9.z, r2.y, r6.x, (last)r9.z
MESA: info: mad.f32 r9.w, r2.z, r6.x, (last)r9.w
MESA: info: mad.f32 r2.w, (last)r2.w, r6.x, r0.w
MESA: info: mad.f32 r8.w, r3.x, r6.y, (last)r8.y
MESA: info: mad.f32 r9.x, r3.y, r6.y, (last)r9.z
MESA: info: mad.f32 r9.y, r3.z, r6.y, (last)r9.w
MESA: info: mad.f32 r10.y, r3.w, r6.y, r2.w
MESA: info: jump #l120
MESA: info: l101:
MESA: info: (ss)(nop2) add.f r11.x, r4.x, c0.y
MESA: info: (sat)(nop2) mul.f r11.x, (last)r11.x, c0.z
MESA: info: mad.f32 r5.w, (neg)(last)r5.w, r11.x, r5.w
MESA: info: mad.f32 r5.z, (neg)(last)r5.z, r11.x, r5.z
MESA: info: mad.f32 r6.x, (neg)(last)r6.x, r11.x, r6.x
MESA: info: mul.f r11.y, r1.x, r5.w
MESA: info: mul.f r11.z, r1.y, r5.w
MESA: info: mad.f32 r11.y, r0.x, r5.z, (last)r11.y
MESA: info: mad.f32 r11.z, r0.y, r5.z, (last)r11.z
MESA: info: mad.f32 r11.y, r2.x, r6.x, (last)r11.y
MESA: info: (nop1) mad.f32 r11.z, r2.y, r6.x, (last)r11.z
MESA: info: add.f r8.w, (last)r11.y, (last)r3.x
MESA: info: add.f r9.x, (last)r11.z, (last)r3.y
MESA: info: (rpt1)mul.f r3.x, (r)r1.z, (last)r5.w
MESA: info: (rpt1)mad.f32 r3.x, (r)r0.z, r5.z, (r)(last)r3.x
MESA: info: (rpt1)mad.f32 r3.x, (r)r2.z, r6.x, (r)(last)r3.x
MESA: info: nop
MESA: info: add.f r9.y, (last)r3.x, (last)r3.z
MESA: info: add.f r10.y, (last)r3.y, (last)r3.w
MESA: info: l120:
MESA: info: add.f r6.x, r9.x, (neg)c7.y
MESA: info: mul.f r1.x, (last)r1.x, r6.w
MESA: info: mul.f r1.y, (last)r1.y, r6.w
MESA: info: mul.f r1.z, (last)r1.z, (last)r6.w
MESA: info: add.f r6.y, r9.y, (neg)c7.z
MESA: info: mul.f r6.x, (last)r6.x, r6.x
MESA: info: mad.f32 r0.x, (last)r0.x, r6.z, (last)r1.x
MESA: info: mad.f32 r0.y, (last)r0.y, r6.z, (last)r1.y
MESA: info: mad.f32 r0.z, (last)r0.z, r6.z, (last)r1.z
MESA: info: add.f r6.z, r8.w, (neg)c7.x
MESA: info: mad.f32 r6.y, (last)r6.y, r6.y, (last)r6.x
MESA: info: (ss)add.f r4.x, c0.w, (last)(neg)r4.x
MESA: info: mad.f32 r6.z, (last)r6.z, r6.z, (last)r6.y
MESA: info: mul.f r3.z, c9.x, r9.x
MESA: info: mul.f r5.y, c9.y, r9.x
MESA: info: mul.f r5.z, c9.z, r9.x
MESA: info: mul.f r5.w, c9.w, r9.x
MESA: info: mad.f32 r3.z, c8.x, r8.w, (last)r3.z
MESA: info: sqrt r6.z, (last)r6.z
MESA: info: mad.f32 r5.y, c8.y, r8.w, (last)r5.y
MESA: info: mad.f32 r5.z, c8.z, r8.w, (last)r5.z
MESA: info: mad.f32 r5.w, c8.w, r8.w, (last)r5.w
MESA: info: mul.f r4.x, (2.0), (last)r4.x
MESA: info: mad.f32 r3.z, c10.x, r9.y, (last)r3.z
MESA: info: mad.f32 r5.y, c10.y, r9.y, (last)r5.y
MESA: info: mad.f32 r5.z, c10.z, r9.y, (last)r5.z
MESA: info: mad.f32 r5.w, c10.w, r9.y, (last)r5.w
MESA: info: cmps.s.ne p0.x, c1.w, 0
MESA: info: mad.f32 r10.z, (last)r2.x, r7.x, (last)r0.x
MESA: info: (ss)add.f r6.z, (last)r6.z, c1.y
MESA: info: mad.f32 r10.w, (last)r2.y, r7.x, (last)r0.y
MESA: info: mad.f32 r8.z, (last)r2.z, r7.x, (last)r0.z
MESA: info: (sat)mul.f r6.z, (last)r6.z, c1.z
MESA: info: (sat)mul.f r4.x, (last)r4.x, c1.x
MESA: info: add.f r4.y, (last)r3.z, c11.x
MESA: info: mul.f r6.z, (last)r6.z, r6.z
MESA: info: add.f r4.z, (last)r5.y, c11.y
MESA: info: add.f r4.w, (last)r5.z, c11.z
MESA: info: mul.f r6.w, r6.z, r6.z
MESA: info: (nop1) add.f r5.x, (last)r5.w, c11.w
MESA: info: (nop2) mul.f r6.w, (last)r6.w, (last)r6.z
MESA: info: mul.f r10.x, c12.x, (last)r6.w
MESA: info: br !p0.x, #l262
MESA: info: cmps.f.lt hr50.z, c7.z, (0.0)
MESA: info: mov.u32u32 r49.z, 0
MESA: info: add.f r11.z, c7.z, (neg)r9.y
MESA: info: cmps.f.ge hr14.x, r9.y, (0.0)
MESA: info: (rpt1)add.f r11.x, (r)c7.x, (neg)(r)r8.w
MESA: info: max.f r11.w, r9.y, (0.0)
MESA: info: mov.u32u32 r1.y, 0x3f800000
MESA: info: rcp r0.x, r11.z
MESA: info: mov.u32u32 r1.z, 0x3f800000
MESA: info: mov.u32u32 r5.y, 0
MESA: info: mov.u32u32 r3.w, 0
MESA: info: mov.u32u32 r3.z, 0
MESA: info: mov.u32u32 r3.y, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: mov.u32u32 r2.z, 0
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r1.w, 0x3f800000
MESA: info: (ss)mul.f r0.x, c7.z, (last)r0.x
MESA: info: (nop1) and.b r0.y, hr50.z, (last)hr14.x
MESA: info: (rpt1)mad.f32 r11.y, (neg)r0.x, (r)r11.y, (r)c7.y
MESA: info: mad.f32 r0.x, (neg)(last)r0.x, r11.x, c7.x
MESA: info: (rpt1)sel.b32 r11.y, (r)(last)r11.y, r0.y, (r)c7.y
MESA: info: sel.b32 r0.x, (last)r0.x, r0.y, c7.x
MESA: info: add.f r11.y, (last)r11.y, (neg)r9.x
MESA: info: add.f r0.z, r11.z, (neg)r9.y
MESA: info: add.f r0.x, (last)r0.x, (neg)r8.w
MESA: info: mul.f r0.w, r11.y, r11.y
MESA: info: max.f r11.z, (last)r11.z, (0.0)
MESA: info: (nop1) mad.f32 r0.w, r0.z, r0.z, (last)r0.w
MESA: info: (nop3) mad.f32 r0.w, r0.x, r0.x, (last)r0.w
MESA: info: (rpt1)nop
MESA: info: sqrt r1.x, r0.w
MESA: info: (ss)mul.f r1.x, (last)r1.x, c2.x
MESA: info: l197:
MESA: info: cov.s32f32 r49.w, r49.z
MESA: info: cmps.f.lt hr52.x, r49.w, c16.y
MESA: info: (ss)(nop3) cmps.s.ne p0.x, hr52.x, h(0)
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l234
MESA: info: add.f r49.w, r49.w, (0.5)
MESA: info: mul.f r49.w, r49.w, c2.x
MESA: info: add.u r49.z, r49.z, 1
MESA: info: (nop2) add.f r5.z, r11.w, (neg)r11.z
MESA: info: (ss)(nop2) mad.f32 r5.z, r49.w, r5.z, r11.z
MESA: info: (nop2) mul.f r5.z, (last)r5.z, (log2(e))
MESA: info: mul.f r5.w, r5.z, c2.y
MESA: info: (nop3) mul.f r5.z, (last)r5.z, c2.z
MESA: info: (rpt1)nop
MESA: info: exp2 r5.z, (last)(neg)r5.z
MESA: info: exp2 r5.w, (last)(neg)r5.w
MESA: info: (ss)mul.f r5.z, (last)r5.z, r1.x
MESA: info: (nop1) mul.f r5.w, (last)r5.w, r1.x
MESA: info: add.f r2.z, (last)r2.z, r5.z
MESA: info: (nop1) add.f r2.y, (last)r2.y, r5.w
MESA: info: mul.f r6.x, c15.x, r2.z
MESA: info: (rpt1)mul.f r6.y, (r)c15.y, r2.z
MESA: info: mad.f32 r6.x, (neg)c14.x, r2.y, (neg)(last)r6.x
MESA: info: (rpt1)mad.f32 r6.y, (neg)(r)c14.y, r2.y, (neg)(r)(last)r6.y
MESA: info: mul.f r6.x, (last)r6.x, (log2(e))
MESA: info: (rpt1)mul.f r6.y, (last)(r)r6.y, (log2(e))
MESA: info: (rpt2)nop
MESA: info: exp2 r1.y, (last)r6.x
MESA: info: nop
MESA: info: (rpt1)exp2 r1.z, (last)(r)r6.y
MESA: info: (ss)mad.f32 r2.w, r1.y, r5.w, (last)r2.w
MESA: info: mad.f32 r3.z, r1.y, r5.z, (last)r3.z
MESA: info: mad.f32 r3.x, r1.z, r5.w, (last)r3.x
MESA: info: mad.f32 r3.w, r1.z, r5.z, (last)r3.w
MESA: info: mad.f32 r3.y, r1.w, r5.w, (last)r3.y
MESA: info: mad.f32 r5.y, r1.w, r5.z, (last)r5.y
MESA: info: jump #l197
MESA: info: l234:
MESA: info: rsq r0.w, (last)r0.w
MESA: info: (ss)mul.f r11.y, (last)r11.y, r0.w
MESA: info: mul.f r0.z, (last)r0.z, r0.w
MESA: info: mul.f r0.x, (last)r0.x, (last)r0.w
MESA: info: (nop1) mul.f r11.y, (last)r11.y, c20.y
MESA: info: (nop1) mad.f32 r0.z, c20.z, r0.z, (last)r11.y
MESA: info: (nop2) mad.f32 r0.x, c20.x, r0.x, (last)r0.z
MESA: info: (nop2) max.f r0.x, (last)r0.x, c25.z
MESA: info: (nop2) min.f r0.x, (last)r0.x, (1.0)
MESA: info: mad.f32 r6.w, r0.x, r0.x, c25.w
MESA: info: (nop1) mad.f32 r0.x, (neg)c3.y, r0.x, c2.w
MESA: info: (nop2) mul.f r7.x, c25.y, r6.w
MESA: info: (rpt2)mul.f r11.x, (r)c14.x, (last)r7.x
MESA: info: log2 r0.x, (last)r0.x
MESA: info: (ss)(nop3) mul.f r0.x, (last)r0.x, c26.x
MESA: info: (rpt1)nop
MESA: info: exp2 r0.x, (last)(neg)r0.x
MESA: info: (ss)(nop2) mul.f r6.w, (last)r6.w, (last)r0.x
MESA: info: (nop2) mul.f r6.w, c3.x, (last)r6.w
MESA: info: mul.f r11.w, c15.x, r6.w
MESA: info: (rpt1)mul.f r0.x, (r)c15.y, (last)r6.w
MESA: info: mul.f r3.z, (last)r3.z, (last)r11.w
MESA: info: mul.f r3.w, (last)r3.w, (last)r0.x
MESA: info: mul.f r5.y, (last)r5.y, (last)r0.y
MESA: info: mad.f32 r2.x, (last)r2.w, r11.x, (last)r3.z
MESA: info: mad.f32 r7.y, (last)r3.x, r11.y, (last)r3.w
MESA: info: mad.f32 r7.z, (last)r3.y, r11.z, (last)r5.y
MESA: info: jump #l268
MESA: info: l262:
MESA: info: mov.u32u32 r7.y, 0
MESA: info: mov.u32u32 r1.w, 0x3f800000
MESA: info: mov.u32u32 r1.z, 0x3f800000
MESA: info: mov.u32u32 r1.y, 0x3f800000
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r7.z, 0
MESA: info: l268:
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r4.y (VARYING_SLOT_POS) r10.x (VARYING_SLOT_VAR0) r8.z (VARYING_SLOT_VAR1) r1.y (VARYING_SLOT_VAR2) r7.y (VARYING_SLOT_VAR3) r4.x (VARYING_SLOT_VAR4)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r1.x (VERT_ATTRIB_GENERIC1 slot=16 cm=f,il=0,b=0) r2.x (VERT_ATTRIB_GENERIC2 slot=17 cm=f,il=0,b=0) r3.x (VERT_ATTRIB_GENERIC3 slot=18 cm=f,il=0,b=0) r4.x (VERT_ATTRIB_GENERIC4 slot=19 cm=7,il=0,b=0) r4.w (VERT_ATTRIB_GENERIC5 slot=20 cm=7,il=0,b=0) r5.z (VERT_ATTRIB_GENERIC6 slot=21 cm=f,il=0,b=0) r6.z (VERT_ATTRIB_GENERIC7 slot=22 cm=7,il=0,b=0) r7.w (VERT_ATTRIB_GENERIC8 slot=23 cm=3,il=0,b=0)
MESA: info: ; VERT prog 110/1: 270 instr, 64 nops, 206 non-nops, 18 mov, 1 cov, 546 dwords
MESA: info: ; VERT prog 110/1: 0 last-baryf, 0 last-helper, 0 half, 12 full, 28 constlen
MESA: info: ; VERT prog 110/1: 71 cat0, 19 cat1, 102 cat2, 66 cat3, 12 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 110/1: 78 sstall, 12 (ss), 0 systall, 0 (sy), 1 loops
MESA: info: ; VERT prog 110/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 69 preamble-instr, 1 early-preamble
MESA: info: ; pos: r4.y
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xaa4fcd1e, 0xb539c742, 0x4bdca722, 0x9e7beb4b, 0xfbb42398, 0x0038c1ff, 0xd381b376, 0x43396ce5}
MESA: info: inputs_read: 15-23
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 9
MESA: info: outputs: 6
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VERT_ATTRIB_GENERIC2.xyzw, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #3 (VERT_ATTRIB_GENERIC3.xyzw, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #4 (VERT_ATTRIB_GENERIC4.xyz, 4, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #5 (VERT_ATTRIB_GENERIC5.xyz, 5, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #6 (VERT_ATTRIB_GENERIC6.xyzw, 6, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #7 (VERT_ATTRIB_GENERIC7.xyz, 7, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #8 (VERT_ATTRIB_GENERIC8.xy, 8, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #9 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #10 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #11 (VARYING_SLOT_VAR1.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #12 (VARYING_SLOT_VAR2.xyzw, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #13 (VARYING_SLOT_VAR3.xyzw, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none float #14 (VARYING_SLOT_VAR4.x, 5, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #15
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %5 = @bindless_resource_ir3 (%3 (0x2)) (desc_set=1)
MESA: info:             con 32    %462 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32    %491 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32x2  %464 = @load_ubo_vec4 (%5, %491 (0x10)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %8 = @bindless_resource_ir3 (%2 (0.000000)) (desc_set=1)
MESA: info:             con 32    %492 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %467 = @load_ubo_vec4 (%8, %492 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32x2  %554 = fmul %464, %467.xx
MESA: info:             con 32x2  %555 = fabs %554.yx
MESA: info:             con 32     %14 = fneg %555.y
MESA: info:             con 1      %15 = feq! %555.x, %14
MESA: info:             con 32     %16 = b2i32 %15
MESA: info:                              @store_const_ir3 (%16) (base=0)
MESA: info:             con 32     %17 = fneg %554.x
MESA: info:                              @store_const_ir3 (%17) (base=1)
MESA: info:             con 32    %553 = fsub %554.y, %554.x
MESA: info:             con 32     %19 = frcp %553
MESA: info:                              @store_const_ir3 (%19) (base=2)
MESA: info:             con 32     %20 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %21 = frcp %467
MESA: info:             con 32x2  %470 = @load_ubo_vec4 (%5, %2 (0.000000)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %24 = fmul %470.x, %467
MESA: info:                              @store_const_ir3 (%24) (base=3)
MESA: info:             con 32     %25 = fmul %470.y, %21
MESA: info:                              @store_const_ir3 (%25) (base=4)
MESA: info:             con 32     %26 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32     %30 = @bindless_resource_ir3 (%462 (0x4)) (desc_set=1)
MESA: info:             con 32x2  %473 = @load_ubo_vec4 (%30, %2 (0.000000)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %494 = load_const (0x00000019 = 0.000000 = 25)
MESA: info:             con 32    %476 = @load_ubo_vec4 (%8, %494 (0x19)) (access=speculatable, base=0, component=1)
MESA: info:             con 32x2  %556 = fmul %473, %476.xx
MESA: info:             con 32     %36 = fneg %556.x
MESA: info:                              @store_const_ir3 (%36) (base=5)
MESA: info:             con 32     %37 = frcp %556.y
MESA: info:                              @store_const_ir3 (%37) (base=6)
MESA: info:             con 32    %479 = @load_ubo_vec4 (%30, %462 (0x4)) (access=speculatable, base=0, component=1)
MESA: info:             con 1      %40 = fge! %2 (0.000000), %479
MESA: info:             con 1      %41 = inot %40
MESA: info:             con 32     %42 = b2i32 %41
MESA: info:                              @store_const_ir3 (%42) (base=7)
MESA: info:             con 32     %43 = frcp %479
MESA: info:                              @store_const_ir3 (%43) (base=8)
MESA: info:             con 32    %482 = @load_ubo_vec4 (%30, %3 (0x2)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %45 = frcp %482
MESA: info:                              @store_const_ir3 (%45) (base=9)
MESA: info:             con 32    %497 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32    %485 = @load_ubo_vec4 (%30, %497 (0x3)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %47 = frcp %485
MESA: info:                              @store_const_ir3 (%47) (base=10)
MESA: info:             con 32    %488 = @load_ubo_vec4 (%30, %462 (0x4)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %551 = fneg %488
MESA: info:             con 32    %552 = ffma %551, %488, %20 (1.000000)
MESA: info:             con 32x2  %557 = load_const (0x40000000, 0x3f800000) = (2.000000, 1.000000)
MESA: info:             con 32x2  %558 = ffma %488.xx, %488.xx, %557 (2.000000, 1.000000)
MESA: info:             con 32    %559 = mov %558.y
MESA: info:                              @store_const_ir3 (%559) (base=11)
MESA: info:             con 32     %55 = frcp %558.x
MESA: info:             con 32     %56 = load_const (0x3ef47d19 = 0.477517)
MESA: info:             con 32     %57 = fmul %552, %56 (0.477517)
MESA: info:             con 32     %58 = fmul %57, %55
MESA: info:                              @store_const_ir3 (%58) (base=12)
MESA: info:             con 32     %59 = fmul %26 (2.000000), %488
MESA: info:                              @store_const_ir3 (%59) (base=13)
MESA: info:             con 32     %62 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %62 (0x14)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %2 (0.000000)) (base=32, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%30, %2 (0.000000)) (base=48, range=8)
MESA: info:             con 32     %69 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %70 = @bindless_resource_ir3 (%69 (0x1)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%70, %2 (0.000000)) (base=80, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %72 = load_const (0x00000000)
MESA: info:     div 32x3   %73 = @load_input (%72 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3   %74 = @load_input (%72 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3   %75 = @load_input (%72 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3   %76 = @load_input (%72 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32x3   %77 = @load_input (%72 (0x0)) (base=4, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC4 slots=1)
MESA: info:     div 32x3   %78 = @load_input (%72 (0x0)) (base=5, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC5 slots=1)
MESA: info:     div 32x4   %79 = @load_input (%72 (0x0)) (base=6, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC6 slots=1)
MESA: info:     con 32x3   %88 = @load_const_ir3 (%72 (0x0)) (base=28)
MESA: info:     div 32x3  %561 = fmax %88, %77
MESA: info:     div 32x3  %563 = fmin %561, %78
MESA: info:     div 32x3  %565 = fsub %88, %563
MESA: info:     div 32    %102 = fmul %565.y, %565.y
MESA: info:     div 32    %545 = ffma %565.z, %565.z, %102
MESA: info:     div 32    %544 = ffma %565.x, %565.x, %545
MESA: info:     div 32    %106 = fsqrt %544
MESA: info:     con 32    %108 = @load_const_ir3 (%72 (0x0)) (base=0)
MESA: info:     con 1     %110 = ine %108, %72 (0x0)
MESA: info:                      // succs: b7 b8
MESA: info:     if %110 {
MESA: info:         con block b7:        // preds: b6
MESA: info:         div 32x3  %567 = fmul %74, %79.yyy
MESA: info:         div 32x3  %569 = ffma %73, %79.xxx, %567
MESA: info:         div 32x3  %571 = ffma %75, %79.zzz, %569
MESA: info:         div 32x3  %575 = ffma %76, %79.www, %571
MESA: info:         div 32x3  %596 = mov %575.zyx
MESA: info:                          // succs: b9
MESA: info:     } else {
MESA: info:         con block b8:        // preds: b6
MESA: info:         con 32    %140 = @load_const_ir3 (%72 (0x0)) (base=1)
MESA: info:         div 32    %141 = fadd %106, %140
MESA: info:         con 32    %143 = @load_const_ir3 (%72 (0x0)) (base=2)
MESA: info:         div 32    %144 = fmul %141, %143
MESA: info:         div 32    %145 = fsat %144
MESA: info:         div 32x3  %579 = fneg %79.xyz
MESA: info:         div 32x3  %580 = ffma %579, %145.xxx, %79.xyz
MESA: info:         div 32x3  %582 = fmul %74, %580.yyy
MESA: info:         div 32x3  %584 = ffma %73, %580.xxx, %582
MESA: info:         div 32x3  %586 = ffma %75, %580.zzz, %584
MESA: info:         div 32x3  %590 = fadd %586, %76
MESA: info:         div 32x3  %597 = mov %590.zyx
MESA: info:                          // succs: b9
MESA: info:     }
MESA: info:     con block b9:        // preds: b7 b8
MESA: info:     div 32x3  %595 = phi b7: %596, b8: %597
MESA: info:     con 32x4  %198 = @load_const_ir3 (%72 (0x0)) (base=32)
MESA: info:     con 32x4  %206 = @load_const_ir3 (%72 (0x0)) (base=36)
MESA: info:     div 32x4  %600 = fmul %206, %595.yyyy
MESA: info:     div 32x4  %603 = ffma %198, %595.zzzz, %600
MESA: info:     con 32x4  %218 = @load_const_ir3 (%72 (0x0)) (base=40)
MESA: info:     div 32x4  %606 = ffma %218, %595.xxxx, %603
MESA: info:     con 32x4  %230 = @load_const_ir3 (%72 (0x0)) (base=44)
MESA: info:     div 32x4  %609 = fadd %606, %230
MESA: info:                      @store_output (%609, %72 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                      // succs: b10
MESA: info:     block b10:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 b8fe1d5ba27059120773602fe5850f4af5a3698e:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (20 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c24.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      4
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (320b -> 384b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0x7)
MESA: info: @in(r3.w)	in5 (wrmask=0x7)
MESA: info: @in(r4.z)	in6 (wrmask=0xf)
MESA: info: @const(c25.x)	0x3ef47d19, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l68
MESA: info: getone #l68
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 16, 2
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 0, 2
MESA: info: ldc.u.offset3.1.imm.base1 r48.z, 24, 0
MESA: info: ldc.u.offset0.1.imm.base1 r51.w, 4, 4
MESA: info: ldc.u.offset2.2.imm.base1 r49.y, 0, 4
MESA: info: ldc.u.offset1.1.imm.base1 r50.w, 25, 0
MESA: info: ldc.u.offset1.1.imm.base1 r51.x, 4, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.y, 2, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.z, 3, 4
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)(rpt1)mul.f r49.w, (r)r48.x, r48.z
MESA: info: mul.f r48.w, r48.w, r48.z
MESA: info: cmps.f.eq hr52.z, (abs)r50.x, (absneg)r49.w
MESA: info: mul.f r49.z, r49.z, r50.w
MESA: info: cmps.f.ge hr48.x, (0.0), r51.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: rcp r51.y, r51.y
MESA: info: rcp r51.z, r51.z
MESA: info: mul.f r49.y, r49.y, r50.w
MESA: info: cov.u16s32 r50.z, hr52.z
MESA: info: sub.u hr48.x, h(1), hr48.x
MESA: info: absneg.f r49.w, (neg)r49.w
MESA: info: absneg.f r49.y, (neg)r49.y
MESA: info: cov.u16s32 r48.y, hr48.x
MESA: info: (ss)nop
MESA: info: stc.u32 c[3], r48.w, 1
MESA: info: rcp r48.z, r48.z
MESA: info: rcp r49.z, r49.z
MESA: info: rcp r51.x, r51.x
MESA: info: rcp r50.x, r50.x
MESA: info: stc.u32 c[9], r51.y, 1
MESA: info: stc.u32 c[10], r51.z, 1
MESA: info: stc.u32 c[0], r50.z, 1
MESA: info: stc.u32 c[1], r49.w, 1
MESA: info: stc.u32 c[5], r49.y, 1
MESA: info: stc.u32 c[7], r48.y, 1
MESA: info: (ss)mul.f r48.w, r51.w, r51.w
MESA: info: add.f r48.w, r48.w, (2.0)
MESA: info: mul.f r49.x, r49.x, r48.z
MESA: info: mul.f r48.z, (neg)r51.w, r51.w
MESA: info: add.f r48.z, r48.z, (1.0)
MESA: info: mul.f r48.z, r48.z, c25.x
MESA: info: stc.u32 c[6], r49.z, 1
MESA: info: stc.u32 c[8], r51.x, 1
MESA: info: stc.u32 c[2], r50.x, 1
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[4], r49.x, 1
MESA: info: (ss)mul.f r48.z, r48.z, r48.w
MESA: info: mul.f r49.x, r51.w, r51.w
MESA: info: add.f r49.x, r49.x, (1.0)
MESA: info: mul.f r51.w, (2.0), r51.w
MESA: info: (ss)nop
MESA: info: stc.u32 c[12], r48.z, 1
MESA: info: stc.u32 c[11], r49.x, 1
MESA: info: stc.u32 c[13], r51.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 20, 0
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)80
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l68:
MESA: info: (jp)max.f r3.y, c7.y, (last)r3.y
MESA: info: max.f r3.z, c7.z, (last)r3.z
MESA: info: max.f r3.x, c7.x, (last)r3.x
MESA: info: min.f r3.y, (last)r3.y, (last)r4.x
MESA: info: min.f r3.z, (last)r3.z, (last)r4.y
MESA: info: min.f r3.x, (last)r3.x, (last)r3.w
MESA: info: add.f r3.y, c7.y, (last)(neg)r3.y
MESA: info: add.f r3.z, c7.z, (last)(neg)r3.z
MESA: info: add.f r3.x, c7.x, (last)(neg)r3.x
MESA: info: mul.f r3.y, (last)r3.y, r3.y
MESA: info: cmps.s.ne p0.x, c0.x, 0
MESA: info: (nop1) mad.f32 r3.z, (last)r3.z, r3.z, (last)r3.y
MESA: info: (nop3) mad.f32 r3.x, (last)r3.x, r3.x, (last)r3.z
MESA: info: (rpt1)nop
MESA: info: sqrt r3.x, (last)r3.x
MESA: info: br !p0.x, #l97
MESA: info: mul.f r0.w, (last)r0.w, r4.w
MESA: info: mul.f r1.x, (last)r1.x, r4.w
MESA: info: mul.f r1.y, (last)r1.y, r4.w
MESA: info: mad.f32 r0.x, (last)r0.x, r4.z, r0.w
MESA: info: mad.f32 r0.y, (last)r0.y, r4.z, r1.x
MESA: info: mad.f32 r0.z, (last)r0.z, r4.z, r1.y
MESA: info: mad.f32 r1.z, (last)r1.z, r5.x, r0.x
MESA: info: mad.f32 r1.w, (last)r1.w, r5.x, r0.y
MESA: info: mad.f32 r2.x, (last)r2.x, r5.x, r0.z
MESA: info: mad.f32 r2.y, (last)r2.y, r5.y, r1.z
MESA: info: mad.f32 r5.z, r2.z, r5.y, r1.w
MESA: info: mad.f32 r5.w, r2.w, r5.y, r2.x
MESA: info: jump #l110
MESA: info: l97:
MESA: info: (ss)(nop2) add.f r3.x, (last)r3.x, c0.y
MESA: info: (sat)(nop2) mul.f r3.x, (last)r3.x, c0.z
MESA: info: mad.f32 r4.w, (neg)(last)r4.w, r3.x, r4.w
MESA: info: mad.f32 r4.z, (neg)(last)r4.z, r3.x, r4.z
MESA: info: mad.f32 r5.x, (neg)(last)r5.x, r3.x, r5.x
MESA: info: mul.f r0.w, (last)r0.w, r4.w
MESA: info: (rpt1)mul.f r1.x, (last)(r)r1.x, (last)r4.w
MESA: info: mad.f32 r0.x, (last)r0.x, r4.z, (last)r0.w
MESA: info: (rpt1)mad.f32 r0.y, (r)(last)r0.y, r4.z, (r)(last)r1.x
MESA: info: mad.f32 r1.z, (last)r1.z, r5.x, (last)r0.x
MESA: info: (rpt1)mad.f32 r1.w, (r)(last)r1.w, r5.x, (r)(last)r0.y
MESA: info: add.f r2.y, (last)r1.z, (last)r2.y
MESA: info: (rpt1)add.f r5.z, (last)(r)r1.w, (last)(r)r2.z
MESA: info: l110:
MESA: info: nop
MESA: info: mul.f r6.x, c9.x, r5.z
MESA: info: mul.f r7.y, c9.y, r5.z
MESA: info: mad.f32 r6.x, c8.x, r2.y, (last)r6.x
MESA: info: mad.f32 r7.y, c8.y, r2.y, (last)r7.y
MESA: info: mad.f32 r6.y, c10.x, r5.w, (last)r6.x
MESA: info: mad.f32 r6.z, c10.y, r5.w, (last)r7.y
MESA: info: (rpt1)mul.f r7.z, (r)c9.z, (last)r5.z
MESA: info: (rpt1)mad.f32 r7.z, (r)c8.z, r2.y, (r)(last)r7.z
MESA: info: (rpt1)mad.f32 r6.w, (r)c10.z, r5.w, (r)(last)r7.z
MESA: info: (rpt3)add.f r8.x, (last)(r)r6.y, (r)c11.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r8.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (VERT_ATTRIB_GENERIC4 slot=19 cm=7,il=0,b=0) r3.w (VERT_ATTRIB_GENERIC5 slot=20 cm=7,il=0,b=0) r4.z (VERT_ATTRIB_GENERIC6 slot=21 cm=f,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0)
MESA: info: ; BVERT prog 110/2: 73 instr, 11 nops, 62 non-nops, 0 mov, 0 cov, 256 dwords
MESA: info: ; BVERT prog 110/2: 0 last-baryf, 0 last-helper, 0 half, 9 full, 28 constlen
MESA: info: ; BVERT prog 110/2: 14 cat0, 0 cat1, 30 cat2, 28 cat3, 1 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 110/2: 9 sstall, 1 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 110/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 69 preamble-instr, 1 early-preamble
MESA: info: ; pos: r8.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x759890f9, 0xc74b3e1a, 0x286f9d25, 0x25529a2c, 0x7c7855d0, 0x568928b6, 0x79ff4333, 0x45a453db}
MESA: info: inputs_read: 32-36
MESA: info: outputs_written: 4-5
MESA: info: system_values_read: 0x00000000'00000000'00000000'00800000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: uses_discard: true
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 5
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_VAR0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_VAR1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VARYING_SLOT_VAR2.xyzw, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #3 (VARYING_SLOT_VAR3.xyzw, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none float #4 (VARYING_SLOT_VAR4.x, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #5 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #6 (FRAG_RESULT_DATA1.xyzw, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #7
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000007 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%3 (0x7)) (desc_set=1)
MESA: info:             con 32    %618 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32    %626 = load_const (0x00000009 = 0.000000)
MESA: info:             con 32    %620 = @load_ubo_vec4 (%4, %626 (0x9)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %623 = @load_ubo_vec4 (%4, %2 (0x0)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %8 = frcp %623
MESA: info:                              @store_const_ir3 (%8) (base=0)
MESA: info:             con 32x2  %815 = load_const (0x3e800000, 0x3fc00000) = (0.250000, 1.500000)
MESA: info:             con 32x2  %816 = fmul %8.xx, %815 (0.250000, 1.500000)
MESA: info:             con 32    %817 = mov %816.x
MESA: info:             con 32    %818 = mov %816.y
MESA: info:                              @store_const_ir3 (%817) (base=1)
MESA: info:                              @store_const_ir3 (%818) (base=2)
MESA: info:             con 32     %13 = frcp %620
MESA: info:                              @store_const_ir3 (%13) (base=3)
MESA: info:             con 32     %15 = @bindless_resource_ir3 (%626 (0x9)) (desc_set=1)
MESA: info:             con 32     %16 = load_const (0x00000020 = 0.000000 = 32)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%15, %16 (0x20)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%15, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32     %22 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%15, %22 (0x10)) (base=48, range=4)
MESA: info:             con 32     %23 = load_const (0x00000006 = 0.000000)
MESA: info:             con 32     %24 = @bindless_resource_ir3 (%23 (0x6)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%24, %2 (0x0)) (base=64, range=4)
MESA: info:             con 32     %26 = load_const (0x00000005 = 0.000000)
MESA: info:             con 32     %27 = @bindless_resource_ir3 (%26 (0x5)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%27, %22 (0x10)) (base=80, range=8)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=112, range=12)
MESA: info:             con 32     %32 = load_const (0x00000008 = 0.000000)
MESA: info:             con 32     %33 = @bindless_resource_ir3 (%32 (0x8)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%33, %2 (0x0)) (base=160, range=4)
MESA: info:             con 32     %36 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %37 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %38 = @bindless_resource_ir3 (%37 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%36, %38)
MESA: info:             con 32     %39 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32     %40 = @bindless_resource_ir3 (%39 (0x2)) (desc_set=2)
MESA: info:             con 32     %41 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32     %42 = @bindless_resource_ir3 (%41 (0x3)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%40, %42)
MESA: info:             con 32     %44 = @bindless_resource_ir3 (%618 (0x4)) (desc_set=2)
MESA: info:             con 32     %46 = @bindless_resource_ir3 (%26 (0x5)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%44, %46)
MESA: info:             con 32     %48 = @bindless_resource_ir3 (%23 (0x6)) (desc_set=2)
MESA: info:             con 32     %50 = @bindless_resource_ir3 (%3 (0x7)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%48, %50)
MESA: info:             con 32     %56 = @bindless_resource_ir3 (%32 (0x8)) (desc_set=2)
MESA: info:             con 32     %58 = @bindless_resource_ir3 (%626 (0x9)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%56, %58)
MESA: info:             con 32     %63 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:             con 32     %64 = @bindless_resource_ir3 (%63 (0xa)) (desc_set=2)
MESA: info:             con 32     %65 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:             con 32     %66 = @bindless_resource_ir3 (%65 (0xb)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%64, %66)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %71 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x2   %72 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x4   %73 = @load_interpolated_input (%72, %71 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     div 32x4   %74 = @load_interpolated_input (%72, %71 (0x0)) (base=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR1 slots=1)
MESA: info:     div 32x4   %75 = @load_interpolated_input (%72, %71 (0x0)) (base=2, component=0, dest_type=float32, io location=VARYING_SLOT_VAR2 slots=1)
MESA: info:     div 32x2   %76 = @load_interpolated_input (%72, %71 (0x0)) (base=3, component=0, dest_type=float32, io location=VARYING_SLOT_VAR3 slots=1)
MESA: info:     div 32x2   %77 = @load_barycentric_centroid (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x2   %78 = @load_interpolated_input (%77, %71 (0x0)) (base=3, component=2, dest_type=float32, io location=VARYING_SLOT_VAR3 slots=1)
MESA: info:     div 32     %79 = @load_interpolated_input (%77, %71 (0x0)) (base=4, component=0, dest_type=float32, io location=VARYING_SLOT_VAR4 slots=1)
MESA: info:     con 32     %83 = load_const (0x00000002 = 0.000000)
MESA: info:     con 32x2   %90 = @load_const_ir3 (%71 (0x0)) (base=16)
MESA: info:     div 1      %91 = flt! %79, %90.x
MESA: info:                      @demote_if (%91)
MESA: info:     con 1      %92 = ine %90.y, %71 (0x0)
MESA: info:     div 32     %94 = fmul %73.w, %73.w
MESA: info:     div 32    %772 = ffma %74.x, %74.x, %94
MESA: info:     div 32    %771 = ffma %73.z, %73.z, %772
MESA: info:     div 32     %98 = frsq %771
MESA: info:     div 32x2  %819 = fmul %73.zw, %98.xx
MESA: info:     div 32    %101 = fmul %74.x, %98
MESA: info:     div 1     %102 = @load_front_face
MESA: info:     div 1     %103 = inot %102
MESA: info:     div 1     %104 = iand %103, %92
MESA: info:     div 32x2  %820 = fneg %819
MESA: info:     div 32    %107 = fneg %101
MESA: info:     div 32x2  %821 = bcsel %104.xx, %820, %819
MESA: info:     div 32    %110 = bcsel %104, %107, %101
MESA: info:     con 32    %111 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32    %112 = @bindless_resource_ir3 (%111 (0x1)) (desc_set=2)
MESA: info:     con 32    %113 = @bindless_resource_ir3 (%71 (0x0)) (desc_set=2)
MESA: info:     div 32x4  %114 = (float32)tex (pre-dispatchable) %113 (texture_handle), %112 (sampler_handle), %78 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 1     %115 = fge! %90.x, %114.w
MESA: info:                      @demote_if (%115)
MESA: info:     con 32    %116 = load_const (0x00000003 = 0.000000)
MESA: info:     con 32    %117 = @bindless_resource_ir3 (%116 (0x3)) (desc_set=2)
MESA: info:     con 32    %118 = @bindless_resource_ir3 (%83 (0x2)) (desc_set=2)
MESA: info:     div 32x4  %119 = (float32)tex (pre-dispatchable) %118 (texture_handle), %117 (sampler_handle), %78 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32    %120 = fmin %73.y, %119.z
MESA: info:     con 32x3  %123 = @load_const_ir3 (%71 (0x0)) (base=32)
MESA: info:     div 32x3  %823 = fmul %114.xyz, %123
MESA: info:     con 32    %133 = @load_const_ir3 (%71 (0x0)) (base=48)
MESA: info:     div 32    %134 = fmul %133, %114.w
MESA: info:     con 32    %135 = load_const (0x3f800000 = 1.000000)
MESA: info:     div 32    %136 = fmin %134, %135 (1.000000)
MESA: info:     con 32x4  %142 = @load_const_ir3 (%71 (0x0)) (base=64)
MESA: info:     con 32x4  %151 = @load_const_ir3 (%71 (0x0)) (base=68)
MESA: info:     con 32x4  %164 = @load_const_ir3 (%71 (0x0)) (base=72)
MESA: info:     con 32x4  %178 = @load_const_ir3 (%71 (0x0)) (base=76)
MESA: info:     div 32x4  %830 = ffma %151, %74.zzzz, %178
MESA: info:     div 32x4  %831 = ffma %142, %74.yyyy, %830
MESA: info:     div 32x4  %832 = ffma %164, %74.wwww, %831
MESA: info:     div 32    %183 = frcp %832.w
MESA: info:     div 32x2  %833 = fmul %832.xy, %183.xx
MESA: info:     div 32    %186 = fmin! %833.y, %833.x
MESA: info:     con 32    %187 = load_const (0xbf800000 = -1.000000)
MESA: info:     div 1     %188 = flt! %186, %187 (-1.000000)
MESA: info:     div 32    %189 = fmax! %833.y, %833.x
MESA: info:     div 1     %190 = flt! %135 (1.000000), %189
MESA: info:     div 1     %812 = inot %188
MESA: info:     div 1     %813 = inot %190
MESA: info:     div 1     %814 = iand %812, %813
MESA: info:                      // succs: b7 b8
MESA: info:     if %814 {
MESA: info:         div block b7:        // preds: b6
MESA: info:         con 32     %80 = load_const (0x00000004 = 0.000000)
MESA: info:         con 32     %81 = load_const (0x00000005 = 0.000000)
MESA: info:         con 32    %193 = load_const (0x3f000000 = 0.500000)
MESA: info:         div 32x2  %834 = ffma %193 (0.500000).xx, %833, %193 (0.500000).xx
MESA: info:         div 32    %760 = ffma %193 (0.500000), %832.z, %193 (0.500000)
MESA: info:         con 32    %201 = @bindless_resource_ir3 (%81 (0x5)) (desc_set=2)
MESA: info:         con 32    %202 = @bindless_resource_ir3 (%80 (0x4)) (desc_set=2)
MESA: info:         div 32    %203 = (float32)tex %202 (texture_handle), %201 (sampler_handle), %834 (coord), %760 (comparator), 0 (texture), 0 (sampler)
MESA: info:                          // succs: b9
MESA: info:     } else {
MESA: info:         div block b8:  // preds: b6, succs: b9
MESA: info:     }
MESA: info:     con block b9:        // preds: b7 b8
MESA: info:     div 32    %204 = phi b7: %203, b8: %135 (1.000000)
MESA: info:     con 32     %82 = load_const (0x00000009 = 0.000000)
MESA: info:     con 32    %124 = load_const (0x00000008 = 0.000000)
MESA: info:     con 32    %138 = load_const (0x00000006 = 0.000000)
MESA: info:     con 32    %152 = load_const (0x00000007 = 0.000000)
MESA: info:     con 32    %205 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32    %759 = fsub %205 (2.000000), %119.x
MESA: info:     div 32    %208 = fmul %119.x, %759
MESA: info:     con 32    %209 = load_const (0x3f600000 = 0.875000)
MESA: info:     div 1     %210 = fge! %209 (0.875000), %119.y
MESA: info:     con 32    %211 = load_const (0x3f26f694 = 0.652200)
MESA: info:     div 32    %212 = fmul %211 (0.652200), %119.y
MESA: info:     con 32    %213 = load_const (0xbf600000 = -0.875000)
MESA: info:     div 32    %214 = fadd %119.y, %213 (-0.875000)
MESA: info:     con 32    %215 = load_const (0x405bd07c = 3.434600)
MESA: info:     con 32    %217 = load_const (0x3f1217c2 = 0.570675)
MESA: info:     div 32    %758 = ffma %215 (3.434600), %214, %217 (0.570675)
MESA: info:     div 32    %219 = bcsel %210, %212, %758
MESA: info:     con 32    %220 = load_const (0x400ccccd = 2.200000)
MESA: info:     div 32x3  %838 = flog2 %823
MESA: info:     div 32x3  %839 = fmul %838, %220 (2.200000).xxx
MESA: info:     div 32x3  %840 = fexp2 %839
MESA: info:     div 32x3  %842 = fmul %840, %208.xxx
MESA: info:     div 32x3  %844 = fsub %840, %842
MESA: info:     con 32    %239 = load_const (0x3d23d70a = 0.040000)
MESA: info:     con 32    %241 = load_const (0x3c23d70a = 0.010000)
MESA: info:     div 32    %754 = ffma %219, %239 (0.040000), %241 (0.010000)
MESA: info:     div 32    %753 = fsub %135 (1.000000), %208
MESA: info:     div 32x3  %846 = ffma %754.xxx, %753.xxx, %842
MESA: info:     div 32x3  %848 = fsat %844
MESA: info:     div 32x3  %850 = fsat %846
MESA: info:     con 32x3  %259 = @load_const_ir3 (%71 (0x0)) (base=108)
MESA: info:     div 32x3  %852 = fsub %74.yzw, %259
MESA: info:     div 32    %267 = fmul %821.y, %852.y
MESA: info:     div 32    %746 = ffma %110, %852.z, %267
MESA: info:     div 32    %745 = ffma %821.x, %852.x, %746
MESA: info:     div 32    %271 = fmul %745, %205 (2.000000)
MESA: info:     div 32    %743 = fneg %271
MESA: info:     div 32x2  %853 = ffma %743.xx, %821, %852.xy
MESA: info:     div 32    %740 = ffma %743, %110, %852.z
MESA: info:     div 32    %282 = fmul %853.y, %853.y
MESA: info:     div 32    %738 = ffma %740, %740, %282
MESA: info:     div 32    %737 = ffma %853.x, %853.x, %738
MESA: info:     div 32    %286 = frsq %737
MESA: info:     div 32x2  %854 = fmul %853, %286.xx
MESA: info:     div 32    %289 = fmul %740, %286
MESA: info:     div 32x3  %856 = fsub %219.xxx, %850
MESA: info:     div 32x3  %858 = fmax %856, %71 (0.000000).xxx
MESA: info:     div 32    %300 = fmul %821.y, %854.y
MESA: info:     div 32    %733 = ffma %110, %289, %300
MESA: info:     div 32    %732 = ffma %821.x, %854.x, %733
MESA: info:     div 32    %304 = fabs %732
MESA: info:     div 32    %731 = fsub %135 (1.000000), %304
MESA: info:     div 32    %307 = fsat %731
MESA: info:     div 32    %309 = fmul %307, %307
MESA: info:     div 32    %310 = fmul %309, %309
MESA: info:     div 32    %311 = fmul %310, %307
MESA: info:     div 32x3  %860 = ffma %858, %311.xxx, %850
MESA: info:     div 32x3  %862 = fsub %135 (1.000000).xxx, %860
MESA: info:     div 32x3  %864 = fmul %848, %862
MESA: info:     div 32    %724 = fsub %135 (1.000000), %219
MESA: info:     con 32    %329 = load_const (0x40c00000 = 6.000000)
MESA: info:     div 32    %330 = fmul %329 (6.000000), %724
MESA: info:     con 32x3  %335 = @load_const_ir3 (%71 (0x0)) (base=132)
MESA: info:     con 32x3  %342 = @load_const_ir3 (%71 (0x0)) (base=136)
MESA: info:     con 32x3  %352 = @load_const_ir3 (%71 (0x0)) (base=140)
MESA: info:     con 32x3  %362 = @load_const_ir3 (%71 (0x0)) (base=144)
MESA: info:     div 32x3  %868 = ffma %342, %821.yyy, %362
MESA: info:     div 32x3  %869 = ffma %335, %821.xxx, %868
MESA: info:     div 32x3  %870 = ffma %352, %110.xxx, %869
MESA: info:     con 32    %367 = @bindless_resource_ir3 (%152 (0x7)) (desc_set=2)
MESA: info:     con 32    %368 = @bindless_resource_ir3 (%138 (0x6)) (desc_set=2)
MESA: info:     div 32x4  %369 = (float32)txl %368 (texture_handle), %367 (sampler_handle), %870 (coord), %329 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %900 = mov %369.yzx
MESA: info:     div 32x3  %874 = ffma %342, %854.yyy, %362
MESA: info:     div 32x3  %875 = ffma %335, %854.xxx, %874
MESA: info:     div 32x3  %876 = ffma %352, %289.xxx, %875
MESA: info:     div 32x4  %389 = (float32)txl %368 (texture_handle), %367 (sampler_handle), %876 (coord), %330 (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %894 = mov %389.yzx
MESA: info:     con 32    %390 = @bindless_resource_ir3 (%82 (0x9)) (desc_set=2)
MESA: info:     con 32    %391 = @bindless_resource_ir3 (%124 (0x8)) (desc_set=2)
MESA: info:     div 32x4  %392 = (float32)txl %391 (texture_handle), %390 (sampler_handle), %870 (coord), %329 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %897 = mov %392.yzx
MESA: info:     div 32x4  %393 = (float32)txl %391 (texture_handle), %390 (sampler_handle), %876 (coord), %330 (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %891 = mov %393.yzx
MESA: info:     con 32    %397 = @load_const_ir3 (%71 (0x0)) (base=148)
MESA: info:     con 1     %398 = flt! %135 (1.000000), %397
MESA: info:                      // succs: b10 b11
MESA: info:     if %398 {
MESA: info:         con block b10:       // preds: b9
MESA: info:         con 32x4  %401 = @load_const_ir3 (%71 (0x0)) (base=112)
MESA: info:         con 32    %403 = @load_const_ir3 (%71 (0x0)) (base=0)
MESA: info:         con 32    %405 = @load_const_ir3 (%71 (0x0)) (base=1)
MESA: info:         con 32    %407 = @load_const_ir3 (%71 (0x0)) (base=2)
MESA: info:         div 32    %408 = fmax %110, %71 (0.000000)
MESA: info:         div 32    %409 = fadd %135 (1.000000), %408
MESA: info:         div 32    %410 = fmul %405, %409
MESA: info:         div 32x3  %899 = mov %410.xxx
MESA: info:         div 32    %412 = fmul %821.y, %401.y
MESA: info:         div 32    %711 = ffma %110, %401.z, %412
MESA: info:         div 32    %710 = ffma %821.x, %401.x, %711
MESA: info:         div 32    %416 = fmax %710, %71 (0.000000)
MESA: info:         div 32    %417 = fadd %410, %416
MESA: info:         div 32    %418 = fmul %407, %417
MESA: info:         div 32x3  %896 = mov %418.xxx
MESA: info:         con 32    %419 = load_const (0x3dcccccd = 0.100000)
MESA: info:         con 32    %420 = fmul %419 (0.100000), %403
MESA: info:         con 32x3  %893 = mov %420.xxx
MESA: info:         div 32    %422 = fmul %854.y, %401.y
MESA: info:         div 32    %709 = ffma %289, %401.z, %422
MESA: info:         div 32    %708 = ffma %854.x, %401.x, %709
MESA: info:         div 32    %426 = fmax %708, %71 (0.000000)
MESA: info:         div 32    %427 = fmul %403, %426
MESA: info:         div 32x3  %890 = mov %427.xxx
MESA: info:                          // succs: b12
MESA: info:     } else {
MESA: info:         con block b11:  // preds: b9, succs: b12
MESA: info:     }
MESA: info:     con block b12:       // preds: b10 b11
MESA: info:     div 32x3  %889 = phi b10: %890, b11: %891
MESA: info:     div 32x3  %895 = phi b10: %896, b11: %897
MESA: info:     div 32x3  %892 = phi b10: %893, b11: %894
MESA: info:     div 32x3  %898 = phi b10: %899, b11: %900
MESA: info:     con 32    %165 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:     con 32    %166 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:     con 32    %308 = load_const (0x40a00000 = 5.000000)
MESA: info:     con 32    %454 = @load_const_ir3 (%71 (0x0)) (base=115)
MESA: info:     div 32    %455 = fmul %397, %120
MESA: info:     con 32    %460 = @load_const_ir3 (%71 (0x0)) (base=3)
MESA: info:     con 32    %461 = load_const (0x3f266666 = 0.650000)
MESA: info:     con 32    %463 = load_const (0x3eb33333 = 0.350000)
MESA: info:     div 32    %707 = ffma %120, %461 (0.650000), %463 (0.350000)
MESA: info:     div 32    %465 = fmul %460, %707
MESA: info:     div 32    %466 = fmul %465, %204
MESA: info:     div 32x3  %902 = fsub %895.zxy, %898.zxy
MESA: info:     div 32x3  %904 = fmul %466.xxx, %902
MESA: info:     div 32x3  %906 = ffma %455.xxx, %898.zxy, %904
MESA: info:     div 32x3  %908 = fmul %397.xxx, %892.zxy
MESA: info:     div 32x3  %911 = fneg %908
MESA: info:     div 32x3  %912 = ffma %460.xxx, %889.zxy, %911
MESA: info:     div 32x3  %914 = fmul %204.xxx, %912
MESA: info:     div 32x3  %916 = ffma %397.xxx, %892.zxy, %914
MESA: info:     div 32x3  %918 = fmul %860, %916
MESA: info:     div 32x3  %920 = ffma %864, %906, %918
MESA: info:     div 32x3  %922 = fmul %454.xxx, %920
MESA: info:     div 32    %690 = fneg %136
MESA: info:     div 32    %691 = ffma %690, %79, %135 (1.000000)
MESA: info:     div 32    %688 = fneg %862.x
MESA: info:     div 32    %689 = ffma %688, %691, %135 (1.000000)
MESA: info:     div 32    %515 = fmul %852.y, %852.y
MESA: info:     div 32    %687 = ffma %852.z, %852.z, %515
MESA: info:     div 32    %686 = ffma %852.x, %852.x, %687
MESA: info:     div 32    %519 = frsq %686
MESA: info:     div 32x3  %924 = fmul %852, %519.xxx
MESA: info:     div 32x3  %928 = ffma %342, %924.yyy, %362
MESA: info:     div 32x3  %929 = ffma %335, %924.xxx, %928
MESA: info:     div 32x3  %930 = ffma %352, %924.zzz, %929
MESA: info:     con 32    %542 = @bindless_resource_ir3 (%166 (0xb)) (desc_set=2)
MESA: info:     con 32    %543 = @bindless_resource_ir3 (%165 (0xa)) (desc_set=2)
MESA: info:     div 32x4  %544 = (float32)txl %543 (texture_handle), %542 (sampler_handle), %930 (coord), %71 (0.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %545 = (float32)txl %543 (texture_handle), %542 (sampler_handle), %930 (coord), %329 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     con 32x3  %552 = @load_const_ir3 (%71 (0x0)) (base=164)
MESA: info:     div 32    %553 = fmul %552.x, %75.w
MESA: info:     div 32x2  %931 = fmul %552.yz, %76
MESA: info:     div 32    %679 = ffma %922.x, %75.x, %553
MESA: info:     div 32x2  %932 = ffma %922.yz, %75.yz, %931
MESA: info:     con 32    %559 = load_const (0xbf4ccccd = -0.800000)
MESA: info:     div 32    %560 = fadd %73.x, %559 (-0.800000)
MESA: info:     div 32    %561 = fmul %560, %308 (5.000000)
MESA: info:     div 32    %562 = fsat %561
MESA: info:     div 32x3  %934 = fsub %544.xyz, %545.xyz
MESA: info:     div 32x3  %936 = ffma %562.xxx, %934, %545.xyz
MESA: info:     div 32    %578 = fneg %679
MESA: info:     div 32    %670 = ffma %454, %936.x, %578
MESA: info:     div 32    %669 = ffma %73.x, %670, %679
MESA: info:     div 32x2  %937 = fneg %932
MESA: info:     div 32x2  %938 = ffma %454.xx, %936.yz, %937
MESA: info:     div 32x2  %939 = ffma %73.xx, %938, %932
MESA: info:     con 32x3  %592 = @load_const_ir3 (%71 (0x0)) (base=80)
MESA: info:     con 32x3  %599 = @load_const_ir3 (%71 (0x0)) (base=84)
MESA: info:     div 32x3  %941 = fmul %599, %821.yyy
MESA: info:     div 32x3  %943 = ffma %592, %821.xxx, %941
MESA: info:     con 32x3  %609 = @load_const_ir3 (%71 (0x0)) (base=88)
MESA: info:     div 32x3  %945 = ffma %609, %110.xxx, %943
MESA: info:     div 32x4  %616 = vec4 %669, %939.x, %939.y, %689
MESA: info:                      @store_output (%616, %71 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %617 = vec4 %945.x, %945.y, %945.z, %135 (0x3f800000)
MESA: info:                      @store_output (%617, %71 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA1 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b13
MESA: info:     block b13:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 e56be0dccfb5ff4bce93a038b5414168c47f9a84:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (40 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      7
MESA: info: ;   range[0]:
MESA: info: ;     block:          9
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (512b -> 576b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          9
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          9
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           4 vec4 (256b -> 320b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          6
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c16.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[4]:
MESA: info: ;     block:          5
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           8 vec4 (256b -> 384b)
MESA: info: ;   range[5]:
MESA: info: ;     block:          7
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c28.x
MESA: info: ;     size:           12 vec4 (0b -> 192b)
MESA: info: ;   range[6]:
MESA: info: ;     block:          8
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c40.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.z)	in0 (wrmask=0x3)
MESA: info: @in(r0.x)	in1 (wrmask=0x3)
MESA: info: @in(hr2.x)	in2 (wrmask=0x1)
MESA: info: @tex(r1.y)	src=14, bindless=1, samp=1, tex=0, wrmask=0xf, opc=sam
MESA: info: @tex(r2.y)	src=14, bindless=1, samp=3, tex=2, wrmask=0x7, opc=sam
MESA: info: @const(c44.x)	0x3e800000, 0x3fc00000, 0xbf800000, 0xbf4ccccd
MESA: info: @const(c45.x)	0x40a00000, 0x400ccccd, 0x3f26f694, 0x3f600000
MESA: info: @const(c46.x)	0x405bd07c, 0xbf600000, 0x3f1217c2, 0x3c23d70a
MESA: info: @const(c47.x)	0x3d23d70a, 0x3eb33333, 0x3f266666, 0x3f000000
MESA: info: @const(c48.x)	0x3dcccccd, 0x40c00000, 0x3f800000, 0xd0d0d0d0
MESA: info: shps #l40
MESA: info: getone #l40
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#3, t#2
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#5, t#4
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#7, t#6
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#9, t#8
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#11, t#10
MESA: info: (ss)nop
MESA: info: ldc.u.offset3.1.imm.base1 r48.x, 0, 7
MESA: info: ldc.u.offset0.1.imm.base1 r48.y, 9, 7
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)rcp r48.x, r48.x
MESA: info: rcp r48.y, r48.y
MESA: info: (ss)(rpt1)mul.f r48.z, r48.x, (r)c44.x
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[3], r48.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[1], r48.z, 1
MESA: info: stc.u32 c[2], r48.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 32, 9
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 9
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 16, 9
MESA: info: (ss)mova1 a1.x, (r)64
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 6
MESA: info: (ss)mova1 a1.x, (r)80
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 16, 5
MESA: info: (ss)mova1 a1.x, (r)112
MESA: info: (ss)nop
MESA: info: ldc.12.k.imm.base1 c[a1.x], 0, 7
MESA: info: (ss)mova1 a1.x, (r)160
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 8
MESA: info: (sy)(ss)shpe
MESA: info: l40:
MESA: info: (jp)bary.f r4.x, 3, r0.z
MESA: info: bary.f r4.w, 6, r0.z
MESA: info: bary.f r4.y, 4, r0.z
MESA: info: bary.f r5.x, 5, r0.z
MESA: info: bary.f r3.w, 2, r0.z
MESA: info: bary.f r5.y, 7, r0.z
MESA: info: bary.f r0.x, 16, (last)r0.x
MESA: info: bary.f r4.z, 1, r0.z
MESA: info: bary.f r8.y, 11, r0.z
MESA: info: (rpt1)bary.f r8.z, (r)12, r0.z
MESA: info: (rpt1)bary.f r9.x, (r)8, r0.z
MESA: info: bary.f r9.z, 0, r0.z
MESA: info: bary.f (ei)r0.z, 10, (last)r0.z
MESA: info: cmps.s.ne hr50.x, c4.y, 0
MESA: info: mul.f r5.z, r4.x, r4.x
MESA: info: mad.f32 r8.x, c17.w, r4.w, c19.w
MESA: info: mad.f32 r5.z, r4.y, r4.y, (last)r5.z
MESA: info: mad.f32 r8.x, c16.w, r5.x, (last)r8.x
MESA: info: mad.f32 r5.z, r3.w, r3.w, (last)r5.z
MESA: info: mad.f32 r8.x, c18.w, r5.y, (last)r8.x
MESA: info: mad.f32 r5.w, c17.x, r4.w, c19.x
MESA: info: mad.f32 r6.z, c17.y, r4.w, c19.y
MESA: info: mad.f32 r5.w, c16.x, r5.x, (last)r5.w
MESA: info: cmps.s.eq hr2.x, (last)hr2.x, h(0)
MESA: info: rsq r5.z, (last)r5.z
MESA: info: mad.f32 r6.z, c16.y, r5.x, (last)r6.z
MESA: info: rcp r8.x, (last)r8.x
MESA: info: mad.f32 r6.x, c18.x, r5.y, (last)r5.w
MESA: info: (sy)cmps.f.ge p0.x, c4.x, r2.x
MESA: info: cmps.f.lt p0.y, r0.x, c4.x
MESA: info: mad.f32 r6.y, c18.y, r5.y, (last)r6.z
MESA: info: sub.u hr2.x, h(1), (last)hr2.x
MESA: info: mad.f32 r7.w, c17.z, r4.w, c19.z
MESA: info: mul.f r2.x, c12.x, (last)r2.x
MESA: info: mad.f32 r7.w, c16.z, r5.x, (last)r7.w
MESA: info: kill p0.y
MESA: info: kill p0.x
MESA: info: (ss)(rpt1)mul.f r3.w, (last)(r)r3.w, r5.z
MESA: info: mul.f r4.y, (last)r4.y, (last)r5.z
MESA: info: (rpt1)mul.f r6.x, (last)(r)r6.x, (last)r8.x
MESA: info: and.b r6.w, (last)hr2.x, hr50.x
MESA: info: absneg.f r7.x, (neg)r3.w
MESA: info: absneg.f r7.y, (neg)r4.x
MESA: info: absneg.f r7.z, (neg)r4.y
MESA: info: min.f r9.w, r6.y, r6.x
MESA: info: max.f r10.x, r6.y, r6.x
MESA: info: (rpt1)mul.f r3.x, (last)(r)r1.y, (r)c8.x
MESA: info: mul.f r3.z, (last)r1.w, c8.z
MESA: info: min.f r4.z, (last)r4.z, (last)r2.w
MESA: info: min.f r2.x, (last)r2.x, (1.0)
MESA: info: mad.f32 r7.w, c18.z, r5.y, (last)r7.w
MESA: info: sel.b32 r7.x, (last)r7.x, r6.w, (last)r3.w
MESA: info: sel.b32 r7.y, (last)r7.y, r6.w, (last)r4.x
MESA: info: sel.b32 r7.z, (last)r7.z, r6.w, (last)r4.y
MESA: info: cmps.f.lt p0.x, (last)r9.w, c44.z
MESA: info: (nop3) cmps.f.lt p0.y, (1.0), (last)r10.x
MESA: info: (rpt1)nop
MESA: info: brao p0.x, p0.y, #l105
MESA: info: (rpt1)mad.f32 r6.x, c47.w, (r)r6.x, c47.w
MESA: info: (nop3) mad.f32 r7.w, c47.w, r7.w, c47.w
MESA: info: (rpt1)nop
MESA: info: alias.tex.b32.0 r6.z, r7.w
MESA: info: sam.s.base2 (f32)(x)r10.y, r6.x, s#5, t#4
MESA: info: (eq)nop
MESA: info: jump #l107
MESA: info: l105:
MESA: info: (eq)(jp)nop
MESA: info: mov.u32u32 r10.y, 0x3f800000
MESA: info: l107:
MESA: info: (jp)(rpt2)log2 r3.x, (last)(r)r3.x
MESA: info: add.f r4.w, (last)r4.w, (neg)c27.y
MESA: info: add.f r5.y, (last)r5.y, (neg)c27.z
MESA: info: add.f r5.x, (last)r5.x, (neg)c27.x
MESA: info: mul.f r11.w, r7.y, r4.w
MESA: info: add.f r10.w, r2.z, c46.y
MESA: info: mad.f32 r11.w, r7.z, r5.y, (last)r11.w
MESA: info: add.f r10.z, (2.0), (neg)r2.y
MESA: info: mad.f32 r11.w, r7.x, r5.x, (last)r11.w
MESA: info: cmps.f.ge r11.x, c45.w, r2.z
MESA: info: mad.f32 r1.z, c34.x, r7.y, c36.x
MESA: info: mul.f r11.w, (last)r11.w, (2.0)
MESA: info: (ss)(rpt2)mul.f r3.x, (last)(r)r3.x, c45.y
MESA: info: mad.f32 r0.w, (neg)r11.w, r7.y, r4.w
MESA: info: mad.f32 r1.x, (neg)r11.w, r7.z, r5.y
MESA: info: mad.f32 r11.w, (neg)(last)r11.w, r7.x, r5.x
MESA: info: (rpt2)exp2 r3.x, (last)(r)r3.x
MESA: info: mul.f r1.y, r0.w, r0.w
MESA: info: mad.f32 r1.w, c34.y, r7.y, c36.y
MESA: info: mad.f32 r1.y, r1.x, r1.x, (last)r1.y
MESA: info: mad.f32 r2.w, c34.z, r7.y, c36.z
MESA: info: mad.f32 r1.y, r11.w, r11.w, (last)r1.y
MESA: info: mul.f r2.z, c45.z, (last)r2.z
MESA: info: mad.f32 r10.w, c46.x, r10.w, c46.z
MESA: info: mad.f32 r1.z, c33.x, r7.x, (last)r1.z
MESA: info: mad.f32 r1.w, c33.y, r7.x, (last)r1.w
MESA: info: mad.f32 r2.w, c33.z, r7.x, (last)r2.w
MESA: info: rsq r1.y, (last)r1.y
MESA: info: mul.f r2.y, (last)r2.y, (last)r10.z
MESA: info: sel.b32 r2.z, (last)r2.z, r11.x, (last)r10.w
MESA: info: mad.f32 r1.z, c35.x, r7.z, (last)r1.z
MESA: info: mad.f32 r1.w, c35.y, r7.z, (last)r1.w
MESA: info: mad.f32 r2.w, c35.z, r7.z, (last)r2.w
MESA: info: add.f r11.y, (1.0), (neg)r2.y
MESA: info: mad.f32 r11.z, c47.x, r2.z, c46.w
MESA: info: add.f r0.y, (1.0), (neg)r2.z
MESA: info: cmps.f.lt p0.x, (1.0), c37.x
MESA: info: (ss)mul.f r0.w, (last)r0.w, r1.y
MESA: info: alias.tex.b32.1 r2.x, r2.w
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r3.w, r1.z, r40.x, s#7, t#6
MESA: info: alias.tex.b32.1 r2.x, r2.w
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r5.z, r1.z, r40.x, s#9, t#8
MESA: info: mul.f r1.x, (last)r1.x, r1.y
MESA: info: mul.f r11.w, (last)r11.w, (last)r1.y
MESA: info: mul.f r9.w, r7.y, r0.w
MESA: info: mul.f r6.y, r3.x, r2.y
MESA: info: mad.f32 r9.w, r7.z, r1.x, (last)r9.w
MESA: info: (sat)mad.f32 r10.z, r11.z, r11.y, r6.y
MESA: info: mad.f32 r9.w, r7.x, r11.w, (last)r9.w
MESA: info: (ss)(rpt1)mul.f r1.y, (r)r3.y, (last)r2.y
MESA: info: (sat)add.f r9.w, (1.0), (last)(absneg)r9.w
MESA: info: (sat)(rpt1)mad.f32 r10.w, (last)r11.z, r11.y, (r)r1.y
MESA: info: mul.f r11.y, r9.w, r9.w
MESA: info: add.f r1.w, r2.z, (neg)r10.z
MESA: info: mad.f32 r10.x, c34.x, r0.w, c36.x
MESA: info: mul.f r11.y, (last)r11.y, r11.y
MESA: info: (sat)add.f r3.x, (last)r3.x, (last)(neg)r6.y
MESA: info: mad.f32 r2.y, c34.z, r0.w, c36.z
MESA: info: max.f r6.y, (last)r1.w, (0.0)
MESA: info: mad.f32 r1.w, c34.y, r0.w, c36.y
MESA: info: mad.f32 r10.x, c33.x, r11.w, (last)r10.x
MESA: info: mul.f r11.y, (last)r11.y, (last)r9.w
MESA: info: mad.f32 r2.y, c33.z, r11.w, (last)r2.y
MESA: info: mad.f32 r1.w, c33.y, r11.w, (last)r1.w
MESA: info: mul.f r0.y, c48.y, (last)r0.y
MESA: info: (rpt1)add.f r7.w, (last)r2.z, (neg)(r)r10.w
MESA: info: mad.f32 r10.x, c35.x, r1.x, (last)r10.x
MESA: info: mad.f32 r2.y, c35.z, r1.x, (last)r2.y
MESA: info: mad.f32 r1.w, c35.y, r1.x, (last)r1.w
MESA: info: (rpt1)max.f r6.z, (last)(r)r7.w, (0.0)
MESA: info: (rpt2)mad.f32 r6.y, (r)(last)r6.y, r11.y, (r)(last)r10.z
MESA: info: alias.tex.b32.1 r10.y, r1.w
MESA: info: alias.tex.b32.0 r10.z, r2.y
MESA: info: saml.3d.base2 (f32)(xyz)r10.z, r10.x, r0.y, s#7, t#6
MESA: info: (sat)add.f r3.y, (last)r3.y, (last)(neg)r1.y
MESA: info: (sat)add.f r3.z, (last)r3.z, (last)(neg)r1.z
MESA: info: add.f r11.z, (1.0), (neg)r6.y
MESA: info: add.f r1.y, (1.0), (neg)r6.z
MESA: info: add.f r1.z, (1.0), (neg)r6.w
MESA: info: mul.f r3.x, (last)r3.x, r11.z
MESA: info: mul.f r3.y, (last)r3.y, (last)r1.y
MESA: info: mul.f r3.z, (last)r3.z, (last)r1.z
MESA: info: (ss)nop
MESA: info: alias.tex.b32.1 r10.y, r1.w
MESA: info: alias.tex.b32.0 r10.z, r2.y
MESA: info: saml.3d.base2 (f32)(xyz)r1.y, r10.x, r0.y, s#9, t#8
MESA: info: br !p0.x, #l221
MESA: info: mov.u32u32 r49.y, c0.x
MESA: info: mul.f r49.y, c48.x, r49.y
MESA: info: mul.f r2.z, r7.y, c28.y
MESA: info: mul.f r0.w, (last)r0.w, c28.y
MESA: info: mad.f32 r2.z, c28.z, r7.z, (last)r2.z
MESA: info: mad.f32 r1.x, c28.z, r1.x, (last)r0.w
MESA: info: mad.f32 r2.z, c28.x, r7.x, (last)r2.z
MESA: info: mad.f32 r11.w, c28.x, r11.w, (last)r1.x
MESA: info: (ss)max.f r2.y, r7.z, (0.0)
MESA: info: max.f r2.z, (last)r2.z, (0.0)
MESA: info: max.f r11.w, (last)r11.w, (0.0)
MESA: info: (nop2) add.f r2.y, (1.0), (last)r2.y
MESA: info: (sy)mul.f r4.x, c0.y, (last)r2.y
MESA: info: mov.u32u32 r10.w, r49.y
MESA: info: mul.f r1.z, c0.x, (last)r11.w
MESA: info: add.f r2.z, r4.x, (last)r2.z
MESA: info: mov.u32u32 r4.y, r4.x
MESA: info: mov.u32u32 r3.w, r4.x
MESA: info: mul.f r5.w, c0.z, (last)r2.z
MESA: info: mov.u32u32 r11.x, r10.w
MESA: info: mov.u32u32 r10.z, r10.w
MESA: info: mov.u32u32 r1.w, r1.z
MESA: info: mov.u32u32 r1.y, r1.z
MESA: info: mov.u32u32 r6.x, r5.w
MESA: info: mov.u32u32 r5.z, r5.w
MESA: info: l221:
MESA: info: mul.f r8.w, c41.z, (last)r8.w
MESA: info: mad.f32 r2.x, (neg)(last)r2.x, r0.x, c48.z
MESA: info: mul.f r8.y, c41.x, (last)r8.y
MESA: info: mul.f r8.z, c41.y, (last)r8.z
MESA: info: mad.f32 r2.x, (neg)(last)r11.z, r2.x, c48.z
MESA: info: (sy)(rpt1)add.f r2.z, (last)(r)r5.w, (neg)(r)r4.x
MESA: info: add.f r2.y, (last)r5.z, (neg)r3.w
MESA: info: mul.f r6.x, c37.x, r10.w
MESA: info: mad.f32 r5.z, c47.z, r4.z, c47.y
MESA: info: mad.f32 r1.z, c0.w, r1.z, (neg)(last)r6.x
MESA: info: mul.f r4.z, c37.x, (last)r4.z
MESA: info: mul.f r5.z, c0.w, (last)r5.z
MESA: info: mul.f r1.z, r10.y, (last)r1.z
MESA: info: mul.f r5.w, c37.x, r10.z
MESA: info: mul.f r5.z, (last)r5.z, r10.y
MESA: info: mad.f32 r10.w, c37.x, r10.w, (last)r1.z
MESA: info: mad.f32 r1.y, c0.w, r1.y, (neg)(last)r5.w
MESA: info: (rpt2)mul.f r2.y, (last)r5.z, (last)(r)r2.y
MESA: info: mul.f r6.z, (last)r6.z, (last)r10.w
MESA: info: (rpt2)mad.f32 r3.w, (last)r4.z, (r)r3.w, (r)(last)r2.y
MESA: info: mul.f r1.y, r10.y, (last)r1.y
MESA: info: mad.f32 r3.y, (last)r3.y, r4.x, (last)r6.z
MESA: info: mul.f r6.z, r4.w, r4.w
MESA: info: mad.f32 r10.z, c37.x, r10.z, (last)r1.y
MESA: info: mad.f32 r6.z, r5.y, r5.y, (last)r6.z
MESA: info: mul.f r3.y, c28.w, (last)r3.y
MESA: info: mad.f32 r6.z, r5.x, r5.x, (last)r6.z
MESA: info: mul.f r6.y, (last)r6.y, (last)r10.z
MESA: info: mad.f32 r7.w, (last)r3.y, r9.y, (last)r8.z
MESA: info: mad.f32 r3.x, (last)r3.x, r3.w, (last)r6.y
MESA: info: mul.f r6.y, c37.x, r11.x
MESA: info: mul.f r8.z, c21.x, r7.y
MESA: info: rsq r6.z, (last)r6.z
MESA: info: mad.f32 r1.w, c0.w, r1.w, (neg)(last)r6.y
MESA: info: mul.f r3.x, c28.w, (last)r3.x
MESA: info: mul.f r10.z, c21.y, r7.y
MESA: info: mul.f r10.y, (last)r10.y, (last)r1.w
MESA: info: mad.f32 r3.x, (last)r3.x, r9.x, (last)r8.y
MESA: info: mad.f32 r11.x, c37.x, r11.x, (last)r10.y
MESA: info: add.f r8.y, r9.z, c44.w
MESA: info: mul.f r7.y, c21.z, (last)r7.y
MESA: info: mul.f r6.w, (last)r6.w, (last)r11.x
MESA: info: (sat)mul.f r8.y, (last)r8.y, c45.x
MESA: info: (ss)mul.f r4.w, (last)r4.w, r6.z
MESA: info: mul.f r5.x, (last)r5.x, r6.z
MESA: info: mul.f r5.y, (last)r5.y, (last)r6.z
MESA: info: mad.f32 r9.w, c34.x, r4.w, c36.x
MESA: info: (rpt1)mad.f32 r10.x, (r)c34.y, r4.w, (r)c36.y
MESA: info: mad.f32 r9.w, c33.x, r5.x, (last)r9.w
MESA: info: (rpt1)mad.f32 r10.x, (r)c33.y, r5.x, (r)(last)r10.x
MESA: info: mad.f32 r9.w, c35.x, r5.y, (last)r9.w
MESA: info: (rpt1)mad.f32 r10.x, (r)c35.y, r5.y, (r)(last)r10.x
MESA: info: mad.f32 r3.z, (last)r3.z, r4.y, (last)r6.w
MESA: info: mad.f32 r9.x, c20.y, r7.x, (last)r10.z
MESA: info: mad.f32 r9.y, c20.z, r7.x, (last)r7.y
MESA: info: (nop1) mul.f r3.z, c28.w, (last)r3.z
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: saml.3d.base2 (f32)(xyz)r10.w, r9.w, r40.x, s#11, t#10
MESA: info: nop
MESA: info: mad.f32 r8.x, (last)r3.z, r0.z, (last)r8.w
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r0.x, r9.w, r40.x, s#11, t#10
MESA: info: (nop1) mad.f32 r8.w, c20.x, r7.x, (last)r8.z
MESA: info: (rpt2)mad.f32 r2.y, (r)c22.x, r7.z, (r)(last)r8.w
MESA: info: (sy)add.f r10.w, (last)r10.w, (neg)r0.x
MESA: info: add.f r11.x, (last)r11.x, (neg)r0.y
MESA: info: add.f r11.y, (last)r11.y, (neg)r0.z
MESA: info: mad.f32 r10.w, r8.y, r10.w, (last)r0.x
MESA: info: mad.f32 r0.w, r8.y, r11.x, (last)r0.y
MESA: info: mad.f32 r1.x, (last)r8.y, r11.y, (last)r0.z
MESA: info: mad.f32 r10.w, c28.w, r10.w, (neg)r3.x
MESA: info: (rpt1)mad.f32 r0.w, c28.w, (r)r0.w, (neg)(r)r7.w
MESA: info: mad.f32 r1.y, r9.z, r10.w, (last)r3.x
MESA: info: (rpt1)mad.f32 r1.z, (last)r9.z, (r)r0.w, (r)(last)r7.w
MESA: info: mov.u32u32 r3.x, 0x3f800000
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r1.y (FRAG_RESULT_DATA0) r2.y (FRAG_RESULT_DATA1)
MESA: info: ; FRAG: inputs: r9.z (VARYING_SLOT_VAR0 slot=32 cm=f,il=0,b=1) r4.y (VARYING_SLOT_VAR1 slot=33 cm=f,il=4,b=1) r9.x (VARYING_SLOT_VAR2 slot=34 cm=f,il=8,b=1) r8.z (VARYING_SLOT_VAR3 slot=35 cm=f,il=12,b=1) r0.x (VARYING_SLOT_VAR4 slot=36 cm=1,il=16,b=1) r0.z (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_CENTROID slot=58 cm=3,il=0,b=0) r2.x (SYSTEM_VALUE_FRONT_FACE slot=23 cm=1,il=0,b=0)
MESA: info: ; FRAG prog 111/1: 299 instr, 18 nops, 281 non-nops, 12 mov, 0 cov, 608 dwords
MESA: info: ; FRAG prog 111/1: 14 last-baryf, 79 last-helper, 0 half, 12 full, 52 constlen
MESA: info: ; FRAG prog 111/1: 24 cat0, 12 cat1, 131 cat2, 104 cat3, 10 cat4, 7 cat5, 0 cat6, 11 cat7
MESA: info: ; FRAG prog 111/1: 1 sstall, 7 (ss), 88 systall, 4 (sy), 0 loops
MESA: info: ; FRAG prog 111/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 41 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.z
MESA: info: ; pos (ij_centroid): r0.x
MESA: info: ; data0: r1.y
MESA: info: ; data1: r2.y
MESA: info: ; fragface: r2.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x543fff10, 0xbead8672, 0x1f0d1008, 0xb1d73382, 0x72ef3dfb, 0xb870d2be, 0xcffcbad7, 0x64d0c3a8}
MESA: info: inputs_read: 15-17
MESA: info: outputs_written: 0,32-36
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 3
MESA: info: outputs: 6
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #1 (VERT_ATTRIB_GENERIC1.xyz, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none float #2 (VERT_ATTRIB_GENERIC2.x, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #3 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #4 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #5 (VARYING_SLOT_VAR1.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #6 (VARYING_SLOT_VAR2.xyzw, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #7 (VARYING_SLOT_VAR3.xyzw, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none float #8 (VARYING_SLOT_VAR4.x, 5, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #9
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = @bindless_resource_ir3 (%2 (0.000000)) (desc_set=1)
MESA: info:             con 32      %4 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %8 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32      %9 = @bindless_resource_ir3 (%4 (0x1)) (desc_set=1)
MESA: info:             con 32x2  %331 = @load_ubo_vec4 (%9, %2 (0.000000)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %349 = load_const (0x00000019 = 0.000000 = 25)
MESA: info:             con 32    %334 = @load_ubo_vec4 (%3, %349 (0x19)) (access=speculatable, base=0, component=1)
MESA: info:             con 32x2  %424 = fmul %331, %334.xx
MESA: info:             con 32     %15 = fneg %424.x
MESA: info:                              @store_const_ir3 (%15) (base=0)
MESA: info:             con 32     %16 = frcp %424.y
MESA: info:                              @store_const_ir3 (%16) (base=1)
MESA: info:             con 32    %350 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32    %337 = @load_ubo_vec4 (%9, %350 (0x4)) (access=speculatable, base=0, component=1)
MESA: info:             con 1      %19 = fge! %2 (0.000000), %337
MESA: info:             con 1      %20 = inot %19
MESA: info:             con 32     %21 = b2i32 %20
MESA: info:                              @store_const_ir3 (%21) (base=2)
MESA: info:             con 32     %22 = frcp %337
MESA: info:                              @store_const_ir3 (%22) (base=3)
MESA: info:             con 32    %351 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32    %340 = @load_ubo_vec4 (%9, %351 (0x2)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %24 = frcp %340
MESA: info:                              @store_const_ir3 (%24) (base=4)
MESA: info:             con 32    %352 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32    %343 = @load_ubo_vec4 (%9, %352 (0x3)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %26 = frcp %343
MESA: info:                              @store_const_ir3 (%26) (base=5)
MESA: info:             con 32    %346 = @load_ubo_vec4 (%9, %350 (0x4)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %422 = fneg %346
MESA: info:             con 32    %423 = ffma %422, %346, %8 (1.000000)
MESA: info:             con 32     %32 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32x2  %425 = load_const (0x40000000, 0x3f800000) = (2.000000, 1.000000)
MESA: info:             con 32x2  %426 = ffma %346.xx, %346.xx, %425 (2.000000, 1.000000)
MESA: info:             con 32    %427 = mov %426.y
MESA: info:                              @store_const_ir3 (%427) (base=6)
MESA: info:             con 32     %35 = frcp %426.x
MESA: info:             con 32     %36 = load_const (0x3ef47d19 = 0.477517)
MESA: info:             con 32     %37 = fmul %423, %36 (0.477517)
MESA: info:             con 32     %38 = fmul %37, %35
MESA: info:                              @store_const_ir3 (%38) (base=7)
MESA: info:             con 32     %39 = fmul %32 (2.000000), %346
MESA: info:                              @store_const_ir3 (%39) (base=8)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%3, %2 (0.000000)) (base=16, range=4)
MESA: info:             con 32     %45 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%3, %45 (0x14)) (base=32, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%9, %2 (0.000000)) (base=48, range=8)
MESA: info:             con 32     %50 = @bindless_resource_ir3 (%351 (0x2)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%50, %2 (0.000000)) (base=80, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %52 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x4   %53 = @load_input (%52 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3   %54 = @load_input (%52 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32     %55 = @load_input (%52 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     con 32x4   %60 = @load_const_ir3 (%52 (0x0)) (base=16)
MESA: info:     con 32x4   %69 = @load_const_ir3 (%52 (0x0)) (base=20)
MESA: info:     div 32x4  %430 = fmul %69, %53.yyyy
MESA: info:     div 32x4  %433 = ffma %60, %53.xxxx, %430
MESA: info:     con 32x4   %81 = @load_const_ir3 (%52 (0x0)) (base=24)
MESA: info:     div 32x4  %436 = ffma %81, %53.zzzz, %433
MESA: info:     con 32x4   %93 = @load_const_ir3 (%52 (0x0)) (base=28)
MESA: info:     div 32x4  %439 = ffma %93, %53.wwww, %436
MESA: info:     con 32    %102 = load_const (0xc2c80000 = -100.000000)
MESA: info:     div 1     %103 = flt! %102 (-100.000000), %53.z
MESA: info:     con 32    %104 = load_const (0x3f800000 = 1.000000)
MESA: info:     div 32    %105 = b2f32 %103
MESA: info:     con 32x2  %440 = load_const (0x39000000, 0x3b03126f) = (0.000122, 0.002000)
MESA: info:     div 32x2  %441 = fmul %55.xx, %440 (0.000122, 0.002000)
MESA: info:     con 32    %108 = load_const (0x3b03126f = 0.002000)
MESA: info:     div 32    %110 = fmul %53.z, %108 (0.002000)
MESA: info:     con 32x3  %116 = @load_const_ir3 (%52 (0x0)) (base=44)
MESA: info:     con 32    %120 = @load_const_ir3 (%52 (0x0)) (base=48)
MESA: info:     div 32x3  %443 = fsub %53.xyz, %116
MESA: info:     div 32    %128 = fmul %443.y, %443.y
MESA: info:     div 32    %404 = ffma %443.z, %443.z, %128
MESA: info:     div 32    %403 = ffma %443.x, %443.x, %404
MESA: info:     div 32    %132 = fsqrt %403
MESA: info:     con 32    %134 = @load_const_ir3 (%52 (0x0)) (base=0)
MESA: info:     div 32    %135 = fadd %132, %134
MESA: info:     con 32    %137 = @load_const_ir3 (%52 (0x0)) (base=1)
MESA: info:     div 32    %138 = fmul %135, %137
MESA: info:     div 32    %139 = fsat %138
MESA: info:     div 32    %140 = fmul %139, %139
MESA: info:     div 32    %141 = fmul %140, %140
MESA: info:     div 32    %142 = fmul %141, %140
MESA: info:     div 32    %143 = fmul %120, %142
MESA: info:     con 32    %147 = @load_const_ir3 (%52 (0x0)) (base=65)
MESA: info:     con 32    %149 = @load_const_ir3 (%52 (0x0)) (base=2)
MESA: info:     con 1     %151 = ine %149, %52 (0x0)
MESA: info:                      // succs: b7 b13
MESA: info:     if %151 {
MESA: info:         con block b7:        // preds: b6
MESA: info:         con 32     %61 = load_const (0x00000001)
MESA: info:         div 32x3  %445 = fsub %116, %53.xyz
MESA: info:         con 1     %158 = flt! %116.z, %52 (0.000000)
MESA: info:         div 1     %159 = fge! %53.z, %52 (0.000000)
MESA: info:         div 1     %160 = iand %158, %159
MESA: info:         div 32    %161 = frcp %445.z
MESA: info:         div 32    %162 = fmul %116.z, %161
MESA: info:         div 32    %398 = fneg %162
MESA: info:         div 32x3  %447 = ffma %398.xxx, %445, %116
MESA: info:         div 32x3  %449 = bcsel %160.xxx, %447, %116
MESA: info:         div 32x3  %451 = fsub %449, %53.xyz
MESA: info:         con 32x3  %180 = @load_const_ir3 (%52 (0x0)) (base=56)
MESA: info:         con 32x3  %183 = @load_const_ir3 (%52 (0x0)) (base=60)
MESA: info:         div 32    %184 = fmax %449.z, %52 (0.000000)
MESA: info:         div 32    %185 = fmax %53.z, %52 (0.000000)
MESA: info:         div 32    %187 = fmul %451.y, %451.y
MESA: info:         div 32    %390 = ffma %451.z, %451.z, %187
MESA: info:         div 32    %389 = ffma %451.x, %451.x, %390
MESA: info:         div 32    %191 = fsqrt %389
MESA: info:         con 32    %193 = @load_const_ir3 (%52 (0x0)) (base=3)
MESA: info:         div 32    %194 = fmul %191, %193
MESA: info:         con 32x3  %458 = load_const (0x3f800000, 0x3f800000, 0x3f800000) = (1.000000, 1.000000, 1.000000)
MESA: info:         con 32x2  %462 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:         con 32x4  %471 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:         con 32x2  %474 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:                          // succs: b8
MESA: info:         con loop {
MESA: info:             con block b8:        // preds: b7 b11
MESA: info:             div 32x3  %457 = phi b7: %458 (1.000000, 1.000000, 1.000000), b11: %487
MESA: info:             div 32x2  %461 = phi b7: %462 (0.000000, 0.000000), b11: %463
MESA: info:             div 32x4  %470 = phi b7: %471 (0.000000, 0.000000, 0.000000, 0.000000), b11: %472
MESA: info:             div 32x2  %473 = phi b7: %474 (0.000000, 0.000000), b11: %490
MESA: info:             con 32    %206 = phi b7: %52 (0x0), b11: %266
MESA: info:             con 32    %207 = i2f32 %206
MESA: info:             con 1     %208 = flt! %207, %147
MESA: info:             con 1     %209 = inot %208
MESA: info:                              // succs: b9 b10
MESA: info:             if %209 {
MESA: info:                 con block b9:// preds: b8
MESA: info:                 break
MESA: info:                 // succs: b12
MESA: info:             } else {
MESA: info:                 con block b10:  // preds: b8, succs: b11
MESA: info:             }
MESA: info:             con block b11:       // preds: b10
MESA: info:             con 32    %210 = load_const (0x3f000000 = 0.500000)
MESA: info:             con 32    %211 = fadd %207, %210 (0.500000)
MESA: info:             con 32    %212 = fmul %211, %193
MESA: info:             div 32    %388 = fsub %185, %184
MESA: info:             div 32    %387 = ffma %212, %388, %184
MESA: info:             con 32    %218 = @load_const_ir3 (%52 (0x0)) (base=4)
MESA: info:             con 32    %219 = load_const (0x3fb8aa3b = 1.442695)
MESA: info:             div 32    %220 = fmul %387, %219 (1.442695)
MESA: info:             div 32    %221 = fmul %220, %218
MESA: info:             div 32    %222 = fneg %221
MESA: info:             div 32    %223 = fexp2 %222
MESA: info:             div 32    %224 = fmul %223, %194
MESA: info:             con 32    %226 = @load_const_ir3 (%52 (0x0)) (base=5)
MESA: info:             div 32    %227 = fmul %220, %226
MESA: info:             div 32    %228 = fneg %227
MESA: info:             div 32    %229 = fexp2 %228
MESA: info:             div 32    %230 = fmul %229, %194
MESA: info:             div 32    %231 = fadd %461.x, %224
MESA: info:             div 32    %232 = fadd %461.y, %230
MESA: info:             div 32x3  %477 = fmul %183, %232.xxx
MESA: info:             div 32x3  %481 = fneg %477
MESA: info:             con 32x3  %482 = fneg %180
MESA: info:             div 32x3  %483 = ffma %482, %231.xxx, %481
MESA: info:             div 32x3  %485 = fmul %483, %219 (1.442695).xxx
MESA: info:             div 32x3  %487 = fexp2 %485
MESA: info:             div 32x3  %489 = ffma %487, %224.xxx, %470.xyz
MESA: info:             div 32    %377 = ffma %487.x, %230, %470.w
MESA: info:             div 32x2  %490 = ffma %487.yz, %230.xx, %473
MESA: info:             con 32    %266 = iadd %206, %61 (0x1)
MESA: info:             div 32x2  %463 = vec2 %231, %232
MESA: info:             div 32x4  %472 = vec4 %489.x, %489.y, %489.z, %377
MESA: info:                              // succs: b8
MESA: info:         }
MESA: info:         con block b12:       // preds: b9
MESA: info:         div 32x3  %511 = phi b9: %457
MESA: info:         div 32x4  %510 = phi b9: %470
MESA: info:         div 32x2  %509 = phi b9: %473
MESA: info:         div 32    %267 = frsq %389
MESA: info:         div 32x3  %492 = fmul %451, %267.xxx
MESA: info:         con 32x3  %274 = @load_const_ir3 (%52 (0x0)) (base=80)
MESA: info:         div 32    %276 = fmul %492.y, %274.y
MESA: info:         div 32    %374 = ffma %492.z, %274.z, %276
MESA: info:         div 32    %373 = ffma %492.x, %274.x, %374
MESA: info:         con 32    %280 = load_const (0xbf800000 = -1.000000)
MESA: info:         div 32    %281 = fmax %373, %280 (-1.000000)
MESA: info:         div 32    %282 = fmin %281, %104 (1.000000)
MESA: info:         div 32    %372 = ffma %282, %282, %104 (1.000000)
MESA: info:         con 32    %285 = load_const (0x3f16c8b4 = 0.589000)
MESA: info:         div 32    %286 = fmul %285 (0.589000), %372
MESA: info:         div 32x3  %494 = fmul %180, %286.xxx
MESA: info:         con 32    %291 = @load_const_ir3 (%52 (0x0)) (base=6)
MESA: info:         con 32    %293 = @load_const_ir3 (%52 (0x0)) (base=7)
MESA: info:         con 32    %295 = @load_const_ir3 (%52 (0x0)) (base=8)
MESA: info:         con 32    %370 = fneg %295
MESA: info:         div 32    %371 = ffma %370, %282, %291
MESA: info:         con 32    %299 = load_const (0x3fc00000 = 1.500000)
MESA: info:         div 32    %300 = flog2 %371
MESA: info:         div 32    %301 = fmul %300, %299 (1.500000)
MESA: info:         div 32    %302 = fneg %301
MESA: info:         div 32    %303 = fexp2 %302
MESA: info:         div 32    %304 = fmul %372, %303
MESA: info:         div 32    %305 = fmul %293, %304
MESA: info:         div 32x3  %496 = fmul %183, %305.xxx
MESA: info:         div 32    %312 = fmul %510.w, %496.x
MESA: info:         div 32x2  %497 = fmul %509, %496.yz
MESA: info:         div 32    %369 = ffma %510.x, %494.x, %312
MESA: info:         div 32x2  %498 = ffma %510.yz, %494.yz, %497
MESA: info:                          // succs: b14
MESA: info:     } else {
MESA: info:         con block b13:       // preds: b6
MESA: info:         con 32x2  %502 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:         con 32x3  %508 = load_const (0x3f800000, 0x3f800000, 0x3f800000) = (1.000000, 1.000000, 1.000000)
MESA: info:                          // succs: b14
MESA: info:     }
MESA: info:     con block b14:       // preds: b12 b13
MESA: info:     div 32x2  %501 = phi b12: %498, b13: %502 (0.000000, 0.000000)
MESA: info:     div 32    %319 = phi b12: %369, b13: %52 (0x0)
MESA: info:     div 32x3  %507 = phi b12: %511, b13: %508 (1.000000, 1.000000, 1.000000)
MESA: info:     div 32    %503 = mov %501.y
MESA: info:                      @store_output (%439, %52 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                      @store_output (%503, %52 (0x0)) (base=5, range=1, wrmask=x, component=0, src_type=float32, io location=VARYING_SLOT_VAR4 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %325 = vec4 %143, %54.x, %54.y, %54.z
MESA: info:                      @store_output (%325, %52 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %326 = vec4 %441.x, %105, %441.y, %110
MESA: info:                      @store_output (%326, %52 (0x0)) (base=2, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR1 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %327 = vec4 %53.x, %53.y, %53.z, %507.x
MESA: info:                      @store_output (%327, %52 (0x0)) (base=3, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR2 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %328 = vec4 %507.y, %507.z, %319, %501.x
MESA: info:                      @store_output (%328, %52 (0x0)) (base=4, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR3 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b15
MESA: info:     block b15:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 6ebec9d2f066fee058f5bfcea50a584ff96da9e3:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (20 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c24.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      4
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (320b -> 384b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          2
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: @in(r1.y)	in1 (wrmask=0x7)
MESA: info: @in(r2.x)	in2 (wrmask=0x1)
MESA: info: @const(c25.x)	0x3ef47d19, 0x39000000, 0xc2c80000, 0x3b03126f
MESA: info: @const(c26.x)	0x3f16c8b4, 0xbf800000, 0x3f800000, 0x3fc00000
MESA: info: shps #l50
MESA: info: getone #l50
MESA: info: ldc.u.offset0.1.imm.base1 r49.z, 4, 1
MESA: info: ldc.u.offset2.2.imm.base1 r48.x, 0, 1
MESA: info: ldc.u.offset1.1.imm.base1 r48.z, 25, 0
MESA: info: ldc.u.offset1.1.imm.base1 r48.w, 4, 1
MESA: info: ldc.u.offset3.1.imm.base1 r49.x, 2, 1
MESA: info: ldc.u.offset3.1.imm.base1 r49.y, 3, 1
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)mul.f r50.z, r49.z, r49.z
MESA: info: add.f r50.z, r50.z, (2.0)
MESA: info: mul.f r48.y, r48.y, r48.z
MESA: info: cmps.f.ge hr51.z, (0.0), r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r49.y, r49.y
MESA: info: mul.f r50.y, (neg)r49.z, r49.z
MESA: info: mul.f r50.w, r49.z, r49.z
MESA: info: mul.f r48.x, r48.x, r48.z
MESA: info: sub.u hr51.z, h(1), hr51.z
MESA: info: add.f r50.y, r50.y, (1.0)
MESA: info: add.f r50.w, r50.w, (1.0)
MESA: info: mul.f r49.z, (2.0), r49.z
MESA: info: absneg.f r48.x, (neg)r48.x
MESA: info: cov.u16s32 r50.x, hr51.z
MESA: info: mul.f r50.y, r50.y, c25.x
MESA: info: (ss)rcp r50.z, r50.z
MESA: info: rcp r48.y, r48.y
MESA: info: rcp r48.w, r48.w
MESA: info: stc.u32 c[4], r49.x, 1
MESA: info: stc.u32 c[5], r49.y, 1
MESA: info: stc.u32 c[6], r50.w, 1
MESA: info: stc.u32 c[8], r49.z, 1
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[2], r50.x, 1
MESA: info: (ss)mul.f r50.y, r50.y, r50.z
MESA: info: stc.u32 c[1], r48.y, 1
MESA: info: stc.u32 c[3], r48.w, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[7], r50.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 20, 0
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 1
MESA: info: (ss)mova1 a1.x, (r)80
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 2
MESA: info: (sy)(ss)shpe
MESA: info: l50:
MESA: info: (jp)add.f r5.z, r0.y, (neg)c11.y
MESA: info: add.f r5.w, r0.z, (neg)c11.z
MESA: info: add.f r6.x, r0.x, (neg)c11.x
MESA: info: mul.f r5.z, (last)r5.z, r5.z
MESA: info: mul.f r2.y, c5.x, r0.y
MESA: info: mad.f32 r5.w, (last)r5.w, r5.w, (last)r5.z
MESA: info: mul.f r3.z, c5.y, r0.y
MESA: info: mad.f32 r6.x, (last)r6.x, r6.x, (last)r5.w
MESA: info: mul.f r3.w, c5.z, r0.y
MESA: info: mul.f r4.x, c5.w, r0.y
MESA: info: cmps.f.lt hr8.z, c25.z, r0.z
MESA: info: mad.f32 r2.y, c4.x, r0.x, (last)r2.y
MESA: info: mad.f32 r3.z, c4.y, r0.x, (last)r3.z
MESA: info: sqrt r6.x, (last)r6.x
MESA: info: mad.f32 r3.w, c4.z, r0.x, (last)r3.w
MESA: info: mad.f32 r4.x, c4.w, r0.x, (last)r4.x
MESA: info: mad.f32 r2.y, c6.x, r0.z, (last)r2.y
MESA: info: mad.f32 r3.z, c6.y, r0.z, (last)r3.z
MESA: info: mad.f32 r3.w, c6.z, r0.z, (last)r3.w
MESA: info: mad.f32 r4.x, c6.w, r0.z, (last)r4.x
MESA: info: cmps.s.ne p0.x, c0.z, 0
MESA: info: mul.f r5.y, r0.z, c25.w
MESA: info: mul.f r4.z, r2.x, c25.y
MESA: info: mul.f r5.x, (last)r2.x, c25.w
MESA: info: (ss)add.f r6.x, (last)r6.x, c0.x
MESA: info: cov.u16f32 r4.w, (last)hr8.z
MESA: info: mad.f32 r2.z, c7.x, r0.w, (last)r2.y
MESA: info: (sat)mul.f r6.x, (last)r6.x, c0.y
MESA: info: mad.f32 r2.w, c7.y, r0.w, (last)r3.z
MESA: info: mad.f32 r3.x, c7.z, r0.w, (last)r3.w
MESA: info: mul.f r6.x, (last)r6.x, r6.x
MESA: info: (nop1) mad.f32 r3.y, c7.w, r0.w, (last)r4.x
MESA: info: (nop2) mul.f r6.y, r6.x, r6.x
MESA: info: (nop2) mul.f r6.y, (last)r6.y, (last)r6.x
MESA: info: mul.f r1.x, c12.x, (last)r6.y
MESA: info: br !p0.x, #l186
MESA: info: cmps.f.lt hr54.x, c11.z, (0.0)
MESA: info: mov.u32u32 r51.y, 0
MESA: info: add.f r7.y, c11.z, (neg)r0.z
MESA: info: cmps.f.ge hr13.x, r0.z, (0.0)
MESA: info: (rpt1)add.f r6.w, (r)c11.x, (neg)(r)r0.x
MESA: info: max.f r7.z, r0.z, (0.0)
MESA: info: mov.u32u32 r0.w, 0x3f800000
MESA: info: rcp r7.w, r7.y
MESA: info: mov.u32u32 r9.x, 0x3f800000
MESA: info: mov.u32u32 r11.w, 0
MESA: info: mov.u32u32 r11.z, 0
MESA: info: mov.u32u32 r11.y, 0
MESA: info: mov.u32u32 r11.x, 0
MESA: info: mov.u32u32 r10.w, 0
MESA: info: mov.u32u32 r10.z, 0
MESA: info: mov.u32u32 r10.y, 0
MESA: info: mov.u32u32 r10.x, 0
MESA: info: mov.u32u32 r9.y, 0x3f800000
MESA: info: (ss)mul.f r7.w, c11.z, (last)r7.w
MESA: info: (nop1) and.b r8.x, hr54.x, (last)hr13.x
MESA: info: (rpt1)mad.f32 r7.x, (neg)r7.w, (r)r7.x, (r)c11.y
MESA: info: mad.f32 r7.w, (neg)(last)r7.w, r6.w, c11.x
MESA: info: (rpt1)sel.b32 r7.x, (r)(last)r7.x, r8.x, (r)c11.y
MESA: info: sel.b32 r7.w, (last)r7.w, r8.x, c11.x
MESA: info: add.f r7.x, (last)r7.x, (neg)r0.y
MESA: info: add.f r8.y, r7.y, (neg)r0.z
MESA: info: add.f r7.w, (last)r7.w, (neg)r0.x
MESA: info: mul.f r8.z, r7.x, r7.x
MESA: info: max.f r7.y, (last)r7.y, (0.0)
MESA: info: (nop1) mad.f32 r8.z, r8.y, r8.y, (last)r8.z
MESA: info: (nop3) mad.f32 r8.z, r7.w, r7.w, (last)r8.z
MESA: info: (rpt1)nop
MESA: info: sqrt r8.w, r8.z
MESA: info: (ss)mul.f r8.w, (last)r8.w, c0.w
MESA: info: l120:
MESA: info: cov.s32f32 r51.z, r51.y
MESA: info: cmps.f.lt hr55.z, r51.z, c16.y
MESA: info: (ss)(nop3) cmps.s.ne p0.x, hr55.z, h(0)
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l158
MESA: info: add.f r51.z, r51.z, (0.5)
MESA: info: mul.f r51.z, r51.z, c0.w
MESA: info: add.u r51.y, r51.y, 1
MESA: info: (nop2) add.f r0.w, r7.z, (neg)r7.y
MESA: info: (ss)(nop2) mad.f32 r0.w, r51.z, r0.w, r7.y
MESA: info: (nop2) mul.f r0.w, (last)r0.w, (log2(e))
MESA: info: mul.f r2.x, r0.w, c1.x
MESA: info: (nop3) mul.f r0.w, (last)r0.w, c1.y
MESA: info: (rpt1)nop
MESA: info: exp2 r0.w, (last)(neg)r0.w
MESA: info: exp2 r2.x, (last)(neg)r2.x
MESA: info: (ss)mul.f r0.w, (last)r0.w, r8.w
MESA: info: (nop1) mul.f r2.x, (last)r2.x, r8.w
MESA: info: add.f r10.y, (last)r10.y, r0.w
MESA: info: (nop1) add.f r10.x, (last)r10.x, r2.x
MESA: info: mul.f r2.y, c15.x, r10.y
MESA: info: (rpt1)mul.f r3.z, (r)c15.y, r10.y
MESA: info: mad.f32 r2.y, (neg)c14.x, r10.x, (neg)(last)r2.y
MESA: info: (rpt1)mad.f32 r3.z, (neg)(r)c14.y, r10.x, (neg)(r)(last)r3.z
MESA: info: mul.f r2.y, (last)r2.y, (log2(e))
MESA: info: (rpt1)mul.f r3.z, (last)(r)r3.z, (log2(e))
MESA: info: (rpt2)nop
MESA: info: exp2 r2.y, (last)r2.y
MESA: info: nop
MESA: info: (rpt1)exp2 r9.x, (last)(r)r3.z
MESA: info: (ss)mad.f32 r10.z, r2.y, r2.x, (last)r10.z
MESA: info: mad.f32 r11.y, r2.y, r0.w, (last)r11.y
MESA: info: mad.f32 r10.w, r9.x, r2.x, (last)r10.w
MESA: info: mad.f32 r11.z, r9.x, r0.w, (last)r11.z
MESA: info: mad.f32 r11.x, r9.y, r2.x, (last)r11.x
MESA: info: mad.f32 r11.w, r9.y, r0.w, (last)r11.w
MESA: info: mov.u32u32 r0.w, (last)r2.y
MESA: info: jump #l120
MESA: info: l158:
MESA: info: rsq r8.z, (last)r8.z
MESA: info: (ss)mul.f r7.x, (last)r7.x, r8.z
MESA: info: mul.f r8.y, (last)r8.y, r8.z
MESA: info: mul.f r7.w, (last)r7.w, (last)r8.z
MESA: info: (nop1) mul.f r7.x, (last)r7.x, c20.y
MESA: info: (nop1) mad.f32 r8.y, c20.z, r8.y, (last)r7.x
MESA: info: (nop2) mad.f32 r7.w, c20.x, r7.w, (last)r8.y
MESA: info: (nop2) max.f r7.w, (last)r7.w, c26.y
MESA: info: (nop2) min.f r7.w, (last)r7.w, (1.0)
MESA: info: mad.f32 r4.x, r7.w, r7.w, c26.z
MESA: info: (nop1) mad.f32 r7.w, (neg)c2.x, r7.w, c1.z
MESA: info: (nop2) mul.f r4.y, c26.x, r4.x
MESA: info: (rpt2)mul.f r5.z, (r)c14.x, (last)r4.y
MESA: info: log2 r7.w, (last)r7.w
MESA: info: (ss)(nop3) mul.f r7.w, (last)r7.w, c26.w
MESA: info: (rpt1)nop
MESA: info: exp2 r7.w, (last)(neg)r7.w
MESA: info: (ss)(nop2) mul.f r4.x, (last)r4.x, (last)r7.w
MESA: info: (nop2) mul.f r4.x, c1.w, (last)r4.x
MESA: info: mul.f r6.y, c15.x, r4.x
MESA: info: (rpt1)mul.f r6.z, (r)c15.y, (last)r4.x
MESA: info: mul.f r11.y, (last)r11.y, (last)r6.y
MESA: info: mul.f r11.z, (last)r11.z, (last)r6.z
MESA: info: mul.f r11.w, (last)r11.w, (last)r6.w
MESA: info: mad.f32 r9.z, (last)r10.z, r5.z, (last)r11.y
MESA: info: mad.f32 r9.w, (last)r10.w, r5.w, (last)r11.z
MESA: info: mad.f32 r11.x, (last)r11.x, r6.x, (last)r11.w
MESA: info: jump #l192
MESA: info: l186:
MESA: info: mov.u32u32 r9.w, 0
MESA: info: mov.u32u32 r9.y, 0x3f800000
MESA: info: mov.u32u32 r9.x, 0x3f800000
MESA: info: mov.u32u32 r0.w, 0x3f800000
MESA: info: mov.u32u32 r9.z, 0
MESA: info: mov.u32u32 r11.x, 0
MESA: info: l192:
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r2.z (VARYING_SLOT_POS) r1.x (VARYING_SLOT_VAR0) r4.z (VARYING_SLOT_VAR1) r0.x (VARYING_SLOT_VAR2) r9.x (VARYING_SLOT_VAR3) r11.x (VARYING_SLOT_VAR4)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r1.y (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r2.x (VERT_ATTRIB_GENERIC2 slot=17 cm=1,il=0,b=0)
MESA: info: ; VERT prog 112/1: 201 instr, 54 nops, 147 non-nops, 19 mov, 2 cov, 416 dwords
MESA: info: ; VERT prog 112/1: 0 last-baryf, 0 last-helper, 0 half, 12 full, 28 constlen
MESA: info: ; VERT prog 112/1: 59 cat0, 21 cat1, 71 cat2, 39 cat3, 11 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 112/1: 69 sstall, 10 (ss), 0 systall, 0 (sy), 1 loops
MESA: info: ; VERT prog 112/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 50 preamble-instr, 1 early-preamble
MESA: info: ; pos: r2.z
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x543fff10, 0xbead8672, 0x1f0d1008, 0xb1d73382, 0x72ef3dfb, 0xb870d2be, 0xcffcbad7, 0x64d0c3a8}
MESA: info: inputs_read: 15-17
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 3
MESA: info: outputs: 6
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #1 (VERT_ATTRIB_GENERIC1.xyz, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none float #2 (VERT_ATTRIB_GENERIC2.x, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #3 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #4 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #5 (VARYING_SLOT_VAR1.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #6 (VARYING_SLOT_VAR2.xyzw, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #7 (VARYING_SLOT_VAR3.xyzw, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none float #8 (VARYING_SLOT_VAR4.x, 5, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #9
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = @bindless_resource_ir3 (%2 (0.000000)) (desc_set=1)
MESA: info:             con 32      %4 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %8 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32      %9 = @bindless_resource_ir3 (%4 (0x1)) (desc_set=1)
MESA: info:             con 32x2  %331 = @load_ubo_vec4 (%9, %2 (0.000000)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %349 = load_const (0x00000019 = 0.000000 = 25)
MESA: info:             con 32    %334 = @load_ubo_vec4 (%3, %349 (0x19)) (access=speculatable, base=0, component=1)
MESA: info:             con 32x2  %383 = fmul %331, %334.xx
MESA: info:             con 32     %15 = fneg %383.x
MESA: info:                              @store_const_ir3 (%15) (base=0)
MESA: info:             con 32     %16 = frcp %383.y
MESA: info:                              @store_const_ir3 (%16) (base=1)
MESA: info:             con 32    %350 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32    %337 = @load_ubo_vec4 (%9, %350 (0x4)) (access=speculatable, base=0, component=1)
MESA: info:             con 1      %19 = fge! %2 (0.000000), %337
MESA: info:             con 1      %20 = inot %19
MESA: info:             con 32     %21 = b2i32 %20
MESA: info:                              @store_const_ir3 (%21) (base=2)
MESA: info:             con 32     %22 = frcp %337
MESA: info:                              @store_const_ir3 (%22) (base=3)
MESA: info:             con 32    %351 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32    %340 = @load_ubo_vec4 (%9, %351 (0x2)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %24 = frcp %340
MESA: info:                              @store_const_ir3 (%24) (base=4)
MESA: info:             con 32    %352 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32    %343 = @load_ubo_vec4 (%9, %352 (0x3)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %26 = frcp %343
MESA: info:                              @store_const_ir3 (%26) (base=5)
MESA: info:             con 32    %346 = @load_ubo_vec4 (%9, %350 (0x4)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %381 = fneg %346
MESA: info:             con 32    %382 = ffma %381, %346, %8 (1.000000)
MESA: info:             con 32     %32 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32x2  %384 = load_const (0x40000000, 0x3f800000) = (2.000000, 1.000000)
MESA: info:             con 32x2  %385 = ffma %346.xx, %346.xx, %384 (2.000000, 1.000000)
MESA: info:             con 32    %386 = mov %385.y
MESA: info:                              @store_const_ir3 (%386) (base=6)
MESA: info:             con 32     %35 = frcp %385.x
MESA: info:             con 32     %36 = load_const (0x3ef47d19 = 0.477517)
MESA: info:             con 32     %37 = fmul %382, %36 (0.477517)
MESA: info:             con 32     %38 = fmul %37, %35
MESA: info:                              @store_const_ir3 (%38) (base=7)
MESA: info:             con 32     %39 = fmul %32 (2.000000), %346
MESA: info:                              @store_const_ir3 (%39) (base=8)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%3, %2 (0.000000)) (base=16, range=4)
MESA: info:             con 32     %45 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%3, %45 (0x14)) (base=32, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%9, %2 (0.000000)) (base=48, range=8)
MESA: info:             con 32     %50 = @bindless_resource_ir3 (%351 (0x2)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%50, %2 (0.000000)) (base=80, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %52 = load_const (0x00000000)
MESA: info:     div 32x4   %53 = @load_input (%52 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32x4   %60 = @load_const_ir3 (%52 (0x0)) (base=16)
MESA: info:     con 32x4   %69 = @load_const_ir3 (%52 (0x0)) (base=20)
MESA: info:     div 32x4  %389 = fmul %69, %53.yyyy
MESA: info:     div 32x4  %392 = ffma %60, %53.xxxx, %389
MESA: info:     con 32x4   %81 = @load_const_ir3 (%52 (0x0)) (base=24)
MESA: info:     div 32x4  %395 = ffma %81, %53.zzzz, %392
MESA: info:     con 32x4   %93 = @load_const_ir3 (%52 (0x0)) (base=28)
MESA: info:     div 32x4  %398 = ffma %93, %53.wwww, %395
MESA: info:                      @store_output (%398, %52 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                      // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 d5ce0c4566ff6f4bb949d3d8b5de2b052681842f:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (20 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c24.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      4
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (320b -> 384b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          2
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: @const(c25.x)	0x3ef47d19, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l50
MESA: info: getone #l50
MESA: info: ldc.u.offset0.1.imm.base1 r49.z, 4, 1
MESA: info: ldc.u.offset2.2.imm.base1 r48.x, 0, 1
MESA: info: ldc.u.offset1.1.imm.base1 r48.z, 25, 0
MESA: info: ldc.u.offset1.1.imm.base1 r48.w, 4, 1
MESA: info: ldc.u.offset3.1.imm.base1 r49.x, 2, 1
MESA: info: ldc.u.offset3.1.imm.base1 r49.y, 3, 1
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)mul.f r50.z, r49.z, r49.z
MESA: info: add.f r50.z, r50.z, (2.0)
MESA: info: mul.f r48.y, r48.y, r48.z
MESA: info: cmps.f.ge hr51.z, (0.0), r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r49.y, r49.y
MESA: info: mul.f r50.y, (neg)r49.z, r49.z
MESA: info: mul.f r50.w, r49.z, r49.z
MESA: info: mul.f r48.x, r48.x, r48.z
MESA: info: sub.u hr51.z, h(1), hr51.z
MESA: info: add.f r50.y, r50.y, (1.0)
MESA: info: add.f r50.w, r50.w, (1.0)
MESA: info: mul.f r49.z, (2.0), r49.z
MESA: info: absneg.f r48.x, (neg)r48.x
MESA: info: cov.u16s32 r50.x, hr51.z
MESA: info: mul.f r50.y, r50.y, c25.x
MESA: info: (ss)rcp r50.z, r50.z
MESA: info: rcp r48.y, r48.y
MESA: info: rcp r48.w, r48.w
MESA: info: stc.u32 c[4], r49.x, 1
MESA: info: stc.u32 c[5], r49.y, 1
MESA: info: stc.u32 c[6], r50.w, 1
MESA: info: stc.u32 c[8], r49.z, 1
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[2], r50.x, 1
MESA: info: (ss)mul.f r50.y, r50.y, r50.z
MESA: info: stc.u32 c[1], r48.y, 1
MESA: info: stc.u32 c[3], r48.w, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[7], r50.y, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 20, 0
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 1
MESA: info: (ss)mova1 a1.x, (r)80
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 2
MESA: info: (sy)(ss)shpe
MESA: info: l50:
MESA: info: (jp)mul.f r1.x, c5.x, r0.y
MESA: info: mul.f r2.y, c5.y, r0.y
MESA: info: mad.f32 r1.x, c4.x, r0.x, (last)r1.x
MESA: info: mad.f32 r2.y, c4.y, r0.x, (last)r2.y
MESA: info: mad.f32 r1.y, c6.x, r0.z, (last)r1.x
MESA: info: (rpt1)mul.f r2.z, (r)c5.z, (last)r0.y
MESA: info: mad.f32 r1.z, c6.y, r0.z, (last)r2.y
MESA: info: (rpt1)mad.f32 r2.z, (r)c4.z, r0.x, (r)(last)r2.z
MESA: info: (rpt1)mad.f32 r1.w, (r)c6.z, r0.z, (r)(last)r2.z
MESA: info: (rpt3)mad.f32 r3.x, (r)c7.x, r0.w, (r)(last)r1.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r3.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0)
MESA: info: ; BVERT prog 112/2: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 130 dwords
MESA: info: ; BVERT prog 112/2: 0 last-baryf, 0 last-helper, 0 half, 4 full, 28 constlen
MESA: info: ; BVERT prog 112/2: 1 cat0, 0 cat1, 4 cat2, 12 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 112/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 112/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 50 preamble-instr, 1 early-preamble
MESA: info: ; pos: r3.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x202a55c2, 0x03254e67, 0xb5f630bb, 0x5a756d31, 0xde7f592b, 0xa039158b, 0x36dbf3a7, 0x98818c00}
MESA: info: inputs_read: 32-36
MESA: info: outputs_written: 4-5
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 5
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_VAR0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_VAR1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VARYING_SLOT_VAR2.xyzw, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #3 (VARYING_SLOT_VAR3.xyzw, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none float #4 (VARYING_SLOT_VAR4.x, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #5 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #6 (FRAG_RESULT_DATA1.xyzw, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #7
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000006 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%3 (0x6)) (desc_set=1)
MESA: info:             con 32    %500 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32    %508 = load_const (0x00000009 = 0.000000)
MESA: info:             con 32    %502 = @load_ubo_vec4 (%4, %508 (0x9)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %505 = @load_ubo_vec4 (%4, %2 (0x0)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %8 = frcp %505
MESA: info:                              @store_const_ir3 (%8) (base=0)
MESA: info:             con 32x2  %667 = load_const (0x3e800000, 0x3fc00000) = (0.250000, 1.500000)
MESA: info:             con 32x2  %668 = fmul %8.xx, %667 (0.250000, 1.500000)
MESA: info:             con 32    %669 = mov %668.x
MESA: info:             con 32    %670 = mov %668.y
MESA: info:                              @store_const_ir3 (%669) (base=1)
MESA: info:                              @store_const_ir3 (%670) (base=2)
MESA: info:             con 32     %13 = frcp %502
MESA: info:                              @store_const_ir3 (%13) (base=3)
MESA: info:             con 32     %14 = load_const (0x00000005 = 0.000000)
MESA: info:             con 32     %15 = @bindless_resource_ir3 (%14 (0x5)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%15, %2 (0x0)) (base=16, range=4)
MESA: info:             con 32     %17 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32     %18 = @bindless_resource_ir3 (%17 (0x3)) (desc_set=1)
MESA: info:             con 32     %19 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%18, %19 (0x10)) (base=32, range=8)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=64, range=12)
MESA: info:             con 32     %24 = @bindless_resource_ir3 (%500 (0x4)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%24, %2 (0x0)) (base=112, range=4)
MESA: info:             con 32     %27 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %28 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %29 = @bindless_resource_ir3 (%28 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%27, %29)
MESA: info:             con 32     %30 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32     %31 = @bindless_resource_ir3 (%30 (0x2)) (desc_set=2)
MESA: info:             con 32     %33 = @bindless_resource_ir3 (%17 (0x3)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%31, %33)
MESA: info:             con 32     %35 = @bindless_resource_ir3 (%500 (0x4)) (desc_set=2)
MESA: info:             con 32     %37 = @bindless_resource_ir3 (%14 (0x5)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%35, %37)
MESA: info:             con 32     %39 = @bindless_resource_ir3 (%3 (0x6)) (desc_set=2)
MESA: info:             con 32     %40 = load_const (0x00000007 = 0.000000)
MESA: info:             con 32     %41 = @bindless_resource_ir3 (%40 (0x7)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%39, %41)
MESA: info:             con 32     %46 = load_const (0x00000008 = 0.000000)
MESA: info:             con 32     %47 = @bindless_resource_ir3 (%46 (0x8)) (desc_set=2)
MESA: info:             con 32     %49 = @bindless_resource_ir3 (%508 (0x9)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%47, %49)
MESA: info:             con 32     %54 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:             con 32     %55 = @bindless_resource_ir3 (%54 (0xa)) (desc_set=2)
MESA: info:             con 32     %56 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:             con 32     %57 = @bindless_resource_ir3 (%56 (0xb)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%55, %57)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %62 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x2   %63 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32     %64 = @load_interpolated_input (%63, %62 (0x0)) (base=4, component=0, dest_type=float32, io location=VARYING_SLOT_VAR4 slots=1)
MESA: info:     div 32x4   %65 = @load_interpolated_input (%63, %62 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     div 32x4   %66 = @load_interpolated_input (%63, %62 (0x0)) (base=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR1 slots=1)
MESA: info:     div 32x4   %67 = @load_interpolated_input (%63, %62 (0x0)) (base=2, component=0, dest_type=float32, io location=VARYING_SLOT_VAR2 slots=1)
MESA: info:     div 32x4   %68 = @load_interpolated_input (%63, %62 (0x0)) (base=3, component=0, dest_type=float32, io location=VARYING_SLOT_VAR3 slots=1)
MESA: info:     div 32x2   %69 = vec2 %66.x, %66.y
MESA: info:     con 32     %70 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32     %71 = @bindless_resource_ir3 (%70 (0x1)) (desc_set=2)
MESA: info:     con 32     %72 = @bindless_resource_ir3 (%62 (0x0)) (desc_set=2)
MESA: info:     div 32x4   %73 = (float32)tex (pre-dispatchable) %72 (texture_handle), %71 (sampler_handle), %69 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x2   %74 = vec2 %66.z, %66.w
MESA: info:     con 32     %75 = load_const (0x00000003 = 0.000000)
MESA: info:     con 32     %76 = @bindless_resource_ir3 (%75 (0x3)) (desc_set=2)
MESA: info:     con 32     %77 = load_const (0x00000002 = 0.000000)
MESA: info:     con 32     %78 = @bindless_resource_ir3 (%77 (0x2)) (desc_set=2)
MESA: info:     div 32x4   %79 = (float32)tex (pre-dispatchable) %78 (texture_handle), %76 (sampler_handle), %74 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32     %80 = load_const (0x3f4ccccd = 0.800000)
MESA: info:     con 32     %82 = load_const (0x3f19999a = 0.600000)
MESA: info:     div 32    %624 = ffma %80 (0.800000), %79.x, %82 (0.600000)
MESA: info:     div 32x3  %672 = fmul %73.xyz, %624.xxx
MESA: info:     con 32x4   %91 = @load_const_ir3 (%62 (0x0)) (base=16)
MESA: info:     con 32x4  %102 = @load_const_ir3 (%62 (0x0)) (base=20)
MESA: info:     con 32x4  %116 = @load_const_ir3 (%62 (0x0)) (base=24)
MESA: info:     con 32x4  %131 = @load_const_ir3 (%62 (0x0)) (base=28)
MESA: info:     div 32x4  %679 = ffma %102, %67.yyyy, %131
MESA: info:     div 32x4  %680 = ffma %91, %67.xxxx, %679
MESA: info:     div 32x4  %681 = ffma %116, %67.zzzz, %680
MESA: info:     div 32    %136 = frcp %681.w
MESA: info:     div 32x2  %682 = fmul %681.xy, %136.xx
MESA: info:     div 32    %139 = fmin! %682.y, %682.x
MESA: info:     con 32    %140 = load_const (0xbf800000 = -1.000000)
MESA: info:     div 1     %141 = flt! %139, %140 (-1.000000)
MESA: info:     div 32    %142 = fmax! %682.y, %682.x
MESA: info:     con 32    %143 = load_const (0x3f800000 = 1.000000)
MESA: info:     div 1     %144 = flt! %143 (1.000000), %142
MESA: info:     div 1     %664 = inot %141
MESA: info:     div 1     %665 = inot %144
MESA: info:     div 1     %666 = iand %664, %665
MESA: info:                      // succs: b7 b8
MESA: info:     if %666 {
MESA: info:         div block b7:        // preds: b6
MESA: info:         con 32     %87 = load_const (0x00000005 = 0.000000)
MESA: info:         con 32     %92 = load_const (0x00000004 = 0.000000)
MESA: info:         con 32    %147 = load_const (0x3f000000 = 0.500000)
MESA: info:         div 32x2  %683 = ffma %147 (0.500000).xx, %682, %147 (0.500000).xx
MESA: info:         div 32    %613 = ffma %147 (0.500000), %681.z, %147 (0.500000)
MESA: info:         con 32    %155 = @bindless_resource_ir3 (%87 (0x5)) (desc_set=2)
MESA: info:         con 32    %156 = @bindless_resource_ir3 (%92 (0x4)) (desc_set=2)
MESA: info:         div 32    %157 = (float32)tex %156 (texture_handle), %155 (sampler_handle), %683 (coord), %613 (comparator), 0 (texture), 0 (sampler)
MESA: info:                          // succs: b9
MESA: info:     } else {
MESA: info:         div block b8:  // preds: b6, succs: b9
MESA: info:     }
MESA: info:     con block b9:        // preds: b7 b8
MESA: info:     div 32    %158 = phi b7: %157, b8: %143 (1.000000)
MESA: info:     con 32     %93 = load_const (0x00000008 = 0.000000)
MESA: info:     con 32    %103 = load_const (0x00000006 = 0.000000)
MESA: info:     con 32    %104 = load_const (0x00000007 = 0.000000)
MESA: info:     con 32    %117 = load_const (0x00000009 = 0.000000)
MESA: info:     con 32    %159 = load_const (0x400ccccd = 2.200000)
MESA: info:     div 32x3  %687 = flog2 %672
MESA: info:     div 32x3  %688 = fmul %687, %159 (2.200000).xxx
MESA: info:     div 32x3  %689 = fexp2 %688
MESA: info:     div 32x3  %691 = fsat %689
MESA: info:     con 32x3  %178 = @load_const_ir3 (%62 (0x0)) (base=60)
MESA: info:     div 32x3  %693 = fsub %67.xyz, %178
MESA: info:     div 32    %186 = fmul %65.z, %693.y
MESA: info:     div 32    %609 = ffma %65.w, %693.z, %186
MESA: info:     div 32    %608 = ffma %65.y, %693.x, %609
MESA: info:     con 32    %190 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32    %191 = fmul %608, %190 (2.000000)
MESA: info:     div 32    %606 = fneg %191
MESA: info:     div 32x3  %695 = ffma %606.xxx, %65.yzw, %693
MESA: info:     div 32    %202 = fmul %695.y, %695.y
MESA: info:     div 32    %601 = ffma %695.z, %695.z, %202
MESA: info:     div 32    %600 = ffma %695.x, %695.x, %601
MESA: info:     div 32    %206 = frsq %600
MESA: info:     div 32x3  %697 = fmul %695, %206.xxx
MESA: info:     con 32    %210 = load_const (0x3f7d70a4 = 0.990000)
MESA: info:     div 32x3  %699 = fmul %691, %210 (0.990000).xxx
MESA: info:     con 32x3  %218 = @load_const_ir3 (%62 (0x0)) (base=84)
MESA: info:     con 32x3  %225 = @load_const_ir3 (%62 (0x0)) (base=88)
MESA: info:     con 32x3  %235 = @load_const_ir3 (%62 (0x0)) (base=92)
MESA: info:     con 32x3  %245 = @load_const_ir3 (%62 (0x0)) (base=96)
MESA: info:     div 32x3  %703 = ffma %225, %65.zzz, %245
MESA: info:     div 32x3  %704 = ffma %218, %65.yyy, %703
MESA: info:     div 32x3  %705 = ffma %235, %65.www, %704
MESA: info:     con 32    %250 = load_const (0x40c00000 = 6.000000)
MESA: info:     con 32    %251 = @bindless_resource_ir3 (%104 (0x7)) (desc_set=2)
MESA: info:     con 32    %252 = @bindless_resource_ir3 (%103 (0x6)) (desc_set=2)
MESA: info:     div 32x4  %253 = (float32)txl %252 (texture_handle), %251 (sampler_handle), %705 (coord), %250 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %735 = mov %253.yzx
MESA: info:     div 32x3  %709 = ffma %225, %697.yyy, %245
MESA: info:     div 32x3  %710 = ffma %218, %697.xxx, %709
MESA: info:     div 32x3  %711 = ffma %235, %697.zzz, %710
MESA: info:     div 32x4  %273 = (float32)txl %252 (texture_handle), %251 (sampler_handle), %711 (coord), %250 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %729 = mov %273.yzx
MESA: info:     con 32    %274 = @bindless_resource_ir3 (%117 (0x9)) (desc_set=2)
MESA: info:     con 32    %275 = @bindless_resource_ir3 (%93 (0x8)) (desc_set=2)
MESA: info:     div 32x4  %276 = (float32)txl %275 (texture_handle), %274 (sampler_handle), %705 (coord), %250 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %732 = mov %276.yzx
MESA: info:     div 32x4  %277 = (float32)txl %275 (texture_handle), %274 (sampler_handle), %711 (coord), %250 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %726 = mov %277.yzx
MESA: info:     con 32    %281 = @load_const_ir3 (%62 (0x0)) (base=100)
MESA: info:     con 1     %282 = flt! %143 (1.000000), %281
MESA: info:                      // succs: b10 b11
MESA: info:     if %282 {
MESA: info:         con block b10:       // preds: b9
MESA: info:         con 32x4  %285 = @load_const_ir3 (%62 (0x0)) (base=64)
MESA: info:         con 32    %287 = @load_const_ir3 (%62 (0x0)) (base=0)
MESA: info:         con 32    %289 = @load_const_ir3 (%62 (0x0)) (base=1)
MESA: info:         con 32    %291 = @load_const_ir3 (%62 (0x0)) (base=2)
MESA: info:         div 32    %292 = fmax %65.w, %62 (0.000000)
MESA: info:         div 32    %293 = fadd %143 (1.000000), %292
MESA: info:         div 32    %294 = fmul %289, %293
MESA: info:         div 32x3  %734 = mov %294.xxx
MESA: info:         div 32    %296 = fmul %65.z, %285.y
MESA: info:         div 32    %587 = ffma %65.w, %285.z, %296
MESA: info:         div 32    %586 = ffma %65.y, %285.x, %587
MESA: info:         div 32    %300 = fmax %586, %62 (0.000000)
MESA: info:         div 32    %301 = fadd %294, %300
MESA: info:         div 32    %302 = fmul %291, %301
MESA: info:         div 32x3  %731 = mov %302.xxx
MESA: info:         con 32    %303 = load_const (0x3dcccccd = 0.100000)
MESA: info:         con 32    %304 = fmul %303 (0.100000), %287
MESA: info:         con 32x3  %728 = mov %304.xxx
MESA: info:         div 32    %306 = fmul %697.y, %285.y
MESA: info:         div 32    %585 = ffma %697.z, %285.z, %306
MESA: info:         div 32    %584 = ffma %697.x, %285.x, %585
MESA: info:         div 32    %310 = fmax %584, %62 (0.000000)
MESA: info:         div 32    %311 = fmul %287, %310
MESA: info:         div 32x3  %725 = mov %311.xxx
MESA: info:                          // succs: b12
MESA: info:     } else {
MESA: info:         con block b11:  // preds: b9, succs: b12
MESA: info:     }
MESA: info:     con block b12:       // preds: b10 b11
MESA: info:     div 32x3  %724 = phi b10: %725, b11: %726
MESA: info:     div 32x3  %730 = phi b10: %731, b11: %732
MESA: info:     div 32x3  %727 = phi b10: %728, b11: %729
MESA: info:     div 32x3  %733 = phi b10: %734, b11: %735
MESA: info:     con 32    %118 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:     con 32    %119 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:     con 32    %338 = @load_const_ir3 (%62 (0x0)) (base=67)
MESA: info:     con 32    %343 = @load_const_ir3 (%62 (0x0)) (base=3)
MESA: info:     div 32    %344 = fmul %343, %158
MESA: info:     div 32x3  %737 = fsub %730.zxy, %733.zxy
MESA: info:     div 32x3  %739 = fmul %344.xxx, %737
MESA: info:     div 32x3  %741 = ffma %281.xxx, %733.zxy, %739
MESA: info:     div 32x3  %743 = fmul %281.xxx, %727.zxy
MESA: info:     div 32x3  %746 = fneg %743
MESA: info:     div 32x3  %747 = ffma %343.xxx, %724.zxy, %746
MESA: info:     div 32x3  %749 = fmul %158.xxx, %747
MESA: info:     div 32x3  %751 = ffma %281.xxx, %727.zxy, %749
MESA: info:     con 32    %378 = load_const (0x3c23d70a = 0.010000)
MESA: info:     div 32x3  %753 = fmul %378 (0.010000).xxx, %751
MESA: info:     div 32x3  %755 = ffma %699, %741, %753
MESA: info:     div 32x3  %757 = fmul %338.xxx, %755
MESA: info:     div 32    %389 = fmul %693.y, %693.y
MESA: info:     div 32    %568 = ffma %693.z, %693.z, %389
MESA: info:     div 32    %567 = ffma %693.x, %693.x, %568
MESA: info:     div 32    %393 = frsq %567
MESA: info:     div 32x3  %759 = fmul %693, %393.xxx
MESA: info:     div 32x3  %763 = ffma %225, %759.yyy, %245
MESA: info:     div 32x3  %764 = ffma %218, %759.xxx, %763
MESA: info:     div 32x3  %765 = ffma %235, %759.zzz, %764
MESA: info:     con 32    %416 = @bindless_resource_ir3 (%119 (0xb)) (desc_set=2)
MESA: info:     con 32    %417 = @bindless_resource_ir3 (%118 (0xa)) (desc_set=2)
MESA: info:     div 32x4  %418 = (float32)txl %417 (texture_handle), %416 (sampler_handle), %765 (coord), %62 (0.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %419 = (float32)txl %417 (texture_handle), %416 (sampler_handle), %765 (coord), %250 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     con 32x3  %426 = @load_const_ir3 (%62 (0x0)) (base=116)
MESA: info:     div 32x2  %766 = fmul %426.xy, %68.zw
MESA: info:     div 32    %429 = fmul %426.z, %64
MESA: info:     div 32    %560 = ffma %757.x, %67.w, %766.x
MESA: info:     div 32    %559 = ffma %757.y, %68.x, %766.y
MESA: info:     div 32    %558 = ffma %757.z, %68.y, %429
MESA: info:     con 32    %433 = load_const (0xbf4ccccd = -0.800000)
MESA: info:     div 32    %434 = fadd %65.x, %433 (-0.800000)
MESA: info:     con 32    %435 = load_const (0x40a00000 = 5.000000)
MESA: info:     div 32    %436 = fmul %434, %435 (5.000000)
MESA: info:     div 32    %437 = fsat %436
MESA: info:     div 32x3  %768 = fsub %418.xyz, %419.xyz
MESA: info:     div 32x3  %770 = ffma %437.xxx, %768, %419.xyz
MESA: info:     div 32    %453 = fneg %560
MESA: info:     div 32    %551 = ffma %338, %770.x, %453
MESA: info:     div 32    %550 = ffma %65.x, %551, %560
MESA: info:     div 32    %457 = fneg %559
MESA: info:     div 32    %549 = ffma %338, %770.y, %457
MESA: info:     div 32    %548 = ffma %65.x, %549, %559
MESA: info:     div 32    %461 = fneg %558
MESA: info:     div 32    %547 = ffma %338, %770.z, %461
MESA: info:     div 32    %546 = ffma %65.x, %547, %558
MESA: info:     con 32x3  %470 = @load_const_ir3 (%62 (0x0)) (base=32)
MESA: info:     con 32x3  %479 = @load_const_ir3 (%62 (0x0)) (base=36)
MESA: info:     div 32x3  %772 = fmul %479, %65.zzz
MESA: info:     div 32x3  %774 = ffma %470, %65.yyy, %772
MESA: info:     con 32x3  %491 = @load_const_ir3 (%62 (0x0)) (base=40)
MESA: info:     div 32x3  %776 = ffma %491, %65.www, %774
MESA: info:     div 32x4  %498 = vec4 %550, %548, %546, %143 (0x3f800000)
MESA: info:                      @store_output (%498, %62 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %499 = vec4 %776.x, %776.y, %776.z, %143 (0x3f800000)
MESA: info:                      @store_output (%499, %62 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA1 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b13
MESA: info:     block b13:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 f9e47b42678205dfd8baca4cef602bc673dba38e:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (28 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      4
MESA: info: ;   range[0]:
MESA: info: ;     block:          5
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          3
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           8 vec4 (256b -> 384b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          6
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c16.x
MESA: info: ;     size:           12 vec4 (0b -> 192b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c28.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @tex(r0.z)	src=4, bindless=1, samp=1, tex=0, wrmask=0x7, opc=sam
MESA: info: @tex(r1.y)	src=6, bindless=1, samp=3, tex=2, wrmask=0x1, opc=sam
MESA: info: @const(c32.x)	0x3e800000, 0x3fc00000, 0xbf800000, 0xbf4ccccd
MESA: info: @const(c33.x)	0x40a00000, 0x3f4ccccd, 0x3f19999a, 0x400ccccd
MESA: info: @const(c34.x)	0x3f7d70a4, 0x3f000000, 0x3c23d70a, 0x3dcccccd
MESA: info: shps #l31
MESA: info: getone #l31
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#3, t#2
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#5, t#4
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#7, t#6
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#9, t#8
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#11, t#10
MESA: info: (ss)nop
MESA: info: ldc.u.offset3.1.imm.base1 r48.x, 0, 6
MESA: info: ldc.u.offset0.1.imm.base1 r48.y, 9, 6
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)rcp r48.x, r48.x
MESA: info: rcp r48.y, r48.y
MESA: info: (ss)(rpt1)mul.f r48.z, r48.x, (r)c32.x
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[3], r48.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[1], r48.z, 1
MESA: info: stc.u32 c[2], r48.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 5
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 16, 3
MESA: info: (ss)mova1 a1.x, (r)64
MESA: info: (ss)nop
MESA: info: ldc.12.k.imm.base1 c[a1.x], 0, 6
MESA: info: (ss)mova1 a1.x, (r)112
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 4
MESA: info: (sy)(ss)shpe
MESA: info: l31:
MESA: info: (jp)bary.f r1.z, 9, r0.x
MESA: info: bary.f r2.x, 8, r0.x
MESA: info: bary.f r1.w, 10, r0.x
MESA: info: bary.f r2.y, 2, r0.x
MESA: info: bary.f r2.w, 1, r0.x
MESA: info: bary.f r2.z, 3, r0.x
MESA: info: bary.f r4.z, 14, r0.x
MESA: info: bary.f r4.w, 16, r0.x
MESA: info: bary.f r5.x, 15, r0.x
MESA: info: bary.f r5.y, 11, r0.x
MESA: info: bary.f r5.z, 12, r0.x
MESA: info: bary.f r5.w, 0, r0.x
MESA: info: bary.f (ei)r0.x, 13, (last)r0.x
MESA: info: mad.f32 r4.y, c5.w, r1.z, c7.w
MESA: info: mad.f32 r3.x, c5.x, r1.z, c7.x
MESA: info: mad.f32 r4.y, c4.w, r2.x, (last)r4.y
MESA: info: mad.f32 r3.w, c5.y, r1.z, c7.y
MESA: info: mad.f32 r4.y, c6.w, r1.w, (last)r4.y
MESA: info: mad.f32 r3.x, c4.x, r2.x, (last)r3.x
MESA: info: mad.f32 r3.w, c4.y, r2.x, (last)r3.w
MESA: info: mad.f32 r3.y, c6.x, r1.w, (last)r3.x
MESA: info: mad.f32 r3.z, c6.y, r1.w, (last)r3.w
MESA: info: (sy)mad.f32 r1.y, c33.y, r1.y, c33.z
MESA: info: rcp r4.y, (last)r4.y
MESA: info: (nop1) mad.f32 r4.x, c5.z, r1.z, c7.z
MESA: info: mad.f32 r4.x, c4.z, r2.x, (last)r4.x
MESA: info: (rpt2)mul.f r0.z, (last)(r)r0.z, (last)r1.y
MESA: info: mad.f32 r4.x, c6.z, r1.w, (last)r4.x
MESA: info: (ss)(rpt1)mul.f r3.y, (last)(r)r3.y, (last)r4.y
MESA: info: (rpt1)nop
MESA: info: min.f r6.x, r3.z, r3.y
MESA: info: (nop1) max.f r6.y, r3.z, r3.y
MESA: info: cmps.f.lt p0.x, (last)r6.x, c32.z
MESA: info: (nop3) cmps.f.lt p0.y, (1.0), (last)r6.y
MESA: info: (rpt1)nop
MESA: info: brao p0.x, p0.y, #l74
MESA: info: (rpt1)mad.f32 r3.y, c34.y, (r)r3.y, c34.y
MESA: info: (nop3) mad.f32 r4.x, c34.y, r4.x, c34.y
MESA: info: (rpt1)nop
MESA: info: alias.tex.b32.0 r3.w, r4.x
MESA: info: sam.s.base2 (f32)(x)r6.z, r3.y, s#5, t#4
MESA: info: (eq)nop
MESA: info: jump #l76
MESA: info: l74:
MESA: info: (eq)(jp)nop
MESA: info: mov.u32u32 r6.z, 0x3f800000
MESA: info: l76:
MESA: info: (jp)(rpt2)log2 r0.z, (last)(r)r0.z
MESA: info: (rpt1)add.f r1.z, (last)(r)r1.z, (neg)(r)c15.y
MESA: info: add.f r2.x, (last)r2.x, (neg)c15.x
MESA: info: mul.f r6.w, r2.y, r1.z
MESA: info: mad.f32 r7.x, c22.x, r2.y, c24.x
MESA: info: mad.f32 r6.w, r2.z, r1.w, (last)r6.w
MESA: info: mad.f32 r8.x, c22.y, r2.y, c24.y
MESA: info: mad.f32 r6.w, r2.w, r2.x, (last)r6.w
MESA: info: mad.f32 r8.y, c22.z, r2.y, c24.z
MESA: info: mad.f32 r7.x, c21.x, r2.w, (last)r7.x
MESA: info: mul.f r6.w, (last)r6.w, (2.0)
MESA: info: (ss)(rpt2)mul.f r0.z, (last)(r)r0.z, c33.w
MESA: info: (rpt1)mad.f32 r7.y, (neg)r6.w, (r)r2.y, (r)r1.z
MESA: info: mad.f32 r6.w, (neg)(last)r6.w, r2.w, r2.x
MESA: info: (rpt2)exp2 r0.z, (last)(r)r0.z
MESA: info: mul.f r7.w, r7.y, r7.y
MESA: info: mad.f32 r8.x, c21.y, r2.w, (last)r8.x
MESA: info: mad.f32 r7.w, r7.z, r7.z, (last)r7.w
MESA: info: mad.f32 r8.y, c21.z, r2.w, (last)r8.y
MESA: info: mad.f32 r7.w, r6.w, r6.w, (last)r7.w
MESA: info: mad.f32 r7.x, c23.x, r2.z, (last)r7.x
MESA: info: mad.f32 r8.x, c23.y, r2.z, (last)r8.x
MESA: info: mad.f32 r8.y, c23.z, r2.z, (last)r8.y
MESA: info: (nop1) cmps.f.lt p0.x, (1.0), c25.x
MESA: info: rsq r7.w, (last)r7.w
MESA: info: (rpt2)nop
MESA: info: alias.tex.b32.1 r7.w, r7.x
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r8.z, r7.w, r40.x, s#7, t#6
MESA: info: alias.tex.b32.1 r7.w, r7.x
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r9.y, r7.w, r40.x, s#9, t#8
MESA: info: (ss)mul.f r7.y, (last)r7.y, r7.w
MESA: info: mul.f r6.w, (last)r6.w, r7.w
MESA: info: mul.f r7.z, (last)r7.z, (last)r7.w
MESA: info: mad.f32 r10.x, c22.x, r7.y, c24.x
MESA: info: mad.f32 r10.y, c22.y, r7.y, c24.y
MESA: info: mad.f32 r10.z, c22.z, r7.y, c24.z
MESA: info: mad.f32 r10.x, c21.x, r6.w, (last)r10.x
MESA: info: mad.f32 r10.y, c21.y, r6.w, (last)r10.y
MESA: info: mad.f32 r10.z, c21.z, r6.w, (last)r10.z
MESA: info: mad.f32 r10.x, c23.x, r7.z, (last)r10.x
MESA: info: mad.f32 r10.y, c23.y, r7.z, (last)r10.y
MESA: info: mad.f32 r10.z, c23.z, r7.z, (last)r10.z
MESA: info: (sat)(rpt2)max.f r0.z, (last)(r)r0.z, (r)r0.z
MESA: info: (rpt2)mul.f r0.z, (last)(r)r0.z, c34.x
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r10.w, r10.x, r40.x, s#7, t#6
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r3.x, r10.x, r40.x, s#9, t#8
MESA: info: br !p0.x, #l152
MESA: info: mov.u32u32 r49.x, c0.x
MESA: info: mul.f r49.x, c34.w, r49.x
MESA: info: max.f r3.w, r2.z, (0.0)
MESA: info: mul.f r4.x, r2.y, c16.y
MESA: info: mul.f r7.y, (last)r7.y, c16.y
MESA: info: mad.f32 r4.x, c16.z, r2.z, (last)r4.x
MESA: info: add.f r3.w, (1.0), (last)r3.w
MESA: info: mad.f32 r4.x, c16.x, r2.w, (last)r4.x
MESA: info: (nop1) mad.f32 r7.z, c16.z, r7.z, (last)r7.y
MESA: info: max.f r4.x, (last)r4.x, (0.0)
MESA: info: (nop2) mad.f32 r6.w, c16.x, r6.w, (last)r7.z
MESA: info: max.f r6.w, (last)r6.w, (0.0)
MESA: info: (sy)mul.f r8.w, c0.y, (last)r3.w
MESA: info: (ss)mov.u32u32 r11.x, r49.x
MESA: info: mul.f r3.y, c0.x, (last)r6.w
MESA: info: add.f r4.x, r8.w, (last)r4.x
MESA: info: mov.u32u32 r9.x, r8.w
MESA: info: mov.u32u32 r8.z, r8.w
MESA: info: mul.f r9.z, c0.z, (last)r4.x
MESA: info: mov.u32u32 r11.y, r11.x
MESA: info: mov.u32u32 r10.w, r11.x
MESA: info: mov.u32u32 r3.z, r3.y
MESA: info: mov.u32u32 r3.x, r3.y
MESA: info: mov.u32u32 r9.w, r9.z
MESA: info: mov.u32u32 r9.y, r9.z
MESA: info: l152:
MESA: info: mul.f r7.x, r1.z, r1.z
MESA: info: add.f r7.y, r5.w, c32.w
MESA: info: mad.f32 r7.x, r1.w, r1.w, (last)r7.x
MESA: info: mul.f r4.z, c29.x, (last)r4.z
MESA: info: mad.f32 r7.x, r2.x, r2.x, (last)r7.x
MESA: info: (sat)mul.f r7.y, (last)r7.y, c33.x
MESA: info: mul.f r5.x, c29.y, (last)r5.x
MESA: info: mul.f r4.w, c29.z, (last)r4.w
MESA: info: mul.f r7.z, c9.x, r2.y
MESA: info: mov.u32u32 r11.w, 0x3f800000
MESA: info: rsq r7.x, (last)r7.x
MESA: info: mad.f32 r7.w, c8.x, r2.w, (last)r7.z
MESA: info: (sy)mul.f r6.x, c25.x, r10.w
MESA: info: add.f r9.y, (last)r9.y, (neg)r8.z
MESA: info: mad.f32 r3.x, c0.w, r3.x, (neg)(last)r6.x
MESA: info: mul.f r4.y, c0.w, r6.z
MESA: info: mul.f r6.y, c25.x, r11.x
MESA: info: mul.f r6.w, c25.x, r11.y
MESA: info: mul.f r3.x, r6.z, (last)r3.x
MESA: info: mad.f32 r3.y, c0.w, r3.y, (neg)(last)r6.y
MESA: info: mad.f32 r3.z, c0.w, r3.z, (neg)(last)r6.w
MESA: info: mul.f r9.y, r4.y, (last)r9.y
MESA: info: mad.f32 r10.w, c25.x, r10.w, (last)r3.x
MESA: info: (ss)mul.f r1.z, (last)r1.z, r7.x
MESA: info: mul.f r3.y, r6.z, (last)r3.y
MESA: info: mad.f32 r8.z, c25.x, r8.z, (last)r9.y
MESA: info: mul.f r6.z, (last)r6.z, (last)r3.z
MESA: info: (rpt1)add.f r9.z, (last)(r)r9.z, (neg)(r)r8.w
MESA: info: mul.f r2.x, (last)r2.x, r7.x
MESA: info: mul.f r10.w, c34.z, (last)r10.w
MESA: info: mad.f32 r11.x, c25.x, r11.x, (last)r3.y
MESA: info: mad.f32 r11.y, c25.x, r11.y, (last)r6.z
MESA: info: mul.f r1.w, (last)r1.w, (last)r7.x
MESA: info: (rpt1)mul.f r9.z, (last)r4.y, (last)(r)r9.z
MESA: info: mad.f32 r0.z, (last)r0.z, r8.z, (last)r10.w
MESA: info: (rpt1)mad.f32 r8.w, c25.x, (r)r8.w, (r)(last)r9.z
MESA: info: mad.f32 r8.z, c22.x, r1.z, c24.x
MESA: info: mul.f r11.x, c34.z, (last)r11.x
MESA: info: mul.f r11.y, c34.z, (last)r11.y
MESA: info: mad.f32 r8.z, c21.x, r2.x, (last)r8.z
MESA: info: mad.f32 r0.w, (last)r0.w, r8.w, (last)r11.x
MESA: info: mad.f32 r1.x, (last)r1.x, r9.x, (last)r11.y
MESA: info: mad.f32 r8.z, c23.x, r1.w, (last)r8.z
MESA: info: (rpt1)mad.f32 r8.w, (r)c22.y, r1.z, (r)c24.y
MESA: info: (rpt1)mad.f32 r8.w, (r)c21.y, r2.x, (r)(last)r8.w
MESA: info: (rpt1)mad.f32 r8.w, (r)c23.y, r1.w, (r)(last)r8.w
MESA: info: mul.f r0.z, c16.w, (last)r0.z
MESA: info: mul.f r0.w, c16.w, (last)r0.w
MESA: info: mul.f r1.x, c16.w, (last)r1.x
MESA: info: mad.f32 r0.z, (last)r0.z, r5.y, (last)r4.z
MESA: info: mad.f32 r0.w, (last)r0.w, r5.z, (last)r5.x
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: saml.3d.base2 (f32)(xyz)r9.z, r8.z, r40.x, s#11, t#10
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r10.y, r8.z, r40.x, s#11, t#10
MESA: info: mad.f32 r1.x, (last)r1.x, r0.x, (last)r4.w
MESA: info: mul.f r9.y, c9.y, r2.y
MESA: info: mul.f r2.y, c9.z, (last)r2.y
MESA: info: mad.f32 r8.x, c8.y, r2.w, (last)r9.y
MESA: info: mad.f32 r8.y, c8.z, r2.w, (last)r2.y
MESA: info: (sy)add.f r9.z, (last)r9.z, (neg)r10.y
MESA: info: add.f r9.w, (last)r9.w, (neg)r10.z
MESA: info: add.f r10.x, (last)r10.x, (neg)r10.w
MESA: info: mad.f32 r9.z, r7.y, r9.z, (last)r10.y
MESA: info: mad.f32 r9.w, r7.y, r9.w, (last)r10.z
MESA: info: mad.f32 r7.y, (last)r7.y, r10.x, (last)r10.w
MESA: info: mad.f32 r9.z, c16.w, r9.z, (neg)r0.z
MESA: info: mad.f32 r9.w, c16.w, r9.w, (neg)r0.w
MESA: info: mad.f32 r7.y, c16.w, r7.y, (neg)r1.x
MESA: info: mad.f32 r11.x, r5.w, r9.z, (last)r0.z
MESA: info: mad.f32 r11.y, r5.w, r9.w, (last)r0.w
MESA: info: mad.f32 r11.z, (last)r5.w, r7.y, (last)r1.x
MESA: info: (rpt2)mad.f32 r0.x, (r)c10.x, r2.z, (r)(last)r7.w
MESA: info: mov.u32u32 r0.w, 0x3f800000
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r11.x (FRAG_RESULT_DATA0) r0.x (FRAG_RESULT_DATA1)
MESA: info: ; FRAG: inputs: r5.w (VARYING_SLOT_VAR0 slot=32 cm=f,il=0,b=1) r63.x (VARYING_SLOT_VAR1 slot=33 cm=f,il=4,b=1) r2.x (VARYING_SLOT_VAR2 slot=34 cm=f,il=8,b=1) r5.z (VARYING_SLOT_VAR3 slot=35 cm=f,il=12,b=1) r4.w (VARYING_SLOT_VAR4 slot=36 cm=1,il=16,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 113/1: 237 instr, 23 nops, 214 non-nops, 13 mov, 0 cov, 480 dwords
MESA: info: ; FRAG prog 113/1: 12 last-baryf, 58 last-helper, 0 half, 12 full, 36 constlen
MESA: info: ; FRAG prog 113/1: 27 cat0, 13 cat1, 86 cat2, 86 cat3, 9 cat4, 7 cat5, 0 cat6, 9 cat7
MESA: info: ; FRAG prog 113/1: 4 sstall, 5 (ss), 80 systall, 4 (sy), 0 loops
MESA: info: ; FRAG prog 113/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 32 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; data0: r11.x
MESA: info: ; data1: r0.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x2d43a884, 0x7155d8ec, 0x26d3487a, 0x79303cdc, 0xc1f567ef, 0x0e8e907d, 0xa0cce636, 0x121acfbe}
MESA: info: inputs_read: 15-20
MESA: info: outputs_written: 0,32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 6
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #1 (VERT_ATTRIB_GENERIC1.xyz, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #2 (VERT_ATTRIB_GENERIC2.xyz, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #3 (VERT_ATTRIB_GENERIC3.xyz, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #4 (VERT_ATTRIB_GENERIC4.xyzw, 4, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none float #5 (VERT_ATTRIB_GENERIC5.y, 5, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #6 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec3 #7 (VARYING_SLOT_VAR0.xyz, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #8
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %5 = @bindless_resource_ir3 (%3 (0x2)) (desc_set=1)
MESA: info:             con 32    %150 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32x2  %142 = @load_ubo_vec4 (%5, %150 (0x10)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %8 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %151 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %145 = @load_ubo_vec4 (%8, %151 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32x2  %192 = fmul %142, %145.xx
MESA: info:             con 32    %152 = load_const (0x00000017 = 0.000000 = 23)
MESA: info:             con 32x3  %148 = @load_ubo_vec4 (%8, %152 (0x17)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %15 = fmul %148.y, %148.y
MESA: info:             con 32    %191 = ffma %148.z, %148.z, %15
MESA: info:             con 32    %190 = ffma %148.x, %148.x, %191
MESA: info:             con 32     %19 = fsqrt %190
MESA: info:             con 32x2  %193 = fabs %192.yx
MESA: info:             con 32     %22 = fneg %193.y
MESA: info:             con 1      %23 = feq! %193.x, %22
MESA: info:             con 32     %24 = b2i32 %23
MESA: info:                              @store_const_ir3 (%24) (base=0)
MESA: info:             con 32    %189 = fsub %19, %192.x
MESA: info:             con 32    %188 = fsub %192.y, %192.x
MESA: info:             con 32     %28 = frcp %188
MESA: info:             con 32     %29 = fmul %189, %28
MESA: info:             con 32     %30 = fsat %29
MESA: info:                              @store_const_ir3 (%30) (base=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %2 (0x0)) (base=16, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %34 = load_const (0x00000000)
MESA: info:     div 32x3   %35 = @load_input (%34 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3   %36 = @load_input (%34 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3   %37 = @load_input (%34 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3   %38 = @load_input (%34 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32x4   %39 = @load_input (%34 (0x0)) (base=4, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC4 slots=1)
MESA: info:     div 32     %40 = @load_input (%34 (0x0)) (base=5, range=1, component=1, dest_type=float32, io location=VERT_ATTRIB_GENERIC5 slots=1)
MESA: info:     con 32     %43 = @load_const_ir3 (%34 (0x0)) (base=0)
MESA: info:     con 1      %45 = ine %43, %34 (0x0)
MESA: info:                      // succs: b7 b8
MESA: info:     if %45 {
MESA: info:         con block b7:        // preds: b6
MESA: info:         div 32x3  %195 = fmul %36, %39.yyy
MESA: info:         div 32x3  %197 = ffma %35, %39.xxx, %195
MESA: info:         div 32x3  %199 = ffma %37, %39.zzz, %197
MESA: info:         div 32x3  %203 = ffma %38, %39.www, %199
MESA: info:         div 32x3  %224 = mov %203.zyx
MESA: info:                          // succs: b9
MESA: info:     } else {
MESA: info:         con block b8:        // preds: b6
MESA: info:         con 32     %68 = @load_const_ir3 (%34 (0x0)) (base=1)
MESA: info:         div 32x3  %207 = fneg %39.xyz
MESA: info:         div 32x3  %208 = ffma %207, %68.xxx, %39.xyz
MESA: info:         div 32x3  %210 = fmul %36, %208.yyy
MESA: info:         div 32x3  %212 = ffma %35, %208.xxx, %210
MESA: info:         div 32x3  %214 = ffma %37, %208.zzz, %212
MESA: info:         div 32x3  %218 = fadd %214, %38
MESA: info:         div 32x3  %225 = mov %218.zyx
MESA: info:                          // succs: b9
MESA: info:     }
MESA: info:     con block b9:        // preds: b7 b8
MESA: info:     div 32x3  %223 = phi b7: %224, b8: %225
MESA: info:     con 32x4  %101 = @load_const_ir3 (%34 (0x0)) (base=16)
MESA: info:     con 32x4  %109 = @load_const_ir3 (%34 (0x0)) (base=20)
MESA: info:     div 32x4  %228 = fmul %109, %223.yyyy
MESA: info:     div 32x4  %231 = ffma %101, %223.zzzz, %228
MESA: info:     con 32x4  %121 = @load_const_ir3 (%34 (0x0)) (base=24)
MESA: info:     div 32x4  %234 = ffma %121, %223.xxxx, %231
MESA: info:     con 32x4  %133 = @load_const_ir3 (%34 (0x0)) (base=28)
MESA: info:     div 32x4  %237 = fadd %234, %133
MESA: info:                      @store_output (%237, %34 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x3  %139 = vec3 %223.z, %223.y, %40
MESA: info:                      @store_output (%139, %34 (0x0)) (base=1, range=1, wrmask=xyz, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b10
MESA: info:     block b10:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 062fe51ec1e7d24543319bf8dc5020940b3c5a7d:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (4 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c8.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0xf)
MESA: info: @in(r4.y)	in5 (wrmask=0x3)
MESA: info: shps #l24
MESA: info: getone #l24
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 16, 2
MESA: info: ldc.u.offset0.3.imm.base1 r48.w, 23, 0
MESA: info: ldc.u.offset3.1.imm.base1 r48.z, 24, 0
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)(rpt1)mul.f r49.z, (r)r48.x, r48.z
MESA: info: cmps.f.eq hr52.x, (abs)r49.w, (absneg)r49.z
MESA: info: mul.f r48.w, r48.w, r48.w
MESA: info: mul.f r49.x, r49.x, r49.x
MESA: info: mul.f r49.y, r49.y, r49.y
MESA: info: add.f r49.w, r49.w, (neg)r49.z
MESA: info: add.f r49.y, r49.y, r49.x
MESA: info: add.f r48.w, r48.w, r49.y
MESA: info: cov.u16s32 r50.y, hr52.x
MESA: info: (ss)rcp r49.w, r49.w
MESA: info: sqrt r48.w, r48.w
MESA: info: stc.u32 c[0], r50.y, 1
MESA: info: (ss)add.f r48.w, r48.w, (neg)r49.z
MESA: info: (sat)mul.f r48.w, r48.w, r49.w
MESA: info: (ss)nop
MESA: info: stc.u32 c[1], r48.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l24:
MESA: info: (jp)(nop3) cmps.s.ne p0.x, c0.x, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l40
MESA: info: mul.f r0.w, (last)r0.w, r3.y
MESA: info: mul.f r1.x, (last)r1.x, r3.y
MESA: info: mul.f r1.y, (last)r1.y, r3.y
MESA: info: mad.f32 r0.x, (last)r0.x, r3.x, r0.w
MESA: info: mad.f32 r0.y, (last)r0.y, r3.x, r1.x
MESA: info: mad.f32 r0.z, (last)r0.z, r3.x, r1.y
MESA: info: mad.f32 r1.z, (last)r1.z, r3.z, r0.x
MESA: info: mad.f32 r1.w, (last)r1.w, r3.z, r0.y
MESA: info: mad.f32 r2.x, (last)r2.x, r3.z, r0.z
MESA: info: mad.f32 r4.x, r2.y, r3.w, r1.z
MESA: info: mad.f32 r4.y, r2.z, r3.w, r1.w
MESA: info: mad.f32 r2.w, (last)r2.w, r3.w, r2.x
MESA: info: jump #l52
MESA: info: l40:
MESA: info: mad.f32 r3.y, c0.y, (neg)r3.y, r3.y
MESA: info: mad.f32 r3.x, c0.y, (neg)r3.x, r3.x
MESA: info: mad.f32 r3.z, c0.y, (neg)r3.z, r3.z
MESA: info: mul.f r0.w, (last)r0.w, r3.y
MESA: info: (rpt1)mul.f r1.x, (last)(r)r1.x, (last)r3.y
MESA: info: mad.f32 r0.x, (last)r0.x, r3.x, (last)r0.w
MESA: info: (rpt1)mad.f32 r0.y, (r)(last)r0.y, r3.x, (r)(last)r1.x
MESA: info: mad.f32 r1.z, (last)r1.z, r3.z, (last)r0.x
MESA: info: (rpt1)mad.f32 r1.w, (r)(last)r1.w, r3.z, (r)(last)r0.y
MESA: info: add.f r4.x, (last)r1.z, (last)r2.y
MESA: info: add.f r4.y, (last)r1.w, (last)r2.z
MESA: info: add.f r2.w, (last)r2.x, (last)r2.w
MESA: info: l52:
MESA: info: nop
MESA: info: mul.f r4.w, c5.x, r4.y
MESA: info: mul.f r6.x, c5.y, r4.y
MESA: info: mad.f32 r4.w, c4.x, r4.x, (last)r4.w
MESA: info: mul.f r6.y, c5.z, r4.y
MESA: info: mul.f r6.z, c5.w, r4.y
MESA: info: mad.f32 r6.x, c4.y, r4.x, (last)r6.x
MESA: info: mad.f32 r5.x, c6.x, r2.w, (last)r4.w
MESA: info: mad.f32 r6.y, c4.z, r4.x, (last)r6.y
MESA: info: mad.f32 r6.z, c4.w, r4.x, (last)r6.z
MESA: info: mad.f32 r5.y, c6.y, r2.w, (last)r6.x
MESA: info: mad.f32 r5.z, c6.z, r2.w, (last)r6.y
MESA: info: mad.f32 r5.w, c6.w, r2.w, (last)r6.z
MESA: info: (rpt3)add.f r6.w, (last)(r)r5.x, (r)c7.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r6.w (VARYING_SLOT_POS) r4.x (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (VERT_ATTRIB_GENERIC4 slot=19 cm=f,il=0,b=0) r4.y (VERT_ATTRIB_GENERIC5 slot=20 cm=3,il=0,b=0)
MESA: info: ; VERT prog 114/1: 53 instr, 6 nops, 47 non-nops, 0 mov, 0 cov, 160 dwords
MESA: info: ; VERT prog 114/1: 0 last-baryf, 0 last-helper, 0 half, 8 full, 8 constlen
MESA: info: ; VERT prog 114/1: 9 cat0, 0 cat1, 18 cat2, 26 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 114/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 114/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 25 preamble-instr, 1 early-preamble
MESA: info: ; pos: r6.w
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x2d43a884, 0x7155d8ec, 0x26d3487a, 0x79303cdc, 0xc1f567ef, 0x0e8e907d, 0xa0cce636, 0x121acfbe}
MESA: info: inputs_read: 15-20
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 6
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #1 (VERT_ATTRIB_GENERIC1.xyz, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #2 (VERT_ATTRIB_GENERIC2.xyz, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #3 (VERT_ATTRIB_GENERIC3.xyz, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #4 (VERT_ATTRIB_GENERIC4.xyzw, 4, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none float #5 (VERT_ATTRIB_GENERIC5.y, 5, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #6 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec3 #7 (VARYING_SLOT_VAR0.xyz, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #8
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %5 = @bindless_resource_ir3 (%3 (0x2)) (desc_set=1)
MESA: info:             con 32    %150 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32x2  %142 = @load_ubo_vec4 (%5, %150 (0x10)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %8 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %151 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %145 = @load_ubo_vec4 (%8, %151 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32x2  %192 = fmul %142, %145.xx
MESA: info:             con 32    %152 = load_const (0x00000017 = 0.000000 = 23)
MESA: info:             con 32x3  %148 = @load_ubo_vec4 (%8, %152 (0x17)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %15 = fmul %148.y, %148.y
MESA: info:             con 32    %191 = ffma %148.z, %148.z, %15
MESA: info:             con 32    %190 = ffma %148.x, %148.x, %191
MESA: info:             con 32     %19 = fsqrt %190
MESA: info:             con 32x2  %193 = fabs %192.yx
MESA: info:             con 32     %22 = fneg %193.y
MESA: info:             con 1      %23 = feq! %193.x, %22
MESA: info:             con 32     %24 = b2i32 %23
MESA: info:                              @store_const_ir3 (%24) (base=0)
MESA: info:             con 32    %189 = fsub %19, %192.x
MESA: info:             con 32    %188 = fsub %192.y, %192.x
MESA: info:             con 32     %28 = frcp %188
MESA: info:             con 32     %29 = fmul %189, %28
MESA: info:             con 32     %30 = fsat %29
MESA: info:                              @store_const_ir3 (%30) (base=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %2 (0x0)) (base=16, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %34 = load_const (0x00000000)
MESA: info:     div 32x3   %35 = @load_input (%34 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3   %36 = @load_input (%34 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3   %37 = @load_input (%34 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3   %38 = @load_input (%34 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32x4   %39 = @load_input (%34 (0x0)) (base=4, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC4 slots=1)
MESA: info:     con 32     %43 = @load_const_ir3 (%34 (0x0)) (base=0)
MESA: info:     con 1      %45 = ine %43, %34 (0x0)
MESA: info:                      // succs: b7 b8
MESA: info:     if %45 {
MESA: info:         con block b7:        // preds: b6
MESA: info:         div 32x3  %195 = fmul %36, %39.yyy
MESA: info:         div 32x3  %197 = ffma %35, %39.xxx, %195
MESA: info:         div 32x3  %199 = ffma %37, %39.zzz, %197
MESA: info:         div 32x3  %203 = ffma %38, %39.www, %199
MESA: info:         div 32x3  %224 = mov %203.zyx
MESA: info:                          // succs: b9
MESA: info:     } else {
MESA: info:         con block b8:        // preds: b6
MESA: info:         con 32     %68 = @load_const_ir3 (%34 (0x0)) (base=1)
MESA: info:         div 32x3  %207 = fneg %39.xyz
MESA: info:         div 32x3  %208 = ffma %207, %68.xxx, %39.xyz
MESA: info:         div 32x3  %210 = fmul %36, %208.yyy
MESA: info:         div 32x3  %212 = ffma %35, %208.xxx, %210
MESA: info:         div 32x3  %214 = ffma %37, %208.zzz, %212
MESA: info:         div 32x3  %218 = fadd %214, %38
MESA: info:         div 32x3  %225 = mov %218.zyx
MESA: info:                          // succs: b9
MESA: info:     }
MESA: info:     con block b9:        // preds: b7 b8
MESA: info:     div 32x3  %223 = phi b7: %224, b8: %225
MESA: info:     con 32x4  %101 = @load_const_ir3 (%34 (0x0)) (base=16)
MESA: info:     con 32x4  %109 = @load_const_ir3 (%34 (0x0)) (base=20)
MESA: info:     div 32x4  %228 = fmul %109, %223.yyyy
MESA: info:     div 32x4  %231 = ffma %101, %223.zzzz, %228
MESA: info:     con 32x4  %121 = @load_const_ir3 (%34 (0x0)) (base=24)
MESA: info:     div 32x4  %234 = ffma %121, %223.xxxx, %231
MESA: info:     con 32x4  %133 = @load_const_ir3 (%34 (0x0)) (base=28)
MESA: info:     div 32x4  %237 = fadd %234, %133
MESA: info:                      @store_output (%237, %34 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                      // succs: b10
MESA: info:     block b10:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 9a71a6c1e8142e06e6b27f6be8b893c39eb5740c:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (4 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c8.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0xf)
MESA: info: shps #l24
MESA: info: getone #l24
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 16, 2
MESA: info: ldc.u.offset0.3.imm.base1 r48.w, 23, 0
MESA: info: ldc.u.offset3.1.imm.base1 r48.z, 24, 0
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)(rpt1)mul.f r49.z, (r)r48.x, r48.z
MESA: info: cmps.f.eq hr52.x, (abs)r49.w, (absneg)r49.z
MESA: info: mul.f r48.w, r48.w, r48.w
MESA: info: mul.f r49.x, r49.x, r49.x
MESA: info: mul.f r49.y, r49.y, r49.y
MESA: info: add.f r49.w, r49.w, (neg)r49.z
MESA: info: add.f r49.y, r49.y, r49.x
MESA: info: add.f r48.w, r48.w, r49.y
MESA: info: cov.u16s32 r50.y, hr52.x
MESA: info: (ss)rcp r49.w, r49.w
MESA: info: sqrt r48.w, r48.w
MESA: info: stc.u32 c[0], r50.y, 1
MESA: info: (ss)add.f r48.w, r48.w, (neg)r49.z
MESA: info: (sat)mul.f r48.w, r48.w, r49.w
MESA: info: (ss)nop
MESA: info: stc.u32 c[1], r48.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l24:
MESA: info: (jp)(nop3) cmps.s.ne p0.x, c0.x, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l40
MESA: info: mul.f r0.w, (last)r0.w, r3.y
MESA: info: mul.f r1.x, (last)r1.x, r3.y
MESA: info: mul.f r1.y, (last)r1.y, r3.y
MESA: info: mad.f32 r0.x, (last)r0.x, r3.x, r0.w
MESA: info: mad.f32 r0.y, (last)r0.y, r3.x, r1.x
MESA: info: mad.f32 r0.z, (last)r0.z, r3.x, r1.y
MESA: info: mad.f32 r1.z, (last)r1.z, r3.z, r0.x
MESA: info: mad.f32 r1.w, (last)r1.w, r3.z, r0.y
MESA: info: mad.f32 r2.x, (last)r2.x, r3.z, r0.z
MESA: info: mad.f32 r2.y, (last)r2.y, r3.w, r1.z
MESA: info: mad.f32 r4.x, r2.z, r3.w, r1.w
MESA: info: mad.f32 r4.y, r2.w, r3.w, r2.x
MESA: info: jump #l51
MESA: info: l40:
MESA: info: mad.f32 r3.y, c0.y, (neg)r3.y, r3.y
MESA: info: mad.f32 r3.x, c0.y, (neg)r3.x, r3.x
MESA: info: mad.f32 r3.z, c0.y, (neg)r3.z, r3.z
MESA: info: mul.f r0.w, (last)r0.w, r3.y
MESA: info: (rpt1)mul.f r1.x, (last)(r)r1.x, (last)r3.y
MESA: info: mad.f32 r0.x, (last)r0.x, r3.x, (last)r0.w
MESA: info: (rpt1)mad.f32 r0.y, (r)(last)r0.y, r3.x, (r)(last)r1.x
MESA: info: mad.f32 r1.z, (last)r1.z, r3.z, (last)r0.x
MESA: info: (rpt1)mad.f32 r1.w, (r)(last)r1.w, r3.z, (r)(last)r0.y
MESA: info: add.f r2.y, (last)r1.z, (last)r2.y
MESA: info: (rpt1)add.f r4.x, (last)(r)r1.w, (last)(r)r2.z
MESA: info: l51:
MESA: info: nop
MESA: info: mul.f r4.z, c5.x, r4.x
MESA: info: mul.f r5.w, c5.y, r4.x
MESA: info: mad.f32 r4.z, c4.x, r2.y, (last)r4.z
MESA: info: mad.f32 r5.w, c4.y, r2.y, (last)r5.w
MESA: info: mad.f32 r4.w, c6.x, r4.y, (last)r4.z
MESA: info: mad.f32 r5.x, c6.y, r4.y, (last)r5.w
MESA: info: (rpt1)mul.f r6.x, (r)c5.z, (last)r4.x
MESA: info: (rpt1)mad.f32 r6.x, (r)c4.z, r2.y, (r)(last)r6.x
MESA: info: (rpt1)mad.f32 r5.y, (r)c6.z, r4.y, (r)(last)r6.x
MESA: info: (rpt3)add.f r6.z, (last)(r)r4.w, (r)c7.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r6.z (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (VERT_ATTRIB_GENERIC4 slot=19 cm=f,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0)
MESA: info: ; BVERT prog 114/2: 53 instr, 6 nops, 47 non-nops, 0 mov, 0 cov, 134 dwords
MESA: info: ; BVERT prog 114/2: 0 last-baryf, 0 last-helper, 0 half, 8 full, 8 constlen
MESA: info: ; BVERT prog 114/2: 9 cat0, 0 cat1, 18 cat2, 26 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 114/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 114/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 25 preamble-instr, 1 early-preamble
MESA: info: ; pos: r6.z
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0xe38a4bba, 0x7b7d5270, 0xb27bba9b, 0x0810dd13, 0x1581450b, 0xeb85e287, 0x64db0787, 0x84499b50}
MESA: info: inputs_read: 32
MESA: info: outputs_written: 4-5
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 1
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VARYING_SLOT_VAR0.xyz, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #2 (FRAG_RESULT_DATA1.xyzw, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %4 = load_const (0x00000005 = 0.000000)
MESA: info:             con 32      %5 = @bindless_resource_ir3 (%4 (0x5)) (desc_set=1)
MESA: info:             con 32x3  %387 = @load_ubo_vec4 (%5, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %478 = load_const (0x40000000, 0x40400000, 0x40900000, 0x40d80000) = (1073741824, 1077936128, 1083179008, 1087897600)
MESA: info:             con 32x4  %479 = load_const (0x3f000000, 0x3eaaaaab, 0x3e638e39, 0x3e17b426) = (1056964608, 1051372203, 1046711865, 1041740838)
MESA: info:             con 32x4  %480 = icsel_eqz %387.zzzz, %478 (0x40000000, 0x40400000, 0x40900000, 0x40d80000), %479 (0x3f000000, 0x3eaaaaab, 0x3e638e39, 0x3e17b426)
MESA: info:             con 32    %481 = mov %480.w
MESA: info:             con 32    %477 = mov %480.z
MESA: info:             con 32    %466 = mov %480.x
MESA: info:             con 32    %467 = mov %480.y
MESA: info:                              @store_const_ir3 (%466) (base=0)
MESA: info:             con 32x4  %471 = load_const (0x3effffff, 0x3f5db3d8, 0xbf000001, 0x3f5db3d7) = (0.500000, 0.866025, -0.500000, 0.866025)
MESA: info:             con 32x4  %472 = fmul %471 (0.500000, 0.866025, -0.500000, 0.866025), %387.xxxx
MESA: info:             con 32    %473 = mov %472.w
MESA: info:             con 32    %470 = mov %472.z
MESA: info:             con 32    %461 = mov %472.x
MESA: info:             con 32    %462 = mov %472.y
MESA: info:                              @store_const_ir3 (%461) (base=1)
MESA: info:                              @store_const_ir3 (%462) (base=2)
MESA: info:                              @store_const_ir3 (%467) (base=3)
MESA: info:             con 32     %17 = fadd %480.x, %480.y
MESA: info:                              @store_const_ir3 (%470) (base=4)
MESA: info:                              @store_const_ir3 (%473) (base=5)
MESA: info:                              @store_const_ir3 (%477) (base=6)
MESA: info:             con 32     %25 = fadd %17, %480.z
MESA: info:             con 32x4  %489 = load_const (0xb3bbbd2e, 0xbefffffd, 0xbf5db3d8, 0x3efffffd) = (-0.000000, -0.500000, -0.866025, 0.500000)
MESA: info:             con 32x4  %490 = fmul %489 (-0.000000, -0.500000, -0.866025, 0.500000), %387.xxxx
MESA: info:             con 32    %491 = mov %490.w
MESA: info:             con 32    %488 = mov %490.z
MESA: info:             con 32    %484 = mov %490.x
MESA: info:             con 32    %485 = mov %490.y
MESA: info:                              @store_const_ir3 (%484) (base=7)
MESA: info:                              @store_const_ir3 (%481) (base=8)
MESA: info:             con 32     %31 = fadd %25, %480.w
MESA: info:                              @store_const_ir3 (%485) (base=9)
MESA: info:                              @store_const_ir3 (%488) (base=10)
MESA: info:             con 32x2  %492 = load_const (0x41220000, 0x41730000) = (1092747264, 1098055680)
MESA: info:             con 32x2  %493 = load_const (0x3dca4588, 0x3d86d905) = (1036666248, 1032247557)
MESA: info:             con 32x2  %494 = icsel_eqz %387.zz, %492 (0x41220000, 0x41730000), %493 (0x3dca4588, 0x3d86d905)
MESA: info:             con 32    %495 = mov %494.x
MESA: info:             con 32    %496 = mov %494.y
MESA: info:                              @store_const_ir3 (%495) (base=11)
MESA: info:             con 32     %39 = fadd %31, %494.x
MESA: info:                              @store_const_ir3 (%491) (base=12)
MESA: info:                              @store_const_ir3 (%496) (base=13)
MESA: info:             con 32     %45 = fadd %39, %494.y
MESA: info:             con 32     %46 = frcp %45
MESA: info:                              @store_const_ir3 (%46) (base=14)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%5, %2 (0x0)) (base=16, range=4)
MESA: info:             con 32     %50 = load_const (0x00000006 = 0.000000)
MESA: info:             con 32     %51 = @bindless_resource_ir3 (%50 (0x6)) (desc_set=1)
MESA: info:             con 32     %52 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%51, %52 (0x10)) (base=32, range=4)
MESA: info:             con 32     %54 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %55 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %56 = @bindless_resource_ir3 (%55 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%54, %56)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %77 = load_const (0x00000000)
MESA: info:     div 32x2   %78 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x2   %79 = @load_interpolated_input (%78, %77 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     div 32x2   %80 = @load_barycentric_centroid (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32     %81 = @load_interpolated_input (%80, %77 (0x0)) (base=0, component=2, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32     %82 = load_const (0x3f800000 = 1.000000)
MESA: info:     con 32     %83 = load_const (0x3d4ccccd = 0.050000)
MESA: info:     div 32     %85 = fmul %79.y, %83 (0.050000)
MESA: info:     con 32x3   %90 = @load_const_ir3 (%77 (0x0)) (base=16)
MESA: info:     div 32    %452 = ffma %79.x, %83 (0.050000), %90.x
MESA: info:     div 32x2   %92 = vec2 %452, %85
MESA: info:     con 32     %93 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32     %94 = @bindless_resource_ir3 (%93 (0x1)) (desc_set=2)
MESA: info:     con 32     %95 = @bindless_resource_ir3 (%77 (0x0)) (desc_set=2)
MESA: info:     div 32x4   %96 = (float32)tex %95 (texture_handle), %94 (sampler_handle), %92 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32     %98 = @load_const_ir3 (%77 (0x0)) (base=0)
MESA: info:     con 32     %99 = load_const (0xbf008081 = -0.501961)
MESA: info:     div 32x2  %497 = fadd %96.xy, %99 (-0.501961).xx
MESA: info:     con 32    %102 = load_const (0x40008102 = 2.007874)
MESA: info:     div 32x2  %498 = fmul %102 (2.007874).xx, %497
MESA: info:     div 32    %106 = fmul %498.x, %498.x
MESA: info:     div 32    %451 = ffma %498.y, %498.y, %106
MESA: info:     div 32    %450 = fsub %82 (1.000000), %451
MESA: info:     div 32    %110 = fsat %450
MESA: info:     div 32    %111 = fsqrt %110
MESA: info:     div 32x2  %499 = fmul %98.xx, %498
MESA: info:     div 32    %449 = ffma %499.y, %499.y, %110
MESA: info:     div 32    %448 = ffma %499.x, %499.x, %449
MESA: info:     div 32    %118 = frsq %448
MESA: info:     div 32x2  %500 = fmul %499, %118.xx
MESA: info:     div 32    %121 = fmul %111, %118
MESA: info:     con 32    %122 = load_const (0x3d088889 = 0.033333)
MESA: info:     con 32    %126 = @load_const_ir3 (%77 (0x0)) (base=1)
MESA: info:     con 32    %128 = @load_const_ir3 (%77 (0x0)) (base=2)
MESA: info:     div 32    %447 = ffma %79.x, %122 (0.033333), %126
MESA: info:     div 32    %446 = ffma %79.y, %122 (0.033333), %128
MESA: info:     div 32x2  %131 = vec2 %447, %446
MESA: info:     div 32x4  %132 = (float32)tex %95 (texture_handle), %94 (sampler_handle), %131 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32    %134 = @load_const_ir3 (%77 (0x0)) (base=3)
MESA: info:     div 32x2  %501 = fadd %132.xy, %99 (-0.501961).xx
MESA: info:     div 32x2  %502 = fmul %102 (2.007874).xx, %501
MESA: info:     div 32    %140 = fmul %502.x, %502.x
MESA: info:     div 32    %445 = ffma %502.y, %502.y, %140
MESA: info:     div 32    %444 = fsub %82 (1.000000), %445
MESA: info:     div 32    %144 = fsat %444
MESA: info:     div 32    %145 = fsqrt %144
MESA: info:     div 32x2  %503 = fmul %134.xx, %502
MESA: info:     div 32    %443 = ffma %503.y, %503.y, %144
MESA: info:     div 32    %442 = ffma %503.x, %503.x, %443
MESA: info:     div 32    %152 = frsq %442
MESA: info:     div 32x2  %504 = fmul %503, %152.xx
MESA: info:     div 32    %155 = fmul %145, %152
MESA: info:     div 32x2  %505 = fmul %504, %121.xx
MESA: info:     div 32x2  %506 = ffma %500, %155.xx, %505
MESA: info:     div 32    %162 = fmul %121, %155
MESA: info:     con 32    %163 = load_const (0x3cb60b61 = 0.022222)
MESA: info:     con 32    %167 = @load_const_ir3 (%77 (0x0)) (base=4)
MESA: info:     con 32    %169 = @load_const_ir3 (%77 (0x0)) (base=5)
MESA: info:     div 32    %439 = ffma %79.x, %163 (0.022222), %167
MESA: info:     div 32    %438 = ffma %79.y, %163 (0.022222), %169
MESA: info:     div 32x2  %172 = vec2 %439, %438
MESA: info:     div 32x4  %173 = (float32)tex %95 (texture_handle), %94 (sampler_handle), %172 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32    %175 = @load_const_ir3 (%77 (0x0)) (base=6)
MESA: info:     div 32x2  %507 = fadd %173.xy, %99 (-0.501961).xx
MESA: info:     div 32x2  %508 = fmul %102 (2.007874).xx, %507
MESA: info:     div 32    %181 = fmul %508.x, %508.x
MESA: info:     div 32    %437 = ffma %508.y, %508.y, %181
MESA: info:     div 32    %436 = fsub %82 (1.000000), %437
MESA: info:     div 32    %185 = fsat %436
MESA: info:     div 32    %186 = fsqrt %185
MESA: info:     div 32x2  %509 = fmul %175.xx, %508
MESA: info:     div 32    %435 = ffma %509.y, %509.y, %185
MESA: info:     div 32    %434 = ffma %509.x, %509.x, %435
MESA: info:     div 32    %193 = frsq %434
MESA: info:     div 32x2  %510 = fmul %509, %193.xx
MESA: info:     div 32    %196 = fmul %186, %193
MESA: info:     div 32x2  %511 = fmul %510, %162.xx
MESA: info:     div 32x2  %512 = ffma %506, %196.xx, %511
MESA: info:     div 32    %203 = fmul %162, %196
MESA: info:     con 32    %204 = load_const (0x3c72b9d6 = 0.014815)
MESA: info:     con 32    %207 = fneg %90.x
MESA: info:     con 32    %209 = @load_const_ir3 (%77 (0x0)) (base=7)
MESA: info:     div 32    %431 = ffma %79.x, %204 (0.014815), %207
MESA: info:     div 32    %430 = ffma %79.y, %204 (0.014815), %209
MESA: info:     div 32x2  %212 = vec2 %431, %430
MESA: info:     div 32x4  %213 = (float32)tex %95 (texture_handle), %94 (sampler_handle), %212 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32    %215 = @load_const_ir3 (%77 (0x0)) (base=8)
MESA: info:     div 32x2  %513 = fadd %213.xy, %99 (-0.501961).xx
MESA: info:     div 32x2  %514 = fmul %102 (2.007874).xx, %513
MESA: info:     div 32    %221 = fmul %514.x, %514.x
MESA: info:     div 32    %429 = ffma %514.y, %514.y, %221
MESA: info:     div 32    %428 = fsub %82 (1.000000), %429
MESA: info:     div 32    %225 = fsat %428
MESA: info:     div 32    %226 = fsqrt %225
MESA: info:     div 32x2  %515 = fmul %215.xx, %514
MESA: info:     div 32    %427 = ffma %515.y, %515.y, %225
MESA: info:     div 32    %426 = ffma %515.x, %515.x, %427
MESA: info:     div 32    %233 = frsq %426
MESA: info:     div 32x2  %516 = fmul %515, %233.xx
MESA: info:     div 32    %236 = fmul %226, %233
MESA: info:     div 32x2  %517 = fmul %516, %203.xx
MESA: info:     div 32x2  %518 = ffma %512, %236.xx, %517
MESA: info:     div 32    %243 = fmul %203, %236
MESA: info:     con 32    %244 = load_const (0x3c21d13a = 0.009877)
MESA: info:     con 32    %248 = @load_const_ir3 (%77 (0x0)) (base=9)
MESA: info:     con 32    %250 = @load_const_ir3 (%77 (0x0)) (base=10)
MESA: info:     div 32    %423 = ffma %79.x, %244 (0.009877), %248
MESA: info:     con 32x2  %525 = load_const (0x3c21d13a, 0x3bd7c1a2) = (0.009877, 0.006584)
MESA: info:     div 32x2  %526 = ffma %79.yy, %525 (0.009877, 0.006584), %250.xx
MESA: info:     div 32x2  %253 = vec2 %423, %526.x
MESA: info:     div 32x4  %254 = (float32)tex %95 (texture_handle), %94 (sampler_handle), %253 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32    %256 = @load_const_ir3 (%77 (0x0)) (base=11)
MESA: info:     div 32x2  %519 = fadd %254.xy, %99 (-0.501961).xx
MESA: info:     div 32x2  %520 = fmul %102 (2.007874).xx, %519
MESA: info:     div 32    %262 = fmul %520.x, %520.x
MESA: info:     div 32    %421 = ffma %520.y, %520.y, %262
MESA: info:     div 32    %420 = fsub %82 (1.000000), %421
MESA: info:     div 32    %266 = fsat %420
MESA: info:     div 32    %267 = fsqrt %266
MESA: info:     div 32x2  %521 = fmul %256.xx, %520
MESA: info:     div 32    %419 = ffma %521.y, %521.y, %266
MESA: info:     div 32    %418 = ffma %521.x, %521.x, %419
MESA: info:     div 32    %274 = frsq %418
MESA: info:     div 32x2  %522 = fmul %521, %274.xx
MESA: info:     div 32    %277 = fmul %267, %274
MESA: info:     div 32x2  %523 = fmul %522, %243.xx
MESA: info:     div 32x2  %524 = ffma %518, %277.xx, %523
MESA: info:     div 32    %284 = fmul %243, %277
MESA: info:     con 32    %285 = load_const (0x3bd7c1a2 = 0.006584)
MESA: info:     con 32    %289 = @load_const_ir3 (%77 (0x0)) (base=12)
MESA: info:     div 32    %415 = ffma %79.x, %285 (0.006584), %289
MESA: info:     div 32x2  %292 = vec2 %415, %526.y
MESA: info:     div 32x4  %293 = (float32)tex %95 (texture_handle), %94 (sampler_handle), %292 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32    %295 = @load_const_ir3 (%77 (0x0)) (base=13)
MESA: info:     div 32x2  %527 = fadd %293.xy, %99 (-0.501961).xx
MESA: info:     div 32x2  %528 = fmul %102 (2.007874).xx, %527
MESA: info:     div 32    %301 = fmul %528.x, %528.x
MESA: info:     div 32    %413 = ffma %528.y, %528.y, %301
MESA: info:     div 32    %412 = fsub %82 (1.000000), %413
MESA: info:     div 32    %305 = fsat %412
MESA: info:     div 32    %306 = fsqrt %305
MESA: info:     div 32x2  %529 = fmul %295.xx, %528
MESA: info:     div 32    %411 = ffma %529.y, %529.y, %305
MESA: info:     div 32    %410 = ffma %529.x, %529.x, %411
MESA: info:     div 32    %313 = frsq %410
MESA: info:     div 32x2  %530 = fmul %529, %313.xx
MESA: info:     div 32    %316 = fmul %306, %313
MESA: info:     div 32x2  %531 = fmul %530, %284.xx
MESA: info:     div 32x2  %532 = ffma %524, %316.xx, %531
MESA: info:     div 32    %323 = fmul %284, %316
MESA: info:     con 32    %324 = load_const (0x40a00000 = 5.000000)
MESA: info:     div 32    %325 = fadd %81, %324 (5.000000)
MESA: info:     div 32    %326 = flog2 %325
MESA: info:     con 32    %327 = load_const (0x3f317218 = 0.693147)
MESA: info:     con 32    %329 = load_const (0xbfb17218 = -1.386294)
MESA: info:     div 32    %407 = ffma %326, %327 (0.693147), %329 (-1.386294)
MESA: info:     con 32    %331 = load_const (0x3f38aa3b = 0.721348)
MESA: info:     div 32    %332 = fmul %331 (0.721348), %407
MESA: info:     div 32    %333 = fmul %90.y, %332
MESA: info:     con 32    %335 = @load_const_ir3 (%77 (0x0)) (base=14)
MESA: info:     div 32    %336 = fmul %333, %335
MESA: info:     div 32x2  %533 = fmul %336.xx, %532
MESA: info:     div 32    %340 = fmul %533.y, %533.y
MESA: info:     div 32    %406 = ffma %323, %323, %340
MESA: info:     div 32    %405 = ffma %533.x, %533.x, %406
MESA: info:     div 32    %344 = frsq %405
MESA: info:     div 32x2  %534 = fmul %533, %344.xx
MESA: info:     div 32    %347 = fmul %323, %344
MESA: info:     con 32x3  %355 = @load_const_ir3 (%77 (0x0)) (base=32)
MESA: info:     con 32x3  %364 = @load_const_ir3 (%77 (0x0)) (base=36)
MESA: info:     div 32x3  %536 = fmul %364, %534.yyy
MESA: info:     div 32x3  %538 = ffma %355, %534.xxx, %536
MESA: info:     con 32x3  %376 = @load_const_ir3 (%77 (0x0)) (base=40)
MESA: info:     div 32x3  %540 = ffma %376, %347.xxx, %538
MESA: info:     con 32x4  %383 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                      @store_output (%383 (0.000000, 0.000000, 0.000000, 0.000000), %77 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %384 = vec4 %540.x, %540.y, %540.z, %82 (0x3f800000)
MESA: info:                      @store_output (%384, %77 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA1 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 940a4a79252ea270c32fcce4acd2bc4803921285:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (8 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      2
MESA: info: ;   range[0]:
MESA: info: ;     block:          5
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          6
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (256b -> 320b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @in(r0.z)	in1 (wrmask=0x3)
MESA: info: @const(c12.x)	0x3f000000, 0x40000000, 0x3effffff, 0x3f5db3d8
MESA: info: @const(c13.x)	0x3eaaaaab, 0x40400000, 0xbf000001, 0x3f5db3d7
MESA: info: @const(c14.x)	0x3e638e39, 0x40900000, 0xb3bbbd2e, 0x3e17b426
MESA: info: @const(c15.x)	0x40d80000, 0xbefffffd, 0xbf5db3d8, 0x3dca4588
MESA: info: @const(c16.x)	0x41220000, 0x3efffffd, 0x3d86d905, 0x41730000
MESA: info: @const(c17.x)	0x40008102, 0x3d4ccccd, 0xbf008081, 0x3d088889
MESA: info: @const(c18.x)	0x3cb60b61, 0x3c72b9d6, 0x3c21d13a, 0x3bd7c1a2
MESA: info: @const(c19.x)	0x3f38aa3b, 0x40a00000, 0xbfb17218, 0x3f317218
MESA: info: shps #l45
MESA: info: getone #l45
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: (ss)nop
MESA: info: ldc.u.offset0.3.imm.base1 r48.x, 0, 5
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)sel.b32 r48.w, c12.x, r48.z, c12.y
MESA: info: sel.b32 r49.z, c13.x, r48.z, c13.y
MESA: info: sel.b32 r50.y, c14.x, r48.z, c14.y
MESA: info: sel.b32 r50.w, c14.w, r48.z, c15.x
MESA: info: sel.b32 r51.w, c15.w, r48.z, c16.x
MESA: info: sel.b32 r52.x, c16.z, r48.z, c16.w
MESA: info: (rpt1)mul.f r49.x, (r)c12.z, r48.x
MESA: info: (rpt1)mul.f r49.w, (r)c13.z, r48.x
MESA: info: mul.f r50.z, c14.z, r48.x
MESA: info: (rpt1)mul.f r51.x, (r)c15.y, r48.x
MESA: info: mul.f r51.z, c16.y, r48.x
MESA: info: (ss)nop
MESA: info: stc.u32 c[0], r48.w, 1
MESA: info: (ss)add.f r48.w, r48.w, r49.z
MESA: info: add.f r48.w, r48.w, r50.y
MESA: info: add.f r48.w, r48.w, r50.w
MESA: info: add.f r48.w, r48.w, r51.w
MESA: info: add.f r48.w, r48.w, r52.x
MESA: info: stc.u32 c[3], r49.z, 1
MESA: info: stc.u32 c[6], r50.y, 1
MESA: info: stc.u32 c[8], r50.w, 1
MESA: info: stc.u32 c[11], r51.w, 1
MESA: info: stc.u32 c[13], r52.x, 1
MESA: info: stc.u32 c[1], r49.x, 1
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[2], r49.y, 1
MESA: info: stc.u32 c[4], r49.w, 1
MESA: info: stc.u32 c[5], r50.x, 1
MESA: info: stc.u32 c[7], r50.z, 1
MESA: info: stc.u32 c[9], r51.x, 1
MESA: info: stc.u32 c[10], r51.y, 1
MESA: info: stc.u32 c[12], r51.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[14], r48.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 5
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 16, 6
MESA: info: (sy)(ss)shpe
MESA: info: l45:
MESA: info: (jp)bary.f r1.x, 1, r0.x
MESA: info: bary.f r0.x, 0, (last)r0.x
MESA: info: bary.f (ei)r0.z, 2, (last)r0.z
MESA: info: mul.f r1.y, r1.x, c17.y
MESA: info: mad.f32 r2.y, c17.w, r1.x, c0.z
MESA: info: mad.f32 r1.z, c17.y, r0.x, c4.x
MESA: info: mad.f32 r2.z, c17.w, r0.x, c0.y
MESA: info: mad.f32 r3.y, c18.x, r1.x, c1.y
MESA: info: mad.f32 r3.z, c18.x, r0.x, c1.x
MESA: info: mad.f32 r4.y, c18.y, r1.x, c1.w
MESA: info: mad.f32 r4.z, c18.y, r0.x, (neg)c4.x
MESA: info: alias.tex.b32.0 r1.w, r1.y
MESA: info: sam.base2 (f32)(xy)r1.w, r1.z, s#1, t#0
MESA: info: mad.f32 r5.w, c18.z, r0.x, c2.y
MESA: info: alias.tex.b32.0 r2.w, r2.y
MESA: info: sam.base2 (f32)(xy)r2.w, r2.z, s#1, t#0
MESA: info: (rpt1)mad.f32 r5.y, (r)c18.z, r1.x, c2.z
MESA: info: alias.tex.b32.0 r3.w, r3.y
MESA: info: sam.base2 (f32)(xy)r3.w, r3.z, s#1, t#0
MESA: info: mad.f32 r0.x, c18.w, r0.x, c3.x
MESA: info: add.f r0.z, (last)r0.z, c19.y
MESA: info: alias.tex.b32.0 r4.w, r4.y
MESA: info: sam.base2 (f32)(xy)r4.w, r4.z, s#1, t#0
MESA: info: mov.u32u32 r10.z, 0
MESA: info: mov.u32u32 r10.w, 0
MESA: info: alias.tex.b32.0 r6.x, r5.y
MESA: info: sam.base2 (f32)(xy)r6.x, r5.w, s#1, t#0
MESA: info: mov.u32u32 r11.x, 0
MESA: info: mov.u32u32 r11.y, 0
MESA: info: alias.tex.b32.0 r0.y, r5.z
MESA: info: sam.base2 (f32)(xy)r6.z, r0.x, s#1, t#0
MESA: info: (eq)nop
MESA: info: log2 r0.z, (last)r0.z
MESA: info: (sy)add.f r1.w, (last)r1.w, c17.z
MESA: info: add.f r2.w, (last)r2.w, c17.z
MESA: info: add.f r2.x, (last)r2.x, c17.z
MESA: info: add.f r3.x, (last)r3.x, c17.z
MESA: info: add.f r3.w, (last)r3.w, c17.z
MESA: info: mul.f r1.w, c17.x, (last)r1.w
MESA: info: mul.f r2.w, c17.x, (last)r2.w
MESA: info: add.f r4.x, (last)r4.x, c17.z
MESA: info: mul.f r2.x, c17.x, (last)r2.x
MESA: info: mul.f r3.x, c17.x, (last)r3.x
MESA: info: mul.f r3.w, c17.x, (last)r3.w
MESA: info: mul.f r7.z, r1.w, r1.w
MESA: info: mul.f r7.w, r2.w, r2.w
MESA: info: (rpt1)add.f r4.w, (last)(r)r4.w, c17.z
MESA: info: mul.f r4.x, c17.x, (last)r4.x
MESA: info: mad.f32 r7.z, r2.x, r2.x, (last)r7.z
MESA: info: mad.f32 r7.w, r3.x, r3.x, (last)r7.w
MESA: info: add.f r6.x, (last)r6.x, c17.z
MESA: info: mul.f r8.z, r3.w, r3.w
MESA: info: mul.f r4.w, c17.x, (last)r4.w
MESA: info: mul.f r2.x, c0.x, (last)r2.x
MESA: info: mul.f r3.x, c0.w, (last)r3.x
MESA: info: add.f r6.y, (last)r6.y, c17.z
MESA: info: mul.f r1.w, c0.x, (last)r1.w
MESA: info: mul.f r2.w, c0.w, (last)r2.w
MESA: info: mul.f r5.x, c17.x, (last)r5.x
MESA: info: (sat)add.f r7.z, (1.0), (last)(neg)r7.z
MESA: info: (sat)add.f r7.w, (1.0), (last)(neg)r7.w
MESA: info: mad.f32 r8.z, r4.x, r4.x, (last)r8.z
MESA: info: mul.f r6.x, c17.x, (last)r6.x
MESA: info: mul.f r8.w, r4.w, r4.w
MESA: info: mad.f32 r8.x, r2.x, r2.x, r7.z
MESA: info: sqrt r7.z, (last)r7.z
MESA: info: mad.f32 r8.y, r3.x, r3.x, r7.w
MESA: info: sqrt r7.w, (last)r7.w
MESA: info: mul.f r4.x, c1.z, (last)r4.x
MESA: info: add.f r7.x, (last)r6.z, c17.z
MESA: info: mul.f r3.w, c1.z, (last)r3.w
MESA: info: mul.f r6.y, c17.x, (last)r6.y
MESA: info: (sat)add.f r8.z, (1.0), (last)(neg)r8.z
MESA: info: mad.f32 r8.w, r5.x, r5.x, (last)r8.w
MESA: info: mad.f32 r8.x, r1.w, r1.w, (last)r8.x
MESA: info: mad.f32 r8.y, r2.w, r2.w, (last)r8.y
MESA: info: add.f r7.y, (last)r6.w, c17.z
MESA: info: mul.f r9.z, r6.x, r6.x
MESA: info: mad.f32 r9.x, r4.x, r4.x, r8.z
MESA: info: sqrt r8.z, (last)r8.z
MESA: info: mul.f r5.x, c2.x, (last)r5.x
MESA: info: rsq r8.x, (last)r8.x
MESA: info: mul.f r4.w, c2.x, (last)r4.w
MESA: info: rsq r8.y, (last)r8.y
MESA: info: (sat)add.f r8.w, (1.0), (last)(neg)r8.w
MESA: info: (rpt1)mul.f r7.x, c17.x, (last)(r)r7.x
MESA: info: mad.f32 r9.z, r6.y, r6.y, (last)r9.z
MESA: info: mad.f32 r9.x, r3.w, r3.w, (last)r9.x
MESA: info: mad.f32 r9.y, r5.x, r5.x, r8.w
MESA: info: sqrt r8.w, (last)r8.w
MESA: info: mul.f r9.w, r7.x, r7.x
MESA: info: mul.f r6.y, c2.w, (last)r6.y
MESA: info: mul.f r6.x, c2.w, (last)r6.x
MESA: info: (sat)add.f r9.z, (1.0), (last)(neg)r9.z
MESA: info: rsq r9.x, (last)r9.x
MESA: info: mad.f32 r9.y, r4.w, r4.w, (last)r9.y
MESA: info: mad.f32 r9.w, r7.y, r7.y, (last)r9.w
MESA: info: mad.f32 r10.x, r6.y, r6.y, r9.z
MESA: info: mul.f r7.y, c3.y, (last)r7.y
MESA: info: mul.f r7.x, c3.y, (last)r7.x
MESA: info: sqrt r9.z, (last)r9.z
MESA: info: (sat)add.f r9.w, (1.0), (last)(neg)r9.w
MESA: info: rsq r9.y, (last)r9.y
MESA: info: mad.f32 r10.x, r6.x, r6.x, (last)r10.x
MESA: info: (nop1) mad.f32 r10.y, r7.y, r7.y, r9.w
MESA: info: (nop1) mad.f32 r10.y, r7.x, r7.x, (last)r10.y
MESA: info: sqrt r9.w, (last)r9.w
MESA: info: nop
MESA: info: rsq r10.x, (last)r10.x
MESA: info: (rpt2)nop
MESA: info: rsq r10.y, (last)r10.y
MESA: info: (ss)mul.f r7.z, (last)r7.z, r8.x
MESA: info: mul.f r3.x, (last)r3.x, r8.y
MESA: info: mul.f r7.w, (last)r7.w, r8.y
MESA: info: mul.f r2.w, (last)r2.w, (last)r8.y
MESA: info: mul.f r2.x, (last)r2.x, r8.x
MESA: info: mul.f r4.x, (last)r4.x, r9.x
MESA: info: mul.f r8.z, (last)r8.z, r9.x
MESA: info: mul.f r3.w, (last)r3.w, (last)r9.x
MESA: info: mul.f r3.x, (last)r3.x, r7.z
MESA: info: mul.f r2.w, (last)r2.w, r7.z
MESA: info: mul.f r7.z, (last)r7.z, r7.w
MESA: info: mul.f r1.w, (last)r1.w, (last)r8.x
MESA: info: mad.f32 r2.x, (last)r2.x, r7.w, (last)r3.x
MESA: info: mul.f r5.x, (last)r5.x, r9.y
MESA: info: mul.f r8.w, (last)r8.w, r9.y
MESA: info: mul.f r4.w, (last)r4.w, (last)r9.y
MESA: info: mul.f r4.x, (last)r4.x, r7.z
MESA: info: mul.f r3.w, (last)r3.w, r7.z
MESA: info: mul.f r7.z, (last)r7.z, r8.z
MESA: info: mad.f32 r0.z, c19.w, r0.z, c19.z
MESA: info: mad.f32 r1.w, (last)r1.w, r7.w, (last)r2.w
MESA: info: mad.f32 r2.x, (last)r2.x, r8.z, (last)r4.x
MESA: info: mul.f r6.y, (last)r6.y, r10.x
MESA: info: mul.f r9.z, (last)r9.z, r10.x
MESA: info: mul.f r6.x, (last)r6.x, (last)r10.x
MESA: info: mul.f r5.x, (last)r5.x, r7.z
MESA: info: mul.f r4.w, (last)r4.w, r7.z
MESA: info: mul.f r7.z, (last)r7.z, r8.w
MESA: info: mul.f r0.z, c19.x, (last)r0.z
MESA: info: mad.f32 r1.w, (last)r1.w, r8.z, (last)r3.w
MESA: info: mad.f32 r2.x, (last)r2.x, r8.w, (last)r5.x
MESA: info: mul.f r7.y, (last)r7.y, r10.y
MESA: info: mul.f r6.y, (last)r6.y, r7.z
MESA: info: mul.f r6.x, (last)r6.x, r7.z
MESA: info: mul.f r7.z, (last)r7.z, r9.z
MESA: info: mul.f r9.w, (last)r9.w, r10.y
MESA: info: mul.f r0.z, c4.y, (last)r0.z
MESA: info: mad.f32 r1.w, (last)r1.w, r8.w, (last)r4.w
MESA: info: mad.f32 r2.x, (last)r2.x, r9.z, (last)r6.y
MESA: info: mul.f r7.x, (last)r7.x, (last)r10.y
MESA: info: mul.f r7.y, (last)r7.y, r7.z
MESA: info: mul.f r0.z, (last)r0.z, c3.z
MESA: info: mad.f32 r1.w, (last)r1.w, r9.z, (last)r6.x
MESA: info: mad.f32 r2.x, (last)r2.x, r9.w, (last)r7.y
MESA: info: mul.f r7.x, (last)r7.x, r7.z
MESA: info: mul.f r7.z, (last)r7.z, r9.w
MESA: info: mul.f r2.x, r0.z, (last)r2.x
MESA: info: mad.f32 r1.w, (last)r1.w, r9.w, (last)r7.x
MESA: info: mov.u32u32 r2.w, 0x3f800000
MESA: info: mul.f r11.z, r2.x, r2.x
MESA: info: mul.f r0.z, (last)r0.z, (last)r1.w
MESA: info: (nop1) mad.f32 r11.z, r7.z, r7.z, (last)r11.z
MESA: info: (nop3) mad.f32 r11.z, r0.z, r0.z, (last)r11.z
MESA: info: (rpt1)nop
MESA: info: rsq r11.z, (last)r11.z
MESA: info: (ss)mul.f r2.x, (last)r2.x, r11.z
MESA: info: mul.f r0.z, (last)r0.z, r11.z
MESA: info: mul.f r7.z, (last)r7.z, (last)r11.z
MESA: info: mul.f r11.w, c9.x, r2.x
MESA: info: (rpt1)mul.f r1.z, (r)c9.y, (last)r2.x
MESA: info: mad.f32 r0.w, c8.x, r0.z, (last)r11.w
MESA: info: (rpt1)mad.f32 r1.x, (r)c8.y, r0.z, (r)(last)r1.z
MESA: info: (rpt2)mad.f32 r2.x, (r)c10.x, r7.z, (r)(last)r0.w
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r10.z (FRAG_RESULT_DATA0) r2.x (FRAG_RESULT_DATA1)
MESA: info: ; FRAG: inputs: r0.x (VARYING_SLOT_VAR0 slot=32 cm=7,il=0,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0) r0.z (SYSTEM_VALUE_BARYCENTRIC_PERSP_CENTROID slot=58 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 115/1: 191 instr, 13 nops, 178 non-nops, 5 mov, 0 cov, 448 dwords
MESA: info: ; FRAG prog 115/1: 2 last-baryf, 32 last-helper, 0 half, 12 full, 20 constlen
MESA: info: ; FRAG prog 115/1: 14 cat0, 5 cat1, 98 cat2, 48 cat3, 14 cat4, 6 cat5, 0 cat6, 6 cat7
MESA: info: ; FRAG prog 115/1: 20 sstall, 2 (ss), 28 systall, 1 (sy), 0 loops
MESA: info: ; FRAG prog 115/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 48 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; pos (ij_centroid): r0.z
MESA: info: ; data0: r10.z
MESA: info: ; data1: r2.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x8778bc63, 0x854c3873, 0x6cdf8636, 0xebf57197, 0xf26539df, 0x9f978893, 0x2ea5c3e2, 0xb7bd634e}
MESA: info: inputs_read: 15-16
MESA: info: outputs_written: 0,32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 2
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec4 #2 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec3 #3 (VARYING_SLOT_VAR0.xyz, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #4
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:      // preds:
MESA: info:     con 32    %0 = load_const (0x00000000)
MESA: info:     div 32x4  %1 = @load_input (%0 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x4  %2 = @load_input (%0 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:                    @store_output (%1, %0 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x3  %3 = vec3 %2.x, %2.y, %2.w
MESA: info:                    @store_output (%3, %0 (0x0)) (base=1, range=1, wrmask=xyz, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                    // succs: b1
MESA: info:     block b1:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 fe070b2d9a5011d589521183ac3a7e5c5e4e8e34:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   primitive_param            c0.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: @in(r1.x)	in1 (wrmask=0xf)
MESA: info: mov.u32u32 r1.z, (last)r1.w
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r0.x (VARYING_SLOT_POS) r1.x (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r1.x (VERT_ATTRIB_GENERIC1 slot=16 cm=f,il=0,b=0)
MESA: info: ; VERT prog 116/1: 2 instr, 0 nops, 2 non-nops, 1 mov, 0 cov, 32 dwords
MESA: info: ; VERT prog 116/1: 0 last-baryf, 0 last-helper, 0 half, 2 full, 8 constlen
MESA: info: ; VERT prog 116/1: 1 cat0, 1 cat1, 0 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 116/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 116/1: 16 max_waves, 0 double_threadsize
MESA: info: ; pos: r0.x
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x8778bc63, 0x854c3873, 0x6cdf8636, 0xebf57197, 0xf26539df, 0x9f978893, 0x2ea5c3e2, 0xb7bd634e}
MESA: info: inputs_read: 15-16
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 2
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec4 #2 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec3 #3 (VARYING_SLOT_VAR0.xyz, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #4
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:      // preds:
MESA: info:     con 32    %0 = load_const (0x00000000)
MESA: info:     div 32x4  %1 = @load_input (%0 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:                    @store_output (%1, %0 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                    // succs: b1
MESA: info:     block b1:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 fc642ddb2e23c72482fa9b890816653b77ec0f6a:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   primitive_param            c0.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r0.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0)
MESA: info: ; BVERT prog 116/2: 1 instr, 0 nops, 1 non-nops, 0 mov, 0 cov, 32 dwords
MESA: info: ; BVERT prog 116/2: 0 last-baryf, 0 last-helper, 0 half, 1 full, 8 constlen
MESA: info: ; BVERT prog 116/2: 1 cat0, 0 cat1, 0 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 116/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 116/2: 16 max_waves, 0 double_threadsize
MESA: info: ; pos: r0.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x4488999e, 0xc65d280e, 0x00045268, 0xad860c2f, 0xfe5b440d, 0x18ed9cab, 0x6585c273, 0x9b5d1a5f}
MESA: info: inputs_read: 32
MESA: info: outputs_written: 0-1
MESA: info: subgroup_size: 0
MESA: info: uses_resource_info_query: true
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: origin_upper_left: true
MESA: info: depth_layout: 1
MESA: info: inputs: 1
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NOPERSPECTIVE none vec3 #0 (VARYING_SLOT_VAR0.xyz, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none float #1 (FRAG_RESULT_DEPTH.x, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none int #2 (FRAG_RESULT_STENCIL.x, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000)
MESA: info:             con 32     %3 = load_const (0xffffffff = -1 = 4294967295)
MESA: info:             con 32     %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32x2   %5 = (int32)txs %4 (texture_handle), %2 (0x0) (lod), 0 (texture)
MESA: info:             con 32x2  %36 = iadd %5, %3 (0xffffffff).xx
MESA: info:             con 32    %37 = mov %36.x
MESA: info:             con 32    %38 = mov %36.y
MESA: info:                             @store_const_ir3 (%37) (base=0)
MESA: info:                             @store_const_ir3 (%38) (base=1)
MESA: info:                             @prefetch_tex_ir3 (%4)
MESA: info:             con 32    %10 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32    %11 = @bindless_resource_ir3 (%10 (0x2)) (desc_set=2)
MESA: info:                             @prefetch_tex_ir3 (%11)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32    %12 = load_const (0x00000000)
MESA: info:     div 32x2  %13 = @load_barycentric_pixel (interp_mode=INTERP_MODE_NOPERSPECTIVE)
MESA: info:     div 32x3  %14 = @load_interpolated_input (%13, %12 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     div 32x2  %39 = ffloor %14.xy
MESA: info:     div 32x2  %40 = f2i32 %39
MESA: info:     div 32    %19 = f2i32 %14.z
MESA: info:     div 32x2  %41 = imax %40, %12 (0x0).xx
MESA: info:     con 32    %22 = @bindless_resource_ir3 (%12 (0x0)) (desc_set=2)
MESA: info:     con 32    %24 = @load_const_ir3 (%12 (0x0)) (base=0)
MESA: info:     con 32    %26 = @load_const_ir3 (%12 (0x0)) (base=1)
MESA: info:     div 32    %27 = imin %41.x, %24
MESA: info:     div 32    %28 = imin %41.y, %26
MESA: info:     div 32x2  %29 = vec2 %27, %28
MESA: info:     div 32x4  %30 = (float32)txf_ms %22 (texture_handle), %29 (coord), %19 (ms_index), 0 (texture)
MESA: info:     con 32    %31 = load_const (0x00000002 = 0.000000)
MESA: info:     con 32    %32 = @bindless_resource_ir3 (%31 (0x2)) (desc_set=2)
MESA: info:     div 32x4  %33 = (uint32)txf_ms %32 (texture_handle), %29 (coord), %19 (ms_index), 0 (texture)
MESA: info:     div 32    %34 = mov %30.z
MESA: info:                     @store_output (%34, %12 (0x0)) (base=0, range=1, wrmask=x, component=0, src_type=float32, io location=FRAG_RESULT_DEPTH slots=1, xfb(), xfb2())
MESA: info:     div 32    %35 = mov %33.y
MESA: info:                     @store_output (%35, %12 (0x0)) (base=1, range=1, wrmask=x, component=0, src_type=int32, io location=FRAG_RESULT_STENCIL slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 8e67394504ed87e54b16f18f3866120c932048bd:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in1 (wrmask=0x3)
MESA: info: shps #l14
MESA: info: getone #l14
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: getsize.base2 (s32)(xy)r0.z, r40.x, t#0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 2
MESA: info: (sy)mov.u32u32 r48.x, (last)r0.z
MESA: info: mov.u32u32 r48.y, (last)r0.w
MESA: info: (ss)add.u r48.x, r48.x, -1
MESA: info: add.u r48.y, r48.y, -1
MESA: info: (ss)nop
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[1], r48.y, 1
MESA: info: (sy)(ss)shpe
MESA: info: l14:
MESA: info: (jp)bary.f r1.x, 0, r0.x
MESA: info: (rpt1)bary.f (ei)r1.y, (r)1, (last)r0.x
MESA: info: floor.f r1.x, (last)r1.x
MESA: info: floor.f r1.y, (last)r1.y
MESA: info: cov.f32s32 r1.z, (last)r1.z
MESA: info: cov.f32s32 r1.x, (last)r1.x
MESA: info: cov.f32s32 r1.y, (last)r1.y
MESA: info: nop
MESA: info: max.s r1.x, (last)r1.x, 0
MESA: info: (nop1) max.s r1.y, (last)r1.y, 0
MESA: info: min.s r1.x, (last)r1.x, c0.x
MESA: info: (nop3) min.s r1.y, (last)r1.y, c0.y
MESA: info: (rpt1)nop
MESA: info: isamm.base2 (f32)(z)r1.w, r1.x, s#0, t#0
MESA: info: isamm.base2 (u32)(y)r2.z, r1.x, s#0, t#2
MESA: info: (sy)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r2.y (FRAG_RESULT_DEPTH) r2.w (FRAG_RESULT_STENCIL)
MESA: info: ; FRAG: inputs: r1.x (VARYING_SLOT_VAR0 slot=32 cm=7,il=0,b=1) r1.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0) r0.x (SYSTEM_VALUE_BARYCENTRIC_LINEAR_PIXEL slot=60 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 117/1: 22 instr, 7 nops, 15 non-nops, 0 mov, 3 cov, 68 dwords
MESA: info: ; FRAG prog 117/1: 1 last-baryf, 0 last-helper, 0 half, 3 full, 4 constlen
MESA: info: ; FRAG prog 117/1: 8 cat0, 3 cat1, 9 cat2, 0 cat3, 0 cat4, 2 cat5, 0 cat6, 0 cat7
MESA: info: ; FRAG prog 117/1: 0 sstall, 0 (ss), 30 systall, 1 (sy), 0 loops
MESA: info: ; FRAG prog 117/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 14 preamble-instr, 0 early-preamble
MESA: info: ; posz: r2.y
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xc87ea590, 0x14f31ff9, 0x0a22699c, 0xf744d410, 0xa109de24, 0xabe78b59, 0x4318177e, 0x30433390}
MESA: info: inputs_read: 15-19
MESA: info: outputs_written: 0,32-34
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 5
MESA: info: outputs: 4
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #1 (VERT_ATTRIB_GENERIC1.xyz, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #2 (VERT_ATTRIB_GENERIC2.xyz, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #3 (VERT_ATTRIB_GENERIC3.xyz, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #4 (VERT_ATTRIB_GENERIC4.xyzw, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #5 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #6 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #7 (VARYING_SLOT_VAR1.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #8 (VARYING_SLOT_VAR2.xy, 3, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #9
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %5 = @bindless_resource_ir3 (%3 (0x2)) (desc_set=1)
MESA: info:             con 32    %402 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32    %430 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32x2  %404 = @load_ubo_vec4 (%5, %430 (0x10)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %8 = @bindless_resource_ir3 (%2 (0.000000)) (desc_set=1)
MESA: info:             con 32    %431 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %407 = @load_ubo_vec4 (%8, %431 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32x2  %530 = fmul %404, %407.xx
MESA: info:             con 32    %432 = load_const (0x00000017 = 0.000000 = 23)
MESA: info:             con 32x3  %410 = @load_ubo_vec4 (%8, %432 (0x17)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %15 = fmul %410.y, %410.y
MESA: info:             con 32    %529 = ffma %410.z, %410.z, %15
MESA: info:             con 32    %528 = ffma %410.x, %410.x, %529
MESA: info:             con 32     %19 = fsqrt %528
MESA: info:             con 32x2  %531 = fabs %530.yx
MESA: info:             con 32     %22 = fneg %531.y
MESA: info:             con 1      %23 = feq! %531.x, %22
MESA: info:             con 32     %24 = b2i32 %23
MESA: info:                              @store_const_ir3 (%24) (base=0)
MESA: info:             con 32    %527 = fsub %19, %530.x
MESA: info:             con 32    %526 = fsub %530.y, %530.x
MESA: info:             con 32     %28 = frcp %526
MESA: info:             con 32     %29 = fmul %527, %28
MESA: info:             con 32     %30 = fsat %29
MESA: info:                              @store_const_ir3 (%30) (base=1)
MESA: info:             con 32     %35 = @bindless_resource_ir3 (%402 (0x4)) (desc_set=1)
MESA: info:             con 32x2  %413 = @load_ubo_vec4 (%35, %2 (0.000000)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %434 = load_const (0x00000019 = 0.000000 = 25)
MESA: info:             con 32    %416 = @load_ubo_vec4 (%8, %434 (0x19)) (access=speculatable, base=0, component=1)
MESA: info:             con 32x2  %532 = fmul %413, %416.xx
MESA: info:             con 32     %41 = fneg %532.x
MESA: info:                              @store_const_ir3 (%41) (base=2)
MESA: info:             con 32     %42 = frcp %532.y
MESA: info:                              @store_const_ir3 (%42) (base=3)
MESA: info:             con 32     %43 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32    %419 = @load_ubo_vec4 (%35, %402 (0x4)) (access=speculatable, base=0, component=1)
MESA: info:             con 1      %46 = fge! %2 (0.000000), %419
MESA: info:             con 1      %47 = inot %46
MESA: info:             con 32     %48 = b2i32 %47
MESA: info:                              @store_const_ir3 (%48) (base=4)
MESA: info:             con 32     %49 = frcp %419
MESA: info:                              @store_const_ir3 (%49) (base=5)
MESA: info:             con 32    %422 = @load_ubo_vec4 (%35, %3 (0x2)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %51 = frcp %422
MESA: info:                              @store_const_ir3 (%51) (base=6)
MESA: info:             con 32    %437 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32    %425 = @load_ubo_vec4 (%35, %437 (0x3)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %53 = frcp %425
MESA: info:                              @store_const_ir3 (%53) (base=7)
MESA: info:             con 32    %428 = @load_ubo_vec4 (%35, %402 (0x4)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %524 = fneg %428
MESA: info:             con 32    %525 = ffma %524, %428, %43 (1.000000)
MESA: info:             con 32     %59 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32x2  %533 = load_const (0x40000000, 0x3f800000) = (2.000000, 1.000000)
MESA: info:             con 32x2  %534 = ffma %428.xx, %428.xx, %533 (2.000000, 1.000000)
MESA: info:             con 32    %535 = mov %534.y
MESA: info:                              @store_const_ir3 (%535) (base=8)
MESA: info:             con 32     %62 = frcp %534.x
MESA: info:             con 32     %63 = load_const (0x3ef47d19 = 0.477517)
MESA: info:             con 32     %64 = fmul %525, %63 (0.477517)
MESA: info:             con 32     %65 = fmul %64, %62
MESA: info:                              @store_const_ir3 (%65) (base=9)
MESA: info:             con 32     %66 = fmul %59 (2.000000), %428
MESA: info:                              @store_const_ir3 (%66) (base=10)
MESA: info:             con 32     %69 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %69 (0x14)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %2 (0.000000)) (base=32, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%35, %2 (0.000000)) (base=48, range=8)
MESA: info:             con 32     %76 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %77 = @bindless_resource_ir3 (%76 (0x1)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%77, %2 (0.000000)) (base=80, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %79 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x3   %80 = @load_input (%79 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3   %81 = @load_input (%79 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3   %82 = @load_input (%79 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3   %83 = @load_input (%79 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32x4   %84 = @load_input (%79 (0x0)) (base=4, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC4 slots=1)
MESA: info:     con 32x3   %91 = @load_const_ir3 (%79 (0x0)) (base=28)
MESA: info:     con 32     %93 = @load_const_ir3 (%79 (0x0)) (base=0)
MESA: info:     con 1      %95 = ine %93, %79 (0x0)
MESA: info:                      // succs: b7 b8
MESA: info:     if %95 {
MESA: info:         con block b7:        // preds: b6
MESA: info:         div 32x3  %537 = fmul %81, %84.yyy
MESA: info:         div 32x3  %539 = ffma %80, %84.xxx, %537
MESA: info:         div 32x3  %541 = ffma %82, %84.zzz, %539
MESA: info:         div 32x3  %545 = ffma %83, %84.www, %541
MESA: info:         div 32x3  %566 = mov %545.zyx
MESA: info:                          // succs: b9
MESA: info:     } else {
MESA: info:         con block b8:        // preds: b6
MESA: info:         con 32    %118 = @load_const_ir3 (%79 (0x0)) (base=1)
MESA: info:         div 32x3  %549 = fneg %84.xyz
MESA: info:         div 32x3  %550 = ffma %549, %118.xxx, %84.xyz
MESA: info:         div 32x3  %552 = fmul %81, %550.yyy
MESA: info:         div 32x3  %554 = ffma %80, %550.xxx, %552
MESA: info:         div 32x3  %556 = ffma %82, %550.zzz, %554
MESA: info:         div 32x3  %560 = fadd %556, %83
MESA: info:         div 32x3  %567 = mov %560.zyx
MESA: info:                          // succs: b9
MESA: info:     }
MESA: info:     con block b9:        // preds: b7 b8
MESA: info:     div 32x3  %565 = phi b7: %566, b8: %567
MESA: info:     con 32x4  %151 = @load_const_ir3 (%79 (0x0)) (base=32)
MESA: info:     con 32x4  %161 = @load_const_ir3 (%79 (0x0)) (base=36)
MESA: info:     div 32x4  %570 = fmul %161, %565.yyyy
MESA: info:     div 32x4  %573 = ffma %151, %565.zzzz, %570
MESA: info:     con 32x4  %173 = @load_const_ir3 (%79 (0x0)) (base=40)
MESA: info:     div 32x4  %576 = ffma %173, %565.xxxx, %573
MESA: info:     con 32x4  %185 = @load_const_ir3 (%79 (0x0)) (base=44)
MESA: info:     div 32x4  %579 = fadd %576, %185
MESA: info:     con 32    %193 = @load_const_ir3 (%79 (0x0)) (base=48)
MESA: info:     div 32x3  %581 = fsub %565.zyx, %91
MESA: info:     div 32    %201 = fmul %581.y, %581.y
MESA: info:     div 32    %489 = ffma %581.z, %581.z, %201
MESA: info:     div 32    %488 = ffma %581.x, %581.x, %489
MESA: info:     div 32    %205 = fsqrt %488
MESA: info:     con 32    %207 = @load_const_ir3 (%79 (0x0)) (base=2)
MESA: info:     div 32    %208 = fadd %205, %207
MESA: info:     con 32    %210 = @load_const_ir3 (%79 (0x0)) (base=3)
MESA: info:     div 32    %211 = fmul %208, %210
MESA: info:     con 32    %212 = load_const (0x3f800000 = 1.000000)
MESA: info:     div 32    %213 = fsat %211
MESA: info:     div 32    %214 = fmul %213, %213
MESA: info:     div 32    %215 = fmul %214, %214
MESA: info:     div 32    %216 = fmul %215, %214
MESA: info:     div 32    %217 = fmul %193, %216
MESA: info:     con 32    %221 = @load_const_ir3 (%79 (0x0)) (base=65)
MESA: info:     con 32    %223 = @load_const_ir3 (%79 (0x0)) (base=4)
MESA: info:     con 1     %225 = ine %223, %79 (0x0)
MESA: info:                      // succs: b10 b16
MESA: info:     if %225 {
MESA: info:         con block b10:       // preds: b9
MESA: info:         con 32    %152 = load_const (0x00000001)
MESA: info:         div 32x3  %583 = fsub %91, %565.zyx
MESA: info:         con 1     %232 = flt! %91.z, %79 (0.000000)
MESA: info:         div 1     %233 = fge! %565.x, %79 (0.000000)
MESA: info:         div 1     %234 = iand %232, %233
MESA: info:         div 32    %235 = frcp %583.z
MESA: info:         div 32    %236 = fmul %91.z, %235
MESA: info:         div 32    %483 = fneg %236
MESA: info:         div 32x3  %585 = ffma %483.xxx, %583, %91
MESA: info:         div 32x3  %587 = bcsel %234.xxx, %585, %91
MESA: info:         div 32x3  %589 = fsub %587, %565.zyx
MESA: info:         con 32x3  %254 = @load_const_ir3 (%79 (0x0)) (base=56)
MESA: info:         con 32x3  %257 = @load_const_ir3 (%79 (0x0)) (base=60)
MESA: info:         div 32    %258 = fmax %587.z, %79 (0.000000)
MESA: info:         div 32    %259 = fmax %565.x, %79 (0.000000)
MESA: info:         div 32    %261 = fmul %589.y, %589.y
MESA: info:         div 32    %475 = ffma %589.z, %589.z, %261
MESA: info:         div 32    %474 = ffma %589.x, %589.x, %475
MESA: info:         div 32    %265 = fsqrt %474
MESA: info:         con 32    %267 = @load_const_ir3 (%79 (0x0)) (base=5)
MESA: info:         div 32    %268 = fmul %265, %267
MESA: info:         con 32x3  %596 = load_const (0x3f800000, 0x3f800000, 0x3f800000) = (1.000000, 1.000000, 1.000000)
MESA: info:         con 32x2  %600 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:         con 32x4  %609 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:         con 32x2  %612 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:                          // succs: b11
MESA: info:         con loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32x3  %595 = phi b10: %596 (1.000000, 1.000000, 1.000000), b14: %625
MESA: info:             div 32x2  %599 = phi b10: %600 (0.000000, 0.000000), b14: %601
MESA: info:             div 32x4  %608 = phi b10: %609 (0.000000, 0.000000, 0.000000, 0.000000), b14: %610
MESA: info:             div 32x2  %611 = phi b10: %612 (0.000000, 0.000000), b14: %628
MESA: info:             con 32    %280 = phi b10: %79 (0x0), b14: %340
MESA: info:             con 32    %281 = i2f32 %280
MESA: info:             con 1     %282 = flt! %281, %221
MESA: info:             con 1     %283 = inot %282
MESA: info:                              // succs: b12 b13
MESA: info:             if %283 {
MESA: info:                 con block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 con block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             con block b14:       // preds: b13
MESA: info:             con 32    %284 = load_const (0x3f000000 = 0.500000)
MESA: info:             con 32    %285 = fadd %281, %284 (0.500000)
MESA: info:             con 32    %286 = fmul %285, %267
MESA: info:             div 32    %473 = fsub %259, %258
MESA: info:             div 32    %472 = ffma %286, %473, %258
MESA: info:             con 32    %292 = @load_const_ir3 (%79 (0x0)) (base=6)
MESA: info:             con 32    %293 = load_const (0x3fb8aa3b = 1.442695)
MESA: info:             div 32    %294 = fmul %472, %293 (1.442695)
MESA: info:             div 32    %295 = fmul %294, %292
MESA: info:             div 32    %296 = fneg %295
MESA: info:             div 32    %297 = fexp2 %296
MESA: info:             div 32    %298 = fmul %297, %268
MESA: info:             con 32    %300 = @load_const_ir3 (%79 (0x0)) (base=7)
MESA: info:             div 32    %301 = fmul %294, %300
MESA: info:             div 32    %302 = fneg %301
MESA: info:             div 32    %303 = fexp2 %302
MESA: info:             div 32    %304 = fmul %303, %268
MESA: info:             div 32    %305 = fadd %599.x, %298
MESA: info:             div 32    %306 = fadd %599.y, %304
MESA: info:             div 32x3  %615 = fmul %257, %306.xxx
MESA: info:             div 32x3  %619 = fneg %615
MESA: info:             con 32x3  %620 = fneg %254
MESA: info:             div 32x3  %621 = ffma %620, %305.xxx, %619
MESA: info:             div 32x3  %623 = fmul %621, %293 (1.442695).xxx
MESA: info:             div 32x3  %625 = fexp2 %623
MESA: info:             div 32x3  %627 = ffma %625, %298.xxx, %608.xyz
MESA: info:             div 32    %462 = ffma %625.x, %304, %608.w
MESA: info:             div 32x2  %628 = ffma %625.yz, %304.xx, %611
MESA: info:             con 32    %340 = iadd %280, %152 (0x1)
MESA: info:             div 32x2  %601 = vec2 %305, %306
MESA: info:             div 32x4  %610 = vec4 %627.x, %627.y, %627.z, %462
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         con block b15:       // preds: b12
MESA: info:         div 32x3  %648 = phi b12: %595
MESA: info:         div 32x4  %647 = phi b12: %608
MESA: info:         div 32x2  %646 = phi b12: %611
MESA: info:         div 32    %341 = frsq %474
MESA: info:         div 32x3  %630 = fmul %589, %341.xxx
MESA: info:         con 32x3  %348 = @load_const_ir3 (%79 (0x0)) (base=80)
MESA: info:         div 32    %350 = fmul %630.y, %348.y
MESA: info:         div 32    %459 = ffma %630.z, %348.z, %350
MESA: info:         div 32    %458 = ffma %630.x, %348.x, %459
MESA: info:         con 32    %354 = load_const (0xbf800000 = -1.000000)
MESA: info:         div 32    %355 = fmax %458, %354 (-1.000000)
MESA: info:         div 32    %356 = fmin %355, %212 (1.000000)
MESA: info:         div 32    %457 = ffma %356, %356, %212 (1.000000)
MESA: info:         con 32    %359 = load_const (0x3f16c8b4 = 0.589000)
MESA: info:         div 32    %360 = fmul %359 (0.589000), %457
MESA: info:         div 32x3  %632 = fmul %254, %360.xxx
MESA: info:         con 32    %365 = @load_const_ir3 (%79 (0x0)) (base=8)
MESA: info:         con 32    %367 = @load_const_ir3 (%79 (0x0)) (base=9)
MESA: info:         con 32    %369 = @load_const_ir3 (%79 (0x0)) (base=10)
MESA: info:         con 32    %455 = fneg %369
MESA: info:         div 32    %456 = ffma %455, %356, %365
MESA: info:         con 32    %373 = load_const (0x3fc00000 = 1.500000)
MESA: info:         div 32    %374 = flog2 %456
MESA: info:         div 32    %375 = fmul %374, %373 (1.500000)
MESA: info:         div 32    %376 = fneg %375
MESA: info:         div 32    %377 = fexp2 %376
MESA: info:         div 32    %378 = fmul %457, %377
MESA: info:         div 32    %379 = fmul %367, %378
MESA: info:         div 32x3  %634 = fmul %257, %379.xxx
MESA: info:         div 32    %386 = fmul %647.w, %634.x
MESA: info:         div 32x2  %635 = fmul %646, %634.yz
MESA: info:         div 32    %454 = ffma %647.x, %632.x, %386
MESA: info:         div 32x2  %636 = ffma %647.yz, %632.yz, %635
MESA: info:                          // succs: b17
MESA: info:     } else {
MESA: info:         con block b16:       // preds: b9
MESA: info:         con 32x2  %640 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:         con 32x3  %645 = load_const (0x3f800000, 0x3f800000, 0x3f800000) = (1.000000, 1.000000, 1.000000)
MESA: info:                          // succs: b17
MESA: info:     }
MESA: info:     con block b17:       // preds: b15 b16
MESA: info:     div 32x2  %639 = phi b15: %636, b16: %640 (0.000000, 0.000000)
MESA: info:     div 32    %393 = phi b15: %454, b16: %79 (0x0)
MESA: info:     div 32x3  %644 = phi b15: %648, b16: %645 (1.000000, 1.000000, 1.000000)
MESA: info:                      @store_output (%579, %79 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %399 = vec4 %217, %565.z, %565.y, %565.x
MESA: info:                      @store_output (%399, %79 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %400 = vec4 %644.x, %644.y, %644.z, %393
MESA: info:                      @store_output (%400, %79 (0x0)) (base=2, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR1 slots=1, xfb(), xfb2())
MESA: info:                      @store_output (%639, %79 (0x0)) (base=3, range=1, wrmask=xy, component=0, src_type=float32, io location=VARYING_SLOT_VAR2 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b18
MESA: info:     block b18:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 3c9b7a71144ad63f04da184f881ddf1f57d3e90e:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (20 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c24.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      4
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (320b -> 384b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0xf)
MESA: info: @const(c25.x)	0x3ef47d19, 0x3f16c8b4, 0xbf800000, 0x3f800000
MESA: info: @const(c26.x)	0x3fc00000, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l69
MESA: info: getone #l69
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 16, 2
MESA: info: ldc.u.offset0.3.imm.base1 r48.w, 23, 0
MESA: info: ldc.u.offset3.1.imm.base1 r48.z, 24, 0
MESA: info: ldc.u.offset0.1.imm.base1 r52.x, 4, 4
MESA: info: ldc.u.offset2.2.imm.base1 r50.z, 0, 4
MESA: info: ldc.u.offset1.1.imm.base1 r51.x, 25, 0
MESA: info: ldc.u.offset1.1.imm.base1 r51.y, 4, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.z, 2, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.w, 3, 4
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)(rpt1)mul.f r49.z, (r)r48.x, r48.z
MESA: info: cmps.f.eq hr52.x, (abs)r49.w, (absneg)r49.z
MESA: info: mul.f r48.w, r48.w, r48.w
MESA: info: mul.f r49.x, r49.x, r49.x
MESA: info: mul.f r49.y, r49.y, r49.y
MESA: info: add.f r49.w, r49.w, (neg)r49.z
MESA: info: add.f r49.y, r49.y, r49.x
MESA: info: add.f r48.w, r48.w, r49.y
MESA: info: mul.f r49.x, r52.x, r52.x
MESA: info: add.f r49.x, r49.x, (2.0)
MESA: info: mul.f r50.w, r50.w, r51.x
MESA: info: cmps.f.ge hr48.z, (0.0), r51.y
MESA: info: rcp r51.z, r51.z
MESA: info: rcp r51.w, r51.w
MESA: info: mul.f r50.z, r50.z, r51.x
MESA: info: cov.u16s32 r50.y, hr52.x
MESA: info: mul.f r49.y, r52.x, r52.x
MESA: info: sub.u hr48.z, h(1), hr48.z
MESA: info: absneg.f r50.z, (neg)r50.z
MESA: info: add.f r49.y, r49.y, (1.0)
MESA: info: cov.u16s32 r48.z, hr48.z
MESA: info: (ss)rcp r49.w, r49.w
MESA: info: sqrt r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r50.w, r50.w
MESA: info: rcp r51.y, r51.y
MESA: info: stc.u32 c[6], r51.z, 1
MESA: info: stc.u32 c[7], r51.w, 1
MESA: info: stc.u32 c[0], r50.y, 1
MESA: info: stc.u32 c[2], r50.z, 1
MESA: info: stc.u32 c[8], r49.y, 1
MESA: info: stc.u32 c[4], r48.z, 1
MESA: info: (ss)add.f r48.w, r48.w, (neg)r49.z
MESA: info: (sat)mul.f r48.w, r48.w, r49.w
MESA: info: stc.u32 c[3], r50.w, 1
MESA: info: stc.u32 c[5], r51.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[1], r48.w, 1
MESA: info: (ss)mul.f r48.w, (neg)r52.x, r52.x
MESA: info: add.f r48.w, r48.w, (1.0)
MESA: info: mul.f r52.x, (2.0), r52.x
MESA: info: mul.f r48.w, r48.w, c25.x
MESA: info: mul.f r48.w, r48.w, r49.x
MESA: info: (ss)nop
MESA: info: stc.u32 c[10], r52.x, 1
MESA: info: stc.u32 c[9], r48.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 20, 0
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)80
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l69:
MESA: info: (jp)(nop3) cmps.s.ne p0.x, c0.x, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l85
MESA: info: mul.f r0.w, (last)r0.w, r3.y
MESA: info: mul.f r1.x, (last)r1.x, r3.y
MESA: info: mul.f r1.y, (last)r1.y, r3.y
MESA: info: mad.f32 r0.x, (last)r0.x, r3.x, r0.w
MESA: info: mad.f32 r0.y, (last)r0.y, r3.x, r1.x
MESA: info: mad.f32 r0.z, (last)r0.z, r3.x, r1.y
MESA: info: mad.f32 r1.z, (last)r1.z, r3.z, r0.x
MESA: info: mad.f32 r1.w, (last)r1.w, r3.z, r0.y
MESA: info: mad.f32 r2.x, (last)r2.x, r3.z, r0.z
MESA: info: mad.f32 r4.y, r2.y, r3.w, r1.z
MESA: info: mad.f32 r4.z, r2.z, r3.w, r1.w
MESA: info: mad.f32 r4.w, r2.w, r3.w, r2.x
MESA: info: jump #l96
MESA: info: l85:
MESA: info: mad.f32 r3.y, c0.y, (neg)r3.y, r3.y
MESA: info: mad.f32 r3.x, c0.y, (neg)r3.x, r3.x
MESA: info: mad.f32 r3.z, c0.y, (neg)r3.z, r3.z
MESA: info: mul.f r0.w, (last)r0.w, r3.y
MESA: info: (rpt1)mul.f r1.x, (last)(r)r1.x, (last)r3.y
MESA: info: mad.f32 r0.x, (last)r0.x, r3.x, (last)r0.w
MESA: info: (rpt1)mad.f32 r0.y, (r)(last)r0.y, r3.x, (r)(last)r1.x
MESA: info: mad.f32 r1.z, (last)r1.z, r3.z, (last)r0.x
MESA: info: (rpt1)mad.f32 r1.w, (r)(last)r1.w, r3.z, (r)(last)r0.y
MESA: info: add.f r4.y, (last)r1.z, (last)r2.y
MESA: info: (rpt1)add.f r4.z, (last)(r)r1.w, (last)(r)r2.z
MESA: info: l96:
MESA: info: add.f r7.z, r4.y, (neg)c7.x
MESA: info: add.f r7.x, r4.z, (neg)c7.y
MESA: info: add.f r7.y, r4.w, (neg)c7.z
MESA: info: mul.f r5.x, c9.x, r4.z
MESA: info: mul.f r7.x, (last)r7.x, r7.x
MESA: info: mul.f r6.y, c9.y, r4.z
MESA: info: mad.f32 r7.y, (last)r7.y, r7.y, (last)r7.x
MESA: info: mul.f r6.z, c9.z, r4.z
MESA: info: mad.f32 r7.z, (last)r7.z, r7.z, (last)r7.y
MESA: info: mul.f r6.w, c9.w, r4.z
MESA: info: mad.f32 r5.x, c8.x, r4.y, (last)r5.x
MESA: info: mad.f32 r6.y, c8.y, r4.y, (last)r6.y
MESA: info: mad.f32 r6.z, c8.z, r4.y, (last)r6.z
MESA: info: mad.f32 r6.w, c8.w, r4.y, (last)r6.w
MESA: info: sqrt r7.z, (last)r7.z
MESA: info: mad.f32 r5.x, c10.x, r4.w, (last)r5.x
MESA: info: mad.f32 r6.y, c10.y, r4.w, (last)r6.y
MESA: info: mad.f32 r6.z, c10.z, r4.w, (last)r6.z
MESA: info: mad.f32 r6.w, c10.w, r4.w, (last)r6.w
MESA: info: cmps.s.ne p0.x, c1.x, 0
MESA: info: add.f r5.y, (last)r5.x, c11.x
MESA: info: add.f r5.z, (last)r6.y, c11.y
MESA: info: add.f r5.w, (last)r6.z, c11.z
MESA: info: add.f r6.x, (last)r6.w, c11.w
MESA: info: (ss)(nop2) add.f r7.z, (last)r7.z, c0.z
MESA: info: (sat)(nop2) mul.f r7.z, (last)r7.z, c0.w
MESA: info: (nop2) mul.f r7.z, (last)r7.z, r7.z
MESA: info: (nop2) mul.f r7.w, r7.z, r7.z
MESA: info: (nop2) mul.f r7.w, (last)r7.w, (last)r7.z
MESA: info: mul.f r4.x, c12.x, (last)r7.w
MESA: info: br !p0.x, #l226
MESA: info: cmps.f.lt hr51.x, c7.z, (0.0)
MESA: info: mov.u32u32 r49.w, 0
MESA: info: add.f r8.w, c7.z, (neg)r4.w
MESA: info: cmps.f.ge hr16.x, r4.w, (0.0)
MESA: info: (rpt1)add.f r8.y, (r)c7.x, (neg)(r)r4.y
MESA: info: max.f r9.x, r4.w, (0.0)
MESA: info: mov.u32u32 r10.z, 0x3f800000
MESA: info: rcp r9.y, r8.w
MESA: info: mov.u32u32 r10.w, 0x3f800000
MESA: info: mov.u32u32 r1.y, 0
MESA: info: mov.u32u32 r1.x, 0
MESA: info: mov.u32u32 r0.w, 0
MESA: info: mov.u32u32 r0.z, 0
MESA: info: mov.u32u32 r0.y, 0
MESA: info: mov.u32u32 r0.x, 0
MESA: info: mov.u32u32 r11.w, 0
MESA: info: mov.u32u32 r11.z, 0
MESA: info: mov.u32u32 r11.x, 0x3f800000
MESA: info: (ss)mul.f r9.y, c7.z, (last)r9.y
MESA: info: (nop1) and.b r9.z, hr51.x, (last)hr16.x
MESA: info: (rpt1)mad.f32 r8.z, (neg)r9.y, (r)r8.z, (r)c7.y
MESA: info: mad.f32 r9.y, (neg)(last)r9.y, r8.y, c7.x
MESA: info: (rpt1)sel.b32 r8.z, (r)(last)r8.z, r9.z, (r)c7.y
MESA: info: sel.b32 r9.y, (last)r9.y, r9.z, c7.x
MESA: info: add.f r8.z, (last)r8.z, (neg)r4.z
MESA: info: add.f r9.w, r8.w, (neg)r4.w
MESA: info: add.f r9.y, (last)r9.y, (neg)r4.y
MESA: info: mul.f r10.x, r8.z, r8.z
MESA: info: max.f r8.w, (last)r8.w, (0.0)
MESA: info: (nop1) mad.f32 r10.x, r9.w, r9.w, (last)r10.x
MESA: info: (nop3) mad.f32 r10.x, r9.y, r9.y, (last)r10.x
MESA: info: (rpt1)nop
MESA: info: sqrt r10.y, r10.x
MESA: info: (ss)mul.f r10.y, (last)r10.y, c1.y
MESA: info: l161:
MESA: info: cov.s32f32 r50.x, r49.w
MESA: info: cmps.f.lt hr52.z, r50.x, c16.y
MESA: info: (ss)(nop3) cmps.s.ne p0.x, hr52.z, h(0)
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l198
MESA: info: add.f r50.x, r50.x, (0.5)
MESA: info: mul.f r50.x, r50.x, c1.y
MESA: info: add.u r49.w, r49.w, 1
MESA: info: (nop2) add.f r1.z, r9.x, (neg)r8.w
MESA: info: (ss)(nop2) mad.f32 r1.z, r50.x, r1.z, r8.w
MESA: info: (nop2) mul.f r1.z, (last)r1.z, (log2(e))
MESA: info: mul.f r1.w, r1.z, c1.z
MESA: info: (nop3) mul.f r1.z, (last)r1.z, c1.w
MESA: info: (rpt1)nop
MESA: info: exp2 r1.z, (last)(neg)r1.z
MESA: info: exp2 r1.w, (last)(neg)r1.w
MESA: info: (ss)mul.f r1.z, (last)r1.z, r10.y
MESA: info: (nop1) mul.f r1.w, (last)r1.w, r10.y
MESA: info: add.f r11.w, (last)r11.w, r1.z
MESA: info: (nop1) add.f r11.z, (last)r11.z, r1.w
MESA: info: mul.f r2.x, c15.x, r11.w
MESA: info: (rpt1)mul.f r2.y, (r)c15.y, r11.w
MESA: info: mad.f32 r2.x, (neg)c14.x, r11.z, (neg)(last)r2.x
MESA: info: (rpt1)mad.f32 r2.y, (neg)(r)c14.y, r11.z, (neg)(r)(last)r2.y
MESA: info: mul.f r2.x, (last)r2.x, (log2(e))
MESA: info: (rpt1)mul.f r2.y, (last)(r)r2.y, (log2(e))
MESA: info: (rpt2)nop
MESA: info: exp2 r10.z, (last)r2.x
MESA: info: nop
MESA: info: (rpt1)exp2 r10.w, (last)(r)r2.y
MESA: info: (ss)mad.f32 r0.x, r10.z, r1.w, (last)r0.x
MESA: info: mad.f32 r0.w, r10.z, r1.z, (last)r0.w
MESA: info: mad.f32 r0.y, r10.w, r1.w, (last)r0.y
MESA: info: mad.f32 r1.x, r10.w, r1.z, (last)r1.x
MESA: info: mad.f32 r0.z, r11.x, r1.w, (last)r0.z
MESA: info: mad.f32 r1.y, r11.x, r1.z, (last)r1.y
MESA: info: jump #l161
MESA: info: l198:
MESA: info: rsq r10.x, (last)r10.x
MESA: info: (ss)mul.f r8.z, (last)r8.z, r10.x
MESA: info: mul.f r9.w, (last)r9.w, r10.x
MESA: info: mul.f r9.y, (last)r9.y, (last)r10.x
MESA: info: (nop1) mul.f r8.z, (last)r8.z, c20.y
MESA: info: (nop1) mad.f32 r9.w, c20.z, r9.w, (last)r8.z
MESA: info: (nop2) mad.f32 r9.y, c20.x, r9.y, (last)r9.w
MESA: info: (nop2) max.f r9.y, (last)r9.y, c25.z
MESA: info: (nop2) min.f r9.y, (last)r9.y, (1.0)
MESA: info: mad.f32 r2.w, r9.y, r9.y, c25.w
MESA: info: (nop1) mad.f32 r9.y, (neg)c2.z, r9.y, c2.x
MESA: info: (nop2) mul.f r3.x, c25.y, r2.w
MESA: info: (rpt2)mul.f r3.y, (r)c14.x, (last)r3.x
MESA: info: log2 r9.y, (last)r9.y
MESA: info: (ss)(nop3) mul.f r9.y, (last)r9.y, c26.x
MESA: info: (rpt1)nop
MESA: info: exp2 r9.y, (last)(neg)r9.y
MESA: info: (ss)(nop2) mul.f r2.w, (last)r2.w, (last)r9.y
MESA: info: (nop2) mul.f r2.w, c2.y, (last)r2.w
MESA: info: mul.f r5.x, c15.x, r2.w
MESA: info: (rpt1)mul.f r6.y, (r)c15.y, (last)r2.w
MESA: info: mul.f r0.w, (last)r0.w, (last)r5.x
MESA: info: mul.f r1.x, (last)r1.x, (last)r6.y
MESA: info: mul.f r1.y, (last)r1.y, (last)r6.z
MESA: info: mad.f32 r11.y, (last)r0.x, r3.y, (last)r0.w
MESA: info: mad.f32 r6.w, (last)r0.y, r3.z, (last)r1.x
MESA: info: mad.f32 r7.x, (last)r0.z, r3.w, (last)r1.y
MESA: info: jump #l232
MESA: info: l226:
MESA: info: mov.u32u32 r6.w, 0
MESA: info: mov.u32u32 r11.x, 0x3f800000
MESA: info: mov.u32u32 r10.w, 0x3f800000
MESA: info: mov.u32u32 r10.z, 0x3f800000
MESA: info: mov.u32u32 r11.y, 0
MESA: info: mov.u32u32 r7.x, 0
MESA: info: l232:
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r5.y (VARYING_SLOT_POS) r4.x (VARYING_SLOT_VAR0) r10.z (VARYING_SLOT_VAR1) r6.w (VARYING_SLOT_VAR2)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (VERT_ATTRIB_GENERIC4 slot=19 cm=f,il=0,b=0)
MESA: info: ; VERT prog 118/1: 235 instr, 64 nops, 171 non-nops, 18 mov, 1 cov, 480 dwords
MESA: info: ; VERT prog 118/1: 0 last-baryf, 0 last-helper, 0 half, 12 full, 28 constlen
MESA: info: ; VERT prog 118/1: 71 cat0, 19 cat1, 81 cat2, 53 cat3, 11 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 118/1: 70 sstall, 10 (ss), 0 systall, 0 (sy), 1 loops
MESA: info: ; VERT prog 118/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 70 preamble-instr, 1 early-preamble
MESA: info: ; pos: r5.y
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xc87ea590, 0x14f31ff9, 0x0a22699c, 0xf744d410, 0xa109de24, 0xabe78b59, 0x4318177e, 0x30433390}
MESA: info: inputs_read: 15-19
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 5
MESA: info: outputs: 4
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #1 (VERT_ATTRIB_GENERIC1.xyz, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #2 (VERT_ATTRIB_GENERIC2.xyz, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #3 (VERT_ATTRIB_GENERIC3.xyz, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #4 (VERT_ATTRIB_GENERIC4.xyzw, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #5 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #6 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #7 (VARYING_SLOT_VAR1.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #8 (VARYING_SLOT_VAR2.xy, 3, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #9
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %5 = @bindless_resource_ir3 (%3 (0x2)) (desc_set=1)
MESA: info:             con 32    %402 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32    %430 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32x2  %404 = @load_ubo_vec4 (%5, %430 (0x10)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %8 = @bindless_resource_ir3 (%2 (0.000000)) (desc_set=1)
MESA: info:             con 32    %431 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %407 = @load_ubo_vec4 (%8, %431 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32x2  %489 = fmul %404, %407.xx
MESA: info:             con 32    %432 = load_const (0x00000017 = 0.000000 = 23)
MESA: info:             con 32x3  %410 = @load_ubo_vec4 (%8, %432 (0x17)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %15 = fmul %410.y, %410.y
MESA: info:             con 32    %488 = ffma %410.z, %410.z, %15
MESA: info:             con 32    %487 = ffma %410.x, %410.x, %488
MESA: info:             con 32     %19 = fsqrt %487
MESA: info:             con 32x2  %490 = fabs %489.yx
MESA: info:             con 32     %22 = fneg %490.y
MESA: info:             con 1      %23 = feq! %490.x, %22
MESA: info:             con 32     %24 = b2i32 %23
MESA: info:                              @store_const_ir3 (%24) (base=0)
MESA: info:             con 32    %486 = fsub %19, %489.x
MESA: info:             con 32    %485 = fsub %489.y, %489.x
MESA: info:             con 32     %28 = frcp %485
MESA: info:             con 32     %29 = fmul %486, %28
MESA: info:             con 32     %30 = fsat %29
MESA: info:                              @store_const_ir3 (%30) (base=1)
MESA: info:             con 32     %35 = @bindless_resource_ir3 (%402 (0x4)) (desc_set=1)
MESA: info:             con 32x2  %413 = @load_ubo_vec4 (%35, %2 (0.000000)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %434 = load_const (0x00000019 = 0.000000 = 25)
MESA: info:             con 32    %416 = @load_ubo_vec4 (%8, %434 (0x19)) (access=speculatable, base=0, component=1)
MESA: info:             con 32x2  %491 = fmul %413, %416.xx
MESA: info:             con 32     %41 = fneg %491.x
MESA: info:                              @store_const_ir3 (%41) (base=2)
MESA: info:             con 32     %42 = frcp %491.y
MESA: info:                              @store_const_ir3 (%42) (base=3)
MESA: info:             con 32     %43 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32    %419 = @load_ubo_vec4 (%35, %402 (0x4)) (access=speculatable, base=0, component=1)
MESA: info:             con 1      %46 = fge! %2 (0.000000), %419
MESA: info:             con 1      %47 = inot %46
MESA: info:             con 32     %48 = b2i32 %47
MESA: info:                              @store_const_ir3 (%48) (base=4)
MESA: info:             con 32     %49 = frcp %419
MESA: info:                              @store_const_ir3 (%49) (base=5)
MESA: info:             con 32    %422 = @load_ubo_vec4 (%35, %3 (0x2)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %51 = frcp %422
MESA: info:                              @store_const_ir3 (%51) (base=6)
MESA: info:             con 32    %437 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32    %425 = @load_ubo_vec4 (%35, %437 (0x3)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %53 = frcp %425
MESA: info:                              @store_const_ir3 (%53) (base=7)
MESA: info:             con 32    %428 = @load_ubo_vec4 (%35, %402 (0x4)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %483 = fneg %428
MESA: info:             con 32    %484 = ffma %483, %428, %43 (1.000000)
MESA: info:             con 32     %59 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32x2  %492 = load_const (0x40000000, 0x3f800000) = (2.000000, 1.000000)
MESA: info:             con 32x2  %493 = ffma %428.xx, %428.xx, %492 (2.000000, 1.000000)
MESA: info:             con 32    %494 = mov %493.y
MESA: info:                              @store_const_ir3 (%494) (base=8)
MESA: info:             con 32     %62 = frcp %493.x
MESA: info:             con 32     %63 = load_const (0x3ef47d19 = 0.477517)
MESA: info:             con 32     %64 = fmul %484, %63 (0.477517)
MESA: info:             con 32     %65 = fmul %64, %62
MESA: info:                              @store_const_ir3 (%65) (base=9)
MESA: info:             con 32     %66 = fmul %59 (2.000000), %428
MESA: info:                              @store_const_ir3 (%66) (base=10)
MESA: info:             con 32     %69 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %69 (0x14)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %2 (0.000000)) (base=32, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%35, %2 (0.000000)) (base=48, range=8)
MESA: info:             con 32     %76 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %77 = @bindless_resource_ir3 (%76 (0x1)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%77, %2 (0.000000)) (base=80, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %79 = load_const (0x00000000)
MESA: info:     div 32x3   %80 = @load_input (%79 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3   %81 = @load_input (%79 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3   %82 = @load_input (%79 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3   %83 = @load_input (%79 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32x4   %84 = @load_input (%79 (0x0)) (base=4, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC4 slots=1)
MESA: info:     con 32     %93 = @load_const_ir3 (%79 (0x0)) (base=0)
MESA: info:     con 1      %95 = ine %93, %79 (0x0)
MESA: info:                      // succs: b7 b8
MESA: info:     if %95 {
MESA: info:         con block b7:        // preds: b6
MESA: info:         div 32x3  %496 = fmul %81, %84.yyy
MESA: info:         div 32x3  %498 = ffma %80, %84.xxx, %496
MESA: info:         div 32x3  %500 = ffma %82, %84.zzz, %498
MESA: info:         div 32x3  %504 = ffma %83, %84.www, %500
MESA: info:         div 32x3  %525 = mov %504.zyx
MESA: info:                          // succs: b9
MESA: info:     } else {
MESA: info:         con block b8:        // preds: b6
MESA: info:         con 32    %118 = @load_const_ir3 (%79 (0x0)) (base=1)
MESA: info:         div 32x3  %508 = fneg %84.xyz
MESA: info:         div 32x3  %509 = ffma %508, %118.xxx, %84.xyz
MESA: info:         div 32x3  %511 = fmul %81, %509.yyy
MESA: info:         div 32x3  %513 = ffma %80, %509.xxx, %511
MESA: info:         div 32x3  %515 = ffma %82, %509.zzz, %513
MESA: info:         div 32x3  %519 = fadd %515, %83
MESA: info:         div 32x3  %526 = mov %519.zyx
MESA: info:                          // succs: b9
MESA: info:     }
MESA: info:     con block b9:        // preds: b7 b8
MESA: info:     div 32x3  %524 = phi b7: %525, b8: %526
MESA: info:     con 32x4  %151 = @load_const_ir3 (%79 (0x0)) (base=32)
MESA: info:     con 32x4  %161 = @load_const_ir3 (%79 (0x0)) (base=36)
MESA: info:     div 32x4  %529 = fmul %161, %524.yyyy
MESA: info:     div 32x4  %532 = ffma %151, %524.zzzz, %529
MESA: info:     con 32x4  %173 = @load_const_ir3 (%79 (0x0)) (base=40)
MESA: info:     div 32x4  %535 = ffma %173, %524.xxxx, %532
MESA: info:     con 32x4  %185 = @load_const_ir3 (%79 (0x0)) (base=44)
MESA: info:     div 32x4  %538 = fadd %535, %185
MESA: info:                      @store_output (%538, %79 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                      // succs: b10
MESA: info:     block b10:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 b40d288a2a8f76b0f3804b7cccd35a86ffd2311c:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (20 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c24.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      4
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (320b -> 384b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0xf)
MESA: info: @const(c25.x)	0x3ef47d19, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l69
MESA: info: getone #l69
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 16, 2
MESA: info: ldc.u.offset0.3.imm.base1 r48.w, 23, 0
MESA: info: ldc.u.offset3.1.imm.base1 r48.z, 24, 0
MESA: info: ldc.u.offset0.1.imm.base1 r52.x, 4, 4
MESA: info: ldc.u.offset2.2.imm.base1 r50.z, 0, 4
MESA: info: ldc.u.offset1.1.imm.base1 r51.x, 25, 0
MESA: info: ldc.u.offset1.1.imm.base1 r51.y, 4, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.z, 2, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.w, 3, 4
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)(rpt1)mul.f r49.z, (r)r48.x, r48.z
MESA: info: cmps.f.eq hr52.x, (abs)r49.w, (absneg)r49.z
MESA: info: mul.f r48.w, r48.w, r48.w
MESA: info: mul.f r49.x, r49.x, r49.x
MESA: info: mul.f r49.y, r49.y, r49.y
MESA: info: add.f r49.w, r49.w, (neg)r49.z
MESA: info: add.f r49.y, r49.y, r49.x
MESA: info: add.f r48.w, r48.w, r49.y
MESA: info: mul.f r49.x, r52.x, r52.x
MESA: info: add.f r49.x, r49.x, (2.0)
MESA: info: mul.f r50.w, r50.w, r51.x
MESA: info: cmps.f.ge hr48.z, (0.0), r51.y
MESA: info: rcp r51.z, r51.z
MESA: info: rcp r51.w, r51.w
MESA: info: mul.f r50.z, r50.z, r51.x
MESA: info: cov.u16s32 r50.y, hr52.x
MESA: info: mul.f r49.y, r52.x, r52.x
MESA: info: sub.u hr48.z, h(1), hr48.z
MESA: info: absneg.f r50.z, (neg)r50.z
MESA: info: add.f r49.y, r49.y, (1.0)
MESA: info: cov.u16s32 r48.z, hr48.z
MESA: info: (ss)rcp r49.w, r49.w
MESA: info: sqrt r48.w, r48.w
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r50.w, r50.w
MESA: info: rcp r51.y, r51.y
MESA: info: stc.u32 c[6], r51.z, 1
MESA: info: stc.u32 c[7], r51.w, 1
MESA: info: stc.u32 c[0], r50.y, 1
MESA: info: stc.u32 c[2], r50.z, 1
MESA: info: stc.u32 c[8], r49.y, 1
MESA: info: stc.u32 c[4], r48.z, 1
MESA: info: (ss)add.f r48.w, r48.w, (neg)r49.z
MESA: info: (sat)mul.f r48.w, r48.w, r49.w
MESA: info: stc.u32 c[3], r50.w, 1
MESA: info: stc.u32 c[5], r51.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[1], r48.w, 1
MESA: info: (ss)mul.f r48.w, (neg)r52.x, r52.x
MESA: info: add.f r48.w, r48.w, (1.0)
MESA: info: mul.f r52.x, (2.0), r52.x
MESA: info: mul.f r48.w, r48.w, c25.x
MESA: info: mul.f r48.w, r48.w, r49.x
MESA: info: (ss)nop
MESA: info: stc.u32 c[10], r52.x, 1
MESA: info: stc.u32 c[9], r48.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 20, 0
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)80
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l69:
MESA: info: (jp)(nop3) cmps.s.ne p0.x, c0.x, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l85
MESA: info: mul.f r0.w, (last)r0.w, r3.y
MESA: info: mul.f r1.x, (last)r1.x, r3.y
MESA: info: mul.f r1.y, (last)r1.y, r3.y
MESA: info: mad.f32 r0.x, (last)r0.x, r3.x, r0.w
MESA: info: mad.f32 r0.y, (last)r0.y, r3.x, r1.x
MESA: info: mad.f32 r0.z, (last)r0.z, r3.x, r1.y
MESA: info: mad.f32 r1.z, (last)r1.z, r3.z, r0.x
MESA: info: mad.f32 r1.w, (last)r1.w, r3.z, r0.y
MESA: info: mad.f32 r2.x, (last)r2.x, r3.z, r0.z
MESA: info: mad.f32 r2.y, (last)r2.y, r3.w, r1.z
MESA: info: mad.f32 r4.x, r2.z, r3.w, r1.w
MESA: info: mad.f32 r4.y, r2.w, r3.w, r2.x
MESA: info: jump #l96
MESA: info: l85:
MESA: info: mad.f32 r3.y, c0.y, (neg)r3.y, r3.y
MESA: info: mad.f32 r3.x, c0.y, (neg)r3.x, r3.x
MESA: info: mad.f32 r3.z, c0.y, (neg)r3.z, r3.z
MESA: info: mul.f r0.w, (last)r0.w, r3.y
MESA: info: (rpt1)mul.f r1.x, (last)(r)r1.x, (last)r3.y
MESA: info: mad.f32 r0.x, (last)r0.x, r3.x, (last)r0.w
MESA: info: (rpt1)mad.f32 r0.y, (r)(last)r0.y, r3.x, (r)(last)r1.x
MESA: info: mad.f32 r1.z, (last)r1.z, r3.z, (last)r0.x
MESA: info: (rpt1)mad.f32 r1.w, (r)(last)r1.w, r3.z, (r)(last)r0.y
MESA: info: add.f r2.y, (last)r1.z, (last)r2.y
MESA: info: (rpt1)add.f r4.x, (last)(r)r1.w, (last)(r)r2.z
MESA: info: l96:
MESA: info: nop
MESA: info: mul.f r4.z, c9.x, r4.x
MESA: info: mul.f r5.w, c9.y, r4.x
MESA: info: mad.f32 r4.z, c8.x, r2.y, (last)r4.z
MESA: info: mad.f32 r5.w, c8.y, r2.y, (last)r5.w
MESA: info: mad.f32 r4.w, c10.x, r4.y, (last)r4.z
MESA: info: mad.f32 r5.x, c10.y, r4.y, (last)r5.w
MESA: info: (rpt1)mul.f r6.x, (r)c9.z, (last)r4.x
MESA: info: (rpt1)mad.f32 r6.x, (r)c8.z, r2.y, (r)(last)r6.x
MESA: info: (rpt1)mad.f32 r5.y, (r)c10.z, r4.y, (r)(last)r6.x
MESA: info: (rpt3)add.f r6.z, (last)(r)r4.w, (r)c11.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r6.z (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (VERT_ATTRIB_GENERIC4 slot=19 cm=f,il=0,b=0)
MESA: info: ; BVERT prog 118/2: 53 instr, 6 nops, 47 non-nops, 0 mov, 0 cov, 224 dwords
MESA: info: ; BVERT prog 118/2: 0 last-baryf, 0 last-helper, 0 half, 8 full, 28 constlen
MESA: info: ; BVERT prog 118/2: 9 cat0, 0 cat1, 18 cat2, 26 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 118/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 118/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 70 preamble-instr, 1 early-preamble
MESA: info: ; pos: r6.z
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x1a15d151, 0x7a815f73, 0xedcddb05, 0x600da954, 0xe18603d1, 0x455d99b7, 0x517d402d, 0x4795edca}
MESA: info: inputs_read: 32-34
MESA: info: outputs_written: 4-5
MESA: info: system_values_read: 0x00000000'00000000'00000000'00080000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 3
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_VAR0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_VAR1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #2 (VARYING_SLOT_VAR2.xy, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #3 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #4 (FRAG_RESULT_DATA1.xyzw, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #5
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:         // preds:
MESA: info:     con 1        %0 = @preamble_start_ir3
MESA: info:                       // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:         // preds: b0
MESA: info:         div 1        %1 = @elect_any_ir3
MESA: info:                           // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:         // preds: b1
MESA: info:             con 32       %2 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32       %3 = load_const (0x00000005 = 0.000000)
MESA: info:             con 32       %4 = load_const (0x00000009 = 0.000000)
MESA: info:             con 32       %5 = @bindless_resource_ir3 (%4 (0x9)) (desc_set=1)
MESA: info:             con 32    %1336 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32x2  %1328 = @load_ubo_vec4 (%5, %1336 (0x2)) (access=speculatable, base=0, component=2)
MESA: info:             con 32       %8 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32       %9 = fmul %1328.y, %8 (2.000000)
MESA: info:                               @store_const_ir3 (%9) (base=0)
MESA: info:             con 32      %10 = load_const (0x40c00000 = 6.000000)
MESA: info:             con 32      %11 = load_const (0x0000000c = 0.000000 = 12)
MESA: info:             con 32      %13 = load_const (0x0000000d = 0.000000 = 13)
MESA: info:             con 32      %14 = load_const (0x00000007 = 0.000000)
MESA: info:             con 32      %15 = frcp %1328.x
MESA: info:                               @store_const_ir3 (%15) (base=1)
MESA: info:             con 32      %16 = @bindless_resource_ir3 (%3 (0x5)) (desc_set=2)
MESA: info:             con 32      %17 = @bindless_resource_ir3 (%2 (0x4)) (desc_set=2)
MESA: info:             con 32      %18 = load_const (0x400ccccd = 2.200000)
MESA: info:             con 16x2  %1746 = load_const (0x3c00, 0x0000) = (1.000000, 0.000000)
MESA: info:             con 16x2  %1747 = load_const (0x0000, 0x0000) = (0.000000, 0.000000)
MESA: info:             con 32x4    %21 = (float32)txd %17 (texture_handle), %16 (sampler_handle), %1746 (1.000000, 0.000000) (coord), %1747 (0.000000, 0.000000) (ddx), %1747 (0.000000, 0.000000) (ddy), 0 (texture), 0 (sampler)
MESA: info:             con 32x3  %1757 = flog2 %21.xyz
MESA: info:             con 32x3  %1758 = fmul %1757, %18 (2.200000).xxx
MESA: info:             con 32x3  %1759 = fexp2 %1758
MESA: info:             con 32    %1760 = mov %1759.z
MESA: info:             con 32    %1755 = mov %1759.x
MESA: info:             con 32    %1756 = mov %1759.y
MESA: info:                               @store_const_ir3 (%1755) (base=2)
MESA: info:                               @store_const_ir3 (%1756) (base=3)
MESA: info:                               @store_const_ir3 (%1760) (base=4)
MESA: info:             con 32      %31 = load_const (0x0000000e = 0.000000 = 14)
MESA: info:             con 32      %32 = load_const (0x0000000f = 0.000000 = 15)
MESA: info:             con 32      %33 = @bindless_resource_ir3 (%14 (0x7)) (desc_set=1)
MESA: info:             con 32x3  %1331 = @load_ubo_vec4 (%33, %14 (0x7)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %1338 = load_const (0x00000008 = 0.000000)
MESA: info:             con 32x3  %1334 = @load_ubo_vec4 (%33, %1338 (0x8)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x3  %1762 = fadd %1331, %1334
MESA: info:             con 32      %41 = @bindless_resource_ir3 (%13 (0xd)) (desc_set=2)
MESA: info:             con 32      %42 = @bindless_resource_ir3 (%11 (0xc)) (desc_set=2)
MESA: info:             con 32x4    %43 = (float32)txl %42 (texture_handle), %41 (sampler_handle), %1762 (coord), %10 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:                               @store_const_ir3 (%43) (base=5)
MESA: info:             con 32      %44 = @bindless_resource_ir3 (%32 (0xf)) (desc_set=2)
MESA: info:             con 32      %45 = @bindless_resource_ir3 (%31 (0xe)) (desc_set=2)
MESA: info:             con 32x4    %46 = (float32)txl %45 (texture_handle), %44 (sampler_handle), %1762 (coord), %10 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:             con 32x3  %1766 = fsub %46.xyz, %43.xyz
MESA: info:             con 32    %1767 = mov %1766.z
MESA: info:             con 32    %1764 = mov %1766.x
MESA: info:             con 32    %1765 = mov %1766.y
MESA: info:                               @store_const_ir3 (%1764) (base=9)
MESA: info:                               @store_const_ir3 (%1765) (base=10)
MESA: info:                               @store_const_ir3 (%1767) (base=11)
MESA: info:             con 32      %54 = @bindless_resource_ir3 (%2 (0x4)) (desc_set=0)
MESA: info:             con 32      %55 = load_const (0x00000000 = 0.000000)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%54, %55 (0x0)) (base=16, range=4)
MESA: info:             con 32      %57 = @bindless_resource_ir3 (%3 (0x5)) (desc_set=1)
MESA: info:             con 32      %58 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%57, %58 (0x14)) (base=32, range=4)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%5, %55 (0x0)) (base=48, range=4)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%57, %2 (0x4)) (base=64, range=4)
MESA: info:             con 32      %65 = load_const (0x00000006 = 0.000000)
MESA: info:             con 32      %66 = @bindless_resource_ir3 (%65 (0x6)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%66, %55 (0x0)) (base=80, range=4)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%33, %55 (0x0)) (base=96, range=12)
MESA: info:             con 32      %72 = @bindless_resource_ir3 (%1338 (0x8)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%72, %55 (0x0)) (base=144, range=4)
MESA: info:             con 32      %75 = @bindless_resource_ir3 (%55 (0x0)) (desc_set=2)
MESA: info:             con 32      %76 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %77 = @bindless_resource_ir3 (%76 (0x1)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%75, %77)
MESA: info:             con 32      %79 = @bindless_resource_ir3 (%1336 (0x2)) (desc_set=2)
MESA: info:             con 32      %80 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32      %81 = @bindless_resource_ir3 (%80 (0x3)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%79, %81)
MESA: info:             con 32      %83 = @bindless_resource_ir3 (%65 (0x6)) (desc_set=2)
MESA: info:             con 32      %85 = @bindless_resource_ir3 (%14 (0x7)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%83, %85)
MESA: info:             con 32      %87 = @bindless_resource_ir3 (%1338 (0x8)) (desc_set=2)
MESA: info:             con 32      %89 = @bindless_resource_ir3 (%4 (0x9)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%87, %89)
MESA: info:                               @prefetch_sam_ir3 (%17, %16)
MESA: info:             con 32     %130 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:             con 32     %131 = @bindless_resource_ir3 (%130 (0xa)) (desc_set=2)
MESA: info:             con 32     %132 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:             con 32     %133 = @bindless_resource_ir3 (%132 (0xb)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%131, %133)
MESA: info:             con 32     %134 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32     %135 = @bindless_resource_ir3 (%134 (0x10)) (desc_set=2)
MESA: info:             con 32     %136 = load_const (0x00000011 = 0.000000 = 17)
MESA: info:             con 32     %137 = @bindless_resource_ir3 (%136 (0x11)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%135, %137)
MESA: info:                               @preamble_end_ir3
MESA: info:                               // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:         // preds: b4 b5
MESA: info:     con 32     %142 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x2   %143 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x4   %144 = @load_interpolated_input (%143, %142 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     div 32x4   %145 = @load_interpolated_input (%143, %142 (0x0)) (base=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR1 slots=1)
MESA: info:     div 32x2   %146 = @load_interpolated_input (%143, %142 (0x0)) (base=2, component=0, dest_type=float32, io location=VARYING_SLOT_VAR2 slots=1)
MESA: info:     con 32     %147 = load_const (0x00000004 = 0.000000)
MESA: info:     con 32     %148 = load_const (0x00000002 = 0.000000)
MESA: info:     con 32x2   %152 = @load_const_ir3 (%142 (0x0)) (base=16)
MESA: info:     con 32     %153 = load_const (0x00000001 = 0.000000)
MESA: info:     div 32     %154 = mov %144.y
MESA: info:     div 32     %155 = mov %144.z
MESA: info:     con 32     %156 = load_const (0x00000005 = 0.000000)
MESA: info:     con 32x3   %163 = @load_const_ir3 (%142 (0x0)) (base=44)
MESA: info:     div 32x3  %1769 = fsub %163, %144.yzw
MESA: info:     div 32     %171 = fmul %1769.y, %1769.y
MESA: info:     div 32    %1685 = ffma %1769.z, %1769.z, %171
MESA: info:     div 32    %1684 = ffma %1769.x, %1769.x, %1685
MESA: info:     div 32     %175 = frsq %1684
MESA: info:     div 32x3  %1771 = fmul %1769, %175.xxx
MESA: info:     div 32     %179 = @ddx (%154)
MESA: info:     div 32     %180 = fabs %179
MESA: info:     div 32x2  %1772 = fmul %144.yz, %152.xx
MESA: info:     div 32    %1773 = mov %1772.x
MESA: info:     div 32    %1774 = mov %1772.y
MESA: info:     div 32     %182 = @ddy (%1773)
MESA: info:     div 32     %183 = fabs %182
MESA: info:     div 32     %184 = @ddx (%155)
MESA: info:     div 32     %185 = fabs %184
MESA: info:     div 32     %187 = @ddy (%1774)
MESA: info:     div 32     %188 = fabs %187
MESA: info:     div 32     %189 = fadd %185, %188
MESA: info:     con 32     %190 = load_const (0x3f800000 = 1.000000)
MESA: info:     div 32     %191 = fadd %180, %190 (1.000000)
MESA: info:     div 32     %192 = fadd %191, %183
MESA: info:     div 32     %193 = fadd %192, %189
MESA: info:     div 32     %194 = flog2 %193
MESA: info:     con 32     %195 = load_const (0x3e9a209a = 0.301030)
MESA: info:     con 32     %197 = load_const (0x00000009 = 0.000000)
MESA: info:     con 32     %200 = load_const (0x40000000 = 2.000000)
MESA: info:     con 32     %202 = @load_const_ir3 (%142 (0x0)) (base=0)
MESA: info:     div 32    %1683 = ffma %195 (0.301030), %194, %202
MESA: info:     div 32     %204 = fmax %1683, %142 (0.000000)
MESA: info:     con 32     %205 = load_const (0x40c00000 = 6.000000)
MESA: info:     div 32     %206 = fmin %204, %205 (6.000000)
MESA: info:     div 32x4   %207 = @load_frag_coord
MESA: info:     div 32    %1682 = ffma %207.y, %152.x, %152.y
MESA: info:     con 32x4   %212 = @load_const_ir3 (%142 (0x0)) (base=48)
MESA: info:     con 32     %215 = load_const (0x00000008 = 0.000000)
MESA: info:     con 32     %216 = load_const (0x00000003 = 0.000000)
MESA: info:     div 32    %1681 = ffma %207.x, %212.x, %212.z
MESA: info:     div 32    %1680 = ffma %1682, %212.y, %212.w
MESA: info:     div 32x2   %220 = vec2 %1681, %1680
MESA: info:     con 32     %221 = @bindless_resource_ir3 (%153 (0x1)) (desc_set=2)
MESA: info:     con 32     %222 = @bindless_resource_ir3 (%142 (0x0)) (desc_set=2)
MESA: info:     div 32x4   %223 = (float32)tex %222 (texture_handle), %221 (sampler_handle), %220 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32     %224 = @bindless_resource_ir3 (%216 (0x3)) (desc_set=2)
MESA: info:     con 32     %225 = @bindless_resource_ir3 (%148 (0x2)) (desc_set=2)
MESA: info:     div 32x4   %226 = (float32)tex %225 (texture_handle), %224 (sampler_handle), %220 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32     %229 = load_const (0xbf800000 = -1.000000)
MESA: info:     div 32    %1679 = ffma %1681, %200 (2.000000), %229 (-1.000000)
MESA: info:     div 32    %1678 = ffma %1680, %200 (2.000000), %229 (-1.000000)
MESA: info:     div 32    %1677 = ffma %207.z, %200 (2.000000), %229 (-1.000000)
MESA: info:     con 32x4   %238 = @load_const_ir3 (%142 (0x0)) (base=64)
MESA: info:     con 32x4   %247 = @load_const_ir3 (%142 (0x0)) (base=68)
MESA: info:     con 32x4   %259 = @load_const_ir3 (%142 (0x0)) (base=72)
MESA: info:     con 32x4   %271 = @load_const_ir3 (%142 (0x0)) (base=76)
MESA: info:     div 32x4  %1781 = ffma %247, %1678.xxxx, %271
MESA: info:     div 32x4  %1782 = ffma %238, %1679.xxxx, %1781
MESA: info:     div 32x4  %1783 = ffma %259, %1677.xxxx, %1782
MESA: info:     div 32     %276 = frcp %1783.w
MESA: info:     div 32    %1668 = ffma %226.x, %200 (2.000000), %229 (-1.000000)
MESA: info:     div 32x4  %1786 = ffma %259, %1668.xxxx, %1782
MESA: info:     div 32     %294 = frcp %1786.w
MESA: info:     div 32     %297 = fmul %1786.z, %294
MESA: info:     div 32x2  %1787 = fneg %1786.xy
MESA: info:     div 32x2  %1788 = ffma %1787, %294.xx, %163.xy
MESA: info:     div 32     %302 = fneg %297
MESA: info:     div 32    %1659 = fsub %163.z, %297
MESA: info:     div 32     %305 = fmul %1788.y, %1788.y
MESA: info:     div 32    %1658 = ffma %1659, %1659, %305
MESA: info:     div 32    %1657 = ffma %1788.x, %1788.x, %1658
MESA: info:     div 32     %309 = fsqrt %1657
MESA: info:     div 32x3  %1791 = fneg %1783.xyz
MESA: info:     div 32x3  %1792 = ffma %1791, %276.xxx, %163
MESA: info:     div 32     %317 = fmul %1792.y, %1792.y
MESA: info:     div 32    %1650 = ffma %1792.z, %1792.z, %317
MESA: info:     div 32    %1649 = ffma %1792.x, %1792.x, %1650
MESA: info:     div 32     %321 = fsqrt %1649
MESA: info:     div 32    %1648 = ffma %1783.z, %276, %302
MESA: info:     div 32     %323 = fmax %1648, %142 (0.000000)
MESA: info:     con 32     %327 = @load_const_ir3 (%142 (0x0)) (base=61)
MESA: info:     con 32     %328 = load_const (0x3fb8aa3b = 1.442695)
MESA: info:     div 32     %329 = fmul %323, %328 (1.442695)
MESA: info:     div 32     %330 = fmul %329, %327
MESA: info:     div 32     %331 = fneg %330
MESA: info:     div 32     %332 = fexp2 %331
MESA: info:     div 32    %1647 = fsub %190 (1.000000), %332
MESA: info:     div 32    %1646 = fsub %309, %321
MESA: info:     div 32     %337 = fmax %1646, %142 (0.000000)
MESA: info:     con 32     %338 = load_const (0xc0800000 = -4.000000)
MESA: info:     div 32     %339 = fadd %321, %338 (-4.000000)
MESA: info:     div 1      %340 = flt! %309, %339
MESA: info:     con 32     %341 = load_const (0x41a00000 = 20.000000)
MESA: info:     div 32     %342 = bcsel %340, %341 (0x41a00000), %337
MESA: info:     div 32     %343 = fmul %342, %328 (1.442695)
MESA: info:     div 32     %344 = fmul %343, %327
MESA: info:     div 32     %345 = fneg %344
MESA: info:     div 32     %346 = fexp2 %345
MESA: info:     div 32    %1645 = fsub %190 (1.000000), %346
MESA: info:     div 32     %350 = fmul %1771.x, %1771.x
MESA: info:     div 32    %1644 = ffma %1771.y, %1771.y, %350
MESA: info:     div 32     %352 = frsq %1644
MESA: info:     div 32x2  %1793 = fmul %1771.xy, %352.xx
MESA: info:     div 32x2  %1794 = fmul %342.xx, %1793
MESA: info:     div 32x2  %1795 = fneg %1794
MESA: info:     div 32x2  %1796 = ffma %1783.xy, %276.xx, %1795
MESA: info:     div 32x2  %1797 = fsub %163.xy, %1796
MESA: info:     div 32     %365 = fmul %1797.y, %1797.y
MESA: info:     div 32    %1639 = ffma %1792.z, %1792.z, %365
MESA: info:     div 32    %1638 = ffma %1797.x, %1797.x, %1639
MESA: info:     div 32     %369 = frsq %1638
MESA: info:     div 32x2  %1798 = fmul %1797, %369.xx
MESA: info:     div 32     %372 = fmul %1792.z, %369
MESA: info:     div 32     %374 = fmul %1771.y, %1798.y
MESA: info:     div 32    %1637 = ffma %1771.z, %372, %374
MESA: info:     div 32    %1636 = ffma %1771.x, %1798.x, %1637
MESA: info:     div 32     %378 = fsign %1636
MESA: info:     div 32     %379 = fabs %1636
MESA: info:     div 32    %1635 = fsub %190 (1.000000), %379
MESA: info:     div 32     %382 = fsqrt %1635
MESA: info:     con 32     %383 = load_const (0xbcc19a5f = -0.023633)
MESA: info:     con 32     %385 = load_const (0x3da68d87 = 0.081325)
MESA: info:     div 32    %1634 = ffma %379, %383 (-0.023633), %385 (0.081325)
MESA: info:     con 32     %388 = load_const (0xbe5bc094 = -0.214602)
MESA: info:     div 32    %1633 = ffma %379, %1634, %388 (-0.214602)
MESA: info:     con 32     %391 = load_const (0x3fc90fdb = 1.570796)
MESA: info:     div 32    %1632 = ffma %379, %1633, %391 (1.570796)
MESA: info:     div 32    %1630 = fneg %382
MESA: info:     div 32    %1631 = ffma %1630, %1632, %391 (1.570796)
MESA: info:     div 32    %1628 = fneg %378
MESA: info:     div 32    %1629 = ffma %1628, %1631, %391 (1.570796)
MESA: info:     div 32     %399 = fneg %1629
MESA: info:     div 32     %400 = fsign %1771.z
MESA: info:     div 32     %401 = fabs %1771.z
MESA: info:     div 32    %1627 = fsub %190 (1.000000), %401
MESA: info:     div 32     %404 = fsqrt %1627
MESA: info:     div 32    %1626 = ffma %401, %383 (-0.023633), %385 (0.081325)
MESA: info:     div 32    %1625 = ffma %401, %1626, %388 (-0.214602)
MESA: info:     div 32    %1624 = ffma %401, %1625, %391 (1.570796)
MESA: info:     div 32    %1622 = fneg %404
MESA: info:     div 32    %1623 = ffma %1622, %1624, %391 (1.570796)
MESA: info:     con 32     %415 = load_const (0x40490fda = 3.141593)
MESA: info:     div 32    %1620 = fneg %400
MESA: info:     div 32    %1621 = ffma %1620, %1623, %415 (3.141593)
MESA: info:     con 32     %418 = load_const (0x00000007 = 0.000000)
MESA: info:     con 32     %419 = @bindless_resource_ir3 (%418 (0x7)) (desc_set=2)
MESA: info:     con 32     %420 = load_const (0x00000006 = 0.000000)
MESA: info:     con 32     %421 = @bindless_resource_ir3 (%420 (0x6)) (desc_set=2)
MESA: info:     div 32x4   %422 = (float32)tex %421 (texture_handle), %419 (sampler_handle), %220 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32x3   %428 = @load_const_ir3 (%142 (0x0)) (base=32)
MESA: info:     con 32x3   %437 = @load_const_ir3 (%142 (0x0)) (base=36)
MESA: info:     div 32x3  %1800 = fmul %437, %422.yyy
MESA: info:     div 32x3  %1802 = ffma %428, %422.xxx, %1800
MESA: info:     con 32x3   %449 = @load_const_ir3 (%142 (0x0)) (base=40)
MESA: info:     div 32x3  %1804 = ffma %449, %422.zzz, %1802
MESA: info:     con 32     %456 = load_const (0x3f4ccccd = 0.800000)
MESA: info:     div 1      %457 = flt! %1804.z, %456 (0.800000)
MESA: info:     con 32x3  %1806 = load_const (0x00000000, 0x00000000, 0x3f800000) = (0.000000, 0.000000, 1.000000)
MESA: info:     div 32x3  %1807 = bcsel %457.xxx, %1806 (0x0, 0x0, 0x3f800000), %1804
MESA: info:     con 32x4   %463 = @load_const_ir3 (%142 (0x0)) (base=52)
MESA: info:     div 32    %1613 = ffma %207.x, %463.x, %463.z
MESA: info:     div 32    %1612 = ffma %1682, %463.y, %463.w
MESA: info:     div 32     %469 = fmul %1807.x, %1793.x
MESA: info:     div 32    %1611 = ffma %1807.y, %1793.y, %469
MESA: info:     div 32     %472 = fsign %1611
MESA: info:     div 32     %473 = fabs %1611
MESA: info:     div 32    %1610 = fsub %190 (1.000000), %473
MESA: info:     div 32     %476 = fsqrt %1610
MESA: info:     con 32     %477 = load_const (0xbcfe31af = -0.031030)
MESA: info:     con 32     %479 = load_const (0x3db149e5 = 0.086567)
MESA: info:     div 32    %1609 = ffma %473, %477 (-0.031030), %479 (0.086567)
MESA: info:     div 32    %1608 = ffma %473, %1609, %388 (-0.214602)
MESA: info:     div 32    %1607 = ffma %473, %1608, %391 (1.570796)
MESA: info:     div 32    %1605 = fneg %476
MESA: info:     div 32    %1606 = ffma %1605, %1607, %391 (1.570796)
MESA: info:     div 32     %488 = fmul %472, %1606
MESA: info:     div 32     %489 = fmul %1793.y, %1807.x
MESA: info:     div 32     %490 = fneg %489
MESA: info:     div 32    %1604 = ffma %1807.y, %1793.x, %490
MESA: info:     div 32     %492 = fsign %1604
MESA: info:     div 32     %493 = fabs %1604
MESA: info:     div 32    %1603 = fsub %190 (1.000000), %493
MESA: info:     div 32     %496 = fsqrt %1603
MESA: info:     div 32    %1602 = ffma %493, %477 (-0.031030), %479 (0.086567)
MESA: info:     div 32    %1601 = ffma %493, %1602, %388 (-0.214602)
MESA: info:     div 32    %1600 = ffma %493, %1601, %391 (1.570796)
MESA: info:     div 32    %1598 = fneg %496
MESA: info:     div 32    %1599 = ffma %1598, %1600, %391 (1.570796)
MESA: info:     div 32     %506 = fmul %492, %1599
MESA: info:     div 32     %507 = fmul %200 (2.000000), %506
MESA: info:     div 1      %508 = flt! %507, %399
MESA: info:     div 32     %509 = fadd %507, %1629
MESA: info:     div 32    %1597 = fsub %399, %509
MESA: info:     div 32     %512 = bcsel %508, %1597, %507
MESA: info:     div 1      %513 = flt! %1629, %512
MESA: info:     div 32    %1596 = fsub %512, %1629
MESA: info:     div 32    %1595 = fsub %1629, %1596
MESA: info:     div 32     %517 = bcsel %513, %1595, %512
MESA: info:     div 32     %518 = fmul %200 (2.000000), %488
MESA: info:     div 1      %519 = flt! %518, %399
MESA: info:     div 32     %520 = fadd %518, %1629
MESA: info:     div 32    %1594 = fsub %399, %520
MESA: info:     div 32     %523 = bcsel %519, %1594, %518
MESA: info:     div 1      %524 = flt! %1621, %523
MESA: info:     div 32    %1593 = fsub %523, %1621
MESA: info:     div 32    %1592 = fsub %1621, %1593
MESA: info:     div 32     %529 = bcsel %524, %1592, %523
MESA: info:     con 32     %532 = @load_const_ir3 (%142 (0x0)) (base=1)
MESA: info:     div 32    %1591 = ffma %517, %532, %1613
MESA: info:     div 32    %1590 = ffma %529, %532, %1612
MESA: info:     div 32     %537 = fabs %1591
MESA: info:     div 1      %538 = flt! %190 (1.000000), %537
MESA: info:     div 32    %1589 = fsub %200 (2.000000), %537
MESA: info:     div 32     %541 = bcsel %538, %1589, %537
MESA: info:     div 32     %542 = fabs %1590
MESA: info:     div 1      %543 = flt! %190 (1.000000), %542
MESA: info:     div 32    %1588 = fsub %200 (2.000000), %542
MESA: info:     div 32     %546 = bcsel %543, %1588, %542
MESA: info:     div 32x2   %547 = vec2 %541, %546
MESA: info:     con 32     %548 = @bindless_resource_ir3 (%197 (0x9)) (desc_set=2)
MESA: info:     con 32     %549 = @bindless_resource_ir3 (%215 (0x8)) (desc_set=2)
MESA: info:     div 32x4   %550 = (float32)txl %549 (texture_handle), %548 (sampler_handle), %547 (coord), %206 (lod), 0 (texture), 0 (sampler)
MESA: info:     con 32x2  %1808 = load_const (0xbf800000, 0x3f800000) = (-1.000000, 1.000000)
MESA: info:     div 32x2  %1809 = fadd %207.xx, %1808 (-1.000000, 1.000000)
MESA: info:     div 32x2  %1810 = ffma %1809, %212.xx, %212.zz
MESA: info:     div 32x2   %557 = vec2 %1810.x, %1680
MESA: info:     div 32x4   %558 = (float32)tex %421 (texture_handle), %419 (sampler_handle), %557 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %1812 = fmul %437, %558.yyy
MESA: info:     div 32x3  %1814 = ffma %428, %558.xxx, %1812
MESA: info:     div 32x3  %1816 = ffma %449, %558.zzz, %1814
MESA: info:     div 1      %574 = flt! %1816.z, %456 (0.800000)
MESA: info:     div 32x2  %1817 = bcsel %574.xx, %142 (0x0).xx, %1816.xy
MESA: info:     div 32x2  %1818 = ffma %1809, %463.xx, %463.zz
MESA: info:     div 32     %582 = fmul %1817.x, %1793.x
MESA: info:     div 32    %1577 = ffma %1817.y, %1793.y, %582
MESA: info:     div 32     %585 = fsign %1577
MESA: info:     div 32     %586 = fabs %1577
MESA: info:     div 32    %1576 = fsub %190 (1.000000), %586
MESA: info:     div 32     %589 = fsqrt %1576
MESA: info:     div 32    %1575 = ffma %586, %477 (-0.031030), %479 (0.086567)
MESA: info:     div 32    %1574 = ffma %586, %1575, %388 (-0.214602)
MESA: info:     div 32    %1573 = ffma %586, %1574, %391 (1.570796)
MESA: info:     div 32    %1571 = fneg %589
MESA: info:     div 32    %1572 = ffma %1571, %1573, %391 (1.570796)
MESA: info:     div 32     %599 = fmul %585, %1572
MESA: info:     div 32     %600 = fmul %1793.y, %1817.x
MESA: info:     div 32     %601 = fneg %600
MESA: info:     div 32    %1570 = ffma %1817.y, %1793.x, %601
MESA: info:     div 32     %603 = fsign %1570
MESA: info:     div 32     %604 = fabs %1570
MESA: info:     div 32    %1569 = fsub %190 (1.000000), %604
MESA: info:     div 32     %607 = fsqrt %1569
MESA: info:     div 32    %1568 = ffma %604, %477 (-0.031030), %479 (0.086567)
MESA: info:     div 32    %1567 = ffma %604, %1568, %388 (-0.214602)
MESA: info:     div 32    %1566 = ffma %604, %1567, %391 (1.570796)
MESA: info:     div 32    %1564 = fneg %607
MESA: info:     div 32    %1565 = ffma %1564, %1566, %391 (1.570796)
MESA: info:     div 32     %617 = fmul %603, %1565
MESA: info:     div 32     %618 = fmul %200 (2.000000), %617
MESA: info:     div 1      %619 = flt! %618, %399
MESA: info:     div 32     %620 = fadd %618, %1629
MESA: info:     div 32    %1563 = fsub %399, %620
MESA: info:     div 32     %623 = bcsel %619, %1563, %618
MESA: info:     div 1      %624 = flt! %1629, %623
MESA: info:     div 32    %1562 = fsub %623, %1629
MESA: info:     div 32    %1561 = fsub %1629, %1562
MESA: info:     div 32     %628 = bcsel %624, %1561, %623
MESA: info:     div 32     %629 = fmul %200 (2.000000), %599
MESA: info:     div 1      %630 = flt! %629, %399
MESA: info:     div 32     %631 = fadd %629, %1629
MESA: info:     div 32    %1560 = fsub %399, %631
MESA: info:     div 32     %634 = bcsel %630, %1560, %629
MESA: info:     div 1      %635 = flt! %1621, %634
MESA: info:     div 32    %1559 = fsub %634, %1621
MESA: info:     div 32    %1558 = fsub %1621, %1559
MESA: info:     div 32     %639 = bcsel %635, %1558, %634
MESA: info:     div 32    %1557 = ffma %628, %532, %1818.x
MESA: info:     div 32    %1556 = ffma %639, %532, %1612
MESA: info:     div 32     %644 = fabs %1557
MESA: info:     div 1      %645 = flt! %190 (1.000000), %644
MESA: info:     div 32    %1555 = fsub %200 (2.000000), %644
MESA: info:     div 32     %648 = bcsel %645, %1555, %644
MESA: info:     div 32     %649 = fabs %1556
MESA: info:     div 1      %650 = flt! %190 (1.000000), %649
MESA: info:     div 32    %1554 = fsub %200 (2.000000), %649
MESA: info:     div 32     %653 = bcsel %650, %1554, %649
MESA: info:     div 32x2   %654 = vec2 %648, %653
MESA: info:     div 32x4   %655 = (float32)txl %549 (texture_handle), %548 (sampler_handle), %654 (coord), %206 (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x2   %656 = vec2 %1810.y, %1680
MESA: info:     div 32x4   %657 = (float32)tex %421 (texture_handle), %419 (sampler_handle), %656 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %1820 = fmul %437, %657.yyy
MESA: info:     div 32x3  %1822 = ffma %428, %657.xxx, %1820
MESA: info:     div 32x3  %1824 = ffma %449, %657.zzz, %1822
MESA: info:     div 1      %673 = flt! %1824.z, %456 (0.800000)
MESA: info:     div 32x2  %1825 = bcsel %673.xx, %142 (0x0).xx, %1824.xy
MESA: info:     div 32     %677 = fmul %1825.x, %1793.x
MESA: info:     div 32    %1547 = ffma %1825.y, %1793.y, %677
MESA: info:     div 32     %680 = fsign %1547
MESA: info:     div 32     %681 = fabs %1547
MESA: info:     div 32    %1546 = fsub %190 (1.000000), %681
MESA: info:     div 32     %684 = fsqrt %1546
MESA: info:     div 32    %1545 = ffma %681, %477 (-0.031030), %479 (0.086567)
MESA: info:     div 32    %1544 = ffma %681, %1545, %388 (-0.214602)
MESA: info:     div 32    %1543 = ffma %681, %1544, %391 (1.570796)
MESA: info:     div 32    %1541 = fneg %684
MESA: info:     div 32    %1542 = ffma %1541, %1543, %391 (1.570796)
MESA: info:     div 32     %694 = fmul %680, %1542
MESA: info:     div 32     %695 = fmul %1793.y, %1825.x
MESA: info:     div 32     %696 = fneg %695
MESA: info:     div 32    %1540 = ffma %1825.y, %1793.x, %696
MESA: info:     div 32     %698 = fsign %1540
MESA: info:     div 32     %699 = fabs %1540
MESA: info:     div 32    %1539 = fsub %190 (1.000000), %699
MESA: info:     div 32     %702 = fsqrt %1539
MESA: info:     div 32    %1538 = ffma %699, %477 (-0.031030), %479 (0.086567)
MESA: info:     div 32    %1537 = ffma %699, %1538, %388 (-0.214602)
MESA: info:     div 32    %1536 = ffma %699, %1537, %391 (1.570796)
MESA: info:     div 32    %1534 = fneg %702
MESA: info:     div 32    %1535 = ffma %1534, %1536, %391 (1.570796)
MESA: info:     div 32     %712 = fmul %698, %1535
MESA: info:     div 32     %713 = fmul %200 (2.000000), %712
MESA: info:     div 1      %714 = flt! %713, %399
MESA: info:     div 32     %715 = fadd %713, %1629
MESA: info:     div 32    %1533 = fsub %399, %715
MESA: info:     div 32     %718 = bcsel %714, %1533, %713
MESA: info:     div 1      %719 = flt! %1629, %718
MESA: info:     div 32    %1532 = fsub %718, %1629
MESA: info:     div 32    %1531 = fsub %1629, %1532
MESA: info:     div 32     %723 = bcsel %719, %1531, %718
MESA: info:     div 32     %724 = fmul %200 (2.000000), %694
MESA: info:     div 1      %725 = flt! %724, %399
MESA: info:     div 32     %726 = fadd %724, %1629
MESA: info:     div 32    %1530 = fsub %399, %726
MESA: info:     div 32     %729 = bcsel %725, %1530, %724
MESA: info:     div 1      %730 = flt! %1621, %729
MESA: info:     div 32    %1529 = fsub %729, %1621
MESA: info:     div 32    %1528 = fsub %1621, %1529
MESA: info:     div 32     %734 = bcsel %730, %1528, %729
MESA: info:     div 32    %1527 = ffma %723, %532, %1818.y
MESA: info:     div 32    %1526 = ffma %734, %532, %1612
MESA: info:     div 32     %739 = fabs %1527
MESA: info:     div 1      %740 = flt! %190 (1.000000), %739
MESA: info:     div 32    %1525 = fsub %200 (2.000000), %739
MESA: info:     div 32     %743 = bcsel %740, %1525, %739
MESA: info:     div 32     %744 = fabs %1526
MESA: info:     div 1      %745 = flt! %190 (1.000000), %744
MESA: info:     div 32    %1524 = fsub %200 (2.000000), %744
MESA: info:     div 32     %748 = bcsel %745, %1524, %744
MESA: info:     div 32x2   %749 = vec2 %743, %748
MESA: info:     div 32x4   %750 = (float32)txl %549 (texture_handle), %548 (sampler_handle), %749 (coord), %206 (lod), 0 (texture), 0 (sampler)
MESA: info:     con 32x2  %1826 = load_const (0xbf800000, 0x3f800000) = (-1.000000, 1.000000)
MESA: info:     div 32x2  %1827 = fadd %1682.xx, %1826 (-1.000000, 1.000000)
MESA: info:     div 32x2  %1828 = ffma %1827, %212.yy, %212.ww
MESA: info:     div 32x2   %757 = vec2 %1681, %1828.x
MESA: info:     div 32x4   %758 = (float32)tex %421 (texture_handle), %419 (sampler_handle), %757 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %1830 = fmul %437, %758.yyy
MESA: info:     div 32x3  %1832 = ffma %428, %758.xxx, %1830
MESA: info:     div 32x3  %1834 = ffma %449, %758.zzz, %1832
MESA: info:     div 1      %774 = flt! %1834.z, %456 (0.800000)
MESA: info:     div 32x2  %1835 = bcsel %774.xx, %142 (0x0).xx, %1834.xy
MESA: info:     div 32x2  %1836 = ffma %1827, %463.yy, %463.ww
MESA: info:     div 32     %782 = fmul %1835.x, %1793.x
MESA: info:     div 32    %1513 = ffma %1835.y, %1793.y, %782
MESA: info:     div 32     %785 = fsign %1513
MESA: info:     div 32     %786 = fabs %1513
MESA: info:     div 32    %1512 = fsub %190 (1.000000), %786
MESA: info:     div 32     %789 = fsqrt %1512
MESA: info:     div 32    %1511 = ffma %786, %477 (-0.031030), %479 (0.086567)
MESA: info:     div 32    %1510 = ffma %786, %1511, %388 (-0.214602)
MESA: info:     div 32    %1509 = ffma %786, %1510, %391 (1.570796)
MESA: info:     div 32    %1507 = fneg %789
MESA: info:     div 32    %1508 = ffma %1507, %1509, %391 (1.570796)
MESA: info:     div 32     %799 = fmul %785, %1508
MESA: info:     div 32     %800 = fmul %1793.y, %1835.x
MESA: info:     div 32     %801 = fneg %800
MESA: info:     div 32    %1506 = ffma %1835.y, %1793.x, %801
MESA: info:     div 32     %803 = fsign %1506
MESA: info:     div 32     %804 = fabs %1506
MESA: info:     div 32    %1505 = fsub %190 (1.000000), %804
MESA: info:     div 32     %807 = fsqrt %1505
MESA: info:     div 32    %1504 = ffma %804, %477 (-0.031030), %479 (0.086567)
MESA: info:     div 32    %1503 = ffma %804, %1504, %388 (-0.214602)
MESA: info:     div 32    %1502 = ffma %804, %1503, %391 (1.570796)
MESA: info:     div 32    %1500 = fneg %807
MESA: info:     div 32    %1501 = ffma %1500, %1502, %391 (1.570796)
MESA: info:     div 32     %817 = fmul %803, %1501
MESA: info:     div 32     %818 = fmul %200 (2.000000), %817
MESA: info:     div 1      %819 = flt! %818, %399
MESA: info:     div 32     %820 = fadd %818, %1629
MESA: info:     div 32    %1499 = fsub %399, %820
MESA: info:     div 32     %823 = bcsel %819, %1499, %818
MESA: info:     div 1      %824 = flt! %1629, %823
MESA: info:     div 32    %1498 = fsub %823, %1629
MESA: info:     div 32    %1497 = fsub %1629, %1498
MESA: info:     div 32     %828 = bcsel %824, %1497, %823
MESA: info:     div 32     %829 = fmul %200 (2.000000), %799
MESA: info:     div 1      %830 = flt! %829, %399
MESA: info:     div 32     %831 = fadd %829, %1629
MESA: info:     div 32    %1496 = fsub %399, %831
MESA: info:     div 32     %834 = bcsel %830, %1496, %829
MESA: info:     div 1      %835 = flt! %1621, %834
MESA: info:     div 32    %1495 = fsub %834, %1621
MESA: info:     div 32    %1494 = fsub %1621, %1495
MESA: info:     div 32     %839 = bcsel %835, %1494, %834
MESA: info:     div 32    %1493 = ffma %828, %532, %1613
MESA: info:     div 32    %1492 = ffma %839, %532, %1836.x
MESA: info:     div 32     %844 = fabs %1493
MESA: info:     div 1      %845 = flt! %190 (1.000000), %844
MESA: info:     div 32    %1491 = fsub %200 (2.000000), %844
MESA: info:     div 32     %848 = bcsel %845, %1491, %844
MESA: info:     div 32     %849 = fabs %1492
MESA: info:     div 1      %850 = flt! %190 (1.000000), %849
MESA: info:     div 32    %1490 = fsub %200 (2.000000), %849
MESA: info:     div 32     %853 = bcsel %850, %1490, %849
MESA: info:     div 32x2   %854 = vec2 %848, %853
MESA: info:     div 32x4   %855 = (float32)txl %549 (texture_handle), %548 (sampler_handle), %854 (coord), %206 (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x2   %856 = vec2 %1681, %1828.y
MESA: info:     div 32x4   %857 = (float32)tex %421 (texture_handle), %419 (sampler_handle), %856 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %1838 = fmul %437, %857.yyy
MESA: info:     div 32x3  %1840 = ffma %428, %857.xxx, %1838
MESA: info:     div 32x3  %1842 = ffma %449, %857.zzz, %1840
MESA: info:     div 1      %873 = flt! %1842.z, %456 (0.800000)
MESA: info:     div 32x2  %1843 = bcsel %873.xx, %142 (0x0).xx, %1842.xy
MESA: info:     div 32     %877 = fmul %1843.x, %1793.x
MESA: info:     div 32    %1483 = ffma %1843.y, %1793.y, %877
MESA: info:     div 32     %880 = fsign %1483
MESA: info:     div 32     %881 = fabs %1483
MESA: info:     div 32    %1482 = fsub %190 (1.000000), %881
MESA: info:     div 32     %884 = fsqrt %1482
MESA: info:     div 32    %1481 = ffma %881, %477 (-0.031030), %479 (0.086567)
MESA: info:     div 32    %1480 = ffma %881, %1481, %388 (-0.214602)
MESA: info:     div 32    %1479 = ffma %881, %1480, %391 (1.570796)
MESA: info:     div 32    %1477 = fneg %884
MESA: info:     div 32    %1478 = ffma %1477, %1479, %391 (1.570796)
MESA: info:     div 32     %894 = fmul %880, %1478
MESA: info:     div 32     %895 = fmul %1793.y, %1843.x
MESA: info:     div 32     %896 = fneg %895
MESA: info:     div 32    %1476 = ffma %1843.y, %1793.x, %896
MESA: info:     div 32     %898 = fsign %1476
MESA: info:     div 32     %899 = fabs %1476
MESA: info:     div 32    %1475 = fsub %190 (1.000000), %899
MESA: info:     div 32     %902 = fsqrt %1475
MESA: info:     div 32    %1474 = ffma %899, %477 (-0.031030), %479 (0.086567)
MESA: info:     div 32    %1473 = ffma %899, %1474, %388 (-0.214602)
MESA: info:     div 32    %1472 = ffma %899, %1473, %391 (1.570796)
MESA: info:     div 32    %1470 = fneg %902
MESA: info:     div 32    %1471 = ffma %1470, %1472, %391 (1.570796)
MESA: info:     div 32     %912 = fmul %898, %1471
MESA: info:     div 32     %913 = fmul %200 (2.000000), %912
MESA: info:     div 1      %914 = flt! %913, %399
MESA: info:     div 32     %915 = fadd %913, %1629
MESA: info:     div 32    %1469 = fsub %399, %915
MESA: info:     div 32     %918 = bcsel %914, %1469, %913
MESA: info:     div 1      %919 = flt! %1629, %918
MESA: info:     div 32    %1468 = fsub %918, %1629
MESA: info:     div 32    %1467 = fsub %1629, %1468
MESA: info:     div 32     %923 = bcsel %919, %1467, %918
MESA: info:     div 32     %924 = fmul %200 (2.000000), %894
MESA: info:     div 1      %925 = flt! %924, %399
MESA: info:     div 32     %926 = fadd %924, %1629
MESA: info:     div 32    %1466 = fsub %399, %926
MESA: info:     div 32     %929 = bcsel %925, %1466, %924
MESA: info:     div 1      %930 = flt! %1621, %929
MESA: info:     div 32    %1465 = fsub %929, %1621
MESA: info:     div 32    %1464 = fsub %1621, %1465
MESA: info:     div 32     %934 = bcsel %930, %1464, %929
MESA: info:     div 32    %1463 = ffma %923, %532, %1613
MESA: info:     div 32    %1462 = ffma %934, %532, %1836.y
MESA: info:     div 32     %939 = fabs %1463
MESA: info:     div 1      %940 = flt! %190 (1.000000), %939
MESA: info:     div 32    %1461 = fsub %200 (2.000000), %939
MESA: info:     div 32     %943 = bcsel %940, %1461, %939
MESA: info:     div 32     %944 = fabs %1462
MESA: info:     div 1      %945 = flt! %190 (1.000000), %944
MESA: info:     div 32    %1460 = fsub %200 (2.000000), %944
MESA: info:     div 32     %948 = bcsel %945, %1460, %944
MESA: info:     div 32x2   %949 = vec2 %943, %948
MESA: info:     div 32x4   %950 = (float32)txl %549 (texture_handle), %548 (sampler_handle), %949 (coord), %206 (lod), 0 (texture), 0 (sampler)
MESA: info:     con 32     %951 = load_const (0x40800000 = 4.000000)
MESA: info:     div 32x3  %1845 = ffma %951 (4.000000).xxx, %550.xyz, %655.xyz
MESA: info:     div 32x3  %1847 = fadd %1845, %750.xyz
MESA: info:     div 32x3  %1849 = fadd %1847, %855.xyz
MESA: info:     div 32x3  %1851 = fadd %1849, %950.xyz
MESA: info:     div 32     %972 = fmul %1807.y, %1771.y
MESA: info:     div 32    %1456 = ffma %1807.z, %1771.z, %972
MESA: info:     div 32    %1455 = ffma %1807.x, %1771.x, %1456
MESA: info:     div 32     %976 = fmax %1455, %142 (0.000000)
MESA: info:     div 32     %977 = fsign %976
MESA: info:     div 32    %1454 = fsub %190 (1.000000), %976
MESA: info:     div 32     %980 = fsqrt %1454
MESA: info:     div 32    %1453 = ffma %976, %383 (-0.023633), %385 (0.081325)
MESA: info:     div 32    %1452 = ffma %976, %1453, %388 (-0.214602)
MESA: info:     div 32    %1451 = ffma %976, %1452, %391 (1.570796)
MESA: info:     div 32    %1449 = fneg %980
MESA: info:     div 32    %1450 = ffma %1449, %1451, %391 (1.570796)
MESA: info:     div 32    %1447 = fneg %977
MESA: info:     div 32    %1448 = ffma %1447, %1450, %391 (1.570796)
MESA: info:     con 32     %993 = load_const (0x40c90fdb = 6.283185)
MESA: info:     con 32     %994 = load_const (0x3e22f983 = 0.159155)
MESA: info:     con 32     %995 = load_const (0x3f000000 = 0.500000)
MESA: info:     div 32     %996 = ffma! %994 (0.159155), %1448, %995 (0.500000)
MESA: info:     div 32     %997 = ffloor %996
MESA: info:     div 32    %1446 = fsub %996, %997
MESA: info:     con 32    %1000 = load_const (0xc0490fdb = -3.141593)
MESA: info:     div 32    %1001 = ffma! %993 (6.283185), %1446, %1000 (-3.141593)
MESA: info:     div 32    %1002 = fsin %1001
MESA: info:     con 32    %1003 = load_const (0x3f400c4b = 0.750188)
MESA: info:     div 32    %1004 = fmul %1003 (0.750188), %1002
MESA: info:     div 32    %1005 = fsign %1004
MESA: info:     div 32    %1006 = fabs %1004
MESA: info:     div 32    %1445 = fsub %190 (1.000000), %1006
MESA: info:     div 32    %1009 = fsqrt %1445
MESA: info:     div 32    %1444 = ffma %1006, %477 (-0.031030), %479 (0.086567)
MESA: info:     div 32    %1443 = ffma %1006, %1444, %388 (-0.214602)
MESA: info:     div 32    %1442 = ffma %1006, %1443, %391 (1.570796)
MESA: info:     div 32    %1440 = fneg %1009
MESA: info:     div 32    %1441 = ffma %1440, %1442, %391 (1.570796)
MESA: info:     div 32    %1438 = fneg %1005
MESA: info:     div 32    %1439 = ffma %1438, %1441, %1448
MESA: info:     div 32    %1022 = ffma! %994 (0.159155), %1439, %995 (0.500000)
MESA: info:     div 32    %1023 = ffloor %1022
MESA: info:     div 32    %1437 = fsub %1022, %1023
MESA: info:     div 32    %1026 = ffma! %993 (6.283185), %1437, %1000 (-3.141593)
MESA: info:     div 32    %1027 = fsin %1026
MESA: info:     div 32    %1436 = ffma %1005, %1441, %1448
MESA: info:     div 32    %1029 = ffma! %994 (0.159155), %1436, %995 (0.500000)
MESA: info:     div 32    %1030 = ffloor %1029
MESA: info:     div 32    %1435 = fsub %1029, %1030
MESA: info:     div 32    %1033 = ffma! %993 (6.283185), %1435, %1000 (-3.141593)
MESA: info:     div 32    %1034 = fsin %1033
MESA: info:     div 32    %1035 = frcp %1034
MESA: info:     div 32    %1036 = fmul %1027, %1035
MESA: info:     div 32    %1037 = fcos %1026
MESA: info:     div 32    %1038 = frcp %1037
MESA: info:     div 32    %1039 = fmul %1027, %1038
MESA: info:     div 32    %1040 = fcos %1033
MESA: info:     div 32    %1041 = frcp %1040
MESA: info:     div 32    %1042 = fmul %1034, %1041
MESA: info:     div 32    %1043 = frcp %1042
MESA: info:     div 32    %1044 = fmul %1039, %1043
MESA: info:     div 32    %1046 = fmul %1044, %1044
MESA: info:     div 32    %1434 = ffma %1036, %1036, %1046
MESA: info:     div 32    %1048 = fmul %995 (0.500000), %1434
MESA: info:     div 32    %1050 = fmul %1807.x, %1807.x
MESA: info:     div 32    %1433 = ffma %1807.y, %1807.y, %1050
MESA: info:     div 32    %1052 = fsqrt %1433
MESA: info:     div 32    %1432 = fsub %190 (1.000000), %1052
MESA: info:     con 32    %1055 = load_const (0x40f00000 = 7.500000)
MESA: info:     div 32    %1056 = fmul %1055 (7.500000), %1432
MESA: info:     div 32    %1057 = fadd %1645, %1647
MESA: info:     div 32    %1058 = fmul %1056, %1057
MESA: info:     div 32    %1059 = ffloor %1058
MESA: info:     div 32    %1431 = fsub %1058, %1059
MESA: info:     div 32    %1062 = fadd %1059, %995 (0.500000)
MESA: info:     con 32    %1063 = load_const (0x3d800000 = 0.062500)
MESA: info:     div 32    %1064 = fmul %1062, %1063 (0.062500)
MESA: info:     con 32    %1065 = load_const (0x3fc00000 = 1.500000)
MESA: info:     div 32    %1066 = fadd %1065 (1.500000), %1059
MESA: info:     div 32    %1067 = fmul %1066, %1063 (0.062500)
MESA: info:     div 32x2  %1068 = vec2 %1064, %142 (0x0)
MESA: info:     con 32    %1069 = @bindless_resource_ir3 (%156 (0x5)) (desc_set=2)
MESA: info:     con 32    %1070 = @bindless_resource_ir3 (%147 (0x4)) (desc_set=2)
MESA: info:     div 32x4  %1071 = (float32)tex %1070 (texture_handle), %1069 (sampler_handle), %1068 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32    %1072 = load_const (0x400ccccd = 2.200000)
MESA: info:     div 32x3  %1855 = flog2 %1071.xyz
MESA: info:     div 32x3  %1856 = fmul %1855, %1072 (2.200000).xxx
MESA: info:     div 32x3  %1857 = fexp2 %1856
MESA: info:     div 32x2  %1082 = vec2 %1067, %142 (0x0)
MESA: info:     div 32x4  %1083 = (float32)tex %1070 (texture_handle), %1069 (sampler_handle), %1082 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %1861 = flog2 %1083.xyz
MESA: info:     div 32x3  %1862 = fmul %1861, %1072 (2.200000).xxx
MESA: info:     div 32x3  %1863 = fexp2 %1862
MESA: info:     div 32x3  %1865 = fsub %1863, %1857
MESA: info:     div 32x3  %1867 = ffma %1431.xxx, %1865, %1857
MESA: info:     con 32    %1106 = @load_const_ir3 (%142 (0x0)) (base=2)
MESA: info:     con 32    %1108 = @load_const_ir3 (%142 (0x0)) (base=3)
MESA: info:     con 32    %1110 = @load_const_ir3 (%142 (0x0)) (base=4)
MESA: info:     con 32x4  %1114 = @load_const_ir3 (%142 (0x0)) (base=80)
MESA: info:     con 32x4  %1121 = @load_const_ir3 (%142 (0x0)) (base=84)
MESA: info:     con 32x4  %1133 = @load_const_ir3 (%142 (0x0)) (base=88)
MESA: info:     con 32x4  %1145 = @load_const_ir3 (%142 (0x0)) (base=92)
MESA: info:     div 32x4  %1874 = ffma %1121, %144.zzzz, %1145
MESA: info:     div 32x4  %1875 = ffma %1114, %144.yyyy, %1874
MESA: info:     div 32x4  %1876 = ffma %1133, %144.wwww, %1875
MESA: info:     div 32    %1150 = frcp %1876.w
MESA: info:     div 32x2  %1877 = fmul %1876.xy, %1150.xx
MESA: info:     div 32    %1153 = fmin! %1877.y, %1877.x
MESA: info:     div 1     %1154 = flt! %1153, %229 (-1.000000)
MESA: info:     div 32    %1155 = fmax! %1877.y, %1877.x
MESA: info:     div 1     %1156 = flt! %190 (1.000000), %1155
MESA: info:     div 1     %1749 = inot %1154
MESA: info:     div 1     %1750 = inot %1156
MESA: info:     div 1     %1751 = iand %1749, %1750
MESA: info:                       // succs: b7 b8
MESA: info:     if %1751 {
MESA: info:         div block b7:         // preds: b6
MESA: info:         con 32     %198 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:         con 32     %530 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:         div 32x2  %1878 = ffma %995 (0.500000).xx, %1877, %995 (0.500000).xx
MESA: info:         div 32    %1414 = ffma %995 (0.500000), %1876.z, %995 (0.500000)
MESA: info:         con 32    %1166 = @bindless_resource_ir3 (%198 (0xb)) (desc_set=2)
MESA: info:         con 32    %1167 = @bindless_resource_ir3 (%530 (0xa)) (desc_set=2)
MESA: info:         div 32    %1168 = (float32)tex %1167 (texture_handle), %1166 (sampler_handle), %1878 (coord), %1414 (comparator), 0 (texture), 0 (sampler)
MESA: info:                           // succs: b9
MESA: info:     } else {
MESA: info:         div block b8:  // preds: b6, succs: b9
MESA: info:     }
MESA: info:     con block b9:         // preds: b7 b8
MESA: info:     div 32    %1169 = phi b7: %1168, b8: %190 (1.000000)
MESA: info:     con 32     %234 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:     con 32     %239 = load_const (0x00000011 = 0.000000 = 17)
MESA: info:     con 32     %967 = load_const (0x3e000000 = 0.125000)
MESA: info:     con 32x3  %1173 = @load_const_ir3 (%142 (0x0)) (base=116)
MESA: info:     con 32x3  %1176 = @load_const_ir3 (%142 (0x0)) (base=120)
MESA: info:     con 32x3  %1179 = @load_const_ir3 (%142 (0x0)) (base=124)
MESA: info:     con 32x3  %1183 = @load_const_ir3 (%142 (0x0)) (base=128)
MESA: info:     con 32x4  %1185 = @load_const_ir3 (%142 (0x0)) (base=5)
MESA: info:     con 32    %1188 = @load_const_ir3 (%142 (0x0)) (base=99)
MESA: info:     con 32    %1190 = @load_const_ir3 (%142 (0x0)) (base=9)
MESA: info:     con 32    %1192 = @load_const_ir3 (%142 (0x0)) (base=10)
MESA: info:     con 32    %1194 = @load_const_ir3 (%142 (0x0)) (base=11)
MESA: info:     div 32    %1413 = ffma %1169, %1190, %1185.x
MESA: info:     div 32    %1412 = ffma %1169, %1192, %1185.y
MESA: info:     div 32    %1411 = ffma %1169, %1194, %1185.z
MESA: info:     div 32    %1201 = fmul %1188, %1413
MESA: info:     div 32    %1202 = fmul %1188, %1412
MESA: info:     div 32    %1203 = fmul %1188, %1411
MESA: info:     div 32    %1204 = fmul %1201, %1106
MESA: info:     div 32    %1205 = fmul %1202, %1108
MESA: info:     div 32    %1206 = fmul %1203, %1110
MESA: info:     con 32    %1207 = load_const (0x3e800000 = 0.250000)
MESA: info:     div 32    %1208 = flog2 %1645
MESA: info:     div 32    %1209 = fmul %1208, %1207 (0.250000)
MESA: info:     div 32    %1210 = fexp2 %1209
MESA: info:     div 32x3  %1880 = fmul %332.xxx, %223.xyz
MESA: info:     div 32x3  %1882 = fmul %1867, %346.xxx
MESA: info:     div 32x3  %1884 = fmul %1882, %1867
MESA: info:     div 32x3  %1886 = fmul %1880, %1884
MESA: info:     div 32    %1410 = ffma %1204, %1210, %1886.x
MESA: info:     div 32    %1409 = ffma %1205, %1210, %1886.y
MESA: info:     div 32    %1408 = ffma %1206, %1210, %1886.z
MESA: info:     div 32    %1229 = fneg %1410
MESA: info:     div 32    %1407 = ffma %1851.x, %967 (0.125000), %1229
MESA: info:     div 32    %1231 = fneg %1409
MESA: info:     div 32    %1406 = ffma %1851.y, %967 (0.125000), %1231
MESA: info:     div 32    %1233 = fneg %1408
MESA: info:     div 32    %1405 = ffma %1851.z, %967 (0.125000), %1233
MESA: info:     div 32    %1404 = ffma %1048, %1407, %1410
MESA: info:     div 32    %1403 = ffma %1048, %1406, %1409
MESA: info:     div 32    %1402 = ffma %1048, %1405, %1408
MESA: info:     div 32x3  %1888 = fsub %144.yzw, %163
MESA: info:     div 32    %1248 = fmul %1888.y, %1888.y
MESA: info:     div 32    %1398 = ffma %1888.z, %1888.z, %1248
MESA: info:     div 32    %1397 = ffma %1888.x, %1888.x, %1398
MESA: info:     div 32    %1252 = frsq %1397
MESA: info:     div 32x3  %1890 = fmul %1888, %1252.xxx
MESA: info:     div 32x3  %1894 = ffma %1176, %1890.yyy, %1183
MESA: info:     div 32x3  %1895 = ffma %1173, %1890.xxx, %1894
MESA: info:     div 32x3  %1896 = ffma %1179, %1890.zzz, %1895
MESA: info:     con 32    %1275 = @bindless_resource_ir3 (%239 (0x11)) (desc_set=2)
MESA: info:     con 32    %1276 = @bindless_resource_ir3 (%234 (0x10)) (desc_set=2)
MESA: info:     div 32x4  %1277 = (float32)txl %1276 (texture_handle), %1275 (sampler_handle), %1896 (coord), %142 (0.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %1278 = (float32)txl %1276 (texture_handle), %1275 (sampler_handle), %1896 (coord), %205 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     con 32x3  %1285 = @load_const_ir3 (%142 (0x0)) (base=148)
MESA: info:     div 32    %1286 = fmul %1285.x, %145.w
MESA: info:     div 32x2  %1897 = fmul %1285.yz, %146
MESA: info:     div 32    %1390 = ffma %1404, %145.x, %1286
MESA: info:     div 32    %1389 = ffma %1403, %145.y, %1897.x
MESA: info:     div 32    %1388 = ffma %1402, %145.z, %1897.y
MESA: info:     con 32    %1292 = load_const (0xbf4ccccd = -0.800000)
MESA: info:     div 32    %1293 = fadd %144.x, %1292 (-0.800000)
MESA: info:     con 32    %1294 = load_const (0x40a00000 = 5.000000)
MESA: info:     div 32    %1295 = fmul %1293, %1294 (5.000000)
MESA: info:     div 32    %1296 = fsat %1295
MESA: info:     div 32x3  %1899 = fsub %1277.xyz, %1278.xyz
MESA: info:     div 32x3  %1901 = ffma %1296.xxx, %1899, %1278.xyz
MESA: info:     div 32    %1312 = fneg %1390
MESA: info:     div 32    %1381 = ffma %1188, %1901.x, %1312
MESA: info:     div 32    %1380 = ffma %144.x, %1381, %1390
MESA: info:     div 32    %1316 = fneg %1389
MESA: info:     div 32    %1379 = ffma %1188, %1901.y, %1316
MESA: info:     div 32    %1378 = ffma %144.x, %1379, %1389
MESA: info:     div 32    %1320 = fneg %1388
MESA: info:     div 32    %1377 = ffma %1188, %1901.z, %1320
MESA: info:     div 32    %1376 = ffma %144.x, %1377, %1388
MESA: info:     div 32x4  %1324 = vec4 %1380, %1378, %1376, %190 (0x3f800000)
MESA: info:                       @store_output (%1324, %142 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:     con 32x4  %1325 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                       @store_output (%1325 (0.000000, 0.000000, 0.000000, 0.000000), %142 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA1 slots=1, xfb(), xfb2())
MESA: info:                       // succs: b10
MESA: info:     block b10:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 0a25e3ebb06795c9b6e4e98969fd3157e8b67b2b:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (36 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      7
MESA: info: ;   range[0]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  0
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          5
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (320b -> 384b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          9
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          5
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c16.x
MESA: info: ;     size:           4 vec4 (64b -> 128b)
MESA: info: ;   range[4]:
MESA: info: ;     block:          6
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[5]:
MESA: info: ;     block:          7
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c24.x
MESA: info: ;     size:           12 vec4 (0b -> 192b)
MESA: info: ;   range[6]:
MESA: info: ;     block:          8
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c36.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @in(r0.z)	in1 (wrmask=0xf)
MESA: info: @const(c40.x)	0x400ccccd, 0xbf800000, 0xbf4ccccd, 0x40a00000
MESA: info: @const(c41.x)	0x40c90fdb, 0x3e22f983, 0x3f400c4b, 0x00000000
MESA: info: @const(c42.x)	0x3d800000, 0x3f4ccccd, 0x3f800000, 0x3da68d87
MESA: info: @const(c43.x)	0xbcc19a5f, 0xbe5bc094, 0x3fc90fdb, 0x3f000000
MESA: info: @const(c44.x)	0xc0490fdb, 0x3db149e5, 0xbcfe31af, 0x40800000
MESA: info: @const(c45.x)	0x40000000, 0x41a00000, 0xc0800000, 0x40490fda
MESA: info: @const(c46.x)	0x3e9a209a, 0x40c00000, 0x3e800000, 0x40f00000
MESA: info: @const(c47.x)	0x3fc00000, 0x3e000000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l82
MESA: info: getone #l82
MESA: info: ldc.u.offset0.3.imm.base1 r48.z, 7, 7
MESA: info: ldc.u.offset0.3.imm.base1 r49.y, 8, 7
MESA: info: alias.tex.b16.7 hr40.x, h(0x3c00)
MESA: info: alias.tex.b16.0 hr40.y, h(0x0)
MESA: info: alias.tex.b16.0 hr40.z, h(0x0)
MESA: info: alias.tex.b16.0 hr40.w, h(0x0)
MESA: info: alias.tex.b16.0 hr41.x, h(0x0)
MESA: info: alias.tex.b16.0 hr41.y, h(0x0)
MESA: info: alias.tex.b16.0 hr41.z, h(0x0)
MESA: info: alias.tex.b16.0 hr41.w, h(0x0)
MESA: info: samgq.base2 (f32)(xyz)r1.z, hr40.x, s#5, t#4
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#3, t#2
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#7, t#6
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#9, t#8
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#5, t#4
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#11, t#10
MESA: info: mova1 a1.x, 138
MESA: info: (sy)(ss)add.f r48.z, r48.z, r49.y
MESA: info: (rpt1)add.f r50.z, (r)r48.w, (r)r49.z
MESA: info: mov.u32u32 r50.x, (last)r1.z
MESA: info: mov.u32u32 r50.y, (last)r1.w
MESA: info: mov.u32u32 r51.x, (last)r2.x
MESA: info: (rpt1)nop
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, t#16, a1.x
MESA: info: (ss)mov.u32u32 r2.y, r48.z
MESA: info: ldc.u.offset2.2.imm.base1 r48.x, 2, 9
MESA: info: (rpt1)log2 r51.y, (r)r50.x
MESA: info: log2 r51.w, r51.x
MESA: info: mov.u32u32 r2.z, r50.z
MESA: info: mov.u32u32 r2.w, r50.w
MESA: info: mova1 a1.x, 16
MESA: info: (rpt3)nop
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyzw)r3.x, r2.y, r40.x, s#13, t#12
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r4.x, r2.y, r40.x, s#15, t#14
MESA: info: (ss)(rpt2)mul.f r53.w, (r)r51.y, c40.x
MESA: info: (sy)mov.u32u32 r52.w, (last)r3.x
MESA: info: mov.u32u32 r53.x, (last)r3.y
MESA: info: mov.u32u32 r53.y, (last)r3.z
MESA: info: mov.u32u32 r52.x, (last)r4.x
MESA: info: mov.u32u32 r52.y, (last)r4.y
MESA: info: mov.u32u32 r52.z, (last)r4.z
MESA: info: rcp r48.x, r48.x
MESA: info: mul.f r48.y, r48.y, (2.0)
MESA: info: mov.u32u32 r53.z, (last)r3.w
MESA: info: (ss)exp2 r53.w, r53.w
MESA: info: (rpt1)exp2 r54.z, (r)r54.x
MESA: info: (rpt2)add.f r55.x, (r)r52.x, (neg)(r)r52.w
MESA: info: stc.u32 c[1], r48.x, 1
MESA: info: stc.u32 c[0], r48.y, 1
MESA: info: stc.u32 c[5], r52.w, 4
MESA: info: (ss)nop
MESA: info: stc.u32 c[2], r53.w, 1
MESA: info: stc.u32 c[3], r54.z, 1
MESA: info: stc.u32 c[4], r54.w, 1
MESA: info: stc.u32 c[9], r55.x, 1
MESA: info: stc.u32 c[10], r55.y, 1
MESA: info: stc.u32 c[11], r55.z, 1
MESA: info: ldc.4.k.imm.base0 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, 32
MESA: info: (rpt4)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 20, 5
MESA: info: (ss)mova1 a1.x, 48
MESA: info: (rpt4)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 9
MESA: info: (ss)mova1 a1.x, 64
MESA: info: (rpt4)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 4, 5
MESA: info: (ss)mova1 a1.x, 80
MESA: info: (rpt4)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 6
MESA: info: (ss)mova1 a1.x, 96
MESA: info: (rpt4)nop
MESA: info: ldc.12.k.imm.base1 c[a1.x], 0, 7
MESA: info: (ss)mova1 a1.x, 144
MESA: info: (rpt4)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 8
MESA: info: (sy)(ss)shpe
MESA: info: l82:
MESA: info: (jp)(rpt2)bary.f r4.w, (r)1, r0.x
MESA: info: bary.f r3.w, 7, r0.x
MESA: info: (rpt1)bary.f r4.x, (r)8, r0.x
MESA: info: dsx (f32)(x)r7.w, r4.w
MESA: info: cov.u32f32 r0.w, (last)r0.w
MESA: info: dsx (f32)(x)r7.z, r5.x
MESA: info: cov.u32f32 r0.z, (last)r0.z
MESA: info: nop
MESA: info: mul.f r0.w, (last)r0.w, c42.x
MESA: info: mul.f r0.z, (last)r0.z, c42.x
MESA: info: (rpt2)add.f r5.z, (r)c11.x, (neg)(r)r4.w
MESA: info: mad.f32 r0.w, c4.x, r0.w, c4.y
MESA: info: mad.f32 r8.x, c12.x, r0.z, c12.z
MESA: info: mul.f r6.w, r5.w, r5.w
MESA: info: mad.f32 r8.y, c12.y, r0.w, c12.w
MESA: info: mad.f32 r6.w, r6.x, r6.x, (last)r6.w
MESA: info: add.f r15.w, r0.z, c40.y
MESA: info: mad.f32 r6.w, r5.z, r5.z, (last)r6.w
MESA: info: mad.f32 r8.w, c45.x, r8.x, c40.y
MESA: info: mad.f32 r1.y, c12.x, r15.w, c12.z
MESA: info: sam.base2 (f32)(x)r11.x, r8.x, s#3, t#2
MESA: info: sam.base2 (f32)(xyz)r15.x, r8.x, s#7, t#6
MESA: info: sam.base2 (f32)(xyz)r10.y, r8.x, s#1, t#0
MESA: info: mad.f32 r9.x, c45.x, r8.y, c40.y
MESA: info: mad.f32 r1.x, c45.x, r1.x, c40.y
MESA: info: mul.f r7.x, r5.x, c4.x
MESA: info: rsq r6.w, (last)r6.w
MESA: info: (rpt1)mad.f32 r12.z, (r)c17.z, r9.x, (r)c19.z
MESA: info: alias.tex.b32.0 r1.z, r8.y
MESA: info: sam.base2 (f32)(xyz)r2.w, r1.y, s#7, t#6
MESA: info: (rpt1)mad.f32 r12.x, (r)c16.z, r8.w, (r)(last)r12.z
MESA: info: mad.f32 r11.z, c17.y, r9.x, c19.y
MESA: info: dsy (f32)(x)r7.y, r7.x
MESA: info: mad.f32 r13.y, c18.w, r1.x, r12.y
MESA: info: mad.f32 r11.w, c16.y, r8.w, (last)r11.z
MESA: info: mad.f32 r11.y, c17.x, r9.x, c19.x
MESA: info: (rpt1)mad.f32 r13.z, (r)c18.y, r1.x, (r)r11.w
MESA: info: mad.f32 r11.y, c16.x, r8.w, (last)r11.y
MESA: info: rcp r13.y, (last)r13.y
MESA: info: mul.f r6.y, r4.w, c4.x
MESA: info: mad.f32 r13.x, c18.x, r1.x, r11.y
MESA: info: mad.f32 r12.w, c21.y, r5.x, c23.y
MESA: info: (sy)add.f r7.w, (last)(abs)r7.w, (1.0)
MESA: info: mad.f32 r12.w, c20.y, r4.w, (last)r12.w
MESA: info: mad.f32 r8.z, c13.x, r0.z, c13.z
MESA: info: dsy (f32)(x)r6.z, r6.y
MESA: info: (ss)bary.f r6.y, 0, r0.x
MESA: info: (rpt1)mul.f r9.w, (last)(r)r5.w, r6.w
MESA: info: mad.f32 r1.z, (neg)r13.z, r13.y, c11.y
MESA: info: mad.f32 r1.w, (neg)r13.w, r13.y, c11.z
MESA: info: add.f r14.y, (1.0), (absneg)r10.x
MESA: info: absneg.f r14.z, (abs)r10.x
MESA: info: mad.f32 r2.x, (neg)r13.x, r13.y, c11.x
MESA: info: mul.f r1.z, (last)r1.z, r1.z
MESA: info: mad.f32 r1.x, c43.x, r14.z, c42.w
MESA: info: mad.f32 r1.z, r1.w, r1.w, (last)r1.z
MESA: info: sqrt r14.y, (last)r14.y
MESA: info: mul.f r9.z, (last)r5.z, (last)r6.w
MESA: info: (rpt1)bary.f r5.z, (r)4, r0.x
MESA: info: bary.f (ei)r0.x, 6, (last)r0.x
MESA: info: mad.f32 r1.x, r14.z, r1.x, c43.y
MESA: info: mad.f32 r2.x, (last)r2.x, r2.x, (last)r1.z
MESA: info: sign.f r14.w, r10.x
MESA: info: mad.f32 r14.z, (last)r14.z, r1.x, c43.z
MESA: info: mul.f r14.x, r9.z, r9.z
MESA: info: mad.f32 r7.x, c21.x, r5.x, c23.x
MESA: info: mad.f32 r14.x, r9.w, r9.w, (last)r14.x
MESA: info: sqrt r2.x, (last)r2.x
MESA: info: mad.f32 r7.x, c20.x, r4.w, (last)r7.x
MESA: info: mad.f32 r9.x, c22.y, r5.y, (last)r12.w
MESA: info: mad.f32 r8.w, c22.x, r5.y, (last)r7.x
MESA: info: mad.f32 r9.y, c13.y, r0.w, c13.w
MESA: info: mad.f32 r15.w, c13.x, r15.w, c13.z
MESA: info: rsq r14.x, (last)r14.x
MESA: info: add.f r0.z, (last)r0.z, (1.0)
MESA: info: mad.f32 r11.x, c45.x, r11.x, c40.y
MESA: info: (rpt1)mul.f r1.x, (r)c9.y, r15.y
MESA: info: mad.f32 r12.y, c18.w, r11.x, (last)r12.y
MESA: info: (rpt1)mad.f32 r11.w, (r)c18.y, r11.x, (r)(last)r11.w
MESA: info: mad.f32 r11.x, c18.x, r11.x, (last)r11.y
MESA: info: (rpt1)mad.f32 r1.x, (r)c8.y, r15.x, (r)(last)r1.x
MESA: info: rcp r12.y, (last)r12.y
MESA: info: (rpt1)mad.f32 r1.x, (r)c10.y, r15.z, (r)(last)r1.x
MESA: info: mul.f r1.z, c9.x, r3.x
MESA: info: add.f r7.z, (last)(abs)r7.z, (last)(abs)r7.y
MESA: info: cmps.f.lt r11.y, r1.y, c42.y
MESA: info: mad.f32 r1.z, c8.x, r2.w, (last)r1.z
MESA: info: (sy)add.f r7.w, (last)r7.w, (last)(abs)r6.z
MESA: info: sel.b32 r1.x, c41.w, r11.y, (last)r1.x
MESA: info: sel.b32 r1.y, c42.z, r11.y, (last)r1.y
MESA: info: mad.f32 r7.x, c10.x, r3.y, (last)r1.z
MESA: info: add.f r7.w, (last)r7.w, (last)r7.z
MESA: info: (ss)mul.f r12.x, (last)r12.x, r12.y
MESA: info: mad.f32 r11.w, (neg)(last)r11.w, r12.y, c11.y
MESA: info: mad.f32 r13.w, (last)r13.w, r13.y, (neg)r12.x
MESA: info: add.f r12.x, c11.z, (last)(neg)r12.x
MESA: info: mad.f32 r11.x, (neg)(last)r11.x, r12.y, c11.x
MESA: info: log2 r7.w, (last)r7.w
MESA: info: mul.f r11.w, (last)r11.w, r11.w
MESA: info: mad.f32 r14.y, (neg)(last)r14.y, r14.z, c43.z
MESA: info: mad.f32 r12.x, (last)r12.x, r12.x, (last)r11.w
MESA: info: add.f r6.x, r2.x, c45.z
MESA: info: mad.f32 r11.x, (last)r11.x, r11.x, (last)r12.x
MESA: info: mad.f32 r14.w, (neg)(last)r14.w, r14.y, c45.w
MESA: info: mad.f32 r14.y, c21.w, r5.x, c23.w
MESA: info: (rpt1)mul.f r2.y, (r)r9.z, (last)r14.x
MESA: info: mad.f32 r14.y, c20.w, r4.w, (last)r14.y
MESA: info: sqrt r11.x, (last)r11.x
MESA: info: mul.f r14.z, c9.x, (last)r15.y
MESA: info: mad.f32 r14.y, c22.w, r5.y, (last)r14.y
MESA: info: mad.f32 r14.z, c8.x, r15.x, (last)r14.z
MESA: info: (rpt1)mul.f r11.w, (r)c9.y, (last)r3.x
MESA: info: mad.f32 r14.z, c10.x, r15.z, (last)r14.z
MESA: info: (rpt1)mad.f32 r11.w, (r)c8.y, r2.w, (r)(last)r11.w
MESA: info: rcp r14.y, (last)r14.y
MESA: info: sel.b32 r11.y, c41.w, r11.y, (last)r14.z
MESA: info: (rpt1)mad.f32 r7.y, (r)c10.y, r3.y, (r)(last)r11.w
MESA: info: mul.f r1.z, r2.z, r11.y
MESA: info: mul.f r15.x, r11.y, r2.y
MESA: info: mad.f32 r1.z, r1.x, r2.y, (neg)(last)r1.z
MESA: info: cmps.f.lt r7.z, (last)r7.z, c42.y
MESA: info: mad.f32 r15.x, r1.x, r2.z, (last)r15.x
MESA: info: add.f r2.w, (1.0), (absneg)r1.z
MESA: info: absneg.f r3.x, (abs)r1.z
MESA: info: (rpt1)sel.b32 r7.x, c41.w, r7.z, (r)(last)r7.x
MESA: info: (ss)add.f r2.x, r11.x, (last)(neg)r2.x
MESA: info: cmps.f.lt r11.x, (last)r11.x, (last)r6.x
MESA: info: sqrt r2.w, (last)r2.w
MESA: info: (rpt1)mul.f r8.w, (last)(r)r8.w, (last)r14.y
MESA: info: max.f r2.x, (last)r2.x, (0.0)
MESA: info: mul.f r3.y, r7.x, r2.y
MESA: info: sel.b32 r11.x, c45.y, r11.x, (last)r2.x
MESA: info: mul.f r7.x, r2.z, (last)r7.x
MESA: info: add.f r15.z, (1.0), (absneg)r15.x
MESA: info: mul.f r12.w, r11.x, r2.y
MESA: info: mul.f r12.y, r11.x, (log2(e))
MESA: info: mad.f32 r14.y, (last)r13.x, r13.y, (neg)(last)r12.w
MESA: info: mul.f r11.x, (last)r11.x, r2.z
MESA: info: mad.f32 r4.z, c44.z, r3.x, c44.y
MESA: info: sqrt r15.z, (last)r15.z
MESA: info: mad.f32 r14.z, (last)r13.z, r13.y, (neg)(last)r11.x
MESA: info: mad.f32 r3.y, r7.y, r2.z, (last)r3.y
MESA: info: (rpt1)add.f r14.y, (r)c11.x, (last)(neg)(r)r14.y
MESA: info: mad.f32 r7.y, (last)r7.y, r2.y, (neg)(last)r7.x
MESA: info: mad.f32 r4.z, r3.x, r4.z, c43.y
MESA: info: mul.f r15.y, r14.z, r14.z
MESA: info: sign.f r1.z, (last)r1.z
MESA: info: mad.f32 r15.y, r1.w, r1.w, (last)r15.y
MESA: info: mad.f32 r3.x, (last)r3.x, r4.z, c43.z
MESA: info: mad.f32 r15.y, r14.y, r14.y, (last)r15.y
MESA: info: absneg.f r0.y, (abs)r15.x
MESA: info: (ss)mad.f32 r2.w, (neg)(last)r2.w, r3.x, c43.z
MESA: info: sign.f r15.x, (last)r15.x
MESA: info: mad.f32 r2.x, c44.z, r0.y, c44.y
MESA: info: mul.f r1.z, (last)r1.z, (last)r2.w
MESA: info: rsq r15.y, (last)r15.y
MESA: info: add.f r6.x, (1.0), (absneg)r3.y
MESA: info: mad.f32 r2.x, r0.y, r2.x, c43.y
MESA: info: mul.f r1.z, (2.0), (last)r1.z
MESA: info: absneg.f r7.z, (abs)r3.y
MESA: info: mad.f32 r0.y, (last)r0.y, r2.x, c43.z
MESA: info: mad.f32 r7.w, c46.x, r7.w, c0.x
MESA: info: sqrt r6.x, (last)r6.x
MESA: info: sign.f r3.y, (last)r3.y
MESA: info: mad.f32 r15.z, (neg)(last)r15.z, r0.y, c43.z
MESA: info: max.f r7.w, (last)r7.w, (0.0)
MESA: info: max.f r13.w, (last)r13.w, (0.0)
MESA: info: mul.f r15.x, (last)r15.x, (last)r15.z
MESA: info: min.f r7.w, (last)r7.w, c46.y
MESA: info: mul.f r13.w, (last)r13.w, (log2(e))
MESA: info: mul.f r15.x, (2.0), (last)r15.x
MESA: info: mul.f r12.y, (last)r12.y, c15.y
MESA: info: mul.f r13.w, (last)r13.w, c15.y
MESA: info: (ss)mul.f r14.z, (last)r14.z, r15.y
MESA: info: mul.f r1.w, (last)r1.w, r15.y
MESA: info: mul.f r14.y, (last)r14.y, (last)r15.y
MESA: info: mul.f r14.z, r9.w, (last)r14.z
MESA: info: exp2 r12.y, (last)(neg)r12.y
MESA: info: mul.f r9.w, r1.x, (last)r9.w
MESA: info: exp2 r13.w, (last)(neg)r13.w
MESA: info: mad.f32 r1.w, r10.x, r1.w, (last)r14.z
MESA: info: mad.f32 r1.y, (last)r1.y, r10.x, (last)r9.w
MESA: info: mad.f32 r14.y, r9.z, r14.y, (last)r1.w
MESA: info: mad.f32 r9.z, r11.y, r9.z, (last)r1.y
MESA: info: mul.f r11.y, (last)r11.y, r11.y
MESA: info: add.f r6.z, (1.0), (absneg)r14.y
MESA: info: absneg.f r7.x, (abs)r14.y
MESA: info: sign.f r14.y, (last)r14.y
MESA: info: mad.f32 r1.x, (last)r1.x, r1.x, (last)r11.y
MESA: info: mad.f32 r9.w, c43.x, r7.x, c42.w
MESA: info: add.f r15.y, (1.0), (absneg)r7.y
MESA: info: sqrt r6.z, (last)r6.z
MESA: info: absneg.f r1.y, (abs)r7.y
MESA: info: mad.f32 r9.w, r7.x, r9.w, c43.y
MESA: info: mad.f32 r10.x, c44.z, r7.z, c44.y
MESA: info: sqrt r1.x, (last)r1.x
MESA: info: sign.f r7.y, (last)r7.y
MESA: info: mad.f32 r7.x, (last)r7.x, r9.w, c43.z
MESA: info: sqrt r15.y, (last)r15.y
MESA: info: mad.f32 r10.x, r7.z, r10.x, c43.y
MESA: info: max.f r9.z, (last)r9.z, (0.0)
MESA: info: mad.f32 r3.z, c12.x, r0.z, c12.z
MESA: info: mad.f32 r7.z, (last)r7.z, r10.x, c43.z
MESA: info: add.f r6.w, r0.w, c40.y
MESA: info: add.f r0.w, (last)r0.w, (1.0)
MESA: info: mad.f32 r6.x, (neg)(last)r6.x, r7.z, c43.z
MESA: info: mad.f32 r11.z, c12.y, r6.w, c12.w
MESA: info: mad.f32 r12.z, c12.y, r0.w, c12.w
MESA: info: mul.f r3.y, (last)r3.y, (last)r6.x
MESA: info: (ss)mad.f32 r6.z, (neg)(last)r6.z, r7.x, c43.z
MESA: info: add.f r4.z, (1.0), (neg)r13.w
MESA: info: mul.f r3.y, (2.0), (last)r3.y
MESA: info: mad.f32 r14.y, (neg)(last)r14.y, r6.z, c43.z
MESA: info: add.f r1.x, (1.0), (last)(neg)r1.x
MESA: info: add.f r6.x, (1.0), (neg)r12.y
MESA: info: add.f r11.x, r1.z, r14.y
MESA: info: cmps.f.lt r11.y, r1.z, (neg)r14.y
MESA: info: add.f r11.w, r15.x, r14.y
MESA: info: add.f r11.x, (neg)r14.y, (last)(neg)r11.x
MESA: info: cmps.f.lt r13.x, r15.x, (neg)r14.y
MESA: info: add.f r11.w, (neg)r14.y, (last)(neg)r11.w
MESA: info: sel.b32 r11.x, (last)r11.x, r11.y, (last)r1.z
MESA: info: add.f r1.z, r3.y, r14.y
MESA: info: sel.b32 r11.w, (last)r11.w, r13.x, (last)r15.x
MESA: info: add.f r12.x, r11.x, (neg)r14.y
MESA: info: cmps.f.lt r12.w, r14.y, r11.x
MESA: info: add.f r14.z, r11.w, (neg)r14.w
MESA: info: add.f r12.x, r14.y, (last)(neg)r12.x
MESA: info: cmps.f.lt r15.x, r14.w, r11.w
MESA: info: add.f r14.z, r14.w, (last)(neg)r14.z
MESA: info: sel.b32 r12.x, (last)r12.x, r12.w, (last)r11.x
MESA: info: alias.tex.b32.0 r8.y, r11.z
MESA: info: sam.base2 (f32)(xyz)r11.x, r8.x, s#7, t#6
MESA: info: add.f r1.z, (neg)r14.y, (last)(neg)r1.z
MESA: info: sel.b32 r14.z, (last)r14.z, r15.x, (last)r11.w
MESA: info: mad.f32 r12.x, c0.y, r12.x, r8.z
MESA: info: mul.f r1.x, c46.w, (last)r1.x
MESA: info: mad.f32 r14.z, c0.y, r14.z, r9.y
MESA: info: absneg.f r13.y, (abs)r12.x
MESA: info: cmps.f.lt r13.z, (1.0), (abs)r12.x
MESA: info: add.f r12.x, (2.0), (last)(absneg)r12.x
MESA: info: absneg.f r15.z, (abs)r14.z
MESA: info: cmps.f.lt r0.y, (1.0), (abs)r14.z
MESA: info: sel.b32 r12.x, (last)r12.x, r13.z, (last)r13.y
MESA: info: mad.f32 r13.z, c44.z, r1.y, c44.y
MESA: info: add.f r14.z, (2.0), (last)(absneg)r14.z
MESA: info: add.f r4.z, r6.x, (last)r4.z
MESA: info: mad.f32 r13.z, r1.y, r13.z, c43.y
MESA: info: sel.b32 r14.z, (last)r14.z, r0.y, (last)r15.z
MESA: info: mul.f r1.x, (last)r1.x, (last)r4.z
MESA: info: mad.f32 r1.y, (last)r1.y, r13.z, c43.z
MESA: info: mad.f32 r0.z, c13.x, r0.z, c13.z
MESA: info: min.f r6.z, r9.x, r8.w
MESA: info: mad.f32 r15.y, (neg)(last)r15.y, r1.y, c43.z
MESA: info: alias.tex.b32.0 r12.y, r14.z
MESA: info: saml.base2 (f32)(xyz)r12.w, r12.x, r7.w, s#9, t#8
MESA: info: (ss)cmps.f.lt r14.z, r3.y, (neg)r14.y
MESA: info: cmps.f.lt p0.x, (last)r6.z, c40.y
MESA: info: mul.f r7.y, (last)r7.y, (last)r15.y
MESA: info: sel.b32 r1.z, (last)r1.z, r14.z, (last)r3.y
MESA: info: mad.f32 r6.w, c13.y, r6.w, c13.w
MESA: info: mul.f r7.y, (2.0), (last)r7.y
MESA: info: add.f r15.z, r1.z, (neg)r14.w
MESA: info: cmps.f.lt r1.w, r14.w, r1.z
MESA: info: add.f r15.x, r7.y, r14.y
MESA: info: cmps.f.lt r15.y, r7.y, (neg)r14.y
MESA: info: add.f r15.z, r14.w, (last)(neg)r15.z
MESA: info: add.f r15.x, (neg)r14.y, (last)(neg)r15.x
MESA: info: mad.f32 r0.w, c13.y, r0.w, c13.w
MESA: info: sel.b32 r15.z, (last)r15.z, r1.w, (last)r1.z
MESA: info: sel.b32 r15.x, (last)r15.x, r15.y, (last)r7.y
MESA: info: alias.tex.b32.0 r3.w, r8.y
MESA: info: sam.base2 (f32)(xyz)r7.x, r3.z, s#7, t#6
MESA: info: (ss)mad.f32 r3.z, c43.x, r9.z, c42.w
MESA: info: mad.f32 r15.z, c0.y, r15.z, r9.y
MESA: info: add.f r0.y, r15.x, (neg)r14.y
MESA: info: cmps.f.lt r1.y, r14.y, r15.x
MESA: info: absneg.f r3.x, (abs)r15.z
MESA: info: add.f r0.y, r14.y, (last)(neg)r0.y
MESA: info: cmps.f.lt r3.y, (1.0), (abs)r15.z
MESA: info: add.f r15.z, (2.0), (last)(absneg)r15.z
MESA: info: sel.b32 r0.y, (last)r0.y, r1.y, (last)r15.x
MESA: info: alias.tex.b32.0 r8.y, r12.z
MESA: info: sam.base2 (f32)(xyz)r1.y, r8.x, s#7, t#6
MESA: info: mad.f32 r3.z, r9.z, r3.z, c43.y
MESA: info: sel.b32 r15.z, (last)r15.z, r3.y, (last)r3.x
MESA: info: mad.f32 r0.y, c0.y, r0.y, (last)r15.w
MESA: info: (ss)floor.f r8.x, r1.x
MESA: info: mad.f32 r3.z, r9.z, r3.z, c43.z
MESA: info: absneg.f r2.x, (abs)r0.y
MESA: info: cmps.f.lt r2.w, (1.0), (abs)r0.y
MESA: info: add.f r0.y, (2.0), (last)(absneg)r0.y
MESA: info: add.f r9.w, r8.x, (0.5)
MESA: info: add.f r1.x, (last)r1.x, (neg)r8.x
MESA: info: sel.b32 r0.y, (last)r0.y, r2.w, (last)r2.x
MESA: info: add.f r2.x, (1.0), (neg)r9.z
MESA: info: sign.f r9.z, (last)r9.z
MESA: info: mul.f r9.w, (last)r9.w, c42.x
MESA: info: add.f r8.x, c47.x, (last)r8.x
MESA: info: max.f r15.w, r9.x, r8.w
MESA: info: alias.tex.b32.0 r0.z, r15.z
MESA: info: saml.base2 (f32)(xyz)r2.w, r0.y, r7.w, s#9, t#8
MESA: info: mad.f32 r14.x, c21.z, r5.x, c23.z
MESA: info: sqrt r2.x, (last)r2.x
MESA: info: mul.f r8.x, (last)r8.x, c42.x
MESA: info: cmps.f.lt p0.y, (1.0), (last)r15.w
MESA: info: (nop1) mad.f32 r14.x, c20.z, r4.w, (last)r14.x
MESA: info: mad.f32 r14.x, c22.z, r5.y, (last)r14.x
MESA: info: (ss)mad.f32 r2.x, (neg)(last)r2.x, r3.z, c43.z
MESA: info: alias.tex.b32.0 r10.x, (0x0)
MESA: info: sam.base2 (f32)(xyz)r15.x, r9.w, s#5, t#4
MESA: info: (rpt1)nop
MESA: info: (nop2) mad.f32 r9.z, (neg)(last)r9.z, r2.x, c43.z
MESA: info: mad.f32 r8.y, c41.y, r9.z, c43.w
MESA: info: mov.u32u32 r0.y, (last)r9.z
MESA: info: nop
MESA: info: (nop2) floor.f r10.x, r8.y
MESA: info: add.f r8.y, (last)r8.y, (last)(neg)r10.x
MESA: info: (ss)nop
MESA: info: alias.tex.b32.0 r8.y, (0x0)
MESA: info: sam.base2 (f32)(xyz)r9.z, r8.x, s#5, t#4
MESA: info: nop
MESA: info: mad.f32 r8.y, c41.x, r8.y, c44.x
MESA: info: (sy)(rpt1)mul.f r11.w, (r)c9.y, r7.y
MESA: info: (rpt2)log2 r15.x, (last)(r)r15.x
MESA: info: (rpt2)log2 r9.z, (last)(r)r9.z
MESA: info: (rpt2)mad.f32 r12.w, c44.w, (r)r12.w, (r)(last)r2.w
MESA: info: sin r8.y, (last)r8.y
MESA: info: (rpt1)mad.f32 r11.w, (r)c8.y, r7.x, (r)(last)r11.w
MESA: info: (rpt1)mad.f32 r3.x, (r)c10.y, r7.z, (r)(last)r11.w
MESA: info: mul.f r2.x, c9.x, (last)r7.y
MESA: info: mul.f r11.w, c9.x, r11.y
MESA: info: cmps.f.lt r3.y, (last)r3.y, c42.y
MESA: info: mad.f32 r2.x, c8.x, r7.x, (last)r2.x
MESA: info: mad.f32 r11.w, c8.x, r11.x, (last)r11.w
MESA: info: (nop1) mad.f32 r2.w, c10.x, r7.z, (last)r2.x
MESA: info: (rpt1)sel.b32 r2.w, c41.w, r3.y, (r)(last)r2.w
MESA: info: nop
MESA: info: mul.f r8.x, r2.w, r2.y
MESA: info: mul.f r2.w, r2.z, (last)r2.w
MESA: info: mad.f32 r8.x, r3.x, r2.z, (last)r8.x
MESA: info: mad.f32 r3.x, (last)r3.x, r2.y, (neg)(last)r2.w
MESA: info: (ss)mul.f r7.x, (last)r15.x, c40.x
MESA: info: add.f r15.w, (1.0), (absneg)r8.x
MESA: info: add.f r2.w, (1.0), (absneg)r3.x
MESA: info: absneg.f r2.x, (abs)r8.x
MESA: info: absneg.f r3.z, (abs)r3.x
MESA: info: sign.f r8.x, (last)r8.x
MESA: info: mad.f32 r3.y, c44.z, r2.x, c44.y
MESA: info: sqrt r15.w, (last)r15.w
MESA: info: mad.f32 r12.z, c44.z, r3.z, c44.y
MESA: info: sqrt r2.w, (last)r2.w
MESA: info: sign.f r3.x, (last)r3.x
MESA: info: mad.f32 r3.y, r2.x, r3.y, c43.y
MESA: info: mad.f32 r12.z, r3.z, r12.z, c43.y
MESA: info: (rpt1)mul.f r7.y, (last)(r)r15.y, c40.x
MESA: info: mad.f32 r2.x, (last)r2.x, r3.y, c43.z
MESA: info: mad.f32 r3.z, (last)r3.z, r12.z, c43.z
MESA: info: mad.f32 r15.x, c10.x, r11.z, (last)r11.w
MESA: info: (rpt2)exp2 r7.x, (last)(r)r7.x
MESA: info: (rpt1)mul.f r11.w, (r)c9.y, (last)r11.y
MESA: info: (rpt1)mad.f32 r11.w, (r)c8.y, r11.x, (r)(last)r11.w
MESA: info: (rpt1)mad.f32 r15.y, (r)c10.y, r11.z, (r)(last)r11.w
MESA: info: (rpt2)mul.f r9.z, (last)(r)r9.z, c40.x
MESA: info: cmps.f.lt r15.z, (last)r15.z, c42.y
MESA: info: (rpt1)mul.f r11.y, (r)c9.y, r1.z
MESA: info: (rpt2)exp2 r9.z, (last)(r)r9.z
MESA: info: (rpt1)sel.b32 r15.x, c41.w, r15.z, (r)(last)r15.x
MESA: info: (rpt1)mad.f32 r11.y, (r)c8.y, r1.y, (r)(last)r11.y
MESA: info: (rpt1)mad.f32 r11.y, (r)c10.y, r1.w, (r)(last)r11.y
MESA: info: (nop1) mul.f r8.y, c41.z, (last)r8.y
MESA: info: cmps.f.lt r11.z, (last)r11.z, c42.y
MESA: info: (ss)mad.f32 r15.w, (neg)(last)r15.w, r2.x, c43.z
MESA: info: mad.f32 r2.w, (neg)(last)r2.w, r3.z, c43.z
MESA: info: add.f r9.z, (last)r9.z, (neg)r7.x
MESA: info: mul.f r8.x, (last)r8.x, (last)r15.w
MESA: info: mul.f r3.x, (last)r3.x, (last)r2.w
MESA: info: add.f r9.w, (last)r9.w, (neg)r7.y
MESA: info: mul.f r8.x, (2.0), (last)r8.x
MESA: info: mul.f r3.x, (2.0), (last)r3.x
MESA: info: mad.f32 r9.z, r1.x, r9.z, (last)r7.x
MESA: info: add.f r13.z, r8.x, r14.y
MESA: info: add.f r14.z, r3.x, r14.y
MESA: info: cmps.f.lt r15.w, r8.x, (neg)r14.y
MESA: info: cmps.f.lt r15.z, r3.x, (neg)r14.y
MESA: info: add.f r13.z, (neg)r14.y, (last)(neg)r13.z
MESA: info: add.f r14.z, (neg)r14.y, (last)(neg)r14.z
MESA: info: mad.f32 r9.w, r1.x, r9.w, (last)r7.y
MESA: info: sel.b32 r13.z, (last)r13.z, r15.w, (last)r8.x
MESA: info: sel.b32 r14.z, (last)r14.z, r15.z, (last)r3.x
MESA: info: mul.f r7.y, r15.x, r2.y
MESA: info: add.f r3.x, r13.z, (neg)r14.w
MESA: info: add.f r2.x, r14.z, (neg)r14.y
MESA: info: cmps.f.lt r3.y, r14.w, r13.z
MESA: info: cmps.f.lt r2.w, r14.y, r14.z
MESA: info: add.f r3.x, r14.w, (last)(neg)r3.x
MESA: info: add.f r2.x, r14.y, (last)(neg)r2.x
MESA: info: mul.f r15.x, r2.z, (last)r15.x
MESA: info: sel.b32 r3.x, (last)r3.x, r3.y, (last)r13.z
MESA: info: sel.b32 r2.x, (last)r2.x, r2.w, (last)r14.z
MESA: info: mad.f32 r7.y, r15.y, r2.z, (last)r7.y
MESA: info: mad.f32 r3.x, c0.y, r3.x, (last)r9.y
MESA: info: mad.f32 r2.x, c0.y, r2.x, (last)r0.z
MESA: info: mad.f32 r15.y, (last)r15.y, r2.y, (neg)(last)r15.x
MESA: info: absneg.f r6.z, (abs)r3.x
MESA: info: cmps.f.lt r7.x, (1.0), (abs)r3.x
MESA: info: absneg.f r3.z, (abs)r2.x
MESA: info: cmps.f.lt r4.z, (1.0), (abs)r2.x
MESA: info: add.f r3.x, (2.0), (last)(absneg)r3.x
MESA: info: add.f r2.x, (2.0), (last)(absneg)r2.x
MESA: info: add.f r10.x, (last)r10.x, (neg)r7.z
MESA: info: sel.b32 r3.x, (last)r3.x, r7.x, (last)r6.z
MESA: info: sel.b32 r2.x, (last)r2.x, r4.z, (last)r3.z
MESA: info: add.f r6.z, (1.0), (absneg)r15.y
MESA: info: add.f r3.z, (1.0), (absneg)r7.y
MESA: info: mad.f32 r1.x, (last)r1.x, r10.x, (last)r7.z
MESA: info: mul.f r7.z, c9.x, (last)r1.z
MESA: info: absneg.f r4.z, (abs)r7.y
MESA: info: alias.tex.b32.0 r2.y, r3.x
MESA: info: saml.base2 (f32)(xyz)r2.w, r2.x, r7.w, s#9, t#8
MESA: info: mad.f32 r7.z, c8.x, r1.y, (last)r7.z
MESA: info: sqrt r6.z, (last)r6.z
MESA: info: sign.f r7.y, (last)r7.y
MESA: info: sqrt r3.z, (last)r3.z
MESA: info: mad.f32 r11.x, c10.x, r1.w, (last)r7.z
MESA: info: absneg.f r7.z, (abs)r15.y
MESA: info: mad.f32 r7.x, c44.z, r4.z, c44.y
MESA: info: sign.f r15.y, (last)r15.y
MESA: info: mad.f32 r11.w, c44.z, r7.z, c44.y
MESA: info: mad.f32 r7.x, r4.z, r7.x, c43.y
MESA: info: (rpt1)sel.b32 r11.x, c41.w, r11.z, (r)(last)r11.x
MESA: info: mad.f32 r11.w, r7.z, r11.w, c43.y
MESA: info: (nop1) mad.f32 r4.z, (last)r4.z, r7.x, c43.z
MESA: info: mad.f32 r7.z, (last)r7.z, r11.w, c43.z
MESA: info: (ss)mad.f32 r3.z, (neg)(last)r3.z, r4.z, c43.z
MESA: info: mul.f r2.x, r11.x, r2.y
MESA: info: mad.f32 r6.z, (neg)(last)r6.z, r7.z, c43.z
MESA: info: mul.f r7.y, (last)r7.y, (last)r3.z
MESA: info: mul.f r11.x, r2.z, (last)r11.x
MESA: info: mul.f r15.y, (last)r15.y, (last)r6.z
MESA: info: mul.f r7.y, (2.0), (last)r7.y
MESA: info: mad.f32 r2.z, r11.y, r2.z, (last)r2.x
MESA: info: mul.f r15.y, (2.0), (last)r15.y
MESA: info: add.f r12.x, r7.y, r14.y
MESA: info: cmps.f.lt r14.z, r7.y, (neg)r14.y
MESA: info: add.f r12.z, r15.y, r14.y
MESA: info: cmps.f.lt r13.z, r15.y, (neg)r14.y
MESA: info: add.f r12.x, (neg)r14.y, (last)(neg)r12.x
MESA: info: add.f r12.z, (neg)r14.y, (last)(neg)r12.z
MESA: info: add.f r3.z, (1.0), (absneg)r2.z
MESA: info: sel.b32 r12.x, (last)r12.x, r14.z, (last)r7.y
MESA: info: sel.b32 r12.z, (last)r12.z, r13.z, (last)r15.y
MESA: info: absneg.f r4.z, (abs)r2.z
MESA: info: add.f r15.z, r12.x, (neg)r14.w
MESA: info: add.f r15.x, r12.z, (neg)r14.y
MESA: info: sqrt r3.z, (last)r3.z
MESA: info: cmps.f.lt r15.w, r14.w, r12.x
MESA: info: cmps.f.lt r15.y, r14.y, r12.z
MESA: info: add.f r15.z, r14.w, (last)(neg)r15.z
MESA: info: add.f r15.x, r14.y, (last)(neg)r15.x
MESA: info: (sy)(rpt2)add.f r12.w, (last)(r)r12.w, (last)(r)r2.w
MESA: info: sel.b32 r15.z, (last)r15.z, r15.w, (last)r12.x
MESA: info: sel.b32 r15.x, (last)r15.x, r15.y, (last)r12.z
MESA: info: mad.f32 r11.y, (last)r11.y, r2.y, (neg)(last)r11.x
MESA: info: mad.f32 r15.z, c0.y, r15.z, (last)r6.w
MESA: info: mad.f32 r15.x, c0.y, r15.x, r8.z
MESA: info: mad.f32 r6.w, c44.z, r4.z, c44.y
MESA: info: absneg.f r1.z, (abs)r15.z
MESA: info: cmps.f.lt r1.w, (1.0), (abs)r15.z
MESA: info: absneg.f r0.z, (abs)r15.x
MESA: info: cmps.f.lt r1.y, (1.0), (abs)r15.x
MESA: info: add.f r15.z, (2.0), (last)(absneg)r15.z
MESA: info: add.f r15.x, (2.0), (last)(absneg)r15.x
MESA: info: mad.f32 r6.w, r4.z, r6.w, c43.y
MESA: info: sel.b32 r15.z, (last)r15.z, r1.w, (last)r1.z
MESA: info: sel.b32 r15.x, (last)r15.x, r1.y, (last)r0.z
MESA: info: mad.f32 r4.z, (last)r4.z, r6.w, c43.z
MESA: info: sign.f r2.z, (last)r2.z
MESA: info: add.f r6.z, (1.0), (absneg)r11.y
MESA: info: (ss)mad.f32 r3.z, (neg)(last)r3.z, r4.z, c43.z
MESA: info: add.f r2.y, (1.0), (absneg)r8.y
MESA: info: alias.tex.b32.0 r15.y, r15.z
MESA: info: saml.base2 (f32)(xyz)r2.w, r15.x, r7.w, s#9, t#8
MESA: info: absneg.f r7.y, (abs)r8.y
MESA: info: mul.f r2.z, (last)r2.z, (last)r3.z
MESA: info: absneg.f r7.x, (abs)r11.y
MESA: info: sqrt r6.z, (last)r6.z
MESA: info: sign.f r8.y, (last)r8.y
MESA: info: mul.f r2.z, (2.0), (last)r2.z
MESA: info: sqrt r2.y, (last)r2.y
MESA: info: mad.f32 r7.z, c44.z, r7.x, c44.y
MESA: info: sign.f r11.y, (last)r11.y
MESA: info: add.f r8.x, r2.z, r14.y
MESA: info: cmps.f.lt r11.x, r2.z, (neg)r14.y
MESA: info: mad.f32 r7.z, r7.x, r7.z, c43.y
MESA: info: (nop1) add.f r8.x, (neg)r14.y, (last)(neg)r8.x
MESA: info: mad.f32 r7.x, (last)r7.x, r7.z, c43.z
MESA: info: sel.b32 r8.x, (last)r8.x, r11.x, (last)r2.z
MESA: info: mad.f32 r2.z, c44.z, r7.y, c44.y
MESA: info: (ss)mad.f32 r6.z, (neg)(last)r6.z, r7.x, c43.z
MESA: info: add.f r11.z, r8.x, (neg)r14.w
MESA: info: mad.f32 r2.z, r7.y, r2.z, c43.y
MESA: info: mul.f r11.y, (last)r11.y, (last)r6.z
MESA: info: add.f r11.z, r14.w, (last)(neg)r11.z
MESA: info: mad.f32 r7.y, (last)r7.y, r2.z, c43.z
MESA: info: mul.f r11.y, (2.0), (last)r11.y
MESA: info: cmps.f.lt r14.w, (last)r14.w, r8.x
MESA: info: mad.f32 r2.y, (neg)(last)r2.y, r7.y, c43.z
MESA: info: add.f r9.y, r11.y, r14.y
MESA: info: cmps.f.lt r10.x, r11.y, (neg)r14.y
MESA: info: sel.b32 r11.z, (last)r11.z, r14.w, (last)r8.x
MESA: info: (nop1) add.f r9.y, (neg)r14.y, (last)(neg)r9.y
MESA: info: mad.f32 r11.z, c0.y, r11.z, (last)r0.w
MESA: info: (nop1) sel.b32 r9.y, (last)r9.y, r10.x, (last)r11.y
MESA: info: absneg.f r0.w, (abs)r11.z
MESA: info: add.f r11.y, r9.y, (neg)r14.y
MESA: info: cmps.f.lt r1.y, (1.0), (abs)r11.z
MESA: info: add.f r11.z, (2.0), (last)(absneg)r11.z
MESA: info: add.f r11.y, r14.y, (last)(neg)r11.y
MESA: info: cmps.f.lt r14.y, (last)r14.y, r9.y
MESA: info: sel.b32 r11.z, (last)r11.z, r1.y, (last)r0.w
MESA: info: (sy)(rpt1)add.f r15.x, (last)(r)r12.w, (last)(r)r2.w
MESA: info: mad.f32 r2.w, (neg)r8.y, r2.y, r0.y
MESA: info: mad.f32 r8.y, (last)r8.y, r2.y, (last)r0.y
MESA: info: add.f r15.z, (last)r13.y, (last)r3.y
MESA: info: sel.b32 r11.y, (last)r11.y, r14.y, (last)r9.y
MESA: info: mad.f32 r8.y, c41.y, r8.y, c43.w
MESA: info: mad.f32 r2.w, c41.y, r2.w, c43.w
MESA: info: mad.f32 r11.y, c0.y, r11.y, (last)r8.z
MESA: info: floor.f r3.y, r8.y
MESA: info: floor.f r3.x, r2.w
MESA: info: absneg.f r15.w, (abs)r11.y
MESA: info: add.f r8.y, (last)r8.y, (last)(neg)r3.y
MESA: info: cmps.f.lt r0.z, (1.0), (abs)r11.y
MESA: info: add.f r11.y, (2.0), (last)(absneg)r11.y
MESA: info: mad.f32 r8.y, c41.x, r8.y, c44.x
MESA: info: add.f r2.w, (last)r2.w, (last)(neg)r3.x
MESA: info: (nop1) sel.b32 r11.y, (last)r11.y, r0.z, (last)r15.w
MESA: info: (nop1) mad.f32 r2.w, c41.x, r2.w, c44.x
MESA: info: sin r4.z, r8.y
MESA: info: (rpt1)nop
MESA: info: saml.base2 (f32)(xyz)r1.z, r11.y, r7.w, s#9, t#8
MESA: info: (rpt1)nop
MESA: info: sin r3.z, r2.w
MESA: info: (ss)cos r8.y, (last)r8.y
MESA: info: cos r2.w, (last)r2.w
MESA: info: (ss)rcp r8.y, (last)r8.y
MESA: info: rcp r2.w, (last)r2.w
MESA: info: (ss)mul.f r8.y, r4.z, (last)r8.y
MESA: info: rcp r4.z, (last)r4.z
MESA: info: (nop3) mul.f r2.w, r3.z, (last)r2.w
MESA: info: nop
MESA: info: rcp r8.y, (last)r8.y
MESA: info: (ss)mul.f r2.w, (last)r2.w, (last)r8.y
MESA: info: (nop1) mul.f r3.z, (last)r3.z, (last)r4.z
MESA: info: (nop1) mul.f r2.w, (last)r2.w, r2.w
MESA: info: (nop2) mad.f32 r3.z, (last)r3.z, r3.z, (last)r2.w
MESA: info: mul.f r3.z, (0.5), (last)r3.z
MESA: info: (sy)(rpt2)add.f r15.x, (last)(r)r15.x, (last)(r)r1.z
MESA: info: brao p0.x, p0.y, #l649
MESA: info: (rpt1)mad.f32 r8.w, c43.w, (r)r8.w, c43.w
MESA: info: (nop3) mad.f32 r14.x, c43.w, r14.x, c43.w
MESA: info: (rpt1)nop
MESA: info: alias.tex.b32.0 r9.y, r14.x
MESA: info: sam.s.base2 (f32)(x)r6.z, r8.w, s#11, t#10
MESA: info: (eq)nop
MESA: info: jump #l651
MESA: info: l649:
MESA: info: (eq)(jp)nop
MESA: info: mov.u32u32 r6.z, 0x3f800000
MESA: info: l651:
MESA: info: (jp)log2 r6.x, (last)r6.x
MESA: info: (rpt1)add.f r5.x, (last)(r)r5.x, (neg)(r)c11.y
MESA: info: add.f r4.w, (last)r4.w, (neg)c11.x
MESA: info: mul.f r7.y, r5.x, r5.x
MESA: info: mova1 a1.x, 138
MESA: info: mad.f32 r7.y, r5.y, r5.y, (last)r7.y
MESA: info: mul.f r10.x, r9.z, r12.y
MESA: info: mad.f32 r7.y, r4.w, r4.w, (last)r7.y
MESA: info: mul.f r11.x, r9.w, r12.y
MESA: info: mul.f r12.y, r1.x, (last)r12.y
MESA: info: mul.f r10.y, r13.w, (last)r10.y
MESA: info: mul.f r10.z, r13.w, (last)r10.z
MESA: info: mul.f r12.y, (last)r12.y, (last)r1.x
MESA: info: rsq r7.y, (last)r7.y
MESA: info: mul.f r13.w, (last)r13.w, (last)r10.w
MESA: info: mul.f r10.x, (last)r10.x, (last)r9.z
MESA: info: mul.f r11.x, (last)r11.x, (last)r9.w
MESA: info: mul.f r13.w, (last)r13.w, (last)r12.y
MESA: info: mul.f r10.y, (last)r10.y, (last)r10.x
MESA: info: mul.f r10.z, (last)r10.z, (last)r11.x
MESA: info: add.f r7.z, r6.y, c40.z
MESA: info: mul.f r3.w, c37.x, (last)r3.w
MESA: info: (rpt1)mul.f r4.x, (r)c37.y, (last)(r)r4.x
MESA: info: (sat)mul.f r7.z, (last)r7.z, c40.w
MESA: info: (ss)mul.f r5.x, (last)r5.x, r7.y
MESA: info: mul.f r4.w, (last)r4.w, r7.y
MESA: info: mul.f r5.y, (last)r5.y, (last)r7.y
MESA: info: mad.f32 r8.w, c30.x, r5.x, c32.x
MESA: info: (rpt1)mad.f32 r9.x, (r)c30.y, r5.x, (r)c32.y
MESA: info: mad.f32 r8.w, c29.x, r4.w, (last)r8.w
MESA: info: (rpt1)mad.f32 r9.x, (r)c29.y, r4.w, (r)(last)r9.x
MESA: info: mad.f32 r8.w, c31.x, r5.y, (last)r8.w
MESA: info: (rpt1)mad.f32 r9.x, (r)c31.y, r5.y, (r)(last)r9.x
MESA: info: mul.f r6.x, (last)r6.x, c46.z
MESA: info: (sy)mad.f32 r6.w, c2.y, r6.z, c1.y
MESA: info: mad.f32 r7.x, c2.z, r6.z, c1.z
MESA: info: mad.f32 r6.z, c2.w, r6.z, c1.w
MESA: info: mul.f r6.w, c24.w, (last)r6.w
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: saml.3d.base2 (f32)(xyz)r11.y, r8.w, r40.x, t#16, a1.x
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r12.x, r8.w, r40.x, t#16, a1.x
MESA: info: mul.f r7.x, c24.w, (last)r7.x
MESA: info: exp2 r6.x, (last)r6.x
MESA: info: mul.f r6.z, c24.w, (last)r6.z
MESA: info: mul.f r6.w, (last)r6.w, c0.z
MESA: info: mul.f r7.x, (last)r7.x, c0.w
MESA: info: mul.f r6.z, (last)r6.z, c1.x
MESA: info: mov.u32u32 r7.w, 0
MESA: info: mov.u32u32 r8.x, 0
MESA: info: mov.u32u32 r8.y, 0
MESA: info: mov.u32u32 r8.z, 0
MESA: info: mov.u32u32 r13.z, 0x3f800000
MESA: info: (ss)mad.f32 r6.w, (last)r6.w, r6.x, (last)r10.y
MESA: info: mad.f32 r7.x, (last)r7.x, r6.x, (last)r10.z
MESA: info: mad.f32 r6.z, (last)r6.z, r6.x, (last)r13.w
MESA: info: mad.f32 r15.x, c47.y, r15.x, (neg)r6.w
MESA: info: mad.f32 r15.y, c47.y, r15.y, (neg)r7.x
MESA: info: mad.f32 r15.z, c47.y, r15.z, (neg)r6.z
MESA: info: mad.f32 r15.x, r3.z, r15.x, (last)r6.w
MESA: info: mad.f32 r15.y, r3.z, r15.y, (last)r7.x
MESA: info: mad.f32 r3.z, (last)r3.z, r15.z, (last)r6.z
MESA: info: mad.f32 r15.x, (last)r15.x, r5.z, (last)r3.w
MESA: info: mad.f32 r15.y, (last)r15.y, r5.w, (last)r4.x
MESA: info: mad.f32 r3.z, (last)r3.z, r0.x, (last)r4.y
MESA: info: (sy)add.f r11.y, (last)r11.y, (neg)r12.x
MESA: info: add.f r11.z, (last)r11.z, (neg)r12.y
MESA: info: add.f r11.w, (last)r11.w, (neg)r12.z
MESA: info: mad.f32 r11.y, r7.z, r11.y, (last)r12.x
MESA: info: mad.f32 r11.z, r7.z, r11.z, (last)r12.y
MESA: info: mad.f32 r7.z, (last)r7.z, r11.w, (last)r12.z
MESA: info: mad.f32 r11.y, c24.w, r11.y, (neg)r15.x
MESA: info: mad.f32 r11.z, c24.w, r11.z, (neg)r15.y
MESA: info: mad.f32 r7.z, c24.w, r7.z, (neg)r3.z
MESA: info: mad.f32 r12.w, r6.y, r11.y, (last)r15.x
MESA: info: mad.f32 r13.x, r6.y, r11.z, (last)r15.y
MESA: info: mad.f32 r13.y, (last)r6.y, r7.z, (last)r3.z
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r12.w (FRAG_RESULT_DATA0) r7.w (FRAG_RESULT_DATA1)
MESA: info: ; FRAG: inputs: r6.y (VARYING_SLOT_VAR0 slot=32 cm=f,il=0,b=1) r5.z (VARYING_SLOT_VAR1 slot=33 cm=f,il=4,b=1) r4.x (VARYING_SLOT_VAR2 slot=34 cm=3,il=8,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0) r0.z (SYSTEM_VALUE_FRAG_COORD slot=19 cm=f,il=0,b=0)
MESA: info: ; FRAG prog 119/1: 731 instr, 39 nops, 692 non-nops, 8 mov, 2 cov, 1472 dwords
MESA: info: ; FRAG prog 119/1: 69 last-baryf, 646 last-helper, 0 half, 16 full, 48 constlen
MESA: info: ; FRAG prog 119/1: 42 cat0, 10 cat1, 323 cat2, 272 cat3, 50 cat4, 21 cat5, 0 cat6, 13 cat7
MESA: info: ; FRAG prog 119/1: 50 sstall, 22 (ss), 84 systall, 8 (sy), 0 loops
MESA: info: ; FRAG prog 119/1: 12 max_waves, 0 double_threadsize
MESA: info: ; 117 preamble-instr, 0 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; data0: r12.w
MESA: info: ; data1: r7.w
MESA: info: ; fragcoord: r0.z
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x61021ade, 0x13d2a139, 0x7a82eb01, 0x0d90b229, 0xb3ca7a6d, 0x08574d29, 0x8f5f117d, 0x90ae7da2}
MESA: info: inputs_read: 15-24
MESA: info: outputs_written: 0,32-37
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 10
MESA: info: outputs: 7
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VERT_ATTRIB_GENERIC2.xyzw, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #3 (VERT_ATTRIB_GENERIC3.xyzw, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #4 (VERT_ATTRIB_GENERIC4.xyz, 4, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #5 (VERT_ATTRIB_GENERIC5.xyz, 5, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #6 (VERT_ATTRIB_GENERIC6.xyzw, 6, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #7 (VERT_ATTRIB_GENERIC7.xyz, 7, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #8 (VERT_ATTRIB_GENERIC8.xy, 8, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #9 (VERT_ATTRIB_GENERIC9.xyzw, 9, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #10 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #11 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #12 (VARYING_SLOT_VAR1.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #13 (VARYING_SLOT_VAR2.xyzw, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #14 (VARYING_SLOT_VAR3.xyzw, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #15 (VARYING_SLOT_VAR4.xyzw, 5, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec3 #16 (VARYING_SLOT_VAR5.xyz, 6, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #17
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %5 = @bindless_resource_ir3 (%3 (0x2)) (desc_set=1)
MESA: info:             con 32    %495 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32    %524 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32x2  %497 = @load_ubo_vec4 (%5, %524 (0x10)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %8 = @bindless_resource_ir3 (%2 (0.000000)) (desc_set=1)
MESA: info:             con 32    %525 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %500 = @load_ubo_vec4 (%8, %525 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32x2  %646 = fmul %497, %500.xx
MESA: info:             con 32x2  %647 = fabs %646.yx
MESA: info:             con 32     %14 = fneg %647.y
MESA: info:             con 1      %15 = feq! %647.x, %14
MESA: info:             con 32     %16 = b2i32 %15
MESA: info:                              @store_const_ir3 (%16) (base=0)
MESA: info:             con 32     %17 = fneg %646.x
MESA: info:                              @store_const_ir3 (%17) (base=1)
MESA: info:             con 32    %645 = fsub %646.y, %646.x
MESA: info:             con 32     %19 = frcp %645
MESA: info:                              @store_const_ir3 (%19) (base=2)
MESA: info:             con 32     %20 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %21 = frcp %500
MESA: info:             con 32x2  %503 = @load_ubo_vec4 (%5, %2 (0.000000)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %24 = fmul %503.x, %500
MESA: info:                              @store_const_ir3 (%24) (base=3)
MESA: info:             con 32     %25 = fmul %503.y, %21
MESA: info:                              @store_const_ir3 (%25) (base=4)
MESA: info:             con 32     %26 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32     %30 = @bindless_resource_ir3 (%495 (0x4)) (desc_set=1)
MESA: info:             con 32x2  %506 = @load_ubo_vec4 (%30, %2 (0.000000)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %527 = load_const (0x00000019 = 0.000000 = 25)
MESA: info:             con 32    %509 = @load_ubo_vec4 (%8, %527 (0x19)) (access=speculatable, base=0, component=1)
MESA: info:             con 32x2  %648 = fmul %506, %509.xx
MESA: info:             con 32     %36 = fneg %648.x
MESA: info:                              @store_const_ir3 (%36) (base=5)
MESA: info:             con 32     %37 = frcp %648.y
MESA: info:                              @store_const_ir3 (%37) (base=6)
MESA: info:             con 32    %512 = @load_ubo_vec4 (%30, %495 (0x4)) (access=speculatable, base=0, component=1)
MESA: info:             con 1      %40 = fge! %2 (0.000000), %512
MESA: info:             con 1      %41 = inot %40
MESA: info:             con 32     %42 = b2i32 %41
MESA: info:                              @store_const_ir3 (%42) (base=7)
MESA: info:             con 32     %43 = frcp %512
MESA: info:                              @store_const_ir3 (%43) (base=8)
MESA: info:             con 32    %515 = @load_ubo_vec4 (%30, %3 (0x2)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %45 = frcp %515
MESA: info:                              @store_const_ir3 (%45) (base=9)
MESA: info:             con 32    %530 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32    %518 = @load_ubo_vec4 (%30, %530 (0x3)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %47 = frcp %518
MESA: info:                              @store_const_ir3 (%47) (base=10)
MESA: info:             con 32    %521 = @load_ubo_vec4 (%30, %495 (0x4)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %643 = fneg %521
MESA: info:             con 32    %644 = ffma %643, %521, %20 (1.000000)
MESA: info:             con 32x2  %649 = load_const (0x40000000, 0x3f800000) = (2.000000, 1.000000)
MESA: info:             con 32x2  %650 = ffma %521.xx, %521.xx, %649 (2.000000, 1.000000)
MESA: info:             con 32    %651 = mov %650.y
MESA: info:                              @store_const_ir3 (%651) (base=11)
MESA: info:             con 32     %55 = frcp %650.x
MESA: info:             con 32     %56 = load_const (0x3ef47d19 = 0.477517)
MESA: info:             con 32     %57 = fmul %644, %56 (0.477517)
MESA: info:             con 32     %58 = fmul %57, %55
MESA: info:                              @store_const_ir3 (%58) (base=12)
MESA: info:             con 32     %59 = fmul %26 (2.000000), %521
MESA: info:                              @store_const_ir3 (%59) (base=13)
MESA: info:             con 32     %62 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %62 (0x14)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %2 (0.000000)) (base=32, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%30, %2 (0.000000)) (base=48, range=8)
MESA: info:             con 32     %69 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %70 = @bindless_resource_ir3 (%69 (0x1)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%70, %2 (0.000000)) (base=80, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %72 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x4   %73 = @load_input (%72 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x4   %74 = @load_input (%72 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x4   %75 = @load_input (%72 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x4   %76 = @load_input (%72 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32x3   %77 = @load_input (%72 (0x0)) (base=4, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC4 slots=1)
MESA: info:     div 32x3   %78 = @load_input (%72 (0x0)) (base=5, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC5 slots=1)
MESA: info:     div 32x4   %79 = @load_input (%72 (0x0)) (base=6, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC6 slots=1)
MESA: info:     div 32x3   %80 = @load_input (%72 (0x0)) (base=7, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC7 slots=1)
MESA: info:     div 32x2   %81 = @load_input (%72 (0x0)) (base=8, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC8 slots=1)
MESA: info:     div 32x4   %82 = @load_input (%72 (0x0)) (base=9, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC9 slots=1)
MESA: info:     con 32x3   %89 = @load_const_ir3 (%72 (0x0)) (base=28)
MESA: info:     div 32x3  %653 = fmax %89, %77
MESA: info:     div 32x3  %655 = fmin %653, %78
MESA: info:     div 32x3  %657 = fsub %89, %655
MESA: info:     div 32    %103 = fmul %657.y, %657.y
MESA: info:     div 32    %637 = ffma %657.z, %657.z, %103
MESA: info:     div 32    %636 = ffma %657.x, %657.x, %637
MESA: info:     div 32    %107 = fsqrt %636
MESA: info:     con 32    %109 = @load_const_ir3 (%72 (0x0)) (base=0)
MESA: info:     con 1     %111 = ine %109, %72 (0x0)
MESA: info:                      // succs: b7 b8
MESA: info:     if %111 {
MESA: info:         con block b7:        // preds: b6
MESA: info:         div 32x4  %660 = fmul %74, %79.yyyy
MESA: info:         div 32x4  %663 = ffma %73, %79.xxxx, %660
MESA: info:         div 32x4  %666 = ffma %75, %79.zzzz, %663
MESA: info:         div 32x4  %672 = ffma %76, %79.wwww, %666
MESA: info:         div 32x4  %701 = mov %672.wzyx
MESA: info:                          // succs: b9
MESA: info:     } else {
MESA: info:         con block b8:        // preds: b6
MESA: info:         con 32    %141 = @load_const_ir3 (%72 (0x0)) (base=1)
MESA: info:         div 32    %142 = fadd %107, %141
MESA: info:         con 32    %144 = @load_const_ir3 (%72 (0x0)) (base=2)
MESA: info:         div 32    %145 = fmul %142, %144
MESA: info:         div 32    %146 = fsat %145
MESA: info:         div 32x3  %676 = fneg %79.xyz
MESA: info:         div 32x3  %677 = ffma %676, %146.xxx, %79.xyz
MESA: info:         div 32x4  %680 = fmul %74, %677.yyyy
MESA: info:         div 32x4  %683 = ffma %73, %677.xxxx, %680
MESA: info:         div 32x4  %686 = ffma %75, %677.zzzz, %683
MESA: info:         div 32x4  %692 = fadd %686, %76
MESA: info:         div 32x4  %702 = mov %692.wzyx
MESA: info:                          // succs: b9
MESA: info:     }
MESA: info:     con block b9:        // preds: b7 b8
MESA: info:     div 32x4  %700 = phi b7: %701, b8: %702
MESA: info:     con 32    %184 = load_const (0x3f800000 = 1.000000)
MESA: info:     con 32    %188 = @load_const_ir3 (%72 (0x0)) (base=3)
MESA: info:     con 32    %190 = @load_const_ir3 (%72 (0x0)) (base=4)
MESA: info:     div 32    %609 = fsub %188, %107
MESA: info:     con 32    %193 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32    %194 = fmul %193 (2.000000), %609
MESA: info:     div 32    %195 = fmul %194, %190
MESA: info:     div 32    %196 = fsat %195
MESA: info:     con 32x4  %199 = @load_const_ir3 (%72 (0x0)) (base=32)
MESA: info:     con 32x4  %207 = @load_const_ir3 (%72 (0x0)) (base=36)
MESA: info:     div 32x4  %705 = fmul %207, %700.zzzz
MESA: info:     div 32x4  %708 = ffma %199, %700.wwww, %705
MESA: info:     con 32x4  %219 = @load_const_ir3 (%72 (0x0)) (base=40)
MESA: info:     div 32x4  %711 = ffma %219, %700.yyyy, %708
MESA: info:     con 32x4  %231 = @load_const_ir3 (%72 (0x0)) (base=44)
MESA: info:     div 32x4  %714 = fadd %711, %231
MESA: info:     div 32x3  %716 = fmul %74.xyz, %80.yyy
MESA: info:     div 32x3  %718 = ffma %73.xyz, %80.xxx, %716
MESA: info:     div 32x3  %720 = ffma %75.xyz, %80.zzz, %718
MESA: info:     div 32x3  %722 = fmul %74.xyz, %82.yyy
MESA: info:     div 32x3  %724 = ffma %73.xyz, %82.xxx, %722
MESA: info:     div 32x3  %726 = ffma %75.xyz, %82.zzz, %724
MESA: info:     div 32x3  %728 = fmul %720.zxy, %726.yzx
MESA: info:     div 32x3  %731 = fneg %728
MESA: info:     div 32x3  %732 = ffma %720.yzx, %726.zxy, %731
MESA: info:     div 32x3  %734 = fmul %732, %82.www
MESA: info:     con 32    %284 = @load_const_ir3 (%72 (0x0)) (base=48)
MESA: info:     div 32x3  %736 = fsub %700.wzy, %89
MESA: info:     div 32    %292 = fmul %736.y, %736.y
MESA: info:     div 32    %582 = ffma %736.z, %736.z, %292
MESA: info:     div 32    %581 = ffma %736.x, %736.x, %582
MESA: info:     div 32    %296 = fsqrt %581
MESA: info:     con 32    %298 = @load_const_ir3 (%72 (0x0)) (base=5)
MESA: info:     div 32    %299 = fadd %296, %298
MESA: info:     con 32    %301 = @load_const_ir3 (%72 (0x0)) (base=6)
MESA: info:     div 32    %302 = fmul %299, %301
MESA: info:     div 32    %303 = fsat %302
MESA: info:     div 32    %304 = fmul %303, %303
MESA: info:     div 32    %305 = fmul %304, %304
MESA: info:     div 32    %306 = fmul %305, %304
MESA: info:     div 32    %307 = fmul %284, %306
MESA: info:     con 32    %311 = @load_const_ir3 (%72 (0x0)) (base=65)
MESA: info:     con 32    %313 = @load_const_ir3 (%72 (0x0)) (base=7)
MESA: info:     con 1     %315 = ine %313, %72 (0x0)
MESA: info:                      // succs: b10 b16
MESA: info:     if %315 {
MESA: info:         con block b10:       // preds: b9
MESA: info:         con 32    %185 = load_const (0x00000001)
MESA: info:         div 32x3  %738 = fsub %89, %700.wzy
MESA: info:         con 1     %322 = flt! %89.z, %72 (0.000000)
MESA: info:         div 1     %323 = fge! %700.y, %72 (0.000000)
MESA: info:         div 1     %324 = iand %322, %323
MESA: info:         div 32    %325 = frcp %738.z
MESA: info:         div 32    %326 = fmul %89.z, %325
MESA: info:         div 32    %576 = fneg %326
MESA: info:         div 32x3  %740 = ffma %576.xxx, %738, %89
MESA: info:         div 32x3  %742 = bcsel %324.xxx, %740, %89
MESA: info:         div 32x3  %744 = fsub %742, %700.wzy
MESA: info:         con 32x3  %344 = @load_const_ir3 (%72 (0x0)) (base=56)
MESA: info:         con 32x3  %347 = @load_const_ir3 (%72 (0x0)) (base=60)
MESA: info:         div 32    %348 = fmax %742.z, %72 (0.000000)
MESA: info:         div 32    %349 = fmax %700.y, %72 (0.000000)
MESA: info:         div 32    %351 = fmul %744.y, %744.y
MESA: info:         div 32    %568 = ffma %744.z, %744.z, %351
MESA: info:         div 32    %567 = ffma %744.x, %744.x, %568
MESA: info:         div 32    %355 = fsqrt %567
MESA: info:         con 32    %357 = @load_const_ir3 (%72 (0x0)) (base=8)
MESA: info:         div 32    %358 = fmul %355, %357
MESA: info:         con 32x3  %751 = load_const (0x3f800000, 0x3f800000, 0x3f800000) = (1.000000, 1.000000, 1.000000)
MESA: info:         con 32x2  %755 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:         con 32x4  %764 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:         con 32x2  %767 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:                          // succs: b11
MESA: info:         con loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32x3  %750 = phi b10: %751 (1.000000, 1.000000, 1.000000), b14: %780
MESA: info:             div 32x2  %754 = phi b10: %755 (0.000000, 0.000000), b14: %756
MESA: info:             div 32x4  %763 = phi b10: %764 (0.000000, 0.000000, 0.000000, 0.000000), b14: %765
MESA: info:             div 32x2  %766 = phi b10: %767 (0.000000, 0.000000), b14: %783
MESA: info:             con 32    %370 = phi b10: %72 (0x0), b14: %430
MESA: info:             con 32    %371 = i2f32 %370
MESA: info:             con 1     %372 = flt! %371, %311
MESA: info:             con 1     %373 = inot %372
MESA: info:                              // succs: b12 b13
MESA: info:             if %373 {
MESA: info:                 con block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 con block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             con block b14:       // preds: b13
MESA: info:             con 32    %374 = load_const (0x3f000000 = 0.500000)
MESA: info:             con 32    %375 = fadd %371, %374 (0.500000)
MESA: info:             con 32    %376 = fmul %375, %357
MESA: info:             div 32    %566 = fsub %349, %348
MESA: info:             div 32    %565 = ffma %376, %566, %348
MESA: info:             con 32    %382 = @load_const_ir3 (%72 (0x0)) (base=9)
MESA: info:             con 32    %383 = load_const (0x3fb8aa3b = 1.442695)
MESA: info:             div 32    %384 = fmul %565, %383 (1.442695)
MESA: info:             div 32    %385 = fmul %384, %382
MESA: info:             div 32    %386 = fneg %385
MESA: info:             div 32    %387 = fexp2 %386
MESA: info:             div 32    %388 = fmul %387, %358
MESA: info:             con 32    %390 = @load_const_ir3 (%72 (0x0)) (base=10)
MESA: info:             div 32    %391 = fmul %384, %390
MESA: info:             div 32    %392 = fneg %391
MESA: info:             div 32    %393 = fexp2 %392
MESA: info:             div 32    %394 = fmul %393, %358
MESA: info:             div 32    %395 = fadd %754.x, %388
MESA: info:             div 32    %396 = fadd %754.y, %394
MESA: info:             div 32x3  %770 = fmul %347, %396.xxx
MESA: info:             div 32x3  %774 = fneg %770
MESA: info:             con 32x3  %775 = fneg %344
MESA: info:             div 32x3  %776 = ffma %775, %395.xxx, %774
MESA: info:             div 32x3  %778 = fmul %776, %383 (1.442695).xxx
MESA: info:             div 32x3  %780 = fexp2 %778
MESA: info:             div 32x3  %782 = ffma %780, %388.xxx, %763.xyz
MESA: info:             div 32    %555 = ffma %780.x, %394, %763.w
MESA: info:             div 32x2  %783 = ffma %780.yz, %394.xx, %766
MESA: info:             con 32    %430 = iadd %370, %185 (0x1)
MESA: info:             div 32x2  %756 = vec2 %395, %396
MESA: info:             div 32x4  %765 = vec4 %782.x, %782.y, %782.z, %555
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         con block b15:       // preds: b12
MESA: info:         div 32x3  %803 = phi b12: %750
MESA: info:         div 32x4  %802 = phi b12: %763
MESA: info:         div 32x2  %801 = phi b12: %766
MESA: info:         div 32    %431 = frsq %567
MESA: info:         div 32x3  %785 = fmul %744, %431.xxx
MESA: info:         con 32x3  %438 = @load_const_ir3 (%72 (0x0)) (base=80)
MESA: info:         div 32    %440 = fmul %785.y, %438.y
MESA: info:         div 32    %552 = ffma %785.z, %438.z, %440
MESA: info:         div 32    %551 = ffma %785.x, %438.x, %552
MESA: info:         con 32    %444 = load_const (0xbf800000 = -1.000000)
MESA: info:         div 32    %445 = fmax %551, %444 (-1.000000)
MESA: info:         div 32    %446 = fmin %445, %184 (1.000000)
MESA: info:         div 32    %550 = ffma %446, %446, %184 (1.000000)
MESA: info:         con 32    %449 = load_const (0x3f16c8b4 = 0.589000)
MESA: info:         div 32    %450 = fmul %449 (0.589000), %550
MESA: info:         div 32x3  %787 = fmul %344, %450.xxx
MESA: info:         con 32    %455 = @load_const_ir3 (%72 (0x0)) (base=11)
MESA: info:         con 32    %457 = @load_const_ir3 (%72 (0x0)) (base=12)
MESA: info:         con 32    %459 = @load_const_ir3 (%72 (0x0)) (base=13)
MESA: info:         con 32    %548 = fneg %459
MESA: info:         div 32    %549 = ffma %548, %446, %455
MESA: info:         con 32    %463 = load_const (0x3fc00000 = 1.500000)
MESA: info:         div 32    %464 = flog2 %549
MESA: info:         div 32    %465 = fmul %464, %463 (1.500000)
MESA: info:         div 32    %466 = fneg %465
MESA: info:         div 32    %467 = fexp2 %466
MESA: info:         div 32    %468 = fmul %550, %467
MESA: info:         div 32    %469 = fmul %457, %468
MESA: info:         div 32x3  %789 = fmul %347, %469.xxx
MESA: info:         div 32    %476 = fmul %802.w, %789.x
MESA: info:         div 32x2  %790 = fmul %801, %789.yz
MESA: info:         div 32    %547 = ffma %802.x, %787.x, %476
MESA: info:         div 32x2  %791 = ffma %802.yz, %787.yz, %790
MESA: info:                          // succs: b17
MESA: info:     } else {
MESA: info:         con block b16:       // preds: b9
MESA: info:         con 32x2  %795 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:         con 32x3  %800 = load_const (0x3f800000, 0x3f800000, 0x3f800000) = (1.000000, 1.000000, 1.000000)
MESA: info:                          // succs: b17
MESA: info:     }
MESA: info:     con block b17:       // preds: b15 b16
MESA: info:     div 32x2  %794 = phi b15: %791, b16: %795 (0.000000, 0.000000)
MESA: info:     div 32    %483 = phi b15: %547, b16: %72 (0x0)
MESA: info:     div 32x3  %799 = phi b15: %803, b16: %800 (1.000000, 1.000000, 1.000000)
MESA: info:                      @store_output (%714, %72 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %489 = vec4 %307, %700.x, %720.x, %720.y
MESA: info:                      @store_output (%489, %72 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %490 = vec4 %720.z, %726.x, %726.y, %726.z
MESA: info:                      @store_output (%490, %72 (0x0)) (base=2, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR1 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %491 = vec4 %734.x, %734.y, %734.z, %700.w
MESA: info:                      @store_output (%491, %72 (0x0)) (base=3, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR2 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %492 = vec4 %700.z, %700.y, %799.x, %799.y
MESA: info:                      @store_output (%492, %72 (0x0)) (base=4, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR3 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %493 = vec4 %799.z, %483, %794.x, %794.y
MESA: info:                      @store_output (%493, %72 (0x0)) (base=5, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR4 slots=1, xfb(), xfb2())
MESA: info:     div 32x3  %494 = vec3 %81.x, %81.y, %196
MESA: info:                      @store_output (%494, %72 (0x0)) (base=6, range=1, wrmask=xyz, component=0, src_type=float32, io location=VARYING_SLOT_VAR5 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b18
MESA: info:     block b18:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 c1e261f5ffaf6703ad5be2e333d741e45343b204:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (20 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c24.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      4
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (320b -> 384b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: @in(r1.x)	in1 (wrmask=0xf)
MESA: info: @in(r2.x)	in2 (wrmask=0xf)
MESA: info: @in(r3.x)	in3 (wrmask=0xf)
MESA: info: @in(r4.x)	in4 (wrmask=0x7)
MESA: info: @in(r4.w)	in5 (wrmask=0x7)
MESA: info: @in(r5.z)	in6 (wrmask=0xf)
MESA: info: @in(r6.z)	in7 (wrmask=0x7)
MESA: info: @in(r7.y)	in8 (wrmask=0x3)
MESA: info: @in(r8.x)	in9 (wrmask=0xf)
MESA: info: @const(c25.x)	0x3ef47d19, 0x3f16c8b4, 0xbf800000, 0x3f800000
MESA: info: @const(c26.x)	0x3fc00000, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l68
MESA: info: getone #l68
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 16, 2
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 0, 2
MESA: info: ldc.u.offset3.1.imm.base1 r48.z, 24, 0
MESA: info: ldc.u.offset0.1.imm.base1 r51.w, 4, 4
MESA: info: ldc.u.offset2.2.imm.base1 r49.y, 0, 4
MESA: info: ldc.u.offset1.1.imm.base1 r50.w, 25, 0
MESA: info: ldc.u.offset1.1.imm.base1 r51.x, 4, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.y, 2, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.z, 3, 4
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)(rpt1)mul.f r49.w, (r)r48.x, r48.z
MESA: info: mul.f r48.w, r48.w, r48.z
MESA: info: cmps.f.eq hr52.z, (abs)r50.x, (absneg)r49.w
MESA: info: mul.f r49.z, r49.z, r50.w
MESA: info: cmps.f.ge hr48.x, (0.0), r51.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: rcp r51.y, r51.y
MESA: info: rcp r51.z, r51.z
MESA: info: mul.f r49.y, r49.y, r50.w
MESA: info: cov.u16s32 r50.z, hr52.z
MESA: info: sub.u hr48.x, h(1), hr48.x
MESA: info: absneg.f r49.w, (neg)r49.w
MESA: info: absneg.f r49.y, (neg)r49.y
MESA: info: cov.u16s32 r48.y, hr48.x
MESA: info: (ss)nop
MESA: info: stc.u32 c[3], r48.w, 1
MESA: info: rcp r48.z, r48.z
MESA: info: rcp r49.z, r49.z
MESA: info: rcp r51.x, r51.x
MESA: info: rcp r50.x, r50.x
MESA: info: stc.u32 c[9], r51.y, 1
MESA: info: stc.u32 c[10], r51.z, 1
MESA: info: stc.u32 c[0], r50.z, 1
MESA: info: stc.u32 c[1], r49.w, 1
MESA: info: stc.u32 c[5], r49.y, 1
MESA: info: stc.u32 c[7], r48.y, 1
MESA: info: (ss)mul.f r48.w, r51.w, r51.w
MESA: info: add.f r48.w, r48.w, (2.0)
MESA: info: mul.f r49.x, r49.x, r48.z
MESA: info: mul.f r48.z, (neg)r51.w, r51.w
MESA: info: add.f r48.z, r48.z, (1.0)
MESA: info: mul.f r48.z, r48.z, c25.x
MESA: info: stc.u32 c[6], r49.z, 1
MESA: info: stc.u32 c[8], r51.x, 1
MESA: info: stc.u32 c[2], r50.x, 1
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[4], r49.x, 1
MESA: info: (ss)mul.f r48.z, r48.z, r48.w
MESA: info: mul.f r49.x, r51.w, r51.w
MESA: info: add.f r49.x, r49.x, (1.0)
MESA: info: mul.f r51.w, (2.0), r51.w
MESA: info: (ss)nop
MESA: info: stc.u32 c[12], r48.z, 1
MESA: info: stc.u32 c[11], r49.x, 1
MESA: info: stc.u32 c[13], r51.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 20, 0
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)80
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l68:
MESA: info: (jp)max.f r4.y, c7.y, (last)r4.y
MESA: info: max.f r4.z, c7.z, (last)r4.z
MESA: info: max.f r4.x, c7.x, (last)r4.x
MESA: info: min.f r4.y, (last)r4.y, (last)r5.x
MESA: info: min.f r4.z, (last)r4.z, (last)r5.y
MESA: info: min.f r4.x, (last)r4.x, (last)r4.w
MESA: info: add.f r4.y, c7.y, (last)(neg)r4.y
MESA: info: add.f r4.z, c7.z, (last)(neg)r4.z
MESA: info: add.f r4.x, c7.x, (last)(neg)r4.x
MESA: info: mul.f r4.y, (last)r4.y, r4.y
MESA: info: cmps.s.ne p0.x, c0.x, 0
MESA: info: (nop1) mad.f32 r4.z, (last)r4.z, r4.z, (last)r4.y
MESA: info: (nop3) mad.f32 r4.x, (last)r4.x, r4.x, (last)r4.z
MESA: info: (rpt1)nop
MESA: info: sqrt r4.x, (last)r4.x
MESA: info: br !p0.x, #l101
MESA: info: mul.f r9.x, r1.x, r5.w
MESA: info: mul.f r1.w, (last)r1.w, r5.w
MESA: info: mad.f32 r9.x, r0.x, r5.z, (last)r9.x
MESA: info: mad.f32 r0.w, (last)r0.w, r5.z, r1.w
MESA: info: mad.f32 r9.x, r2.x, r6.x, (last)r9.x
MESA: info: mad.f32 r2.w, (last)r2.w, r6.x, r0.w
MESA: info: mad.f32 r9.w, (last)r3.x, r6.y, (last)r9.x
MESA: info: mul.f r3.x, r1.y, r5.w
MESA: info: mad.f32 r4.z, r3.w, r6.y, r2.w
MESA: info: (nop1) mad.f32 r3.x, r0.y, r5.z, (last)r3.x
MESA: info: (nop1) mad.f32 r3.x, r2.y, r6.x, (last)r3.x
MESA: info: mad.f32 r10.x, (last)r3.y, r6.y, r3.x
MESA: info: (nop1) mul.f r3.y, r1.z, r5.w
MESA: info: (nop1) mad.f32 r3.y, r0.z, r5.z, (last)r3.y
MESA: info: (nop1) mad.f32 r3.y, r2.z, r6.x, (last)r3.y
MESA: info: mad.f32 r10.y, r3.z, r6.y, r3.y
MESA: info: jump #l119
MESA: info: l101:
MESA: info: (ss)(nop2) add.f r5.y, r4.x, c0.y
MESA: info: (sat)(nop2) mul.f r5.y, (last)r5.y, c0.z
MESA: info: mad.f32 r5.w, (neg)(last)r5.w, r5.y, r5.w
MESA: info: mad.f32 r5.z, (neg)(last)r5.z, r5.y, r5.z
MESA: info: mad.f32 r6.x, (neg)(last)r6.x, r5.y, r6.x
MESA: info: mul.f r6.y, r1.x, r5.w
MESA: info: mul.f r7.w, r1.y, r5.w
MESA: info: mad.f32 r6.y, r0.x, r5.z, (last)r6.y
MESA: info: mad.f32 r7.w, r0.y, r5.z, (last)r7.w
MESA: info: (rpt1)mul.f r9.x, (r)r1.z, (last)r5.w
MESA: info: mad.f32 r6.y, r2.x, r6.x, (last)r6.y
MESA: info: mad.f32 r7.w, r2.y, r6.x, (last)r7.w
MESA: info: (rpt1)mad.f32 r9.x, (r)r0.z, r5.z, (r)(last)r9.x
MESA: info: (rpt1)mad.f32 r9.x, (r)r2.z, r6.x, (r)(last)r9.x
MESA: info: add.f r9.w, (last)r6.y, (last)r3.x
MESA: info: add.f r10.x, (last)r7.w, (last)r3.y
MESA: info: add.f r10.y, (last)r9.x, (last)r3.z
MESA: info: add.f r4.z, (last)r9.y, (last)r3.w
MESA: info: l119:
MESA: info: add.f r5.z, r10.x, (neg)c7.y
MESA: info: add.f r6.x, r9.w, (neg)c7.x
MESA: info: add.f r5.w, r10.y, (neg)c7.z
MESA: info: mul.f r5.z, (last)r5.z, r5.z
MESA: info: (ss)add.f r4.x, c0.w, (last)(neg)r4.x
MESA: info: mad.f32 r5.w, (last)r5.w, r5.w, (last)r5.z
MESA: info: mul.f r1.w, r1.x, r6.w
MESA: info: mad.f32 r6.x, (last)r6.x, r6.x, (last)r5.w
MESA: info: mul.f r2.w, r1.y, r6.w
MESA: info: mul.f r1.x, (last)r1.x, r8.y
MESA: info: mul.f r1.y, (last)r1.y, r8.y
MESA: info: mul.f r6.w, r1.z, (last)r6.w
MESA: info: mul.f r1.z, (last)r1.z, (last)r8.y
MESA: info: sqrt r6.x, (last)r6.x
MESA: info: mad.f32 r1.w, r0.x, r6.z, (last)r1.w
MESA: info: mad.f32 r2.w, r0.y, r6.z, (last)r2.w
MESA: info: mad.f32 r0.x, (last)r0.x, r8.x, (last)r1.x
MESA: info: mad.f32 r0.y, (last)r0.y, r8.x, (last)r1.y
MESA: info: mad.f32 r6.z, r0.z, r6.z, (last)r6.w
MESA: info: mad.f32 r0.z, (last)r0.z, r8.x, (last)r1.z
MESA: info: mul.f r4.x, (2.0), (last)r4.x
MESA: info: mad.f32 r4.w, r2.x, r7.x, (last)r1.w
MESA: info: mad.f32 r5.x, r2.y, r7.x, (last)r2.w
MESA: info: mad.f32 r3.y, (last)r2.x, r8.z, (last)r0.x
MESA: info: (ss)add.f r6.x, (last)r6.x, c1.y
MESA: info: mad.f32 r3.z, (last)r2.y, r8.z, (last)r0.y
MESA: info: mad.f32 r3.x, r2.z, r7.x, (last)r6.z
MESA: info: (sat)mul.f r6.x, (last)r6.x, c1.z
MESA: info: mad.f32 r3.w, (last)r2.z, r8.z, (last)r0.z
MESA: info: mul.f r9.z, c9.x, r10.x
MESA: info: mul.f r6.x, (last)r6.x, r6.x
MESA: info: mul.f r11.z, c9.y, r10.x
MESA: info: mul.f r11.w, c9.z, r10.x
MESA: info: mul.f r0.w, c9.w, r10.x
MESA: info: mul.f r6.y, r6.x, r6.x
MESA: info: (sat)mul.f r7.w, (last)r4.x, c1.x
MESA: info: mul.f r5.y, r5.x, r3.y
MESA: info: mul.f r4.y, r4.w, r3.w
MESA: info: mad.f32 r9.z, c8.x, r9.w, (last)r9.z
MESA: info: mad.f32 r11.z, c8.y, r9.w, (last)r11.z
MESA: info: mad.f32 r11.w, c8.z, r9.w, (last)r11.w
MESA: info: mad.f32 r0.w, c8.w, r9.w, (last)r0.w
MESA: info: mul.f r4.x, r3.x, r3.z
MESA: info: mul.f r6.y, (last)r6.y, (last)r6.x
MESA: info: mad.f32 r5.y, r4.w, r3.z, (neg)(last)r5.y
MESA: info: mad.f32 r4.y, r3.x, r3.y, (neg)(last)r4.y
MESA: info: mad.f32 r9.z, c10.x, r10.y, (last)r9.z
MESA: info: mad.f32 r11.z, c10.y, r10.y, (last)r11.z
MESA: info: mad.f32 r11.w, c10.z, r10.y, (last)r11.w
MESA: info: mad.f32 r0.w, c10.w, r10.y, (last)r0.w
MESA: info: mad.f32 r4.x, r5.x, r3.w, (neg)(last)r4.x
MESA: info: cmps.s.ne p0.x, c1.w, 0
MESA: info: mul.f r9.y, (last)r4.y, r8.w
MESA: info: add.f r10.z, (last)r9.z, c11.x
MESA: info: add.f r10.w, (last)r11.z, c11.y
MESA: info: add.f r11.x, (last)r11.w, c11.z
MESA: info: add.f r11.y, (last)r0.w, c11.w
MESA: info: mul.f r9.x, (last)r4.x, r8.w
MESA: info: mul.f r4.y, c12.x, (last)r6.y
MESA: info: mul.f r9.z, (last)r5.y, (last)r8.w
MESA: info: br !p0.x, #l286
MESA: info: cmps.f.lt hr50.z, c7.z, (0.0)
MESA: info: mov.u32u32 r49.z, 0
MESA: info: add.f r8.z, c7.z, (neg)r10.y
MESA: info: cmps.f.ge hr13.x, r10.y, (0.0)
MESA: info: (rpt1)add.f r8.x, (r)c7.x, (neg)(r)r9.w
MESA: info: max.f r8.w, r10.y, (0.0)
MESA: info: mov.u32u32 r0.w, 0x3f800000
MESA: info: rcp r11.z, r8.z
MESA: info: mov.u32u32 r1.x, 0x3f800000
MESA: info: mov.u32u32 r5.y, 0
MESA: info: mov.u32u32 r4.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: mov.u32u32 r2.z, 0
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: mov.u32u32 r1.y, 0x3f800000
MESA: info: (ss)mul.f r11.z, c7.z, (last)r11.z
MESA: info: (nop1) and.b r11.w, hr50.z, (last)hr13.x
MESA: info: (rpt1)mad.f32 r8.y, (neg)r11.z, (r)r8.y, (r)c7.y
MESA: info: mad.f32 r11.z, (neg)(last)r11.z, r8.x, c7.x
MESA: info: (rpt1)sel.b32 r8.y, (r)(last)r8.y, r11.w, (r)c7.y
MESA: info: sel.b32 r11.z, (last)r11.z, r11.w, c7.x
MESA: info: add.f r8.y, (last)r8.y, (neg)r10.x
MESA: info: add.f r0.x, r8.z, (neg)r10.y
MESA: info: add.f r11.z, (last)r11.z, (neg)r9.w
MESA: info: mul.f r0.y, r8.y, r8.y
MESA: info: max.f r8.z, (last)r8.z, (0.0)
MESA: info: (nop1) mad.f32 r0.y, r0.x, r0.x, (last)r0.y
MESA: info: (nop3) mad.f32 r0.y, r11.z, r11.z, (last)r0.y
MESA: info: (rpt1)nop
MESA: info: sqrt r0.z, r0.y
MESA: info: (ss)mul.f r0.z, (last)r0.z, c2.x
MESA: info: l214:
MESA: info: cov.s32f32 r49.w, r49.z
MESA: info: cmps.f.lt hr52.x, r49.w, c16.y
MESA: info: (ss)(nop3) cmps.s.ne p0.x, hr52.x, h(0)
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l254
MESA: info: add.f r49.w, r49.w, (0.5)
MESA: info: mul.f r49.w, r49.w, c2.x
MESA: info: add.u r49.z, r49.z, 1
MESA: info: (nop2) add.f r5.z, r8.w, (neg)r8.z
MESA: info: (ss)(nop2) mad.f32 r5.z, r49.w, r5.z, r8.z
MESA: info: (nop2) mul.f r5.z, (last)r5.z, (log2(e))
MESA: info: mul.f r5.w, r5.z, c2.y
MESA: info: (nop3) mul.f r5.z, (last)r5.z, c2.z
MESA: info: (rpt1)nop
MESA: info: exp2 r5.z, (last)(neg)r5.z
MESA: info: exp2 r5.w, (last)(neg)r5.w
MESA: info: (ss)mul.f r5.z, (last)r5.z, r0.z
MESA: info: (nop1) mul.f r5.w, (last)r5.w, r0.z
MESA: info: add.f r1.w, (last)r1.w, r5.z
MESA: info: (nop1) add.f r1.z, (last)r1.z, r5.w
MESA: info: mul.f r6.x, c15.x, r1.w
MESA: info: (rpt1)mul.f r6.y, (r)c15.y, r1.w
MESA: info: mad.f32 r6.x, (neg)c14.x, r1.z, (neg)(last)r6.x
MESA: info: (rpt1)mad.f32 r6.y, (neg)(r)c14.y, r1.z, (neg)(r)(last)r6.y
MESA: info: mul.f r6.x, (last)r6.x, (log2(e))
MESA: info: (rpt1)mul.f r6.y, (last)(r)r6.y, (log2(e))
MESA: info: (rpt2)nop
MESA: info: exp2 r6.x, (last)r6.x
MESA: info: nop
MESA: info: (rpt1)exp2 r6.y, (last)(r)r6.y
MESA: info: (ss)mad.f32 r2.x, r6.x, r5.w, (last)r2.x
MESA: info: mad.f32 r2.w, r6.x, r5.z, (last)r2.w
MESA: info: mov.u32u32 r0.w, (last)r6.x
MESA: info: mad.f32 r2.y, r6.y, r5.w, (last)r2.y
MESA: info: mad.f32 r4.x, r6.y, r5.z, (last)r4.x
MESA: info: mad.f32 r2.z, r6.z, r5.w, (last)r2.z
MESA: info: mad.f32 r5.y, r6.z, r5.z, (last)r5.y
MESA: info: mov.u32u32 r1.x, (last)r6.y
MESA: info: mov.u32u32 r1.y, (last)r6.z
MESA: info: jump #l214
MESA: info: l254:
MESA: info: rsq r0.y, (last)r0.y
MESA: info: mov.u32u32 r0.z, (last)r1.x
MESA: info: (ss)mul.f r8.y, (last)r8.y, r0.y
MESA: info: mul.f r0.x, (last)r0.x, r0.y
MESA: info: mul.f r11.z, (last)r11.z, (last)r0.y
MESA: info: mul.f r8.y, (last)r8.y, c20.y
MESA: info: mov.u32u32 r0.y, (last)r0.w
MESA: info: mad.f32 r0.x, c20.z, r0.x, (last)r8.y
MESA: info: mov.u32u32 r0.w, (last)r1.y
MESA: info: (nop2) mad.f32 r11.z, c20.x, r11.z, (last)r0.x
MESA: info: (nop2) max.f r11.z, (last)r11.z, c25.z
MESA: info: (nop2) min.f r11.z, (last)r11.z, (1.0)
MESA: info: mad.f32 r6.w, r11.z, r11.z, c25.w
MESA: info: (nop1) mad.f32 r11.z, (neg)c3.y, r11.z, c2.w
MESA: info: (nop2) mul.f r7.x, c25.y, r6.w
MESA: info: (rpt2)mul.f r8.x, (r)c14.x, (last)r7.x
MESA: info: log2 r11.z, (last)r11.z
MESA: info: (ss)(nop3) mul.f r11.z, (last)r11.z, c26.x
MESA: info: (rpt1)nop
MESA: info: exp2 r11.z, (last)(neg)r11.z
MESA: info: (ss)(nop2) mul.f r6.w, (last)r6.w, (last)r11.z
MESA: info: (nop2) mul.f r6.w, c3.x, (last)r6.w
MESA: info: mul.f r8.w, c15.x, r6.w
MESA: info: (rpt1)mul.f r11.z, (r)c15.y, (last)r6.w
MESA: info: mul.f r2.w, (last)r2.w, (last)r8.w
MESA: info: mul.f r4.x, (last)r4.x, (last)r11.z
MESA: info: mad.f32 r2.x, (last)r2.x, r8.x, (last)r2.w
MESA: info: mul.f r5.y, (last)r5.y, (last)r11.w
MESA: info: mad.f32 r11.z, (last)r2.y, r8.y, (last)r4.x
MESA: info: mov.u32u32 r0.x, (last)r2.x
MESA: info: mad.f32 r11.w, (last)r2.z, r8.z, (last)r5.y
MESA: info: jump #l292
MESA: info: l286:
MESA: info: mov.u32u32 r11.z, 0
MESA: info: mov.u32u32 r0.w, 0x3f800000
MESA: info: mov.u32u32 r0.z, 0x3f800000
MESA: info: mov.u32u32 r0.y, 0x3f800000
MESA: info: mov.u32u32 r0.x, 0
MESA: info: mov.u32u32 r11.w, 0
MESA: info: l292:
MESA: info: mov.u32u32 r1.x, (last)r0.w
MESA: info: mov.u32u32 r1.y, (last)r0.x
MESA: info: mov.u32u32 r1.z, (last)r11.z
MESA: info: mov.u32u32 r1.w, (last)r11.w
MESA: info: mov.u32u32 r2.x, (last)r10.x
MESA: info: mov.u32u32 r2.y, (last)r10.y
MESA: info: mov.u32u32 r2.z, (last)r0.y
MESA: info: mov.u32u32 r2.w, (last)r0.z
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r10.z (VARYING_SLOT_POS) r4.y (VARYING_SLOT_VAR0) r3.x (VARYING_SLOT_VAR1) r9.x (VARYING_SLOT_VAR2) r2.x (VARYING_SLOT_VAR3) r1.x (VARYING_SLOT_VAR4) r7.y (VARYING_SLOT_VAR5)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r1.x (VERT_ATTRIB_GENERIC1 slot=16 cm=f,il=0,b=0) r2.x (VERT_ATTRIB_GENERIC2 slot=17 cm=f,il=0,b=0) r3.x (VERT_ATTRIB_GENERIC3 slot=18 cm=f,il=0,b=0) r4.x (VERT_ATTRIB_GENERIC4 slot=19 cm=7,il=0,b=0) r4.w (VERT_ATTRIB_GENERIC5 slot=20 cm=7,il=0,b=0) r5.z (VERT_ATTRIB_GENERIC6 slot=21 cm=f,il=0,b=0) r6.z (VERT_ATTRIB_GENERIC7 slot=22 cm=7,il=0,b=0) r7.y (VERT_ATTRIB_GENERIC8 slot=23 cm=3,il=0,b=0) r8.x (VERT_ATTRIB_GENERIC9 slot=24 cm=f,il=0,b=0)
MESA: info: ; VERT prog 120/1: 301 instr, 62 nops, 239 non-nops, 33 mov, 1 cov, 610 dwords
MESA: info: ; VERT prog 120/1: 0 last-baryf, 0 last-helper, 0 half, 12 full, 28 constlen
MESA: info: ; VERT prog 120/1: 69 cat0, 34 cat1, 111 cat2, 75 cat3, 12 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 120/1: 77 sstall, 12 (ss), 0 systall, 0 (sy), 1 loops
MESA: info: ; VERT prog 120/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 69 preamble-instr, 1 early-preamble
MESA: info: ; pos: r10.z
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x61021ade, 0x13d2a139, 0x7a82eb01, 0x0d90b229, 0xb3ca7a6d, 0x08574d29, 0x8f5f117d, 0x90ae7da2}
MESA: info: inputs_read: 15-24
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 10
MESA: info: outputs: 7
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VERT_ATTRIB_GENERIC2.xyzw, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #3 (VERT_ATTRIB_GENERIC3.xyzw, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #4 (VERT_ATTRIB_GENERIC4.xyz, 4, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #5 (VERT_ATTRIB_GENERIC5.xyz, 5, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #6 (VERT_ATTRIB_GENERIC6.xyzw, 6, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #7 (VERT_ATTRIB_GENERIC7.xyz, 7, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #8 (VERT_ATTRIB_GENERIC8.xy, 8, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #9 (VERT_ATTRIB_GENERIC9.xyzw, 9, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #10 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #11 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #12 (VARYING_SLOT_VAR1.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #13 (VARYING_SLOT_VAR2.xyzw, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #14 (VARYING_SLOT_VAR3.xyzw, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #15 (VARYING_SLOT_VAR4.xyzw, 5, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec3 #16 (VARYING_SLOT_VAR5.xyz, 6, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #17
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %5 = @bindless_resource_ir3 (%3 (0x2)) (desc_set=1)
MESA: info:             con 32    %495 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32    %524 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32x2  %497 = @load_ubo_vec4 (%5, %524 (0x10)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %8 = @bindless_resource_ir3 (%2 (0.000000)) (desc_set=1)
MESA: info:             con 32    %525 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %500 = @load_ubo_vec4 (%8, %525 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32x2  %587 = fmul %497, %500.xx
MESA: info:             con 32x2  %588 = fabs %587.yx
MESA: info:             con 32     %14 = fneg %588.y
MESA: info:             con 1      %15 = feq! %588.x, %14
MESA: info:             con 32     %16 = b2i32 %15
MESA: info:                              @store_const_ir3 (%16) (base=0)
MESA: info:             con 32     %17 = fneg %587.x
MESA: info:                              @store_const_ir3 (%17) (base=1)
MESA: info:             con 32    %586 = fsub %587.y, %587.x
MESA: info:             con 32     %19 = frcp %586
MESA: info:                              @store_const_ir3 (%19) (base=2)
MESA: info:             con 32     %20 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %21 = frcp %500
MESA: info:             con 32x2  %503 = @load_ubo_vec4 (%5, %2 (0.000000)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %24 = fmul %503.x, %500
MESA: info:                              @store_const_ir3 (%24) (base=3)
MESA: info:             con 32     %25 = fmul %503.y, %21
MESA: info:                              @store_const_ir3 (%25) (base=4)
MESA: info:             con 32     %26 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32     %30 = @bindless_resource_ir3 (%495 (0x4)) (desc_set=1)
MESA: info:             con 32x2  %506 = @load_ubo_vec4 (%30, %2 (0.000000)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %527 = load_const (0x00000019 = 0.000000 = 25)
MESA: info:             con 32    %509 = @load_ubo_vec4 (%8, %527 (0x19)) (access=speculatable, base=0, component=1)
MESA: info:             con 32x2  %589 = fmul %506, %509.xx
MESA: info:             con 32     %36 = fneg %589.x
MESA: info:                              @store_const_ir3 (%36) (base=5)
MESA: info:             con 32     %37 = frcp %589.y
MESA: info:                              @store_const_ir3 (%37) (base=6)
MESA: info:             con 32    %512 = @load_ubo_vec4 (%30, %495 (0x4)) (access=speculatable, base=0, component=1)
MESA: info:             con 1      %40 = fge! %2 (0.000000), %512
MESA: info:             con 1      %41 = inot %40
MESA: info:             con 32     %42 = b2i32 %41
MESA: info:                              @store_const_ir3 (%42) (base=7)
MESA: info:             con 32     %43 = frcp %512
MESA: info:                              @store_const_ir3 (%43) (base=8)
MESA: info:             con 32    %515 = @load_ubo_vec4 (%30, %3 (0x2)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %45 = frcp %515
MESA: info:                              @store_const_ir3 (%45) (base=9)
MESA: info:             con 32    %530 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32    %518 = @load_ubo_vec4 (%30, %530 (0x3)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %47 = frcp %518
MESA: info:                              @store_const_ir3 (%47) (base=10)
MESA: info:             con 32    %521 = @load_ubo_vec4 (%30, %495 (0x4)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %584 = fneg %521
MESA: info:             con 32    %585 = ffma %584, %521, %20 (1.000000)
MESA: info:             con 32x2  %590 = load_const (0x40000000, 0x3f800000) = (2.000000, 1.000000)
MESA: info:             con 32x2  %591 = ffma %521.xx, %521.xx, %590 (2.000000, 1.000000)
MESA: info:             con 32    %592 = mov %591.y
MESA: info:                              @store_const_ir3 (%592) (base=11)
MESA: info:             con 32     %55 = frcp %591.x
MESA: info:             con 32     %56 = load_const (0x3ef47d19 = 0.477517)
MESA: info:             con 32     %57 = fmul %585, %56 (0.477517)
MESA: info:             con 32     %58 = fmul %57, %55
MESA: info:                              @store_const_ir3 (%58) (base=12)
MESA: info:             con 32     %59 = fmul %26 (2.000000), %521
MESA: info:                              @store_const_ir3 (%59) (base=13)
MESA: info:             con 32     %62 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %62 (0x14)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %2 (0.000000)) (base=32, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%30, %2 (0.000000)) (base=48, range=8)
MESA: info:             con 32     %69 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %70 = @bindless_resource_ir3 (%69 (0x1)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%70, %2 (0.000000)) (base=80, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %72 = load_const (0x00000000)
MESA: info:     div 32x3   %73 = @load_input (%72 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3   %74 = @load_input (%72 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3   %75 = @load_input (%72 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3   %76 = @load_input (%72 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32x3   %77 = @load_input (%72 (0x0)) (base=4, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC4 slots=1)
MESA: info:     div 32x3   %78 = @load_input (%72 (0x0)) (base=5, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC5 slots=1)
MESA: info:     div 32x4   %79 = @load_input (%72 (0x0)) (base=6, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC6 slots=1)
MESA: info:     con 32x3   %89 = @load_const_ir3 (%72 (0x0)) (base=28)
MESA: info:     div 32x3  %594 = fmax %89, %77
MESA: info:     div 32x3  %596 = fmin %594, %78
MESA: info:     div 32x3  %598 = fsub %89, %596
MESA: info:     div 32    %103 = fmul %598.y, %598.y
MESA: info:     div 32    %578 = ffma %598.z, %598.z, %103
MESA: info:     div 32    %577 = ffma %598.x, %598.x, %578
MESA: info:     div 32    %107 = fsqrt %577
MESA: info:     con 32    %109 = @load_const_ir3 (%72 (0x0)) (base=0)
MESA: info:     con 1     %111 = ine %109, %72 (0x0)
MESA: info:                      // succs: b7 b8
MESA: info:     if %111 {
MESA: info:         con block b7:        // preds: b6
MESA: info:         div 32x3  %600 = fmul %74, %79.yyy
MESA: info:         div 32x3  %602 = ffma %73, %79.xxx, %600
MESA: info:         div 32x3  %604 = ffma %75, %79.zzz, %602
MESA: info:         div 32x3  %608 = ffma %76, %79.www, %604
MESA: info:         div 32x3  %629 = mov %608.zyx
MESA: info:                          // succs: b9
MESA: info:     } else {
MESA: info:         con block b8:        // preds: b6
MESA: info:         con 32    %141 = @load_const_ir3 (%72 (0x0)) (base=1)
MESA: info:         div 32    %142 = fadd %107, %141
MESA: info:         con 32    %144 = @load_const_ir3 (%72 (0x0)) (base=2)
MESA: info:         div 32    %145 = fmul %142, %144
MESA: info:         div 32    %146 = fsat %145
MESA: info:         div 32x3  %612 = fneg %79.xyz
MESA: info:         div 32x3  %613 = ffma %612, %146.xxx, %79.xyz
MESA: info:         div 32x3  %615 = fmul %74, %613.yyy
MESA: info:         div 32x3  %617 = ffma %73, %613.xxx, %615
MESA: info:         div 32x3  %619 = ffma %75, %613.zzz, %617
MESA: info:         div 32x3  %623 = fadd %619, %76
MESA: info:         div 32x3  %630 = mov %623.zyx
MESA: info:                          // succs: b9
MESA: info:     }
MESA: info:     con block b9:        // preds: b7 b8
MESA: info:     div 32x3  %628 = phi b7: %629, b8: %630
MESA: info:     con 32x4  %199 = @load_const_ir3 (%72 (0x0)) (base=32)
MESA: info:     con 32x4  %207 = @load_const_ir3 (%72 (0x0)) (base=36)
MESA: info:     div 32x4  %633 = fmul %207, %628.yyyy
MESA: info:     div 32x4  %636 = ffma %199, %628.zzzz, %633
MESA: info:     con 32x4  %219 = @load_const_ir3 (%72 (0x0)) (base=40)
MESA: info:     div 32x4  %639 = ffma %219, %628.xxxx, %636
MESA: info:     con 32x4  %231 = @load_const_ir3 (%72 (0x0)) (base=44)
MESA: info:     div 32x4  %642 = fadd %639, %231
MESA: info:                      @store_output (%642, %72 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                      // succs: b10
MESA: info:     block b10:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 b8fe1d5ba27059120773602fe5850f4af5a3698e:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (20 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c24.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      4
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (320b -> 384b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0x7)
MESA: info: @in(r3.w)	in5 (wrmask=0x7)
MESA: info: @in(r4.z)	in6 (wrmask=0xf)
MESA: info: @const(c25.x)	0x3ef47d19, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l68
MESA: info: getone #l68
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 16, 2
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 0, 2
MESA: info: ldc.u.offset3.1.imm.base1 r48.z, 24, 0
MESA: info: ldc.u.offset0.1.imm.base1 r51.w, 4, 4
MESA: info: ldc.u.offset2.2.imm.base1 r49.y, 0, 4
MESA: info: ldc.u.offset1.1.imm.base1 r50.w, 25, 0
MESA: info: ldc.u.offset1.1.imm.base1 r51.x, 4, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.y, 2, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.z, 3, 4
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)(rpt1)mul.f r49.w, (r)r48.x, r48.z
MESA: info: mul.f r48.w, r48.w, r48.z
MESA: info: cmps.f.eq hr52.z, (abs)r50.x, (absneg)r49.w
MESA: info: mul.f r49.z, r49.z, r50.w
MESA: info: cmps.f.ge hr48.x, (0.0), r51.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: rcp r51.y, r51.y
MESA: info: rcp r51.z, r51.z
MESA: info: mul.f r49.y, r49.y, r50.w
MESA: info: cov.u16s32 r50.z, hr52.z
MESA: info: sub.u hr48.x, h(1), hr48.x
MESA: info: absneg.f r49.w, (neg)r49.w
MESA: info: absneg.f r49.y, (neg)r49.y
MESA: info: cov.u16s32 r48.y, hr48.x
MESA: info: (ss)nop
MESA: info: stc.u32 c[3], r48.w, 1
MESA: info: rcp r48.z, r48.z
MESA: info: rcp r49.z, r49.z
MESA: info: rcp r51.x, r51.x
MESA: info: rcp r50.x, r50.x
MESA: info: stc.u32 c[9], r51.y, 1
MESA: info: stc.u32 c[10], r51.z, 1
MESA: info: stc.u32 c[0], r50.z, 1
MESA: info: stc.u32 c[1], r49.w, 1
MESA: info: stc.u32 c[5], r49.y, 1
MESA: info: stc.u32 c[7], r48.y, 1
MESA: info: (ss)mul.f r48.w, r51.w, r51.w
MESA: info: add.f r48.w, r48.w, (2.0)
MESA: info: mul.f r49.x, r49.x, r48.z
MESA: info: mul.f r48.z, (neg)r51.w, r51.w
MESA: info: add.f r48.z, r48.z, (1.0)
MESA: info: mul.f r48.z, r48.z, c25.x
MESA: info: stc.u32 c[6], r49.z, 1
MESA: info: stc.u32 c[8], r51.x, 1
MESA: info: stc.u32 c[2], r50.x, 1
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[4], r49.x, 1
MESA: info: (ss)mul.f r48.z, r48.z, r48.w
MESA: info: mul.f r49.x, r51.w, r51.w
MESA: info: add.f r49.x, r49.x, (1.0)
MESA: info: mul.f r51.w, (2.0), r51.w
MESA: info: (ss)nop
MESA: info: stc.u32 c[12], r48.z, 1
MESA: info: stc.u32 c[11], r49.x, 1
MESA: info: stc.u32 c[13], r51.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 20, 0
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)80
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l68:
MESA: info: (jp)max.f r3.y, c7.y, (last)r3.y
MESA: info: max.f r3.z, c7.z, (last)r3.z
MESA: info: max.f r3.x, c7.x, (last)r3.x
MESA: info: min.f r3.y, (last)r3.y, (last)r4.x
MESA: info: min.f r3.z, (last)r3.z, (last)r4.y
MESA: info: min.f r3.x, (last)r3.x, (last)r3.w
MESA: info: add.f r3.y, c7.y, (last)(neg)r3.y
MESA: info: add.f r3.z, c7.z, (last)(neg)r3.z
MESA: info: add.f r3.x, c7.x, (last)(neg)r3.x
MESA: info: mul.f r3.y, (last)r3.y, r3.y
MESA: info: cmps.s.ne p0.x, c0.x, 0
MESA: info: (nop1) mad.f32 r3.z, (last)r3.z, r3.z, (last)r3.y
MESA: info: (nop3) mad.f32 r3.x, (last)r3.x, r3.x, (last)r3.z
MESA: info: (rpt1)nop
MESA: info: sqrt r3.x, (last)r3.x
MESA: info: br !p0.x, #l97
MESA: info: mul.f r0.w, (last)r0.w, r4.w
MESA: info: mul.f r1.x, (last)r1.x, r4.w
MESA: info: mul.f r1.y, (last)r1.y, r4.w
MESA: info: mad.f32 r0.x, (last)r0.x, r4.z, r0.w
MESA: info: mad.f32 r0.y, (last)r0.y, r4.z, r1.x
MESA: info: mad.f32 r0.z, (last)r0.z, r4.z, r1.y
MESA: info: mad.f32 r1.z, (last)r1.z, r5.x, r0.x
MESA: info: mad.f32 r1.w, (last)r1.w, r5.x, r0.y
MESA: info: mad.f32 r2.x, (last)r2.x, r5.x, r0.z
MESA: info: mad.f32 r2.y, (last)r2.y, r5.y, r1.z
MESA: info: mad.f32 r5.z, r2.z, r5.y, r1.w
MESA: info: mad.f32 r5.w, r2.w, r5.y, r2.x
MESA: info: jump #l110
MESA: info: l97:
MESA: info: (ss)(nop2) add.f r3.x, (last)r3.x, c0.y
MESA: info: (sat)(nop2) mul.f r3.x, (last)r3.x, c0.z
MESA: info: mad.f32 r4.w, (neg)(last)r4.w, r3.x, r4.w
MESA: info: mad.f32 r4.z, (neg)(last)r4.z, r3.x, r4.z
MESA: info: mad.f32 r5.x, (neg)(last)r5.x, r3.x, r5.x
MESA: info: mul.f r0.w, (last)r0.w, r4.w
MESA: info: (rpt1)mul.f r1.x, (last)(r)r1.x, (last)r4.w
MESA: info: mad.f32 r0.x, (last)r0.x, r4.z, (last)r0.w
MESA: info: (rpt1)mad.f32 r0.y, (r)(last)r0.y, r4.z, (r)(last)r1.x
MESA: info: mad.f32 r1.z, (last)r1.z, r5.x, (last)r0.x
MESA: info: (rpt1)mad.f32 r1.w, (r)(last)r1.w, r5.x, (r)(last)r0.y
MESA: info: add.f r2.y, (last)r1.z, (last)r2.y
MESA: info: (rpt1)add.f r5.z, (last)(r)r1.w, (last)(r)r2.z
MESA: info: l110:
MESA: info: nop
MESA: info: mul.f r6.x, c9.x, r5.z
MESA: info: mul.f r7.y, c9.y, r5.z
MESA: info: mad.f32 r6.x, c8.x, r2.y, (last)r6.x
MESA: info: mad.f32 r7.y, c8.y, r2.y, (last)r7.y
MESA: info: mad.f32 r6.y, c10.x, r5.w, (last)r6.x
MESA: info: mad.f32 r6.z, c10.y, r5.w, (last)r7.y
MESA: info: (rpt1)mul.f r7.z, (r)c9.z, (last)r5.z
MESA: info: (rpt1)mad.f32 r7.z, (r)c8.z, r2.y, (r)(last)r7.z
MESA: info: (rpt1)mad.f32 r6.w, (r)c10.z, r5.w, (r)(last)r7.z
MESA: info: (rpt3)add.f r8.x, (last)(r)r6.y, (r)c11.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r8.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (VERT_ATTRIB_GENERIC4 slot=19 cm=7,il=0,b=0) r3.w (VERT_ATTRIB_GENERIC5 slot=20 cm=7,il=0,b=0) r4.z (VERT_ATTRIB_GENERIC6 slot=21 cm=f,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0)
MESA: info: ; BVERT prog 120/2: 73 instr, 11 nops, 62 non-nops, 0 mov, 0 cov, 256 dwords
MESA: info: ; BVERT prog 120/2: 0 last-baryf, 0 last-helper, 0 half, 9 full, 28 constlen
MESA: info: ; BVERT prog 120/2: 14 cat0, 0 cat1, 30 cat2, 28 cat3, 1 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 120/2: 9 sstall, 1 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 120/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 69 preamble-instr, 1 early-preamble
MESA: info: ; pos: r8.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0xe42fb3ef, 0xe2c5cb6c, 0x31dc6226, 0x1144ff1f, 0x56c8fcac, 0x403289a2, 0x725df344, 0x668cd0ea}
MESA: info: inputs_read: 32-37
MESA: info: outputs_written: 4-5
MESA: info: system_values_read: 0x00000000'00000000'00000000'00800000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: uses_discard: true
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 6
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_VAR0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_VAR1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VARYING_SLOT_VAR2.xyzw, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #3 (VARYING_SLOT_VAR3.xyzw, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #4 (VARYING_SLOT_VAR4.xyzw, 4, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #5 (VARYING_SLOT_VAR5.xyz, 5, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #6 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #7 (FRAG_RESULT_DATA1.xyzw, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #8
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:         // preds:
MESA: info:     con 1        %0 = @preamble_start_ir3
MESA: info:                       // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:         // preds: b0
MESA: info:         div 1        %1 = @elect_any_ir3
MESA: info:                           // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:         // preds: b1
MESA: info:             con 32       %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32       %3 = load_const (0x00000007 = 0.000000)
MESA: info:             con 32       %4 = @bindless_resource_ir3 (%3 (0x7)) (desc_set=1)
MESA: info:             con 32     %670 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32     %678 = load_const (0x00000009 = 0.000000)
MESA: info:             con 32     %672 = @load_ubo_vec4 (%4, %678 (0x9)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %675 = @load_ubo_vec4 (%4, %2 (0x0)) (access=speculatable, base=0, component=3)
MESA: info:             con 32       %8 = frcp %675
MESA: info:                               @store_const_ir3 (%8) (base=0)
MESA: info:             con 32x2   %877 = load_const (0x3e800000, 0x3fc00000) = (0.250000, 1.500000)
MESA: info:             con 32x2   %878 = fmul %8.xx, %877 (0.250000, 1.500000)
MESA: info:             con 32     %879 = mov %878.x
MESA: info:             con 32     %880 = mov %878.y
MESA: info:                               @store_const_ir3 (%879) (base=1)
MESA: info:                               @store_const_ir3 (%880) (base=2)
MESA: info:             con 32      %13 = frcp %672
MESA: info:                               @store_const_ir3 (%13) (base=3)
MESA: info:             con 32      %15 = @bindless_resource_ir3 (%678 (0x9)) (desc_set=1)
MESA: info:             con 32      %16 = load_const (0x00000020 = 0.000000 = 32)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%15, %16 (0x20)) (base=16, range=4)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%15, %2 (0x0)) (base=32, range=4)
MESA: info:             con 32      %22 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%15, %22 (0x10)) (base=48, range=4)
MESA: info:             con 32      %23 = load_const (0x00000006 = 0.000000)
MESA: info:             con 32      %24 = @bindless_resource_ir3 (%23 (0x6)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%24, %2 (0x0)) (base=64, range=4)
MESA: info:             con 32      %26 = load_const (0x00000005 = 0.000000)
MESA: info:             con 32      %27 = @bindless_resource_ir3 (%26 (0x5)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%27, %22 (0x10)) (base=80, range=8)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=112, range=12)
MESA: info:             con 32      %32 = load_const (0x00000008 = 0.000000)
MESA: info:             con 32      %33 = @bindless_resource_ir3 (%32 (0x8)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%33, %2 (0x0)) (base=160, range=4)
MESA: info:             con 32      %36 = @bindless_resource_ir3 (%670 (0x4)) (desc_set=2)
MESA: info:             con 32      %38 = @bindless_resource_ir3 (%26 (0x5)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%36, %38)
MESA: info:             con 32      %40 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32      %41 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %42 = @bindless_resource_ir3 (%41 (0x1)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%40, %42)
MESA: info:             con 32      %43 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %44 = @bindless_resource_ir3 (%43 (0x2)) (desc_set=2)
MESA: info:             con 32      %45 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32      %46 = @bindless_resource_ir3 (%45 (0x3)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%44, %46)
MESA: info:             con 32      %48 = @bindless_resource_ir3 (%23 (0x6)) (desc_set=2)
MESA: info:             con 32      %50 = @bindless_resource_ir3 (%3 (0x7)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%48, %50)
MESA: info:             con 32      %52 = @bindless_resource_ir3 (%32 (0x8)) (desc_set=2)
MESA: info:             con 32      %54 = @bindless_resource_ir3 (%678 (0x9)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%52, %54)
MESA: info:             con 32      %59 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:             con 32      %60 = @bindless_resource_ir3 (%59 (0xa)) (desc_set=2)
MESA: info:             con 32      %61 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:             con 32      %62 = @bindless_resource_ir3 (%61 (0xb)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%60, %62)
MESA: info:             con 32      %67 = load_const (0x0000000c = 0.000000 = 12)
MESA: info:             con 32      %68 = @bindless_resource_ir3 (%67 (0xc)) (desc_set=2)
MESA: info:             con 32      %69 = load_const (0x0000000d = 0.000000 = 13)
MESA: info:             con 32      %70 = @bindless_resource_ir3 (%69 (0xd)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%68, %70)
MESA: info:                               @preamble_end_ir3
MESA: info:                               // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:         // preds: b4 b5
MESA: info:     con 32      %75 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x2    %76 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x4    %77 = @load_interpolated_input (%76, %75 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     div 32x4    %78 = @load_interpolated_input (%76, %75 (0x0)) (base=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR1 slots=1)
MESA: info:     div 32x4    %79 = @load_interpolated_input (%76, %75 (0x0)) (base=2, component=0, dest_type=float32, io location=VARYING_SLOT_VAR2 slots=1)
MESA: info:     div 32x4    %80 = @load_interpolated_input (%76, %75 (0x0)) (base=3, component=0, dest_type=float32, io location=VARYING_SLOT_VAR3 slots=1)
MESA: info:     div 32x4    %81 = @load_interpolated_input (%76, %75 (0x0)) (base=4, component=0, dest_type=float32, io location=VARYING_SLOT_VAR4 slots=1)
MESA: info:     div 32x2    %82 = @load_barycentric_centroid (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x3    %83 = @load_interpolated_input (%82, %75 (0x0)) (base=5, component=0, dest_type=float32, io location=VARYING_SLOT_VAR5 slots=1)
MESA: info:     con 32      %84 = load_const (0x00000004 = 0.000000)
MESA: info:     con 32      %85 = load_const (0x00000005 = 0.000000)
MESA: info:     con 32      %87 = load_const (0x00000002 = 0.000000)
MESA: info:     con 32x3    %94 = @load_const_ir3 (%75 (0x0)) (base=16)
MESA: info:     div 1       %95 = flt! %83.z, %94.x
MESA: info:                       @demote_if (%95)
MESA: info:     div 32x2    %96 = vec2 %83.x, %83.y
MESA: info:     con 32      %97 = @bindless_resource_ir3 (%85 (0x5)) (desc_set=2)
MESA: info:     con 32      %98 = @bindless_resource_ir3 (%84 (0x4)) (desc_set=2)
MESA: info:     div 32x4    %99 = (float32)tex (pre-dispatchable) %98 (texture_handle), %97 (sampler_handle), %96 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 1      %100 = fneu! %99.z, %75 (0.000000)
MESA: info:     con 32     %101 = load_const (0xbf008081 = -0.501961)
MESA: info:     div 32x3   %882 = fadd %99.xyz, %101 (-0.501961).xxx
MESA: info:     con 32     %105 = load_const (0x40008102 = 2.007874)
MESA: info:     div 32x3   %884 = fmul %105 (2.007874).xxx, %882
MESA: info:     div 32     %110 = fmul %884.x, %884.x
MESA: info:     div 32     %834 = ffma %884.y, %884.y, %110
MESA: info:     con 32     %112 = load_const (0x3f800000 = 1.000000)
MESA: info:     div 32     %833 = fsub %112 (1.000000), %834
MESA: info:     div 32     %115 = fsat %833
MESA: info:     div 32     %116 = fsqrt %115
MESA: info:     div 32     %117 = bcsel %100, %884.z, %116
MESA: info:     div 32x2   %885 = fmul %94.yy, %884.xy
MESA: info:     div 32     %121 = fmul %885.y, %885.y
MESA: info:     div 32     %832 = ffma %117, %117, %121
MESA: info:     div 32     %831 = ffma %885.x, %885.x, %832
MESA: info:     div 32     %125 = frsq %831
MESA: info:     div 32x2   %886 = fmul %885, %125.xx
MESA: info:     div 32     %128 = fmul %117, %125
MESA: info:     con 1      %129 = ine %94.z, %75 (0x0)
MESA: info:     div 32x3   %888 = fmul %79.xyz, %886.yyy
MESA: info:     div 32x3   %890 = ffma %78.yzw, %886.xxx, %888
MESA: info:     div 32x2   %891 = ffma %77.zw, %128.xx, %890.xy
MESA: info:     div 32     %825 = ffma %78.x, %128, %890.z
MESA: info:     div 32     %146 = fmul %891.y, %891.y
MESA: info:     div 32     %824 = ffma %825, %825, %146
MESA: info:     div 32     %823 = ffma %891.x, %891.x, %824
MESA: info:     div 32     %150 = frsq %823
MESA: info:     div 32x2   %892 = fmul %891, %150.xx
MESA: info:     div 32     %153 = fmul %825, %150
MESA: info:     div 1      %154 = @load_front_face
MESA: info:     div 1      %155 = inot %154
MESA: info:     div 1      %156 = iand %155, %129
MESA: info:     div 32x2   %893 = fneg %892
MESA: info:     div 32     %159 = fneg %153
MESA: info:     div 32x2   %894 = bcsel %156.xx, %893, %892
MESA: info:     div 32     %162 = bcsel %156, %159, %153
MESA: info:     con 32     %163 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32     %164 = @bindless_resource_ir3 (%163 (0x1)) (desc_set=2)
MESA: info:     con 32     %165 = @bindless_resource_ir3 (%75 (0x0)) (desc_set=2)
MESA: info:     div 32x4   %166 = (float32)tex (pre-dispatchable) %165 (texture_handle), %164 (sampler_handle), %96 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 1      %167 = fge! %94.x, %166.w
MESA: info:                       @demote_if (%167)
MESA: info:     con 32     %168 = load_const (0x00000003 = 0.000000)
MESA: info:     con 32     %169 = @bindless_resource_ir3 (%168 (0x3)) (desc_set=2)
MESA: info:     con 32     %170 = @bindless_resource_ir3 (%87 (0x2)) (desc_set=2)
MESA: info:     div 32x4   %171 = (float32)tex (pre-dispatchable) %170 (texture_handle), %169 (sampler_handle), %96 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32     %172 = fmin %77.y, %171.z
MESA: info:     con 32x3   %175 = @load_const_ir3 (%75 (0x0)) (base=32)
MESA: info:     div 32x3   %896 = fmul %166.xyz, %175
MESA: info:     con 32     %185 = @load_const_ir3 (%75 (0x0)) (base=48)
MESA: info:     div 32     %186 = fmul %185, %166.w
MESA: info:     div 32     %187 = fmin %186, %112 (1.000000)
MESA: info:     con 32x4   %193 = @load_const_ir3 (%75 (0x0)) (base=64)
MESA: info:     con 32x4   %202 = @load_const_ir3 (%75 (0x0)) (base=68)
MESA: info:     con 32x4   %215 = @load_const_ir3 (%75 (0x0)) (base=72)
MESA: info:     con 32x4   %229 = @load_const_ir3 (%75 (0x0)) (base=76)
MESA: info:     div 32x4   %903 = ffma %202, %80.xxxx, %229
MESA: info:     div 32x4   %904 = ffma %193, %79.wwww, %903
MESA: info:     div 32x4   %905 = ffma %215, %80.yyyy, %904
MESA: info:     div 32     %235 = frcp %905.w
MESA: info:     div 32x2   %906 = fmul %905.xy, %235.xx
MESA: info:     div 32     %238 = fmin! %906.y, %906.x
MESA: info:     con 32     %239 = load_const (0xbf800000 = -1.000000)
MESA: info:     div 1      %240 = flt! %238, %239 (-1.000000)
MESA: info:     div 32     %241 = fmax! %906.y, %906.x
MESA: info:     div 1      %242 = flt! %112 (1.000000), %241
MESA: info:     div 1      %874 = inot %240
MESA: info:     div 1      %875 = inot %242
MESA: info:     div 1      %876 = iand %874, %875
MESA: info:                       // succs: b7 b8
MESA: info:     if %876 {
MESA: info:         div block b7:         // preds: b6
MESA: info:         con 32     %189 = load_const (0x00000006 = 0.000000)
MESA: info:         con 32     %203 = load_const (0x00000007 = 0.000000)
MESA: info:         con 32     %245 = load_const (0x3f000000 = 0.500000)
MESA: info:         div 32x2   %907 = ffma %245 (0.500000).xx, %906, %245 (0.500000).xx
MESA: info:         div 32     %812 = ffma %245 (0.500000), %905.z, %245 (0.500000)
MESA: info:         con 32     %253 = @bindless_resource_ir3 (%203 (0x7)) (desc_set=2)
MESA: info:         con 32     %254 = @bindless_resource_ir3 (%189 (0x6)) (desc_set=2)
MESA: info:         div 32     %255 = (float32)tex %254 (texture_handle), %253 (sampler_handle), %907 (coord), %812 (comparator), 0 (texture), 0 (sampler)
MESA: info:                           // succs: b9
MESA: info:     } else {
MESA: info:         div block b8:  // preds: b6, succs: b9
MESA: info:     }
MESA: info:     con block b9:         // preds: b7 b8
MESA: info:     div 32     %256 = phi b7: %255, b8: %112 (1.000000)
MESA: info:     con 32      %86 = load_const (0x00000009 = 0.000000)
MESA: info:     con 32     %176 = load_const (0x00000008 = 0.000000)
MESA: info:     con 32     %216 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:     con 32     %217 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:     con 32     %257 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32     %811 = fsub %257 (2.000000), %171.x
MESA: info:     div 32     %260 = fmul %171.x, %811
MESA: info:     con 32     %261 = load_const (0x3f600000 = 0.875000)
MESA: info:     div 1      %262 = fge! %261 (0.875000), %171.y
MESA: info:     con 32     %263 = load_const (0x3f26f694 = 0.652200)
MESA: info:     div 32     %264 = fmul %263 (0.652200), %171.y
MESA: info:     con 32     %265 = load_const (0xbf600000 = -0.875000)
MESA: info:     div 32     %266 = fadd %171.y, %265 (-0.875000)
MESA: info:     con 32     %267 = load_const (0x405bd07c = 3.434600)
MESA: info:     con 32     %269 = load_const (0x3f1217c2 = 0.570675)
MESA: info:     div 32     %810 = ffma %267 (3.434600), %266, %269 (0.570675)
MESA: info:     div 32     %271 = bcsel %262, %264, %810
MESA: info:     con 32     %272 = load_const (0x400ccccd = 2.200000)
MESA: info:     div 32x3   %911 = flog2 %896
MESA: info:     div 32x3   %912 = fmul %911, %272 (2.200000).xxx
MESA: info:     div 32x3   %913 = fexp2 %912
MESA: info:     div 32x3   %915 = fmul %913, %260.xxx
MESA: info:     div 32x3   %917 = fsub %913, %915
MESA: info:     con 32     %291 = load_const (0x3d23d70a = 0.040000)
MESA: info:     con 32     %293 = load_const (0x3c23d70a = 0.010000)
MESA: info:     div 32     %806 = ffma %271, %291 (0.040000), %293 (0.010000)
MESA: info:     div 32     %805 = fsub %112 (1.000000), %260
MESA: info:     div 32x3   %919 = ffma %806.xxx, %805.xxx, %915
MESA: info:     div 32x3   %921 = fsat %917
MESA: info:     div 32x3   %923 = fsat %919
MESA: info:     con 32x3   %311 = @load_const_ir3 (%75 (0x0)) (base=108)
MESA: info:     div 32     %801 = fsub %79.w, %311.x
MESA: info:     div 32x2   %924 = fsub %80.xy, %311.yz
MESA: info:     div 32     %319 = fmul %894.y, %924.x
MESA: info:     div 32     %798 = ffma %162, %924.y, %319
MESA: info:     div 32     %797 = ffma %894.x, %801, %798
MESA: info:     div 32     %323 = fmul %797, %257 (2.000000)
MESA: info:     div 32     %795 = fneg %323
MESA: info:     div 32     %796 = ffma %795, %894.x, %801
MESA: info:     div 32     %794 = ffma %795, %894.y, %924.x
MESA: info:     div 32     %792 = ffma %795, %162, %924.y
MESA: info:     div 32     %334 = fmul %794, %794
MESA: info:     div 32     %790 = ffma %792, %792, %334
MESA: info:     div 32     %789 = ffma %796, %796, %790
MESA: info:     div 32     %338 = frsq %789
MESA: info:     div 32     %339 = fmul %796, %338
MESA: info:     div 32     %340 = fmul %794, %338
MESA: info:     div 32     %341 = fmul %792, %338
MESA: info:     div 32x3   %926 = fsub %271.xxx, %923
MESA: info:     div 32x3   %928 = fmax %926, %75 (0.000000).xxx
MESA: info:     div 32     %352 = fmul %894.y, %340
MESA: info:     div 32     %785 = ffma %162, %341, %352
MESA: info:     div 32     %784 = ffma %894.x, %339, %785
MESA: info:     div 32     %356 = fabs %784
MESA: info:     div 32     %783 = fsub %112 (1.000000), %356
MESA: info:     div 32     %359 = fsat %783
MESA: info:     div 32     %361 = fmul %359, %359
MESA: info:     div 32     %362 = fmul %361, %361
MESA: info:     div 32     %363 = fmul %362, %359
MESA: info:     div 32x3   %930 = ffma %928, %363.xxx, %923
MESA: info:     div 32x3   %932 = fsub %112 (1.000000).xxx, %930
MESA: info:     div 32x3   %934 = fmul %921, %932
MESA: info:     div 32     %776 = fsub %112 (1.000000), %271
MESA: info:     con 32     %381 = load_const (0x40c00000 = 6.000000)
MESA: info:     div 32     %382 = fmul %381 (6.000000), %776
MESA: info:     con 32x3   %387 = @load_const_ir3 (%75 (0x0)) (base=132)
MESA: info:     con 32x3   %394 = @load_const_ir3 (%75 (0x0)) (base=136)
MESA: info:     con 32x3   %404 = @load_const_ir3 (%75 (0x0)) (base=140)
MESA: info:     con 32x3   %414 = @load_const_ir3 (%75 (0x0)) (base=144)
MESA: info:     div 32x3   %938 = ffma %394, %894.yyy, %414
MESA: info:     div 32x3   %939 = ffma %387, %894.xxx, %938
MESA: info:     div 32x3   %940 = ffma %404, %162.xxx, %939
MESA: info:     con 32     %419 = @bindless_resource_ir3 (%86 (0x9)) (desc_set=2)
MESA: info:     con 32     %420 = @bindless_resource_ir3 (%176 (0x8)) (desc_set=2)
MESA: info:     div 32x4   %421 = (float32)txl %420 (texture_handle), %419 (sampler_handle), %940 (coord), %381 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3   %970 = mov %421.yzx
MESA: info:     div 32x3   %944 = ffma %394, %340.xxx, %414
MESA: info:     div 32x3   %945 = ffma %387, %339.xxx, %944
MESA: info:     div 32x3   %946 = ffma %404, %341.xxx, %945
MESA: info:     div 32x4   %441 = (float32)txl %420 (texture_handle), %419 (sampler_handle), %946 (coord), %382 (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3   %964 = mov %441.yzx
MESA: info:     con 32     %442 = @bindless_resource_ir3 (%217 (0xb)) (desc_set=2)
MESA: info:     con 32     %443 = @bindless_resource_ir3 (%216 (0xa)) (desc_set=2)
MESA: info:     div 32x4   %444 = (float32)txl %443 (texture_handle), %442 (sampler_handle), %940 (coord), %381 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3   %967 = mov %444.yzx
MESA: info:     div 32x4   %445 = (float32)txl %443 (texture_handle), %442 (sampler_handle), %946 (coord), %382 (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3   %961 = mov %445.yzx
MESA: info:     con 32     %449 = @load_const_ir3 (%75 (0x0)) (base=148)
MESA: info:     con 1      %450 = flt! %112 (1.000000), %449
MESA: info:                       // succs: b10 b11
MESA: info:     if %450 {
MESA: info:         con block b10:        // preds: b9
MESA: info:         con 32x4   %453 = @load_const_ir3 (%75 (0x0)) (base=112)
MESA: info:         con 32     %455 = @load_const_ir3 (%75 (0x0)) (base=0)
MESA: info:         con 32     %457 = @load_const_ir3 (%75 (0x0)) (base=1)
MESA: info:         con 32     %459 = @load_const_ir3 (%75 (0x0)) (base=2)
MESA: info:         div 32     %460 = fmax %162, %75 (0.000000)
MESA: info:         div 32     %461 = fadd %112 (1.000000), %460
MESA: info:         div 32     %462 = fmul %457, %461
MESA: info:         div 32x3   %969 = mov %462.xxx
MESA: info:         div 32     %464 = fmul %894.y, %453.y
MESA: info:         div 32     %763 = ffma %162, %453.z, %464
MESA: info:         div 32     %762 = ffma %894.x, %453.x, %763
MESA: info:         div 32     %468 = fmax %762, %75 (0.000000)
MESA: info:         div 32     %469 = fadd %462, %468
MESA: info:         div 32     %470 = fmul %459, %469
MESA: info:         div 32x3   %966 = mov %470.xxx
MESA: info:         con 32     %471 = load_const (0x3dcccccd = 0.100000)
MESA: info:         con 32     %472 = fmul %471 (0.100000), %455
MESA: info:         con 32x3   %963 = mov %472.xxx
MESA: info:         div 32     %474 = fmul %340, %453.y
MESA: info:         div 32     %761 = ffma %341, %453.z, %474
MESA: info:         div 32     %760 = ffma %339, %453.x, %761
MESA: info:         div 32     %478 = fmax %760, %75 (0.000000)
MESA: info:         div 32     %479 = fmul %455, %478
MESA: info:         div 32x3   %960 = mov %479.xxx
MESA: info:                           // succs: b12
MESA: info:     } else {
MESA: info:         con block b11:  // preds: b9, succs: b12
MESA: info:     }
MESA: info:     con block b12:        // preds: b10 b11
MESA: info:     div 32x3   %959 = phi b10: %960, b11: %961
MESA: info:     div 32x3   %965 = phi b10: %966, b11: %967
MESA: info:     div 32x3   %962 = phi b10: %963, b11: %964
MESA: info:     div 32x3   %968 = phi b10: %969, b11: %970
MESA: info:     con 32     %194 = load_const (0x0000000c = 0.000000 = 12)
MESA: info:     con 32     %230 = load_const (0x0000000d = 0.000000 = 13)
MESA: info:     con 32     %360 = load_const (0x40a00000 = 5.000000)
MESA: info:     con 32     %506 = @load_const_ir3 (%75 (0x0)) (base=115)
MESA: info:     div 32     %507 = fmul %449, %172
MESA: info:     con 32     %512 = @load_const_ir3 (%75 (0x0)) (base=3)
MESA: info:     con 32     %513 = load_const (0x3f266666 = 0.650000)
MESA: info:     con 32     %515 = load_const (0x3eb33333 = 0.350000)
MESA: info:     div 32     %759 = ffma %172, %513 (0.650000), %515 (0.350000)
MESA: info:     div 32     %517 = fmul %512, %759
MESA: info:     div 32     %518 = fmul %517, %256
MESA: info:     div 32x3   %972 = fsub %965.zxy, %968.zxy
MESA: info:     div 32x3   %974 = fmul %518.xxx, %972
MESA: info:     div 32x3   %976 = ffma %507.xxx, %968.zxy, %974
MESA: info:     div 32x3   %978 = fmul %449.xxx, %962.zxy
MESA: info:     div 32x3   %981 = fneg %978
MESA: info:     div 32x3   %982 = ffma %512.xxx, %959.zxy, %981
MESA: info:     div 32x3   %984 = fmul %256.xxx, %982
MESA: info:     div 32x3   %986 = ffma %449.xxx, %962.zxy, %984
MESA: info:     div 32x3   %988 = fmul %930, %986
MESA: info:     div 32x3   %990 = ffma %934, %976, %988
MESA: info:     div 32x3   %992 = fmul %506.xxx, %990
MESA: info:     div 32     %742 = fneg %187
MESA: info:     div 32     %743 = ffma %742, %83.z, %112 (1.000000)
MESA: info:     div 32     %740 = fneg %932.x
MESA: info:     div 32     %741 = ffma %740, %743, %112 (1.000000)
MESA: info:     div 32     %567 = fmul %924.x, %924.x
MESA: info:     div 32     %739 = ffma %924.y, %924.y, %567
MESA: info:     div 32     %738 = ffma %801, %801, %739
MESA: info:     div 32     %571 = frsq %738
MESA: info:     div 32     %572 = fmul %801, %571
MESA: info:     div 32x2   %993 = fmul %924, %571.xx
MESA: info:     div 32x3   %997 = ffma %394, %993.xxx, %414
MESA: info:     div 32x3   %998 = ffma %387, %572.xxx, %997
MESA: info:     div 32x3   %999 = ffma %404, %993.yyy, %998
MESA: info:     con 32     %594 = @bindless_resource_ir3 (%230 (0xd)) (desc_set=2)
MESA: info:     con 32     %595 = @bindless_resource_ir3 (%194 (0xc)) (desc_set=2)
MESA: info:     div 32x4   %596 = (float32)txl %595 (texture_handle), %594 (sampler_handle), %999 (coord), %75 (0.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x4   %597 = (float32)txl %595 (texture_handle), %594 (sampler_handle), %999 (coord), %381 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     con 32x3   %604 = @load_const_ir3 (%75 (0x0)) (base=164)
MESA: info:     div 32x3  %1001 = fmul %604, %81.yzw
MESA: info:     div 32x2  %1002 = ffma %992.xy, %80.zw, %1001.xy
MESA: info:     div 32     %729 = ffma %992.z, %81.x, %1001.z
MESA: info:     con 32     %611 = load_const (0xbf4ccccd = -0.800000)
MESA: info:     div 32     %612 = fadd %77.x, %611 (-0.800000)
MESA: info:     div 32     %613 = fmul %612, %360 (5.000000)
MESA: info:     div 32     %614 = fsat %613
MESA: info:     div 32x3  %1004 = fsub %596.xyz, %597.xyz
MESA: info:     div 32x3  %1006 = ffma %614.xxx, %1004, %597.xyz
MESA: info:     div 32x2  %1007 = fneg %1002
MESA: info:     div 32x2  %1008 = ffma %506.xx, %1006.xy, %1007
MESA: info:     div 32x2  %1009 = ffma %77.xx, %1008, %1002
MESA: info:     div 32     %638 = fneg %729
MESA: info:     div 32     %718 = ffma %506, %1006.z, %638
MESA: info:     div 32     %717 = ffma %77.x, %718, %729
MESA: info:     con 32x3   %644 = @load_const_ir3 (%75 (0x0)) (base=80)
MESA: info:     con 32x3   %651 = @load_const_ir3 (%75 (0x0)) (base=84)
MESA: info:     div 32x3  %1011 = fmul %651, %894.yyy
MESA: info:     div 32x3  %1013 = ffma %644, %894.xxx, %1011
MESA: info:     con 32x3   %661 = @load_const_ir3 (%75 (0x0)) (base=88)
MESA: info:     div 32x3  %1015 = ffma %661, %162.xxx, %1013
MESA: info:     div 32x4   %668 = vec4 %1009.x, %1009.y, %717, %741
MESA: info:                       @store_output (%668, %75 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:     div 32x4   %669 = vec4 %1015.x, %1015.y, %1015.z, %112 (0x3f800000)
MESA: info:                       @store_output (%669, %75 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA1 slots=1, xfb(), xfb2())
MESA: info:                       // succs: b13
MESA: info:     block b13:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 7379f1107d54b1e8523e377d290c37bae2733858:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (40 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      7
MESA: info: ;   range[0]:
MESA: info: ;     block:          9
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (512b -> 576b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          9
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          9
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           4 vec4 (256b -> 320b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          6
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c16.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[4]:
MESA: info: ;     block:          5
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           8 vec4 (256b -> 384b)
MESA: info: ;   range[5]:
MESA: info: ;     block:          7
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c28.x
MESA: info: ;     size:           12 vec4 (0b -> 192b)
MESA: info: ;   range[6]:
MESA: info: ;     block:          8
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c40.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.z)	in0 (wrmask=0x3)
MESA: info: @in(r0.x)	in1 (wrmask=0x3)
MESA: info: @in(hr2.x)	in2 (wrmask=0x1)
MESA: info: @tex(r1.y)	src=20, bindless=1, samp=5, tex=4, wrmask=0x7, opc=sam
MESA: info: @tex(r2.x)	src=20, bindless=1, samp=1, tex=0, wrmask=0xf, opc=sam
MESA: info: @tex(r3.x)	src=20, bindless=1, samp=3, tex=2, wrmask=0x7, opc=sam
MESA: info: @const(c44.x)	0x3e800000, 0x3fc00000, 0xbf800000, 0xbf4ccccd
MESA: info: @const(c45.x)	0x40a00000, 0x400ccccd, 0x3f26f694, 0x3f600000
MESA: info: @const(c46.x)	0x405bd07c, 0xbf600000, 0x3f1217c2, 0x3c23d70a
MESA: info: @const(c47.x)	0x3d23d70a, 0x40008102, 0xbf008081, 0x3eb33333
MESA: info: @const(c48.x)	0x3f266666, 0x3f000000, 0x3dcccccd, 0x40c00000
MESA: info: @const(c49.x)	0x3f800000, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l41
MESA: info: getone #l41
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#5, t#4
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#3, t#2
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#7, t#6
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#9, t#8
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#11, t#10
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#13, t#12
MESA: info: (ss)nop
MESA: info: ldc.u.offset3.1.imm.base1 r48.x, 0, 7
MESA: info: ldc.u.offset0.1.imm.base1 r48.y, 9, 7
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)rcp r48.x, r48.x
MESA: info: rcp r48.y, r48.y
MESA: info: (ss)(rpt1)mul.f r48.z, r48.x, (r)c44.x
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[3], r48.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[1], r48.z, 1
MESA: info: stc.u32 c[2], r48.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 32, 9
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 9
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 16, 9
MESA: info: (ss)mova1 a1.x, (r)64
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 6
MESA: info: (ss)mova1 a1.x, (r)80
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 16, 5
MESA: info: (ss)mova1 a1.x, (r)112
MESA: info: (ss)nop
MESA: info: ldc.12.k.imm.base1 c[a1.x], 0, 7
MESA: info: (ss)mova1 a1.x, (r)160
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 8
MESA: info: (sy)(ss)shpe
MESA: info: l41:
MESA: info: (jp)(rpt1)bary.f r4.z, (r)8, r0.z
MESA: info: bary.f r5.y, 10, r0.z
MESA: info: (rpt1)bary.f r5.z, (r)6, r0.z
MESA: info: (rpt1)bary.f r6.x, (r)2, r0.z
MESA: info: bary.f r5.x, 5, r0.z
MESA: info: bary.f r6.z, 4, r0.z
MESA: info: bary.f r7.x, 12, r0.z
MESA: info: bary.f r7.y, 11, r0.z
MESA: info: bary.f r6.w, 1, r0.z
MESA: info: bary.f r7.z, 13, r0.z
MESA: info: (rpt1)bary.f r10.y, (r)17, r0.z
MESA: info: bary.f r10.w, 14, r0.z
MESA: info: bary.f r11.x, 19, r0.z
MESA: info: bary.f r11.y, 15, r0.z
MESA: info: bary.f r11.z, 16, r0.z
MESA: info: bary.f r0.z, 0, (last)r0.z
MESA: info: bary.f (ei)r0.x, 22, (last)r0.x
MESA: info: cmps.s.ne hr50.x, c4.z, 0
MESA: info: (sy)(rpt1)add.f r1.y, (last)(r)r1.y, c47.z
MESA: info: add.f r7.w, r1.w, c47.z
MESA: info: (rpt1)mul.f r1.y, c47.y, (last)(r)r1.y
MESA: info: mul.f r7.w, c47.y, (last)r7.w
MESA: info: mul.f r8.x, r1.y, r1.y
MESA: info: cmps.f.ne r1.w, (last)r1.w, (0.0)
MESA: info: mad.f32 r8.x, r1.z, r1.z, (last)r8.x
MESA: info: mul.f r1.z, c4.y, (last)r1.z
MESA: info: mul.f r1.y, c4.y, (last)r1.y
MESA: info: (sat)add.f r8.x, (1.0), (last)(neg)r8.x
MESA: info: mul.f r8.y, r1.z, r1.z
MESA: info: cmps.s.eq hr2.x, (last)hr2.x, h(0)
MESA: info: mad.f32 r10.x, c17.w, r7.x, c19.w
MESA: info: mad.f32 r8.z, c17.x, r7.x, c19.x
MESA: info: sub.u hr2.x, h(1), (last)hr2.x
MESA: info: sqrt r8.x, (last)r8.x
MESA: info: mad.f32 r10.x, c16.w, r7.y, (last)r10.x
MESA: info: mad.f32 r9.y, c17.y, r7.x, c19.y
MESA: info: mad.f32 r10.x, c18.w, r7.z, (last)r10.x
MESA: info: mad.f32 r8.z, c16.x, r7.y, (last)r8.z
MESA: info: mad.f32 r9.y, c16.y, r7.y, (last)r9.y
MESA: info: mad.f32 r8.w, c18.x, r7.z, (last)r8.z
MESA: info: cmps.f.ge p0.x, c4.x, r2.w
MESA: info: cmps.f.lt p0.y, r0.x, c4.x
MESA: info: rcp r10.x, (last)r10.x
MESA: info: mad.f32 r9.x, c18.y, r7.z, (last)r9.y
MESA: info: (rpt1)mul.f r3.w, (last)(r)r2.x, (r)c8.x
MESA: info: mul.f r4.y, (last)r2.z, c8.z
MESA: info: mad.f32 r9.w, c17.z, r7.x, c19.z
MESA: info: kill p0.y
MESA: info: kill p0.x
MESA: info: mul.f r2.w, c12.x, (last)r2.w
MESA: info: mad.f32 r9.w, c16.z, r7.y, (last)r9.w
MESA: info: min.f r6.w, (last)r6.w, (last)r3.z
MESA: info: min.f r2.w, (last)r2.w, (1.0)
MESA: info: (ss)sel.b32 r7.w, (last)r7.w, r1.w, (last)r8.x
MESA: info: and.b r9.z, (last)hr2.x, hr50.x
MESA: info: (rpt1)mul.f r8.w, (last)(r)r8.w, (last)r10.x
MESA: info: mad.f32 r8.y, r7.w, r7.w, (last)r8.y
MESA: info: mad.f32 r9.w, c18.z, r7.z, (last)r9.w
MESA: info: mad.f32 r8.y, r1.y, r1.y, (last)r8.y
MESA: info: (nop2) max.f r1.w, r9.x, r8.w
MESA: info: (nop1) cmps.f.lt p0.y, (1.0), (last)r1.w
MESA: info: rsq r8.y, (last)r8.y
MESA: info: (ss)mul.f r1.z, (last)r1.z, r8.y
MESA: info: mul.f r1.y, (last)r1.y, r8.y
MESA: info: mul.f r7.w, (last)r7.w, (last)r8.y
MESA: info: mul.f r4.w, (last)r4.w, r1.z
MESA: info: mul.f r5.y, (last)r5.y, r1.z
MESA: info: mad.f32 r5.z, (last)r5.z, r1.y, (last)r4.w
MESA: info: mul.f r4.z, (last)r4.z, (last)r1.z
MESA: info: mad.f32 r5.w, (last)r5.w, r1.y, (last)r5.y
MESA: info: mad.f32 r1.x, (last)r6.y, r7.w, (last)r5.z
MESA: info: mad.f32 r5.x, (last)r5.x, r1.y, (last)r4.z
MESA: info: mad.f32 r6.z, (last)r6.z, r7.w, (last)r5.w
MESA: info: mad.f32 r0.w, (last)r6.x, r7.w, (last)r5.x
MESA: info: mul.f r1.y, r1.x, r1.x
MESA: info: min.f r1.z, r9.x, r8.w
MESA: info: (nop1) mad.f32 r1.y, r6.z, r6.z, (last)r1.y
MESA: info: mad.f32 r1.y, r0.w, r0.w, (last)r1.y
MESA: info: (nop3) cmps.f.lt p0.x, (last)r1.z, c44.z
MESA: info: nop
MESA: info: rsq r1.y, (last)r1.y
MESA: info: (ss)(rpt1)mul.f r0.w, (last)(r)r0.w, r1.y
MESA: info: mul.f r6.z, (last)r6.z, (last)r1.y
MESA: info: absneg.f r2.x, (neg)r0.w
MESA: info: absneg.f r2.y, (neg)r1.x
MESA: info: absneg.f r2.z, (neg)r6.z
MESA: info: sel.b32 r2.x, (last)r2.x, r9.z, (last)r0.w
MESA: info: sel.b32 r2.y, (last)r2.y, r9.z, (last)r1.x
MESA: info: sel.b32 r2.z, (last)r2.z, r9.z, (last)r6.z
MESA: info: brao p0.x, p0.y, #l138
MESA: info: (rpt1)mad.f32 r8.w, c48.y, (r)r8.w, c48.y
MESA: info: (nop3) mad.f32 r9.w, c48.y, r9.w, c48.y
MESA: info: (rpt1)nop
MESA: info: alias.tex.b32.0 r9.y, r9.w
MESA: info: sam.s.base2 (f32)(x)r3.z, r8.w, s#7, t#6
MESA: info: (eq)nop
MESA: info: jump #l140
MESA: info: l138:
MESA: info: (eq)(jp)nop
MESA: info: mov.u32u32 r3.z, 0x3f800000
MESA: info: l140:
MESA: info: (jp)(rpt2)log2 r3.w, (last)(r)r3.w
MESA: info: add.f r7.x, (last)r7.x, (neg)c27.y
MESA: info: add.f r7.z, (last)r7.z, (neg)c27.z
MESA: info: add.f r7.y, (last)r7.y, (neg)c27.x
MESA: info: mul.f r5.w, r2.y, r7.x
MESA: info: add.f r4.w, r3.y, c46.y
MESA: info: mad.f32 r5.w, r2.z, r7.z, (last)r5.w
MESA: info: mad.f32 r8.x, c34.x, r2.y, c36.x
MESA: info: mad.f32 r5.w, r2.x, r7.y, (last)r5.w
MESA: info: mad.f32 r8.y, c34.y, r2.y, c36.y
MESA: info: mad.f32 r8.z, c34.z, r2.y, c36.z
MESA: info: mul.f r5.w, (last)r5.w, (2.0)
MESA: info: (ss)(rpt2)mul.f r3.w, (last)(r)r3.w, c45.y
MESA: info: mad.f32 r6.y, (neg)r5.w, r2.y, r7.x
MESA: info: mad.f32 r6.z, (neg)r5.w, r2.z, r7.z
MESA: info: mad.f32 r5.w, (neg)(last)r5.w, r2.x, r7.y
MESA: info: (rpt2)exp2 r3.w, (last)(r)r3.w
MESA: info: mul.f r7.w, r6.y, r6.y
MESA: info: add.f r4.z, (2.0), (neg)r3.x
MESA: info: mad.f32 r7.w, r6.z, r6.z, (last)r7.w
MESA: info: cmps.f.ge r5.x, c45.w, r3.y
MESA: info: mad.f32 r7.w, r5.w, r5.w, (last)r7.w
MESA: info: mad.f32 r8.x, c33.x, r2.x, (last)r8.x
MESA: info: mad.f32 r8.y, c33.y, r2.x, (last)r8.y
MESA: info: mad.f32 r8.z, c33.z, r2.x, (last)r8.z
MESA: info: mul.f r3.y, c45.z, (last)r3.y
MESA: info: mad.f32 r4.w, c46.x, r4.w, c46.z
MESA: info: rsq r7.w, (last)r7.w
MESA: info: mad.f32 r8.x, c35.x, r2.z, (last)r8.x
MESA: info: mad.f32 r8.y, c35.y, r2.z, (last)r8.y
MESA: info: mad.f32 r8.z, c35.z, r2.z, (last)r8.z
MESA: info: mul.f r3.x, (last)r3.x, (last)r4.z
MESA: info: sel.b32 r3.y, (last)r3.y, r5.x, (last)r4.w
MESA: info: cmps.f.lt p0.x, (1.0), c37.x
MESA: info: add.f r5.y, (1.0), (neg)r3.x
MESA: info: mad.f32 r5.z, c47.x, r3.y, c46.w
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r8.w, r8.x, r40.x, s#9, t#8
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r9.z, r8.x, r40.x, s#11, t#10
MESA: info: (ss)mul.f r6.y, (last)r6.y, r7.w
MESA: info: mul.f r6.z, (last)r6.z, r7.w
MESA: info: mul.f r5.w, (last)r5.w, (last)r7.w
MESA: info: mul.f r7.w, r2.y, r6.y
MESA: info: mul.f r11.w, r3.w, r3.x
MESA: info: mad.f32 r7.w, r2.z, r6.z, (last)r7.w
MESA: info: (sat)mad.f32 r0.w, r5.z, r5.y, r11.w
MESA: info: mad.f32 r7.w, r2.x, r5.w, (last)r7.w
MESA: info: (rpt1)mul.f r1.z, (r)r4.x, (last)r3.x
MESA: info: (sat)add.f r7.w, (1.0), (last)(absneg)r7.w
MESA: info: add.f r3.x, r3.y, (neg)r0.w
MESA: info: (sat)(rpt1)mad.f32 r1.x, (last)r5.z, r5.y, (r)r1.z
MESA: info: mul.f r8.y, r7.w, r7.w
MESA: info: max.f r4.z, (last)r3.x, (0.0)
MESA: info: (rpt1)add.f r5.y, r3.y, (neg)(r)r1.x
MESA: info: mul.f r8.y, (last)r8.y, r8.y
MESA: info: add.f r6.x, (1.0), (last)(neg)r3.y
MESA: info: mad.f32 r8.x, c34.x, r6.y, c36.x
MESA: info: mul.f r8.y, (last)r8.y, (last)r7.w
MESA: info: (rpt1)max.f r4.w, (last)(r)r5.y, (0.0)
MESA: info: (rpt2)mad.f32 r4.z, (r)(last)r4.z, r8.y, (r)(last)r0.w
MESA: info: mad.f32 r0.w, c34.y, r6.y, c36.y
MESA: info: mad.f32 r1.x, c34.z, r6.y, c36.z
MESA: info: mad.f32 r8.x, c33.x, r5.w, (last)r8.x
MESA: info: mad.f32 r0.w, c33.y, r5.w, (last)r0.w
MESA: info: mad.f32 r1.x, c33.z, r5.w, (last)r1.x
MESA: info: mul.f r6.x, c48.w, (last)r6.x
MESA: info: mad.f32 r8.x, c35.x, r6.z, (last)r8.x
MESA: info: mad.f32 r0.w, c35.y, r6.z, (last)r0.w
MESA: info: mad.f32 r1.x, c35.z, r6.z, (last)r1.x
MESA: info: (sat)add.f r3.w, (last)r3.w, (last)(neg)r11.w
MESA: info: (sat)add.f r4.x, (last)r4.x, (last)(neg)r1.z
MESA: info: (sat)add.f r4.y, (last)r4.y, (last)(neg)r1.w
MESA: info: add.f r8.z, (1.0), (neg)r4.z
MESA: info: add.f r0.y, (1.0), (neg)r5.x
MESA: info: alias.tex.b32.0 r0.z, r8.x
MESA: info: saml.3d.base2 (f32)(xyz)r1.y, r0.z, r6.x, s#9, t#8
MESA: info: (ss)nop
MESA: info: alias.tex.b32.0 r0.z, r8.x
MESA: info: saml.3d.base2 (f32)(xyz)r7.w, r0.z, r6.x, s#11, t#10
MESA: info: add.f r11.w, (1.0), (neg)r4.w
MESA: info: mul.f r3.w, (last)r3.w, r8.z
MESA: info: mul.f r4.y, (last)r4.y, (last)r0.y
MESA: info: mul.f r4.x, (last)r4.x, (last)r11.w
MESA: info: br !p0.x, #l250
MESA: info: mov.u32u32 r49.y, c0.x
MESA: info: mul.f r49.y, c48.z, r49.y
MESA: info: (nop1) mul.f r6.y, (last)r6.y, c28.y
MESA: info: (nop1) mad.f32 r6.z, c28.z, r6.z, (last)r6.y
MESA: info: (nop2) mad.f32 r5.w, c28.x, r5.w, (last)r6.z
MESA: info: max.f r5.w, (last)r5.w, (0.0)
MESA: info: (sy)max.f r8.w, r2.z, (0.0)
MESA: info: mul.f r9.y, r2.y, c28.y
MESA: info: (ss)mov.u32u32 r1.z, r49.y
MESA: info: mad.f32 r9.y, c28.z, r2.z, (last)r9.y
MESA: info: add.f r8.w, (1.0), (last)r8.w
MESA: info: mad.f32 r9.y, c28.x, r2.x, (last)r9.y
MESA: info: mul.f r8.x, c0.x, (last)r5.w
MESA: info: mul.f r9.x, c0.y, (last)r8.w
MESA: info: max.f r9.y, (last)r9.y, (0.0)
MESA: info: mov.u32u32 r1.w, r1.z
MESA: info: mov.u32u32 r1.y, r1.z
MESA: info: add.f r9.y, r9.x, (last)r9.y
MESA: info: mov.u32u32 r8.y, r8.x
MESA: info: mov.u32u32 r7.w, r8.x
MESA: info: mul.f r9.w, c0.z, (last)r9.y
MESA: info: mov.u32u32 r8.w, r9.x
MESA: info: mov.u32u32 r9.y, r9.x
MESA: info: mov.u32u32 r10.x, r9.w
MESA: info: mov.u32u32 r9.z, r9.w
MESA: info: l250:
MESA: info: (ss)mad.f32 r6.x, c48.x, r6.w, c47.w
MESA: info: mul.f r6.w, c37.x, (last)r6.w
MESA: info: mul.f r10.y, c41.x, (last)r10.y
MESA: info: mul.f r6.x, c0.w, (last)r6.x
MESA: info: mul.f r10.z, c41.y, (last)r10.z
MESA: info: mul.f r11.x, c41.z, (last)r11.x
MESA: info: mad.f32 r2.w, (neg)(last)r2.w, r0.x, c49.x
MESA: info: (sy)mul.f r6.y, c37.x, r1.y
MESA: info: mul.f r6.z, c37.x, r1.z
MESA: info: mad.f32 r7.w, c0.w, r7.w, (neg)(last)r6.y
MESA: info: mad.f32 r8.x, c0.w, r8.x, (neg)(last)r6.z
MESA: info: add.f r5.y, (last)r9.z, (neg)r8.w
MESA: info: mul.f r7.w, r3.z, (last)r7.w
MESA: info: mul.f r6.x, (last)r6.x, r3.z
MESA: info: mad.f32 r1.y, c37.x, r1.y, (last)r7.w
MESA: info: mul.f r7.w, r7.x, r7.x
MESA: info: mul.f r8.x, r3.z, (last)r8.x
MESA: info: mad.f32 r7.w, r7.z, r7.z, (last)r7.w
MESA: info: mad.f32 r1.z, c37.x, r1.z, (last)r8.x
MESA: info: mad.f32 r7.w, r7.y, r7.y, (last)r7.w
MESA: info: (rpt1)add.f r5.z, (last)(r)r9.w, (neg)(r)r9.x
MESA: info: (rpt2)mul.f r5.y, (last)r6.x, (last)(r)r5.y
MESA: info: rsq r7.w, (last)r7.w
MESA: info: (rpt2)mad.f32 r8.w, (last)r6.w, (r)r8.w, (r)(last)r5.y
MESA: info: mul.f r6.w, c37.x, r1.w
MESA: info: mul.f r4.z, (last)r4.z, (last)r1.y
MESA: info: mul.f r4.w, (last)r4.w, (last)r1.z
MESA: info: mad.f32 r8.y, c0.w, r8.y, (neg)(last)r6.w
MESA: info: mad.f32 r3.w, (last)r3.w, r8.w, (last)r4.z
MESA: info: mad.f32 r4.x, (last)r4.x, r9.x, (last)r4.w
MESA: info: mul.f r3.z, (last)r3.z, (last)r8.y
MESA: info: mul.f r3.w, c28.w, (last)r3.w
MESA: info: mul.f r4.x, c28.w, (last)r4.x
MESA: info: (ss)mul.f r7.x, (last)r7.x, r7.w
MESA: info: mul.f r7.y, (last)r7.y, r7.w
MESA: info: mul.f r7.z, (last)r7.z, (last)r7.w
MESA: info: mad.f32 r1.w, c37.x, r1.w, (last)r3.z
MESA: info: mad.f32 r10.x, c34.x, r7.x, c36.x
MESA: info: mad.f32 r8.x, (last)r3.w, r10.w, (last)r10.y
MESA: info: mad.f32 r10.x, c33.x, r7.y, (last)r10.x
MESA: info: mad.f32 r8.y, (last)r4.x, r11.y, (last)r10.z
MESA: info: mul.f r5.x, (last)r5.x, (last)r1.w
MESA: info: mad.f32 r10.x, c35.x, r7.z, (last)r10.x
MESA: info: (rpt1)mad.f32 r10.y, (r)c34.y, r7.x, (r)c36.y
MESA: info: (rpt1)mad.f32 r10.y, (r)c33.y, r7.y, (r)(last)r10.y
MESA: info: (rpt1)mad.f32 r10.y, (r)c35.y, r7.z, (r)(last)r10.y
MESA: info: mad.f32 r4.y, (last)r4.y, r9.y, (last)r5.x
MESA: info: add.f r8.w, r0.z, c44.w
MESA: info: mul.f r9.x, c21.x, r2.y
MESA: info: mul.f r4.y, c28.w, (last)r4.y
MESA: info: (sat)mul.f r8.w, (last)r8.w, c45.x
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r0.w, r10.x, r40.x, s#13, t#12
MESA: info: mul.f r10.w, c21.y, r2.y
MESA: info: mad.f32 r4.y, (last)r4.y, r11.z, (last)r11.x
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: saml.3d.base2 (f32)(xyz)r11.x, r10.x, r40.x, s#13, t#12
MESA: info: mad.f32 r9.y, c20.x, r2.x, (last)r9.x
MESA: info: mul.f r2.y, c21.z, (last)r2.y
MESA: info: mov.u32u32 r4.z, 0x3f800000
MESA: info: mad.f32 r3.z, (neg)(last)r8.z, r2.w, c49.x
MESA: info: mad.f32 r9.z, c20.y, r2.x, (last)r10.w
MESA: info: mad.f32 r9.w, c20.z, r2.x, (last)r2.y
MESA: info: (sy)add.f r11.x, (last)r11.x, (neg)r0.w
MESA: info: add.f r11.y, (last)r11.y, (neg)r1.x
MESA: info: add.f r11.z, (last)r11.z, (neg)r1.y
MESA: info: mad.f32 r1.z, r8.w, r11.x, (last)r0.w
MESA: info: mad.f32 r1.w, r8.w, r11.y, (last)r1.x
MESA: info: mad.f32 r8.w, (last)r8.w, r11.z, (last)r1.y
MESA: info: (rpt1)mad.f32 r1.z, c28.w, (r)r1.z, (neg)(r)r8.x
MESA: info: mad.f32 r8.w, c28.w, r8.w, (neg)r4.y
MESA: info: (rpt1)mad.f32 r2.w, r0.z, (r)r1.z, (r)(last)r8.x
MESA: info: mad.f32 r3.y, (last)r0.z, r8.w, (last)r4.y
MESA: info: (rpt2)mad.f32 r3.w, (r)c22.x, r2.z, (r)(last)r9.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r2.w (FRAG_RESULT_DATA0) r3.w (FRAG_RESULT_DATA1)
MESA: info: ; FRAG: inputs: r0.z (VARYING_SLOT_VAR0 slot=32 cm=f,il=0,b=1) r6.z (VARYING_SLOT_VAR1 slot=33 cm=f,il=4,b=1) r4.z (VARYING_SLOT_VAR2 slot=34 cm=f,il=8,b=1) r7.x (VARYING_SLOT_VAR3 slot=35 cm=f,il=12,b=1) r11.z (VARYING_SLOT_VAR4 slot=36 cm=f,il=16,b=1) r0.x (VARYING_SLOT_VAR5 slot=37 cm=7,il=20,b=1) r0.z (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_CENTROID slot=58 cm=3,il=0,b=0) r2.x (SYSTEM_VALUE_FRONT_FACE slot=23 cm=1,il=0,b=0)
MESA: info: ; FRAG prog 121/1: 333 instr, 20 nops, 313 non-nops, 12 mov, 0 cov, 672 dwords
MESA: info: ; FRAG prog 121/1: 20 last-baryf, 118 last-helper, 0 half, 12 full, 52 constlen
MESA: info: ; FRAG prog 121/1: 26 cat0, 12 cat1, 155 cat2, 114 cat3, 12 cat4, 7 cat5, 0 cat6, 7 cat7
MESA: info: ; FRAG prog 121/1: 20 sstall, 9 (ss), 81 systall, 4 (sy), 0 loops
MESA: info: ; FRAG prog 121/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 42 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.z
MESA: info: ; pos (ij_centroid): r0.x
MESA: info: ; data0: r2.w
MESA: info: ; data1: r3.w
MESA: info: ; fragface: r2.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x61021ade, 0x13d2a139, 0x7a82eb01, 0x0d90b229, 0xb3ca7a6d, 0x08574d29, 0x8f5f117d, 0x90ae7da2}
MESA: info: inputs_read: 15-24
MESA: info: outputs_written: 0,32-37
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 10
MESA: info: outputs: 7
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VERT_ATTRIB_GENERIC2.xyzw, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #3 (VERT_ATTRIB_GENERIC3.xyzw, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #4 (VERT_ATTRIB_GENERIC4.xyz, 4, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #5 (VERT_ATTRIB_GENERIC5.xyz, 5, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #6 (VERT_ATTRIB_GENERIC6.xyzw, 6, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #7 (VERT_ATTRIB_GENERIC7.xyz, 7, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #8 (VERT_ATTRIB_GENERIC8.xy, 8, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #9 (VERT_ATTRIB_GENERIC9.xyzw, 9, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #10 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #11 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #12 (VARYING_SLOT_VAR1.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #13 (VARYING_SLOT_VAR2.xyzw, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #14 (VARYING_SLOT_VAR3.xyzw, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #15 (VARYING_SLOT_VAR4.xyzw, 5, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec3 #16 (VARYING_SLOT_VAR5.xyz, 6, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #17
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %5 = @bindless_resource_ir3 (%3 (0x2)) (desc_set=1)
MESA: info:             con 32    %495 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32    %524 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32x2  %497 = @load_ubo_vec4 (%5, %524 (0x10)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %8 = @bindless_resource_ir3 (%2 (0.000000)) (desc_set=1)
MESA: info:             con 32    %525 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %500 = @load_ubo_vec4 (%8, %525 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32x2  %646 = fmul %497, %500.xx
MESA: info:             con 32x2  %647 = fabs %646.yx
MESA: info:             con 32     %14 = fneg %647.y
MESA: info:             con 1      %15 = feq! %647.x, %14
MESA: info:             con 32     %16 = b2i32 %15
MESA: info:                              @store_const_ir3 (%16) (base=0)
MESA: info:             con 32     %17 = fneg %646.x
MESA: info:                              @store_const_ir3 (%17) (base=1)
MESA: info:             con 32    %645 = fsub %646.y, %646.x
MESA: info:             con 32     %19 = frcp %645
MESA: info:                              @store_const_ir3 (%19) (base=2)
MESA: info:             con 32     %20 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %21 = frcp %500
MESA: info:             con 32x2  %503 = @load_ubo_vec4 (%5, %2 (0.000000)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %24 = fmul %503.x, %500
MESA: info:                              @store_const_ir3 (%24) (base=3)
MESA: info:             con 32     %25 = fmul %503.y, %21
MESA: info:                              @store_const_ir3 (%25) (base=4)
MESA: info:             con 32     %26 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32     %30 = @bindless_resource_ir3 (%495 (0x4)) (desc_set=1)
MESA: info:             con 32x2  %506 = @load_ubo_vec4 (%30, %2 (0.000000)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %527 = load_const (0x00000019 = 0.000000 = 25)
MESA: info:             con 32    %509 = @load_ubo_vec4 (%8, %527 (0x19)) (access=speculatable, base=0, component=1)
MESA: info:             con 32x2  %648 = fmul %506, %509.xx
MESA: info:             con 32     %36 = fneg %648.x
MESA: info:                              @store_const_ir3 (%36) (base=5)
MESA: info:             con 32     %37 = frcp %648.y
MESA: info:                              @store_const_ir3 (%37) (base=6)
MESA: info:             con 32    %512 = @load_ubo_vec4 (%30, %495 (0x4)) (access=speculatable, base=0, component=1)
MESA: info:             con 1      %40 = fge! %2 (0.000000), %512
MESA: info:             con 1      %41 = inot %40
MESA: info:             con 32     %42 = b2i32 %41
MESA: info:                              @store_const_ir3 (%42) (base=7)
MESA: info:             con 32     %43 = frcp %512
MESA: info:                              @store_const_ir3 (%43) (base=8)
MESA: info:             con 32    %515 = @load_ubo_vec4 (%30, %3 (0x2)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %45 = frcp %515
MESA: info:                              @store_const_ir3 (%45) (base=9)
MESA: info:             con 32    %530 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32    %518 = @load_ubo_vec4 (%30, %530 (0x3)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %47 = frcp %518
MESA: info:                              @store_const_ir3 (%47) (base=10)
MESA: info:             con 32    %521 = @load_ubo_vec4 (%30, %495 (0x4)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %643 = fneg %521
MESA: info:             con 32    %644 = ffma %643, %521, %20 (1.000000)
MESA: info:             con 32x2  %649 = load_const (0x40000000, 0x3f800000) = (2.000000, 1.000000)
MESA: info:             con 32x2  %650 = ffma %521.xx, %521.xx, %649 (2.000000, 1.000000)
MESA: info:             con 32    %651 = mov %650.y
MESA: info:                              @store_const_ir3 (%651) (base=11)
MESA: info:             con 32     %55 = frcp %650.x
MESA: info:             con 32     %56 = load_const (0x3ef47d19 = 0.477517)
MESA: info:             con 32     %57 = fmul %644, %56 (0.477517)
MESA: info:             con 32     %58 = fmul %57, %55
MESA: info:                              @store_const_ir3 (%58) (base=12)
MESA: info:             con 32     %59 = fmul %26 (2.000000), %521
MESA: info:                              @store_const_ir3 (%59) (base=13)
MESA: info:             con 32     %62 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %62 (0x14)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %2 (0.000000)) (base=32, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%30, %2 (0.000000)) (base=48, range=8)
MESA: info:             con 32     %69 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %70 = @bindless_resource_ir3 (%69 (0x1)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%70, %2 (0.000000)) (base=80, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %72 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x4   %73 = @load_input (%72 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x4   %74 = @load_input (%72 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x4   %75 = @load_input (%72 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x4   %76 = @load_input (%72 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32x3   %77 = @load_input (%72 (0x0)) (base=4, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC4 slots=1)
MESA: info:     div 32x3   %78 = @load_input (%72 (0x0)) (base=5, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC5 slots=1)
MESA: info:     div 32x4   %79 = @load_input (%72 (0x0)) (base=6, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC6 slots=1)
MESA: info:     div 32x3   %80 = @load_input (%72 (0x0)) (base=7, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC7 slots=1)
MESA: info:     div 32x2   %81 = @load_input (%72 (0x0)) (base=8, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC8 slots=1)
MESA: info:     div 32x4   %82 = @load_input (%72 (0x0)) (base=9, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC9 slots=1)
MESA: info:     con 32x3   %89 = @load_const_ir3 (%72 (0x0)) (base=28)
MESA: info:     div 32x3  %653 = fmax %89, %77
MESA: info:     div 32x3  %655 = fmin %653, %78
MESA: info:     div 32x3  %657 = fsub %89, %655
MESA: info:     div 32    %103 = fmul %657.y, %657.y
MESA: info:     div 32    %637 = ffma %657.z, %657.z, %103
MESA: info:     div 32    %636 = ffma %657.x, %657.x, %637
MESA: info:     div 32    %107 = fsqrt %636
MESA: info:     con 32    %109 = @load_const_ir3 (%72 (0x0)) (base=0)
MESA: info:     con 1     %111 = ine %109, %72 (0x0)
MESA: info:                      // succs: b7 b8
MESA: info:     if %111 {
MESA: info:         con block b7:        // preds: b6
MESA: info:         div 32x4  %660 = fmul %74, %79.yyyy
MESA: info:         div 32x4  %663 = ffma %73, %79.xxxx, %660
MESA: info:         div 32x4  %666 = ffma %75, %79.zzzz, %663
MESA: info:         div 32x4  %672 = ffma %76, %79.wwww, %666
MESA: info:         div 32x4  %701 = mov %672.wzyx
MESA: info:                          // succs: b9
MESA: info:     } else {
MESA: info:         con block b8:        // preds: b6
MESA: info:         con 32    %141 = @load_const_ir3 (%72 (0x0)) (base=1)
MESA: info:         div 32    %142 = fadd %107, %141
MESA: info:         con 32    %144 = @load_const_ir3 (%72 (0x0)) (base=2)
MESA: info:         div 32    %145 = fmul %142, %144
MESA: info:         div 32    %146 = fsat %145
MESA: info:         div 32x3  %676 = fneg %79.xyz
MESA: info:         div 32x3  %677 = ffma %676, %146.xxx, %79.xyz
MESA: info:         div 32x4  %680 = fmul %74, %677.yyyy
MESA: info:         div 32x4  %683 = ffma %73, %677.xxxx, %680
MESA: info:         div 32x4  %686 = ffma %75, %677.zzzz, %683
MESA: info:         div 32x4  %692 = fadd %686, %76
MESA: info:         div 32x4  %702 = mov %692.wzyx
MESA: info:                          // succs: b9
MESA: info:     }
MESA: info:     con block b9:        // preds: b7 b8
MESA: info:     div 32x4  %700 = phi b7: %701, b8: %702
MESA: info:     con 32    %184 = load_const (0x3f800000 = 1.000000)
MESA: info:     con 32    %188 = @load_const_ir3 (%72 (0x0)) (base=3)
MESA: info:     con 32    %190 = @load_const_ir3 (%72 (0x0)) (base=4)
MESA: info:     div 32    %609 = fsub %188, %107
MESA: info:     con 32    %193 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32    %194 = fmul %193 (2.000000), %609
MESA: info:     div 32    %195 = fmul %194, %190
MESA: info:     div 32    %196 = fsat %195
MESA: info:     con 32x4  %199 = @load_const_ir3 (%72 (0x0)) (base=32)
MESA: info:     con 32x4  %207 = @load_const_ir3 (%72 (0x0)) (base=36)
MESA: info:     div 32x4  %705 = fmul %207, %700.zzzz
MESA: info:     div 32x4  %708 = ffma %199, %700.wwww, %705
MESA: info:     con 32x4  %219 = @load_const_ir3 (%72 (0x0)) (base=40)
MESA: info:     div 32x4  %711 = ffma %219, %700.yyyy, %708
MESA: info:     con 32x4  %231 = @load_const_ir3 (%72 (0x0)) (base=44)
MESA: info:     div 32x4  %714 = fadd %711, %231
MESA: info:     div 32x3  %716 = fmul %74.xyz, %80.yyy
MESA: info:     div 32x3  %718 = ffma %73.xyz, %80.xxx, %716
MESA: info:     div 32x3  %720 = ffma %75.xyz, %80.zzz, %718
MESA: info:     div 32x3  %722 = fmul %74.xyz, %82.yyy
MESA: info:     div 32x3  %724 = ffma %73.xyz, %82.xxx, %722
MESA: info:     div 32x3  %726 = ffma %75.xyz, %82.zzz, %724
MESA: info:     div 32x3  %728 = fmul %720.zxy, %726.yzx
MESA: info:     div 32x3  %731 = fneg %728
MESA: info:     div 32x3  %732 = ffma %720.yzx, %726.zxy, %731
MESA: info:     div 32x3  %734 = fmul %732, %82.www
MESA: info:     con 32    %284 = @load_const_ir3 (%72 (0x0)) (base=48)
MESA: info:     div 32x3  %736 = fsub %700.wzy, %89
MESA: info:     div 32    %292 = fmul %736.y, %736.y
MESA: info:     div 32    %582 = ffma %736.z, %736.z, %292
MESA: info:     div 32    %581 = ffma %736.x, %736.x, %582
MESA: info:     div 32    %296 = fsqrt %581
MESA: info:     con 32    %298 = @load_const_ir3 (%72 (0x0)) (base=5)
MESA: info:     div 32    %299 = fadd %296, %298
MESA: info:     con 32    %301 = @load_const_ir3 (%72 (0x0)) (base=6)
MESA: info:     div 32    %302 = fmul %299, %301
MESA: info:     div 32    %303 = fsat %302
MESA: info:     div 32    %304 = fmul %303, %303
MESA: info:     div 32    %305 = fmul %304, %304
MESA: info:     div 32    %306 = fmul %305, %304
MESA: info:     div 32    %307 = fmul %284, %306
MESA: info:     con 32    %311 = @load_const_ir3 (%72 (0x0)) (base=65)
MESA: info:     con 32    %313 = @load_const_ir3 (%72 (0x0)) (base=7)
MESA: info:     con 1     %315 = ine %313, %72 (0x0)
MESA: info:                      // succs: b10 b16
MESA: info:     if %315 {
MESA: info:         con block b10:       // preds: b9
MESA: info:         con 32    %185 = load_const (0x00000001)
MESA: info:         div 32x3  %738 = fsub %89, %700.wzy
MESA: info:         con 1     %322 = flt! %89.z, %72 (0.000000)
MESA: info:         div 1     %323 = fge! %700.y, %72 (0.000000)
MESA: info:         div 1     %324 = iand %322, %323
MESA: info:         div 32    %325 = frcp %738.z
MESA: info:         div 32    %326 = fmul %89.z, %325
MESA: info:         div 32    %576 = fneg %326
MESA: info:         div 32x3  %740 = ffma %576.xxx, %738, %89
MESA: info:         div 32x3  %742 = bcsel %324.xxx, %740, %89
MESA: info:         div 32x3  %744 = fsub %742, %700.wzy
MESA: info:         con 32x3  %344 = @load_const_ir3 (%72 (0x0)) (base=56)
MESA: info:         con 32x3  %347 = @load_const_ir3 (%72 (0x0)) (base=60)
MESA: info:         div 32    %348 = fmax %742.z, %72 (0.000000)
MESA: info:         div 32    %349 = fmax %700.y, %72 (0.000000)
MESA: info:         div 32    %351 = fmul %744.y, %744.y
MESA: info:         div 32    %568 = ffma %744.z, %744.z, %351
MESA: info:         div 32    %567 = ffma %744.x, %744.x, %568
MESA: info:         div 32    %355 = fsqrt %567
MESA: info:         con 32    %357 = @load_const_ir3 (%72 (0x0)) (base=8)
MESA: info:         div 32    %358 = fmul %355, %357
MESA: info:         con 32x3  %751 = load_const (0x3f800000, 0x3f800000, 0x3f800000) = (1.000000, 1.000000, 1.000000)
MESA: info:         con 32x2  %755 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:         con 32x4  %764 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:         con 32x2  %767 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:                          // succs: b11
MESA: info:         con loop {
MESA: info:             con block b11:       // preds: b10 b14
MESA: info:             div 32x3  %750 = phi b10: %751 (1.000000, 1.000000, 1.000000), b14: %780
MESA: info:             div 32x2  %754 = phi b10: %755 (0.000000, 0.000000), b14: %756
MESA: info:             div 32x4  %763 = phi b10: %764 (0.000000, 0.000000, 0.000000, 0.000000), b14: %765
MESA: info:             div 32x2  %766 = phi b10: %767 (0.000000, 0.000000), b14: %783
MESA: info:             con 32    %370 = phi b10: %72 (0x0), b14: %430
MESA: info:             con 32    %371 = i2f32 %370
MESA: info:             con 1     %372 = flt! %371, %311
MESA: info:             con 1     %373 = inot %372
MESA: info:                              // succs: b12 b13
MESA: info:             if %373 {
MESA: info:                 con block b12:// preds: b11
MESA: info:                 break
MESA: info:                 // succs: b15
MESA: info:             } else {
MESA: info:                 con block b13:  // preds: b11, succs: b14
MESA: info:             }
MESA: info:             con block b14:       // preds: b13
MESA: info:             con 32    %374 = load_const (0x3f000000 = 0.500000)
MESA: info:             con 32    %375 = fadd %371, %374 (0.500000)
MESA: info:             con 32    %376 = fmul %375, %357
MESA: info:             div 32    %566 = fsub %349, %348
MESA: info:             div 32    %565 = ffma %376, %566, %348
MESA: info:             con 32    %382 = @load_const_ir3 (%72 (0x0)) (base=9)
MESA: info:             con 32    %383 = load_const (0x3fb8aa3b = 1.442695)
MESA: info:             div 32    %384 = fmul %565, %383 (1.442695)
MESA: info:             div 32    %385 = fmul %384, %382
MESA: info:             div 32    %386 = fneg %385
MESA: info:             div 32    %387 = fexp2 %386
MESA: info:             div 32    %388 = fmul %387, %358
MESA: info:             con 32    %390 = @load_const_ir3 (%72 (0x0)) (base=10)
MESA: info:             div 32    %391 = fmul %384, %390
MESA: info:             div 32    %392 = fneg %391
MESA: info:             div 32    %393 = fexp2 %392
MESA: info:             div 32    %394 = fmul %393, %358
MESA: info:             div 32    %395 = fadd %754.x, %388
MESA: info:             div 32    %396 = fadd %754.y, %394
MESA: info:             div 32x3  %770 = fmul %347, %396.xxx
MESA: info:             div 32x3  %774 = fneg %770
MESA: info:             con 32x3  %775 = fneg %344
MESA: info:             div 32x3  %776 = ffma %775, %395.xxx, %774
MESA: info:             div 32x3  %778 = fmul %776, %383 (1.442695).xxx
MESA: info:             div 32x3  %780 = fexp2 %778
MESA: info:             div 32x3  %782 = ffma %780, %388.xxx, %763.xyz
MESA: info:             div 32    %555 = ffma %780.x, %394, %763.w
MESA: info:             div 32x2  %783 = ffma %780.yz, %394.xx, %766
MESA: info:             con 32    %430 = iadd %370, %185 (0x1)
MESA: info:             div 32x2  %756 = vec2 %395, %396
MESA: info:             div 32x4  %765 = vec4 %782.x, %782.y, %782.z, %555
MESA: info:                              // succs: b11
MESA: info:         }
MESA: info:         con block b15:       // preds: b12
MESA: info:         div 32x3  %803 = phi b12: %750
MESA: info:         div 32x4  %802 = phi b12: %763
MESA: info:         div 32x2  %801 = phi b12: %766
MESA: info:         div 32    %431 = frsq %567
MESA: info:         div 32x3  %785 = fmul %744, %431.xxx
MESA: info:         con 32x3  %438 = @load_const_ir3 (%72 (0x0)) (base=80)
MESA: info:         div 32    %440 = fmul %785.y, %438.y
MESA: info:         div 32    %552 = ffma %785.z, %438.z, %440
MESA: info:         div 32    %551 = ffma %785.x, %438.x, %552
MESA: info:         con 32    %444 = load_const (0xbf800000 = -1.000000)
MESA: info:         div 32    %445 = fmax %551, %444 (-1.000000)
MESA: info:         div 32    %446 = fmin %445, %184 (1.000000)
MESA: info:         div 32    %550 = ffma %446, %446, %184 (1.000000)
MESA: info:         con 32    %449 = load_const (0x3f16c8b4 = 0.589000)
MESA: info:         div 32    %450 = fmul %449 (0.589000), %550
MESA: info:         div 32x3  %787 = fmul %344, %450.xxx
MESA: info:         con 32    %455 = @load_const_ir3 (%72 (0x0)) (base=11)
MESA: info:         con 32    %457 = @load_const_ir3 (%72 (0x0)) (base=12)
MESA: info:         con 32    %459 = @load_const_ir3 (%72 (0x0)) (base=13)
MESA: info:         con 32    %548 = fneg %459
MESA: info:         div 32    %549 = ffma %548, %446, %455
MESA: info:         con 32    %463 = load_const (0x3fc00000 = 1.500000)
MESA: info:         div 32    %464 = flog2 %549
MESA: info:         div 32    %465 = fmul %464, %463 (1.500000)
MESA: info:         div 32    %466 = fneg %465
MESA: info:         div 32    %467 = fexp2 %466
MESA: info:         div 32    %468 = fmul %550, %467
MESA: info:         div 32    %469 = fmul %457, %468
MESA: info:         div 32x3  %789 = fmul %347, %469.xxx
MESA: info:         div 32    %476 = fmul %802.w, %789.x
MESA: info:         div 32x2  %790 = fmul %801, %789.yz
MESA: info:         div 32    %547 = ffma %802.x, %787.x, %476
MESA: info:         div 32x2  %791 = ffma %802.yz, %787.yz, %790
MESA: info:                          // succs: b17
MESA: info:     } else {
MESA: info:         con block b16:       // preds: b9
MESA: info:         con 32x2  %795 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:         con 32x3  %800 = load_const (0x3f800000, 0x3f800000, 0x3f800000) = (1.000000, 1.000000, 1.000000)
MESA: info:                          // succs: b17
MESA: info:     }
MESA: info:     con block b17:       // preds: b15 b16
MESA: info:     div 32x2  %794 = phi b15: %791, b16: %795 (0.000000, 0.000000)
MESA: info:     div 32    %483 = phi b15: %547, b16: %72 (0x0)
MESA: info:     div 32x3  %799 = phi b15: %803, b16: %800 (1.000000, 1.000000, 1.000000)
MESA: info:                      @store_output (%714, %72 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %489 = vec4 %307, %700.x, %720.x, %720.y
MESA: info:                      @store_output (%489, %72 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %490 = vec4 %720.z, %726.x, %726.y, %726.z
MESA: info:                      @store_output (%490, %72 (0x0)) (base=2, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR1 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %491 = vec4 %734.x, %734.y, %734.z, %700.w
MESA: info:                      @store_output (%491, %72 (0x0)) (base=3, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR2 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %492 = vec4 %700.z, %700.y, %799.x, %799.y
MESA: info:                      @store_output (%492, %72 (0x0)) (base=4, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR3 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %493 = vec4 %799.z, %483, %794.x, %794.y
MESA: info:                      @store_output (%493, %72 (0x0)) (base=5, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR4 slots=1, xfb(), xfb2())
MESA: info:     div 32x3  %494 = vec3 %81.x, %81.y, %196
MESA: info:                      @store_output (%494, %72 (0x0)) (base=6, range=1, wrmask=xyz, component=0, src_type=float32, io location=VARYING_SLOT_VAR5 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b18
MESA: info:     block b18:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 c1e261f5ffaf6703ad5be2e333d741e45343b204:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (20 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c24.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      4
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (320b -> 384b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: @in(r1.x)	in1 (wrmask=0xf)
MESA: info: @in(r2.x)	in2 (wrmask=0xf)
MESA: info: @in(r3.x)	in3 (wrmask=0xf)
MESA: info: @in(r4.x)	in4 (wrmask=0x7)
MESA: info: @in(r4.w)	in5 (wrmask=0x7)
MESA: info: @in(r5.z)	in6 (wrmask=0xf)
MESA: info: @in(r6.z)	in7 (wrmask=0x7)
MESA: info: @in(r7.y)	in8 (wrmask=0x3)
MESA: info: @in(r8.x)	in9 (wrmask=0xf)
MESA: info: @const(c25.x)	0x3ef47d19, 0x3f16c8b4, 0xbf800000, 0x3f800000
MESA: info: @const(c26.x)	0x3fc00000, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l68
MESA: info: getone #l68
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 16, 2
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 0, 2
MESA: info: ldc.u.offset3.1.imm.base1 r48.z, 24, 0
MESA: info: ldc.u.offset0.1.imm.base1 r51.w, 4, 4
MESA: info: ldc.u.offset2.2.imm.base1 r49.y, 0, 4
MESA: info: ldc.u.offset1.1.imm.base1 r50.w, 25, 0
MESA: info: ldc.u.offset1.1.imm.base1 r51.x, 4, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.y, 2, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.z, 3, 4
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)(rpt1)mul.f r49.w, (r)r48.x, r48.z
MESA: info: mul.f r48.w, r48.w, r48.z
MESA: info: cmps.f.eq hr52.z, (abs)r50.x, (absneg)r49.w
MESA: info: mul.f r49.z, r49.z, r50.w
MESA: info: cmps.f.ge hr48.x, (0.0), r51.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: rcp r51.y, r51.y
MESA: info: rcp r51.z, r51.z
MESA: info: mul.f r49.y, r49.y, r50.w
MESA: info: cov.u16s32 r50.z, hr52.z
MESA: info: sub.u hr48.x, h(1), hr48.x
MESA: info: absneg.f r49.w, (neg)r49.w
MESA: info: absneg.f r49.y, (neg)r49.y
MESA: info: cov.u16s32 r48.y, hr48.x
MESA: info: (ss)nop
MESA: info: stc.u32 c[3], r48.w, 1
MESA: info: rcp r48.z, r48.z
MESA: info: rcp r49.z, r49.z
MESA: info: rcp r51.x, r51.x
MESA: info: rcp r50.x, r50.x
MESA: info: stc.u32 c[9], r51.y, 1
MESA: info: stc.u32 c[10], r51.z, 1
MESA: info: stc.u32 c[0], r50.z, 1
MESA: info: stc.u32 c[1], r49.w, 1
MESA: info: stc.u32 c[5], r49.y, 1
MESA: info: stc.u32 c[7], r48.y, 1
MESA: info: (ss)mul.f r48.w, r51.w, r51.w
MESA: info: add.f r48.w, r48.w, (2.0)
MESA: info: mul.f r49.x, r49.x, r48.z
MESA: info: mul.f r48.z, (neg)r51.w, r51.w
MESA: info: add.f r48.z, r48.z, (1.0)
MESA: info: mul.f r48.z, r48.z, c25.x
MESA: info: stc.u32 c[6], r49.z, 1
MESA: info: stc.u32 c[8], r51.x, 1
MESA: info: stc.u32 c[2], r50.x, 1
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[4], r49.x, 1
MESA: info: (ss)mul.f r48.z, r48.z, r48.w
MESA: info: mul.f r49.x, r51.w, r51.w
MESA: info: add.f r49.x, r49.x, (1.0)
MESA: info: mul.f r51.w, (2.0), r51.w
MESA: info: (ss)nop
MESA: info: stc.u32 c[12], r48.z, 1
MESA: info: stc.u32 c[11], r49.x, 1
MESA: info: stc.u32 c[13], r51.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 20, 0
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)80
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l68:
MESA: info: (jp)max.f r4.y, c7.y, (last)r4.y
MESA: info: max.f r4.z, c7.z, (last)r4.z
MESA: info: max.f r4.x, c7.x, (last)r4.x
MESA: info: min.f r4.y, (last)r4.y, (last)r5.x
MESA: info: min.f r4.z, (last)r4.z, (last)r5.y
MESA: info: min.f r4.x, (last)r4.x, (last)r4.w
MESA: info: add.f r4.y, c7.y, (last)(neg)r4.y
MESA: info: add.f r4.z, c7.z, (last)(neg)r4.z
MESA: info: add.f r4.x, c7.x, (last)(neg)r4.x
MESA: info: mul.f r4.y, (last)r4.y, r4.y
MESA: info: cmps.s.ne p0.x, c0.x, 0
MESA: info: (nop1) mad.f32 r4.z, (last)r4.z, r4.z, (last)r4.y
MESA: info: (nop3) mad.f32 r4.x, (last)r4.x, r4.x, (last)r4.z
MESA: info: (rpt1)nop
MESA: info: sqrt r4.x, (last)r4.x
MESA: info: br !p0.x, #l101
MESA: info: mul.f r9.x, r1.x, r5.w
MESA: info: mul.f r1.w, (last)r1.w, r5.w
MESA: info: mad.f32 r9.x, r0.x, r5.z, (last)r9.x
MESA: info: mad.f32 r0.w, (last)r0.w, r5.z, r1.w
MESA: info: mad.f32 r9.x, r2.x, r6.x, (last)r9.x
MESA: info: mad.f32 r2.w, (last)r2.w, r6.x, r0.w
MESA: info: mad.f32 r9.w, (last)r3.x, r6.y, (last)r9.x
MESA: info: mul.f r3.x, r1.y, r5.w
MESA: info: mad.f32 r4.z, r3.w, r6.y, r2.w
MESA: info: (nop1) mad.f32 r3.x, r0.y, r5.z, (last)r3.x
MESA: info: (nop1) mad.f32 r3.x, r2.y, r6.x, (last)r3.x
MESA: info: mad.f32 r10.x, (last)r3.y, r6.y, r3.x
MESA: info: (nop1) mul.f r3.y, r1.z, r5.w
MESA: info: (nop1) mad.f32 r3.y, r0.z, r5.z, (last)r3.y
MESA: info: (nop1) mad.f32 r3.y, r2.z, r6.x, (last)r3.y
MESA: info: mad.f32 r10.y, r3.z, r6.y, r3.y
MESA: info: jump #l119
MESA: info: l101:
MESA: info: (ss)(nop2) add.f r5.y, r4.x, c0.y
MESA: info: (sat)(nop2) mul.f r5.y, (last)r5.y, c0.z
MESA: info: mad.f32 r5.w, (neg)(last)r5.w, r5.y, r5.w
MESA: info: mad.f32 r5.z, (neg)(last)r5.z, r5.y, r5.z
MESA: info: mad.f32 r6.x, (neg)(last)r6.x, r5.y, r6.x
MESA: info: mul.f r6.y, r1.x, r5.w
MESA: info: mul.f r7.w, r1.y, r5.w
MESA: info: mad.f32 r6.y, r0.x, r5.z, (last)r6.y
MESA: info: mad.f32 r7.w, r0.y, r5.z, (last)r7.w
MESA: info: (rpt1)mul.f r9.x, (r)r1.z, (last)r5.w
MESA: info: mad.f32 r6.y, r2.x, r6.x, (last)r6.y
MESA: info: mad.f32 r7.w, r2.y, r6.x, (last)r7.w
MESA: info: (rpt1)mad.f32 r9.x, (r)r0.z, r5.z, (r)(last)r9.x
MESA: info: (rpt1)mad.f32 r9.x, (r)r2.z, r6.x, (r)(last)r9.x
MESA: info: add.f r9.w, (last)r6.y, (last)r3.x
MESA: info: add.f r10.x, (last)r7.w, (last)r3.y
MESA: info: add.f r10.y, (last)r9.x, (last)r3.z
MESA: info: add.f r4.z, (last)r9.y, (last)r3.w
MESA: info: l119:
MESA: info: add.f r5.z, r10.x, (neg)c7.y
MESA: info: add.f r6.x, r9.w, (neg)c7.x
MESA: info: add.f r5.w, r10.y, (neg)c7.z
MESA: info: mul.f r5.z, (last)r5.z, r5.z
MESA: info: (ss)add.f r4.x, c0.w, (last)(neg)r4.x
MESA: info: mad.f32 r5.w, (last)r5.w, r5.w, (last)r5.z
MESA: info: mul.f r1.w, r1.x, r6.w
MESA: info: mad.f32 r6.x, (last)r6.x, r6.x, (last)r5.w
MESA: info: mul.f r2.w, r1.y, r6.w
MESA: info: mul.f r1.x, (last)r1.x, r8.y
MESA: info: mul.f r1.y, (last)r1.y, r8.y
MESA: info: mul.f r6.w, r1.z, (last)r6.w
MESA: info: mul.f r1.z, (last)r1.z, (last)r8.y
MESA: info: sqrt r6.x, (last)r6.x
MESA: info: mad.f32 r1.w, r0.x, r6.z, (last)r1.w
MESA: info: mad.f32 r2.w, r0.y, r6.z, (last)r2.w
MESA: info: mad.f32 r0.x, (last)r0.x, r8.x, (last)r1.x
MESA: info: mad.f32 r0.y, (last)r0.y, r8.x, (last)r1.y
MESA: info: mad.f32 r6.z, r0.z, r6.z, (last)r6.w
MESA: info: mad.f32 r0.z, (last)r0.z, r8.x, (last)r1.z
MESA: info: mul.f r4.x, (2.0), (last)r4.x
MESA: info: mad.f32 r4.w, r2.x, r7.x, (last)r1.w
MESA: info: mad.f32 r5.x, r2.y, r7.x, (last)r2.w
MESA: info: mad.f32 r3.y, (last)r2.x, r8.z, (last)r0.x
MESA: info: (ss)add.f r6.x, (last)r6.x, c1.y
MESA: info: mad.f32 r3.z, (last)r2.y, r8.z, (last)r0.y
MESA: info: mad.f32 r3.x, r2.z, r7.x, (last)r6.z
MESA: info: (sat)mul.f r6.x, (last)r6.x, c1.z
MESA: info: mad.f32 r3.w, (last)r2.z, r8.z, (last)r0.z
MESA: info: mul.f r9.z, c9.x, r10.x
MESA: info: mul.f r6.x, (last)r6.x, r6.x
MESA: info: mul.f r11.z, c9.y, r10.x
MESA: info: mul.f r11.w, c9.z, r10.x
MESA: info: mul.f r0.w, c9.w, r10.x
MESA: info: mul.f r6.y, r6.x, r6.x
MESA: info: (sat)mul.f r7.w, (last)r4.x, c1.x
MESA: info: mul.f r5.y, r5.x, r3.y
MESA: info: mul.f r4.y, r4.w, r3.w
MESA: info: mad.f32 r9.z, c8.x, r9.w, (last)r9.z
MESA: info: mad.f32 r11.z, c8.y, r9.w, (last)r11.z
MESA: info: mad.f32 r11.w, c8.z, r9.w, (last)r11.w
MESA: info: mad.f32 r0.w, c8.w, r9.w, (last)r0.w
MESA: info: mul.f r4.x, r3.x, r3.z
MESA: info: mul.f r6.y, (last)r6.y, (last)r6.x
MESA: info: mad.f32 r5.y, r4.w, r3.z, (neg)(last)r5.y
MESA: info: mad.f32 r4.y, r3.x, r3.y, (neg)(last)r4.y
MESA: info: mad.f32 r9.z, c10.x, r10.y, (last)r9.z
MESA: info: mad.f32 r11.z, c10.y, r10.y, (last)r11.z
MESA: info: mad.f32 r11.w, c10.z, r10.y, (last)r11.w
MESA: info: mad.f32 r0.w, c10.w, r10.y, (last)r0.w
MESA: info: mad.f32 r4.x, r5.x, r3.w, (neg)(last)r4.x
MESA: info: cmps.s.ne p0.x, c1.w, 0
MESA: info: mul.f r9.y, (last)r4.y, r8.w
MESA: info: add.f r10.z, (last)r9.z, c11.x
MESA: info: add.f r10.w, (last)r11.z, c11.y
MESA: info: add.f r11.x, (last)r11.w, c11.z
MESA: info: add.f r11.y, (last)r0.w, c11.w
MESA: info: mul.f r9.x, (last)r4.x, r8.w
MESA: info: mul.f r4.y, c12.x, (last)r6.y
MESA: info: mul.f r9.z, (last)r5.y, (last)r8.w
MESA: info: br !p0.x, #l286
MESA: info: cmps.f.lt hr50.z, c7.z, (0.0)
MESA: info: mov.u32u32 r49.z, 0
MESA: info: add.f r8.z, c7.z, (neg)r10.y
MESA: info: cmps.f.ge hr13.x, r10.y, (0.0)
MESA: info: (rpt1)add.f r8.x, (r)c7.x, (neg)(r)r9.w
MESA: info: max.f r8.w, r10.y, (0.0)
MESA: info: mov.u32u32 r0.w, 0x3f800000
MESA: info: rcp r11.z, r8.z
MESA: info: mov.u32u32 r1.x, 0x3f800000
MESA: info: mov.u32u32 r5.y, 0
MESA: info: mov.u32u32 r4.x, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: mov.u32u32 r2.z, 0
MESA: info: mov.u32u32 r2.y, 0
MESA: info: mov.u32u32 r2.x, 0
MESA: info: mov.u32u32 r1.w, 0
MESA: info: mov.u32u32 r1.z, 0
MESA: info: mov.u32u32 r1.y, 0x3f800000
MESA: info: (ss)mul.f r11.z, c7.z, (last)r11.z
MESA: info: (nop1) and.b r11.w, hr50.z, (last)hr13.x
MESA: info: (rpt1)mad.f32 r8.y, (neg)r11.z, (r)r8.y, (r)c7.y
MESA: info: mad.f32 r11.z, (neg)(last)r11.z, r8.x, c7.x
MESA: info: (rpt1)sel.b32 r8.y, (r)(last)r8.y, r11.w, (r)c7.y
MESA: info: sel.b32 r11.z, (last)r11.z, r11.w, c7.x
MESA: info: add.f r8.y, (last)r8.y, (neg)r10.x
MESA: info: add.f r0.x, r8.z, (neg)r10.y
MESA: info: add.f r11.z, (last)r11.z, (neg)r9.w
MESA: info: mul.f r0.y, r8.y, r8.y
MESA: info: max.f r8.z, (last)r8.z, (0.0)
MESA: info: (nop1) mad.f32 r0.y, r0.x, r0.x, (last)r0.y
MESA: info: (nop3) mad.f32 r0.y, r11.z, r11.z, (last)r0.y
MESA: info: (rpt1)nop
MESA: info: sqrt r0.z, r0.y
MESA: info: (ss)mul.f r0.z, (last)r0.z, c2.x
MESA: info: l214:
MESA: info: cov.s32f32 r49.w, r49.z
MESA: info: cmps.f.lt hr52.x, r49.w, c16.y
MESA: info: (ss)(nop3) cmps.s.ne p0.x, hr52.x, h(0)
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l254
MESA: info: add.f r49.w, r49.w, (0.5)
MESA: info: mul.f r49.w, r49.w, c2.x
MESA: info: add.u r49.z, r49.z, 1
MESA: info: (nop2) add.f r5.z, r8.w, (neg)r8.z
MESA: info: (ss)(nop2) mad.f32 r5.z, r49.w, r5.z, r8.z
MESA: info: (nop2) mul.f r5.z, (last)r5.z, (log2(e))
MESA: info: mul.f r5.w, r5.z, c2.y
MESA: info: (nop3) mul.f r5.z, (last)r5.z, c2.z
MESA: info: (rpt1)nop
MESA: info: exp2 r5.z, (last)(neg)r5.z
MESA: info: exp2 r5.w, (last)(neg)r5.w
MESA: info: (ss)mul.f r5.z, (last)r5.z, r0.z
MESA: info: (nop1) mul.f r5.w, (last)r5.w, r0.z
MESA: info: add.f r1.w, (last)r1.w, r5.z
MESA: info: (nop1) add.f r1.z, (last)r1.z, r5.w
MESA: info: mul.f r6.x, c15.x, r1.w
MESA: info: (rpt1)mul.f r6.y, (r)c15.y, r1.w
MESA: info: mad.f32 r6.x, (neg)c14.x, r1.z, (neg)(last)r6.x
MESA: info: (rpt1)mad.f32 r6.y, (neg)(r)c14.y, r1.z, (neg)(r)(last)r6.y
MESA: info: mul.f r6.x, (last)r6.x, (log2(e))
MESA: info: (rpt1)mul.f r6.y, (last)(r)r6.y, (log2(e))
MESA: info: (rpt2)nop
MESA: info: exp2 r6.x, (last)r6.x
MESA: info: nop
MESA: info: (rpt1)exp2 r6.y, (last)(r)r6.y
MESA: info: (ss)mad.f32 r2.x, r6.x, r5.w, (last)r2.x
MESA: info: mad.f32 r2.w, r6.x, r5.z, (last)r2.w
MESA: info: mov.u32u32 r0.w, (last)r6.x
MESA: info: mad.f32 r2.y, r6.y, r5.w, (last)r2.y
MESA: info: mad.f32 r4.x, r6.y, r5.z, (last)r4.x
MESA: info: mad.f32 r2.z, r6.z, r5.w, (last)r2.z
MESA: info: mad.f32 r5.y, r6.z, r5.z, (last)r5.y
MESA: info: mov.u32u32 r1.x, (last)r6.y
MESA: info: mov.u32u32 r1.y, (last)r6.z
MESA: info: jump #l214
MESA: info: l254:
MESA: info: rsq r0.y, (last)r0.y
MESA: info: mov.u32u32 r0.z, (last)r1.x
MESA: info: (ss)mul.f r8.y, (last)r8.y, r0.y
MESA: info: mul.f r0.x, (last)r0.x, r0.y
MESA: info: mul.f r11.z, (last)r11.z, (last)r0.y
MESA: info: mul.f r8.y, (last)r8.y, c20.y
MESA: info: mov.u32u32 r0.y, (last)r0.w
MESA: info: mad.f32 r0.x, c20.z, r0.x, (last)r8.y
MESA: info: mov.u32u32 r0.w, (last)r1.y
MESA: info: (nop2) mad.f32 r11.z, c20.x, r11.z, (last)r0.x
MESA: info: (nop2) max.f r11.z, (last)r11.z, c25.z
MESA: info: (nop2) min.f r11.z, (last)r11.z, (1.0)
MESA: info: mad.f32 r6.w, r11.z, r11.z, c25.w
MESA: info: (nop1) mad.f32 r11.z, (neg)c3.y, r11.z, c2.w
MESA: info: (nop2) mul.f r7.x, c25.y, r6.w
MESA: info: (rpt2)mul.f r8.x, (r)c14.x, (last)r7.x
MESA: info: log2 r11.z, (last)r11.z
MESA: info: (ss)(nop3) mul.f r11.z, (last)r11.z, c26.x
MESA: info: (rpt1)nop
MESA: info: exp2 r11.z, (last)(neg)r11.z
MESA: info: (ss)(nop2) mul.f r6.w, (last)r6.w, (last)r11.z
MESA: info: (nop2) mul.f r6.w, c3.x, (last)r6.w
MESA: info: mul.f r8.w, c15.x, r6.w
MESA: info: (rpt1)mul.f r11.z, (r)c15.y, (last)r6.w
MESA: info: mul.f r2.w, (last)r2.w, (last)r8.w
MESA: info: mul.f r4.x, (last)r4.x, (last)r11.z
MESA: info: mad.f32 r2.x, (last)r2.x, r8.x, (last)r2.w
MESA: info: mul.f r5.y, (last)r5.y, (last)r11.w
MESA: info: mad.f32 r11.z, (last)r2.y, r8.y, (last)r4.x
MESA: info: mov.u32u32 r0.x, (last)r2.x
MESA: info: mad.f32 r11.w, (last)r2.z, r8.z, (last)r5.y
MESA: info: jump #l292
MESA: info: l286:
MESA: info: mov.u32u32 r11.z, 0
MESA: info: mov.u32u32 r0.w, 0x3f800000
MESA: info: mov.u32u32 r0.z, 0x3f800000
MESA: info: mov.u32u32 r0.y, 0x3f800000
MESA: info: mov.u32u32 r0.x, 0
MESA: info: mov.u32u32 r11.w, 0
MESA: info: l292:
MESA: info: mov.u32u32 r1.x, (last)r0.w
MESA: info: mov.u32u32 r1.y, (last)r0.x
MESA: info: mov.u32u32 r1.z, (last)r11.z
MESA: info: mov.u32u32 r1.w, (last)r11.w
MESA: info: mov.u32u32 r2.x, (last)r10.x
MESA: info: mov.u32u32 r2.y, (last)r10.y
MESA: info: mov.u32u32 r2.z, (last)r0.y
MESA: info: mov.u32u32 r2.w, (last)r0.z
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r10.z (VARYING_SLOT_POS) r4.y (VARYING_SLOT_VAR0) r3.x (VARYING_SLOT_VAR1) r9.x (VARYING_SLOT_VAR2) r2.x (VARYING_SLOT_VAR3) r1.x (VARYING_SLOT_VAR4) r7.y (VARYING_SLOT_VAR5)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r1.x (VERT_ATTRIB_GENERIC1 slot=16 cm=f,il=0,b=0) r2.x (VERT_ATTRIB_GENERIC2 slot=17 cm=f,il=0,b=0) r3.x (VERT_ATTRIB_GENERIC3 slot=18 cm=f,il=0,b=0) r4.x (VERT_ATTRIB_GENERIC4 slot=19 cm=7,il=0,b=0) r4.w (VERT_ATTRIB_GENERIC5 slot=20 cm=7,il=0,b=0) r5.z (VERT_ATTRIB_GENERIC6 slot=21 cm=f,il=0,b=0) r6.z (VERT_ATTRIB_GENERIC7 slot=22 cm=7,il=0,b=0) r7.y (VERT_ATTRIB_GENERIC8 slot=23 cm=3,il=0,b=0) r8.x (VERT_ATTRIB_GENERIC9 slot=24 cm=f,il=0,b=0)
MESA: info: ; VERT prog 122/1: 301 instr, 62 nops, 239 non-nops, 33 mov, 1 cov, 610 dwords
MESA: info: ; VERT prog 122/1: 0 last-baryf, 0 last-helper, 0 half, 12 full, 28 constlen
MESA: info: ; VERT prog 122/1: 69 cat0, 34 cat1, 111 cat2, 75 cat3, 12 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 122/1: 77 sstall, 12 (ss), 0 systall, 0 (sy), 1 loops
MESA: info: ; VERT prog 122/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 69 preamble-instr, 1 early-preamble
MESA: info: ; pos: r10.z
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x61021ade, 0x13d2a139, 0x7a82eb01, 0x0d90b229, 0xb3ca7a6d, 0x08574d29, 0x8f5f117d, 0x90ae7da2}
MESA: info: inputs_read: 15-24
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 10
MESA: info: outputs: 7
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VERT_ATTRIB_GENERIC2.xyzw, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #3 (VERT_ATTRIB_GENERIC3.xyzw, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #4 (VERT_ATTRIB_GENERIC4.xyz, 4, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #5 (VERT_ATTRIB_GENERIC5.xyz, 5, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #6 (VERT_ATTRIB_GENERIC6.xyzw, 6, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #7 (VERT_ATTRIB_GENERIC7.xyz, 7, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #8 (VERT_ATTRIB_GENERIC8.xy, 8, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #9 (VERT_ATTRIB_GENERIC9.xyzw, 9, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #10 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #11 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #12 (VARYING_SLOT_VAR1.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #13 (VARYING_SLOT_VAR2.xyzw, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #14 (VARYING_SLOT_VAR3.xyzw, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #15 (VARYING_SLOT_VAR4.xyzw, 5, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec3 #16 (VARYING_SLOT_VAR5.xyz, 6, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #17
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %5 = @bindless_resource_ir3 (%3 (0x2)) (desc_set=1)
MESA: info:             con 32    %495 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32    %524 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:             con 32x2  %497 = @load_ubo_vec4 (%5, %524 (0x10)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %8 = @bindless_resource_ir3 (%2 (0.000000)) (desc_set=1)
MESA: info:             con 32    %525 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %500 = @load_ubo_vec4 (%8, %525 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32x2  %587 = fmul %497, %500.xx
MESA: info:             con 32x2  %588 = fabs %587.yx
MESA: info:             con 32     %14 = fneg %588.y
MESA: info:             con 1      %15 = feq! %588.x, %14
MESA: info:             con 32     %16 = b2i32 %15
MESA: info:                              @store_const_ir3 (%16) (base=0)
MESA: info:             con 32     %17 = fneg %587.x
MESA: info:                              @store_const_ir3 (%17) (base=1)
MESA: info:             con 32    %586 = fsub %587.y, %587.x
MESA: info:             con 32     %19 = frcp %586
MESA: info:                              @store_const_ir3 (%19) (base=2)
MESA: info:             con 32     %20 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32     %21 = frcp %500
MESA: info:             con 32x2  %503 = @load_ubo_vec4 (%5, %2 (0.000000)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %24 = fmul %503.x, %500
MESA: info:                              @store_const_ir3 (%24) (base=3)
MESA: info:             con 32     %25 = fmul %503.y, %21
MESA: info:                              @store_const_ir3 (%25) (base=4)
MESA: info:             con 32     %26 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32     %30 = @bindless_resource_ir3 (%495 (0x4)) (desc_set=1)
MESA: info:             con 32x2  %506 = @load_ubo_vec4 (%30, %2 (0.000000)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %527 = load_const (0x00000019 = 0.000000 = 25)
MESA: info:             con 32    %509 = @load_ubo_vec4 (%8, %527 (0x19)) (access=speculatable, base=0, component=1)
MESA: info:             con 32x2  %589 = fmul %506, %509.xx
MESA: info:             con 32     %36 = fneg %589.x
MESA: info:                              @store_const_ir3 (%36) (base=5)
MESA: info:             con 32     %37 = frcp %589.y
MESA: info:                              @store_const_ir3 (%37) (base=6)
MESA: info:             con 32    %512 = @load_ubo_vec4 (%30, %495 (0x4)) (access=speculatable, base=0, component=1)
MESA: info:             con 1      %40 = fge! %2 (0.000000), %512
MESA: info:             con 1      %41 = inot %40
MESA: info:             con 32     %42 = b2i32 %41
MESA: info:                              @store_const_ir3 (%42) (base=7)
MESA: info:             con 32     %43 = frcp %512
MESA: info:                              @store_const_ir3 (%43) (base=8)
MESA: info:             con 32    %515 = @load_ubo_vec4 (%30, %3 (0x2)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %45 = frcp %515
MESA: info:                              @store_const_ir3 (%45) (base=9)
MESA: info:             con 32    %530 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32    %518 = @load_ubo_vec4 (%30, %530 (0x3)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %47 = frcp %518
MESA: info:                              @store_const_ir3 (%47) (base=10)
MESA: info:             con 32    %521 = @load_ubo_vec4 (%30, %495 (0x4)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %584 = fneg %521
MESA: info:             con 32    %585 = ffma %584, %521, %20 (1.000000)
MESA: info:             con 32x2  %590 = load_const (0x40000000, 0x3f800000) = (2.000000, 1.000000)
MESA: info:             con 32x2  %591 = ffma %521.xx, %521.xx, %590 (2.000000, 1.000000)
MESA: info:             con 32    %592 = mov %591.y
MESA: info:                              @store_const_ir3 (%592) (base=11)
MESA: info:             con 32     %55 = frcp %591.x
MESA: info:             con 32     %56 = load_const (0x3ef47d19 = 0.477517)
MESA: info:             con 32     %57 = fmul %585, %56 (0.477517)
MESA: info:             con 32     %58 = fmul %57, %55
MESA: info:                              @store_const_ir3 (%58) (base=12)
MESA: info:             con 32     %59 = fmul %26 (2.000000), %521
MESA: info:                              @store_const_ir3 (%59) (base=13)
MESA: info:             con 32     %62 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %62 (0x14)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%8, %2 (0.000000)) (base=32, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%30, %2 (0.000000)) (base=48, range=8)
MESA: info:             con 32     %69 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %70 = @bindless_resource_ir3 (%69 (0x1)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%70, %2 (0.000000)) (base=80, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %72 = load_const (0x00000000)
MESA: info:     div 32x3   %73 = @load_input (%72 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3   %74 = @load_input (%72 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3   %75 = @load_input (%72 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3   %76 = @load_input (%72 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     div 32x3   %77 = @load_input (%72 (0x0)) (base=4, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC4 slots=1)
MESA: info:     div 32x3   %78 = @load_input (%72 (0x0)) (base=5, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC5 slots=1)
MESA: info:     div 32x4   %79 = @load_input (%72 (0x0)) (base=6, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC6 slots=1)
MESA: info:     con 32x3   %89 = @load_const_ir3 (%72 (0x0)) (base=28)
MESA: info:     div 32x3  %594 = fmax %89, %77
MESA: info:     div 32x3  %596 = fmin %594, %78
MESA: info:     div 32x3  %598 = fsub %89, %596
MESA: info:     div 32    %103 = fmul %598.y, %598.y
MESA: info:     div 32    %578 = ffma %598.z, %598.z, %103
MESA: info:     div 32    %577 = ffma %598.x, %598.x, %578
MESA: info:     div 32    %107 = fsqrt %577
MESA: info:     con 32    %109 = @load_const_ir3 (%72 (0x0)) (base=0)
MESA: info:     con 1     %111 = ine %109, %72 (0x0)
MESA: info:                      // succs: b7 b8
MESA: info:     if %111 {
MESA: info:         con block b7:        // preds: b6
MESA: info:         div 32x3  %600 = fmul %74, %79.yyy
MESA: info:         div 32x3  %602 = ffma %73, %79.xxx, %600
MESA: info:         div 32x3  %604 = ffma %75, %79.zzz, %602
MESA: info:         div 32x3  %608 = ffma %76, %79.www, %604
MESA: info:         div 32x3  %629 = mov %608.zyx
MESA: info:                          // succs: b9
MESA: info:     } else {
MESA: info:         con block b8:        // preds: b6
MESA: info:         con 32    %141 = @load_const_ir3 (%72 (0x0)) (base=1)
MESA: info:         div 32    %142 = fadd %107, %141
MESA: info:         con 32    %144 = @load_const_ir3 (%72 (0x0)) (base=2)
MESA: info:         div 32    %145 = fmul %142, %144
MESA: info:         div 32    %146 = fsat %145
MESA: info:         div 32x3  %612 = fneg %79.xyz
MESA: info:         div 32x3  %613 = ffma %612, %146.xxx, %79.xyz
MESA: info:         div 32x3  %615 = fmul %74, %613.yyy
MESA: info:         div 32x3  %617 = ffma %73, %613.xxx, %615
MESA: info:         div 32x3  %619 = ffma %75, %613.zzz, %617
MESA: info:         div 32x3  %623 = fadd %619, %76
MESA: info:         div 32x3  %630 = mov %623.zyx
MESA: info:                          // succs: b9
MESA: info:     }
MESA: info:     con block b9:        // preds: b7 b8
MESA: info:     div 32x3  %628 = phi b7: %629, b8: %630
MESA: info:     con 32x4  %199 = @load_const_ir3 (%72 (0x0)) (base=32)
MESA: info:     con 32x4  %207 = @load_const_ir3 (%72 (0x0)) (base=36)
MESA: info:     div 32x4  %633 = fmul %207, %628.yyyy
MESA: info:     div 32x4  %636 = ffma %199, %628.zzzz, %633
MESA: info:     con 32x4  %219 = @load_const_ir3 (%72 (0x0)) (base=40)
MESA: info:     div 32x4  %639 = ffma %219, %628.xxxx, %636
MESA: info:     con 32x4  %231 = @load_const_ir3 (%72 (0x0)) (base=44)
MESA: info:     div 32x4  %642 = fadd %639, %231
MESA: info:                      @store_output (%642, %72 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                      // succs: b10
MESA: info:     block b10:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 b8fe1d5ba27059120773602fe5850f4af5a3698e:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (20 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c24.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      4
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (320b -> 384b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0x7)
MESA: info: @in(r3.w)	in5 (wrmask=0x7)
MESA: info: @in(r4.z)	in6 (wrmask=0xf)
MESA: info: @const(c25.x)	0x3ef47d19, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l68
MESA: info: getone #l68
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 16, 2
MESA: info: ldc.u.offset0.2.imm.base1 r48.w, 0, 2
MESA: info: ldc.u.offset3.1.imm.base1 r48.z, 24, 0
MESA: info: ldc.u.offset0.1.imm.base1 r51.w, 4, 4
MESA: info: ldc.u.offset2.2.imm.base1 r49.y, 0, 4
MESA: info: ldc.u.offset1.1.imm.base1 r50.w, 25, 0
MESA: info: ldc.u.offset1.1.imm.base1 r51.x, 4, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.y, 2, 4
MESA: info: ldc.u.offset3.1.imm.base1 r51.z, 3, 4
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)(rpt1)mul.f r49.w, (r)r48.x, r48.z
MESA: info: mul.f r48.w, r48.w, r48.z
MESA: info: cmps.f.eq hr52.z, (abs)r50.x, (absneg)r49.w
MESA: info: mul.f r49.z, r49.z, r50.w
MESA: info: cmps.f.ge hr48.x, (0.0), r51.x
MESA: info: add.f r50.x, r50.x, (neg)r49.w
MESA: info: rcp r51.y, r51.y
MESA: info: rcp r51.z, r51.z
MESA: info: mul.f r49.y, r49.y, r50.w
MESA: info: cov.u16s32 r50.z, hr52.z
MESA: info: sub.u hr48.x, h(1), hr48.x
MESA: info: absneg.f r49.w, (neg)r49.w
MESA: info: absneg.f r49.y, (neg)r49.y
MESA: info: cov.u16s32 r48.y, hr48.x
MESA: info: (ss)nop
MESA: info: stc.u32 c[3], r48.w, 1
MESA: info: rcp r48.z, r48.z
MESA: info: rcp r49.z, r49.z
MESA: info: rcp r51.x, r51.x
MESA: info: rcp r50.x, r50.x
MESA: info: stc.u32 c[9], r51.y, 1
MESA: info: stc.u32 c[10], r51.z, 1
MESA: info: stc.u32 c[0], r50.z, 1
MESA: info: stc.u32 c[1], r49.w, 1
MESA: info: stc.u32 c[5], r49.y, 1
MESA: info: stc.u32 c[7], r48.y, 1
MESA: info: (ss)mul.f r48.w, r51.w, r51.w
MESA: info: add.f r48.w, r48.w, (2.0)
MESA: info: mul.f r49.x, r49.x, r48.z
MESA: info: mul.f r48.z, (neg)r51.w, r51.w
MESA: info: add.f r48.z, r48.z, (1.0)
MESA: info: mul.f r48.z, r48.z, c25.x
MESA: info: stc.u32 c[6], r49.z, 1
MESA: info: stc.u32 c[8], r51.x, 1
MESA: info: stc.u32 c[2], r50.x, 1
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[4], r49.x, 1
MESA: info: (ss)mul.f r48.z, r48.z, r48.w
MESA: info: mul.f r49.x, r51.w, r51.w
MESA: info: add.f r49.x, r49.x, (1.0)
MESA: info: mul.f r51.w, (2.0), r51.w
MESA: info: (ss)nop
MESA: info: stc.u32 c[12], r48.z, 1
MESA: info: stc.u32 c[11], r49.x, 1
MESA: info: stc.u32 c[13], r51.w, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 20, 0
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)80
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l68:
MESA: info: (jp)max.f r3.y, c7.y, (last)r3.y
MESA: info: max.f r3.z, c7.z, (last)r3.z
MESA: info: max.f r3.x, c7.x, (last)r3.x
MESA: info: min.f r3.y, (last)r3.y, (last)r4.x
MESA: info: min.f r3.z, (last)r3.z, (last)r4.y
MESA: info: min.f r3.x, (last)r3.x, (last)r3.w
MESA: info: add.f r3.y, c7.y, (last)(neg)r3.y
MESA: info: add.f r3.z, c7.z, (last)(neg)r3.z
MESA: info: add.f r3.x, c7.x, (last)(neg)r3.x
MESA: info: mul.f r3.y, (last)r3.y, r3.y
MESA: info: cmps.s.ne p0.x, c0.x, 0
MESA: info: (nop1) mad.f32 r3.z, (last)r3.z, r3.z, (last)r3.y
MESA: info: (nop3) mad.f32 r3.x, (last)r3.x, r3.x, (last)r3.z
MESA: info: (rpt1)nop
MESA: info: sqrt r3.x, (last)r3.x
MESA: info: br !p0.x, #l97
MESA: info: mul.f r0.w, (last)r0.w, r4.w
MESA: info: mul.f r1.x, (last)r1.x, r4.w
MESA: info: mul.f r1.y, (last)r1.y, r4.w
MESA: info: mad.f32 r0.x, (last)r0.x, r4.z, r0.w
MESA: info: mad.f32 r0.y, (last)r0.y, r4.z, r1.x
MESA: info: mad.f32 r0.z, (last)r0.z, r4.z, r1.y
MESA: info: mad.f32 r1.z, (last)r1.z, r5.x, r0.x
MESA: info: mad.f32 r1.w, (last)r1.w, r5.x, r0.y
MESA: info: mad.f32 r2.x, (last)r2.x, r5.x, r0.z
MESA: info: mad.f32 r2.y, (last)r2.y, r5.y, r1.z
MESA: info: mad.f32 r5.z, r2.z, r5.y, r1.w
MESA: info: mad.f32 r5.w, r2.w, r5.y, r2.x
MESA: info: jump #l110
MESA: info: l97:
MESA: info: (ss)(nop2) add.f r3.x, (last)r3.x, c0.y
MESA: info: (sat)(nop2) mul.f r3.x, (last)r3.x, c0.z
MESA: info: mad.f32 r4.w, (neg)(last)r4.w, r3.x, r4.w
MESA: info: mad.f32 r4.z, (neg)(last)r4.z, r3.x, r4.z
MESA: info: mad.f32 r5.x, (neg)(last)r5.x, r3.x, r5.x
MESA: info: mul.f r0.w, (last)r0.w, r4.w
MESA: info: (rpt1)mul.f r1.x, (last)(r)r1.x, (last)r4.w
MESA: info: mad.f32 r0.x, (last)r0.x, r4.z, (last)r0.w
MESA: info: (rpt1)mad.f32 r0.y, (r)(last)r0.y, r4.z, (r)(last)r1.x
MESA: info: mad.f32 r1.z, (last)r1.z, r5.x, (last)r0.x
MESA: info: (rpt1)mad.f32 r1.w, (r)(last)r1.w, r5.x, (r)(last)r0.y
MESA: info: add.f r2.y, (last)r1.z, (last)r2.y
MESA: info: (rpt1)add.f r5.z, (last)(r)r1.w, (last)(r)r2.z
MESA: info: l110:
MESA: info: nop
MESA: info: mul.f r6.x, c9.x, r5.z
MESA: info: mul.f r7.y, c9.y, r5.z
MESA: info: mad.f32 r6.x, c8.x, r2.y, (last)r6.x
MESA: info: mad.f32 r7.y, c8.y, r2.y, (last)r7.y
MESA: info: mad.f32 r6.y, c10.x, r5.w, (last)r6.x
MESA: info: mad.f32 r6.z, c10.y, r5.w, (last)r7.y
MESA: info: (rpt1)mul.f r7.z, (r)c9.z, (last)r5.z
MESA: info: (rpt1)mad.f32 r7.z, (r)c8.z, r2.y, (r)(last)r7.z
MESA: info: (rpt1)mad.f32 r6.w, (r)c10.z, r5.w, (r)(last)r7.z
MESA: info: (rpt3)add.f r8.x, (last)(r)r6.y, (r)c11.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r8.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (VERT_ATTRIB_GENERIC4 slot=19 cm=7,il=0,b=0) r3.w (VERT_ATTRIB_GENERIC5 slot=20 cm=7,il=0,b=0) r4.z (VERT_ATTRIB_GENERIC6 slot=21 cm=f,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0)
MESA: info: ; BVERT prog 122/2: 73 instr, 11 nops, 62 non-nops, 0 mov, 0 cov, 256 dwords
MESA: info: ; BVERT prog 122/2: 0 last-baryf, 0 last-helper, 0 half, 9 full, 28 constlen
MESA: info: ; BVERT prog 122/2: 14 cat0, 0 cat1, 30 cat2, 28 cat3, 1 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 122/2: 9 sstall, 1 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 122/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 69 preamble-instr, 1 early-preamble
MESA: info: ; pos: r8.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x6699b4a7, 0xb35e0bf3, 0x825292b7, 0x3ac3df6a, 0x688dfe44, 0x89544d51, 0x7c9fab6f, 0x6d7ae337}
MESA: info: inputs_read: 32-37
MESA: info: outputs_written: 4-5
MESA: info: system_values_read: 0x00000000'00000000'00000000'00800000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: uses_discard: true
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 6
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_VAR0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_VAR1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VARYING_SLOT_VAR2.xyzw, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #3 (VARYING_SLOT_VAR3.xyzw, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #4 (VARYING_SLOT_VAR4.xyzw, 4, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #5 (VARYING_SLOT_VAR5.xyz, 5, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #6 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #7 (FRAG_RESULT_DATA1.xyzw, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #8
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:         // preds:
MESA: info:     con 1        %0 = @preamble_start_ir3
MESA: info:                       // succs: b1 b14
MESA: info:     if %0 {
MESA: info:         con block b1:         // preds: b0
MESA: info:         div 1        %1 = @elect_any_ir3
MESA: info:                           // succs: b2 b12
MESA: info:         if %1 {
MESA: info:             div block b2:         // preds: b1
MESA: info:             con 32       %3 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32       %4 = load_const (0x00000005 = 0.000000)
MESA: info:             con 32       %5 = load_const (0x00000009 = 0.000000)
MESA: info:             con 32       %6 = @bindless_resource_ir3 (%5 (0x9)) (desc_set=1)
MESA: info:             con 32    %1449 = load_const (0x00000020 = 0.000000 = 32)
MESA: info:             con 32    %1434 = @load_ubo_vec4 (%6, %1449 (0x20)) (access=speculatable, base=0, component=3)
MESA: info:             con 32       %9 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32      %10 = load_const (0x00000006 = 0.000000)
MESA: info:             con 32x4  %1912 = load_const (0x00000003, 0x00000004, 0x00000005, 0x00000006)
MESA: info:             con 1x4   %1913 = ieq %1434.xxxx, %1912 (0x3, 0x4, 0x5, 0x6)
MESA: info:             con 1     %1914 = mov %1913.w
MESA: info:             con 1     %1911 = mov %1913.z
MESA: info:             con 1     %1907 = mov %1913.x
MESA: info:             con 1     %1908 = mov %1913.y
MESA: info:                               // succs: b3 b4
MESA: info:             if %1907 {
MESA: info:                 div block b3:         // preds: b2
MESA: info:                 con 32      %15 = load_const (0x3f000000 = 0.500000)
MESA: info:                 con 32      %17 = load_const (0x00000007 = 0.000000)
MESA: info:                 con 32      %18 = @bindless_resource_ir3 (%17 (0x7)) (desc_set=2)
MESA: info:                 con 32      %19 = @bindless_resource_ir3 (%10 (0x6)) (desc_set=2)
MESA: info:                 con 16x2  %1884 = load_const (0x3400, 0x3800) = (0.250000, 0.500000)
MESA: info:                 con 16x2  %1885 = load_const (0x0000, 0x0000) = (0.000000, 0.000000)
MESA: info:                 con 32x4    %21 = (float32)txd %19 (texture_handle), %18 (sampler_handle), %1884 (0.250000, 0.500000) (coord), %1885 (0.000000, 0.000000) (ddx), %1885 (0.000000, 0.000000) (ddy), 0 (texture), 0 (sampler)
MESA: info:                 con 16x2  %1887 = load_const (0x3a00, 0x3800) = (0.750000, 0.500000)
MESA: info:                 con 32x4    %24 = (float32)txd %19 (texture_handle), %18 (sampler_handle), %1887 (0.750000, 0.500000) (coord), %1885 (0.000000, 0.000000) (ddx), %1885 (0.000000, 0.000000) (ddy), 0 (texture), 0 (sampler)
MESA: info:                 con 1x4   %1917 = fge! %21, %15 (0.500000).xxxx
MESA: info:                 con 32x4  %1923 = b2f32 %1917
MESA: info:                 con 32    %1924 = mov %1923.w
MESA: info:                 con 32    %1922 = mov %1923.z
MESA: info:                 con 32    %1919 = mov %1923.x
MESA: info:                 con 32    %1920 = mov %1923.y
MESA: info:                                   @store_const_ir3 (%1919) (base=0)
MESA: info:                                   @store_const_ir3 (%1920) (base=1)
MESA: info:                                   @store_const_ir3 (%1922) (base=2)
MESA: info:                                   @store_const_ir3 (%1924) (base=3)
MESA: info:                 con 1x4   %1927 = fge! %24, %15 (0.500000).xxxx
MESA: info:                 con 32x4  %1933 = b2f32 %1927
MESA: info:                 con 32    %1934 = mov %1933.w
MESA: info:                 con 32    %1932 = mov %1933.z
MESA: info:                 con 32    %1929 = mov %1933.x
MESA: info:                 con 32    %1930 = mov %1933.y
MESA: info:                                   @store_const_ir3 (%1929) (base=4)
MESA: info:                                   @store_const_ir3 (%1930) (base=5)
MESA: info:                                   @store_const_ir3 (%1932) (base=6)
MESA: info:                                   @store_const_ir3 (%1934) (base=7)
MESA: info:                 con 1       %41 = load_const (true)
MESA: info:                                   // succs: b11
MESA: info:             } else {
MESA: info:                 div block b4:  // preds: b2, succs: b5 b6
MESA: info:                 if %1908 {
MESA: info:                     div block b5:         // preds: b4
MESA: info:                     con 1       %42 = load_const (true)
MESA: info:                                       // succs: b10
MESA: info:                 } else {
MESA: info:                     div block b6:  // preds: b4, succs: b7 b8
MESA: info:                     if %1911 {
MESA: info:                         div block b7:         // preds: b6
MESA: info:                         con 32      %43 = load_const (0x3f000000 = 0.500000)
MESA: info:                         con 32      %45 = load_const (0x00000007 = 0.000000)
MESA: info:                         con 32      %46 = @bindless_resource_ir3 (%45 (0x7)) (desc_set=2)
MESA: info:                         con 32      %47 = @bindless_resource_ir3 (%10 (0x6)) (desc_set=2)
MESA: info:                         con 16x2  %1890 = load_const (0x3400, 0x3800) = (0.250000, 0.500000)
MESA: info:                         con 16x2  %1891 = load_const (0x0000, 0x0000) = (0.000000, 0.000000)
MESA: info:                         con 32x4    %49 = (float32)txd %47 (texture_handle), %46 (sampler_handle), %1890 (0.250000, 0.500000) (coord), %1891 (0.000000, 0.000000) (ddx), %1891 (0.000000, 0.000000) (ddy), 0 (texture), 0 (sampler)
MESA: info:                         con 16x2  %1893 = load_const (0x3a00, 0x3800) = (0.750000, 0.500000)
MESA: info:                         con 32x4    %52 = (float32)txd %47 (texture_handle), %46 (sampler_handle), %1893 (0.750000, 0.500000) (coord), %1891 (0.000000, 0.000000) (ddx), %1891 (0.000000, 0.000000) (ddy), 0 (texture), 0 (sampler)
MESA: info:                         con 1x3   %1936 = fge! %52.xyz, %43 (0.500000).xxx
MESA: info:                         con 32      %56 = load_const (0xbf000000 = -0.500000)
MESA: info:                         con 32x3  %1938 = bcsel %1936, %43 (0x3f000000).xxx, %56 (0xbf000000).xxx
MESA: info:                         con 32x3  %1940 = fmul %49.xyz, %1938
MESA: info:                         con 32      %64 = fmul %1940.y, %1940.y
MESA: info:                         con 32    %1784 = ffma %1940.z, %1940.z, %64
MESA: info:                         con 32    %1783 = ffma %1940.x, %1940.x, %1784
MESA: info:                         con 32      %68 = frsq %1783
MESA: info:                         con 32x3  %1944 = fmul %1940, %68.xxx
MESA: info:                         con 32    %1945 = mov %1944.z
MESA: info:                         con 32    %1942 = mov %1944.x
MESA: info:                         con 32    %1943 = mov %1944.y
MESA: info:                                           @store_const_ir3 (%1942) (base=8)
MESA: info:                                           @store_const_ir3 (%1943) (base=9)
MESA: info:                                           @store_const_ir3 (%1945) (base=10)
MESA: info:                         con 1       %72 = load_const (true)
MESA: info:                                           // succs: b9
MESA: info:                     } else {
MESA: info:                         div block b8:         // preds: b6
MESA: info:                         con 32      %73 = load_const (0x3e800000 = 0.250000)
MESA: info:                         con 32      %75 = load_const (0x00000007 = 0.000000)
MESA: info:                         con 32      %76 = @bindless_resource_ir3 (%75 (0x7)) (desc_set=2)
MESA: info:                         con 32      %77 = @bindless_resource_ir3 (%10 (0x6)) (desc_set=2)
MESA: info:                         con 16x2  %1896 = load_const (0x3400, 0x3800) = (0.250000, 0.500000)
MESA: info:                         con 16x2  %1897 = load_const (0x0000, 0x0000) = (0.000000, 0.000000)
MESA: info:                         con 32x4    %79 = (float32)txd %77 (texture_handle), %76 (sampler_handle), %1896 (0.250000, 0.500000) (coord), %1897 (0.000000, 0.000000) (ddx), %1897 (0.000000, 0.000000) (ddy), 0 (texture), 0 (sampler)
MESA: info:                         con 16x2  %1899 = load_const (0x3a00, 0x3800) = (0.750000, 0.500000)
MESA: info:                         con 32x4    %83 = (float32)txd %77 (texture_handle), %76 (sampler_handle), %1899 (0.750000, 0.500000) (coord), %1897 (0.000000, 0.000000) (ddx), %1897 (0.000000, 0.000000) (ddy), 0 (texture), 0 (sampler)
MESA: info:                         con 32x4  %1948 = load_const (0x3f400000, 0x3f400000, 0x3f400000, 0x3e800000) = (0.750000, 0.750000, 0.750000, 0.250000)
MESA: info:                         con 1x4   %1949 = fge! %79.xyzx, %1948 (0.750000, 0.750000, 0.750000, 0.250000)
MESA: info:                         con 32x4  %1955 = b2f32 %1949
MESA: info:                         con 32    %1954 = mov %1955.z
MESA: info:                         con 32    %1951 = mov %1955.x
MESA: info:                         con 32    %1952 = mov %1955.y
MESA: info:                                           @store_const_ir3 (%1951) (base=11)
MESA: info:                                           @store_const_ir3 (%1952) (base=12)
MESA: info:                                           @store_const_ir3 (%1954) (base=13)
MESA: info:                         con 1x2   %1956 = fge! %79.yz, %73 (0.250000).xx
MESA: info:                         con 32x2  %1957 = b2f32 %1956
MESA: info:                         con 32x4  %1960 = load_const (0x3f400000, 0x3f400000, 0x3f400000, 0x3e800000) = (0.750000, 0.750000, 0.750000, 0.250000)
MESA: info:                         con 1x4   %1961 = fge! %83.xyzx, %1960 (0.750000, 0.750000, 0.750000, 0.250000)
MESA: info:                         con 32x4  %1967 = b2f32 %1961
MESA: info:                         con 32    %1966 = mov %1967.z
MESA: info:                         con 32    %1963 = mov %1967.x
MESA: info:                         con 32    %1964 = mov %1967.y
MESA: info:                                           @store_const_ir3 (%1963) (base=14)
MESA: info:                                           @store_const_ir3 (%1964) (base=15)
MESA: info:                                           @store_const_ir3 (%1966) (base=16)
MESA: info:                         con 1x2   %1968 = fge! %83.yz, %73 (0.250000).xx
MESA: info:                         con 32x2  %1969 = b2f32 %1968
MESA: info:                         con 32     %108 = load_const (0x3f800000 = 1.000000)
MESA: info:                         con 32    %1782 = fsub %108 (1.000000), %1955.w
MESA: info:                                           @store_const_ir3 (%1782) (base=17)
MESA: info:                         con 32x2  %1970 = fsub %108 (1.000000).xx, %1957
MESA: info:                         con 32    %1971 = mov %1970.x
MESA: info:                         con 32    %1972 = mov %1970.y
MESA: info:                                           @store_const_ir3 (%1971) (base=18)
MESA: info:                                           @store_const_ir3 (%1972) (base=19)
MESA: info:                         con 32    %1779 = fsub %108 (1.000000), %1967.w
MESA: info:                                           @store_const_ir3 (%1779) (base=20)
MESA: info:                         con 32x2  %1973 = fsub %108 (1.000000).xx, %1969
MESA: info:                         con 32    %1974 = mov %1973.x
MESA: info:                         con 32    %1975 = mov %1973.y
MESA: info:                                           @store_const_ir3 (%1974) (base=21)
MESA: info:                                           @store_const_ir3 (%1975) (base=22)
MESA: info:                                           // succs: b9
MESA: info:                     }
MESA: info:                     div block b9:         // preds: b7 b8
MESA: info:                     con 1      %121 = phi b7: %72 (true), b8: %1914
MESA: info:                                       // succs: b10
MESA: info:                 }
MESA: info:                 div block b10:        // preds: b5 b9
MESA: info:                 con 1      %122 = phi b5: %42 (true), b9: %121
MESA: info:                                   // succs: b11
MESA: info:             }
MESA: info:             div block b11:        // preds: b3 b10
MESA: info:             con 1      %123 = phi b3: %41 (true), b10: %122
MESA: info:             con 32       %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %124 = b2i32 %123
MESA: info:                               @store_const_ir3 (%124) (base=23)
MESA: info:             con 32     %125 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32    %1450 = load_const (0x00000021 = 0.000000 = 33)
MESA: info:             con 32    %1437 = @load_ubo_vec4 (%6, %1450 (0x21)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %1776 = fsub %125 (1.000000), %1437
MESA: info:                               @store_const_ir3 (%1776) (base=24)
MESA: info:             con 32     %132 = load_const (0x3f000000 = 0.500000)
MESA: info:             con 32     %133 = fmul %132 (0.500000), %1776
MESA: info:                               @store_const_ir3 (%133) (base=25)
MESA: info:                               @store_const_ir3 (%1776) (base=26)
MESA: info:             con 32    %1451 = load_const (0x00000023 = 0.000000 = 35)
MESA: info:             con 32    %1440 = @load_ubo_vec4 (%6, %1451 (0x23)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %1775 = fsub %125 (1.000000), %1440
MESA: info:                               @store_const_ir3 (%1775) (base=27)
MESA: info:             con 32     %143 = fmul %132 (0.500000), %1775
MESA: info:                               @store_const_ir3 (%143) (base=28)
MESA: info:                               @store_const_ir3 (%1775) (base=29)
MESA: info:             con 32     %146 = load_const (0x00000007 = 0.000000)
MESA: info:             con 32     %147 = @bindless_resource_ir3 (%146 (0x7)) (desc_set=1)
MESA: info:             con 32    %1443 = @load_ubo_vec4 (%147, %5 (0x9)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %1446 = @load_ubo_vec4 (%147, %2 (0x0)) (access=speculatable, base=0, component=3)
MESA: info:             con 32     %151 = frcp %1446
MESA: info:                               @store_const_ir3 (%151) (base=30)
MESA: info:             con 32x2  %1976 = load_const (0x3e800000, 0x3fc00000) = (0.250000, 1.500000)
MESA: info:             con 32x2  %1977 = fmul %151.xx, %1976 (0.250000, 1.500000)
MESA: info:             con 32    %1978 = mov %1977.x
MESA: info:             con 32    %1979 = mov %1977.y
MESA: info:                               @store_const_ir3 (%1978) (base=31)
MESA: info:                               @store_const_ir3 (%1979) (base=32)
MESA: info:             con 32     %156 = frcp %1443
MESA: info:                               @store_const_ir3 (%156) (base=33)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%6, %1449 (0x20)) (base=48, range=4)
MESA: info:             con 32     %162 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%6, %162 (0x10)) (base=64, range=4)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%6, %2 (0x0)) (base=80, range=4)
MESA: info:             con 32     %167 = @bindless_resource_ir3 (%10 (0x6)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%167, %2 (0x0)) (base=96, range=4)
MESA: info:             con 32     %170 = @bindless_resource_ir3 (%4 (0x5)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%170, %162 (0x10)) (base=112, range=8)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%147, %2 (0x0)) (base=144, range=12)
MESA: info:             con 32     %175 = load_const (0x00000008 = 0.000000)
MESA: info:             con 32     %176 = @bindless_resource_ir3 (%175 (0x8)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%176, %2 (0x0)) (base=192, range=4)
MESA: info:             con 32     %179 = @bindless_resource_ir3 (%3 (0x4)) (desc_set=2)
MESA: info:             con 32     %181 = @bindless_resource_ir3 (%4 (0x5)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%179, %181)
MESA: info:             con 32     %183 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %184 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %185 = @bindless_resource_ir3 (%184 (0x1)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%183, %185)
MESA: info:             con 32     %187 = @bindless_resource_ir3 (%10 (0x6)) (desc_set=2)
MESA: info:             con 32     %189 = @bindless_resource_ir3 (%146 (0x7)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%187, %189)
MESA: info:             con 32     %191 = @bindless_resource_ir3 (%175 (0x8)) (desc_set=2)
MESA: info:             con 32     %193 = @bindless_resource_ir3 (%5 (0x9)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%191, %193)
MESA: info:             con 32     %194 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32     %195 = @bindless_resource_ir3 (%194 (0x2)) (desc_set=2)
MESA: info:             con 32     %197 = @bindless_resource_ir3 (%9 (0x3)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%195, %197)
MESA: info:             con 32     %198 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:             con 32     %199 = @bindless_resource_ir3 (%198 (0xa)) (desc_set=2)
MESA: info:             con 32     %200 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:             con 32     %201 = @bindless_resource_ir3 (%200 (0xb)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%199, %201)
MESA: info:             con 32     %202 = load_const (0x0000000c = 0.000000 = 12)
MESA: info:             con 32     %203 = @bindless_resource_ir3 (%202 (0xc)) (desc_set=2)
MESA: info:             con 32     %204 = load_const (0x0000000d = 0.000000 = 13)
MESA: info:             con 32     %205 = @bindless_resource_ir3 (%204 (0xd)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%203, %205)
MESA: info:             con 32     %210 = load_const (0x0000000e = 0.000000 = 14)
MESA: info:             con 32     %211 = @bindless_resource_ir3 (%210 (0xe)) (desc_set=2)
MESA: info:             con 32     %212 = load_const (0x0000000f = 0.000000 = 15)
MESA: info:             con 32     %213 = @bindless_resource_ir3 (%212 (0xf)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%211, %213)
MESA: info:             con 32     %219 = @bindless_resource_ir3 (%162 (0x10)) (desc_set=2)
MESA: info:             con 32     %220 = load_const (0x00000011 = 0.000000 = 17)
MESA: info:             con 32     %221 = @bindless_resource_ir3 (%220 (0x11)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%219, %221)
MESA: info:                               @preamble_end_ir3
MESA: info:                               // succs: b13
MESA: info:         } else {
MESA: info:             div block b12:  // preds: b1, succs: b13
MESA: info:         }
MESA: info:         con block b13:  // preds: b11 b12, succs: b15
MESA: info:     } else {
MESA: info:         con block b14:  // preds: b0, succs: b15
MESA: info:     }
MESA: info:     con block b15:        // preds: b13 b14
MESA: info:     con 32     %226 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x2   %227 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x4   %228 = @load_interpolated_input (%227, %226 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     div 32x4   %229 = @load_interpolated_input (%227, %226 (0x0)) (base=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR1 slots=1)
MESA: info:     div 32x4   %230 = @load_interpolated_input (%227, %226 (0x0)) (base=2, component=0, dest_type=float32, io location=VARYING_SLOT_VAR2 slots=1)
MESA: info:     div 32x4   %231 = @load_interpolated_input (%227, %226 (0x0)) (base=3, component=0, dest_type=float32, io location=VARYING_SLOT_VAR3 slots=1)
MESA: info:     div 32x4   %232 = @load_interpolated_input (%227, %226 (0x0)) (base=4, component=0, dest_type=float32, io location=VARYING_SLOT_VAR4 slots=1)
MESA: info:     div 32x2   %233 = @load_barycentric_centroid (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x3   %234 = @load_interpolated_input (%233, %226 (0x0)) (base=5, component=0, dest_type=float32, io location=VARYING_SLOT_VAR5 slots=1)
MESA: info:     con 32     %235 = load_const (0x00000004 = 0.000000)
MESA: info:     con 32     %236 = load_const (0x00000005 = 0.000000)
MESA: info:     con 32     %245 = @load_const_ir3 (%226 (0x0)) (base=48)
MESA: info:     div 1      %246 = flt! %234.z, %245
MESA: info:                       @demote_if (%246)
MESA: info:     div 32     %247 = mov %230.w
MESA: info:     div 32     %248 = mov %231.x
MESA: info:     con 32x2   %254 = @load_const_ir3 (%226 (0x0)) (base=50)
MESA: info:     con 32x2   %260 = @load_const_ir3 (%226 (0x0)) (base=52)
MESA: info:     con 32     %266 = @load_const_ir3 (%226 (0x0)) (base=61)
MESA: info:     con 1      %267 = ine %266, %226 (0x0)
MESA: info:     con 32     %268 = load_const (0x00000003)
MESA: info:     con 32     %269 = load_const (0x00000006 = 0.000000)
MESA: info:     con 32x4  %1987 = load_const (0x00000003, 0x00000004, 0x00000005, 0x00000006)
MESA: info:     con 1x4   %1988 = ieq %254.yyyy, %1987 (0x3, 0x4, 0x5, 0x6)
MESA: info:     con 1     %1989 = mov %1988.w
MESA: info:     con 1     %1986 = mov %1988.z
MESA: info:     con 1     %1982 = mov %1988.x
MESA: info:     con 1     %1983 = mov %1988.y
MESA: info:                       // succs: b16 b17
MESA: info:     if %1982 {
MESA: info:         con block b16:        // preds: b15
MESA: info:         div 32     %275 = fmul %229.z, %229.z
MESA: info:         div 32    %1774 = ffma %229.w, %229.w, %275
MESA: info:         div 32    %1773 = ffma %229.y, %229.y, %1774
MESA: info:         div 32     %279 = frsq %1773
MESA: info:         div 32x3  %1991 = fmul %229.yzw, %279.xxx
MESA: info:         div 32     %284 = fmul %231.x, %1991.y
MESA: info:         div 32    %1772 = ffma %231.y, %1991.z, %284
MESA: info:         div 32    %1771 = ffma %230.w, %1991.x, %1772
MESA: info:         div 32     %289 = fmul %230.y, %230.y
MESA: info:         div 32    %1770 = ffma %230.z, %230.z, %289
MESA: info:         div 32    %1769 = ffma %230.x, %230.x, %1770
MESA: info:         div 32     %293 = frsq %1769
MESA: info:         div 32x3  %1993 = fmul %230.xyz, %293.xxx
MESA: info:         div 32     %298 = fmul %231.x, %1993.y
MESA: info:         div 32    %1768 = ffma %231.y, %1993.z, %298
MESA: info:         div 32    %1767 = ffma %230.w, %1993.x, %1768
MESA: info:         con 32     %303 = @load_const_ir3 (%226 (0x0)) (base=0)
MESA: info:         con 32     %305 = @load_const_ir3 (%226 (0x0)) (base=1)
MESA: info:         con 32     %307 = @load_const_ir3 (%226 (0x0)) (base=2)
MESA: info:         con 32     %309 = @load_const_ir3 (%226 (0x0)) (base=3)
MESA: info:         con 32     %311 = @load_const_ir3 (%226 (0x0)) (base=4)
MESA: info:         con 32     %313 = @load_const_ir3 (%226 (0x0)) (base=5)
MESA: info:         con 32     %315 = @load_const_ir3 (%226 (0x0)) (base=6)
MESA: info:         con 32     %317 = @load_const_ir3 (%226 (0x0)) (base=7)
MESA: info:         div 32     %319 = fmul %307, %234.x
MESA: info:         div 32    %1766 = ffma %309, %234.y, %319
MESA: info:         div 32    %1765 = ffma %305, %1767, %1766
MESA: info:         div 32    %1764 = ffma %303, %1771, %1765
MESA: info:         div 32     %325 = fmul %1764, %260.x
MESA: info:         div 32     %327 = fmul %315, %234.x
MESA: info:         div 32    %1763 = ffma %317, %234.y, %327
MESA: info:         div 32    %1762 = ffma %313, %1767, %1763
MESA: info:         div 32    %1761 = ffma %311, %1771, %1762
MESA: info:         div 32     %333 = fmul %1761, %260.y
MESA: info:                           // succs: b27
MESA: info:     } else {
MESA: info:         con block b17:  // preds: b15, succs: b18 b19
MESA: info:         if %1983 {
MESA: info:             con block b18:        // preds: b17
MESA: info:             div 32     %335 = fmul %229.z, %229.z
MESA: info:             div 32    %1760 = ffma %229.w, %229.w, %335
MESA: info:             div 32    %1759 = ffma %229.y, %229.y, %1760
MESA: info:             div 32     %339 = frsq %1759
MESA: info:             div 32x3  %1995 = fmul %229.yzw, %339.xxx
MESA: info:             div 32     %344 = fmul %231.x, %1995.y
MESA: info:             div 32    %1758 = ffma %231.y, %1995.z, %344
MESA: info:             div 32    %1757 = ffma %230.w, %1995.x, %1758
MESA: info:             div 32     %348 = fmul %1757, %260.x
MESA: info:             div 32     %350 = fmul %230.y, %230.y
MESA: info:             div 32    %1756 = ffma %230.z, %230.z, %350
MESA: info:             div 32    %1755 = ffma %230.x, %230.x, %1756
MESA: info:             div 32     %354 = frsq %1755
MESA: info:             div 32x3  %1997 = fmul %230.xyz, %354.xxx
MESA: info:             div 32     %359 = fmul %231.x, %1997.y
MESA: info:             div 32    %1754 = ffma %231.y, %1997.z, %359
MESA: info:             div 32    %1753 = ffma %230.w, %1997.x, %1754
MESA: info:             div 32     %363 = fmul %1753, %260.y
MESA: info:                               // succs: b26
MESA: info:         } else {
MESA: info:             con block b19:  // preds: b17, succs: b20 b21
MESA: info:             if %1986 {
MESA: info:                 con block b20:        // preds: b19
MESA: info:                 div 32     %365 = fmul %228.w, %228.w
MESA: info:                 div 32    %1752 = ffma %229.x, %229.x, %365
MESA: info:                 div 32    %1751 = ffma %228.z, %228.z, %1752
MESA: info:                 div 32     %369 = frsq %1751
MESA: info:                 div 32x2  %1998 = fmul %228.zw, %369.xx
MESA: info:                 div 32     %372 = fmul %229.x, %369
MESA: info:                 div 1      %373 = @load_front_face
MESA: info:                 div 1      %374 = inot %373
MESA: info:                 div 1      %375 = iand %374, %267
MESA: info:                 div 32x2  %1999 = fneg %1998
MESA: info:                 div 32     %378 = fneg %372
MESA: info:                 div 32x2  %2000 = bcsel %375.xx, %1999, %1998
MESA: info:                 div 32     %381 = bcsel %375, %378, %372
MESA: info:                 con 32     %383 = @load_const_ir3 (%226 (0x0)) (base=8)
MESA: info:                 con 32     %385 = @load_const_ir3 (%226 (0x0)) (base=9)
MESA: info:                 con 32     %387 = @load_const_ir3 (%226 (0x0)) (base=10)
MESA: info:                 div 32     %389 = fmul %2000.y, %383
MESA: info:                 div 32     %391 = fmul %381, %385
MESA: info:                 div 32     %393 = fmul %2000.x, %387
MESA: info:                 div 32     %394 = fneg %391
MESA: info:                 div 32    %1750 = ffma %2000.y, %387, %394
MESA: info:                 div 32     %396 = fneg %393
MESA: info:                 div 32    %1749 = ffma %381, %383, %396
MESA: info:                 div 32     %398 = fneg %389
MESA: info:                 div 32    %1748 = ffma %2000.x, %385, %398
MESA: info:                 div 32     %401 = fmul %231.x, %1749
MESA: info:                 div 32    %1747 = ffma %231.y, %1748, %401
MESA: info:                 div 32    %1746 = ffma %230.w, %1750, %1747
MESA: info:                 div 32     %405 = fmul %1746, %260.x
MESA: info:                 div 32     %409 = fmul %381, %1749
MESA: info:                 div 32     %410 = fmul %2000.x, %1748
MESA: info:                 div 32     %411 = fmul %2000.y, %1750
MESA: info:                 div 32     %412 = fneg %409
MESA: info:                 div 32    %1745 = ffma %2000.y, %1748, %412
MESA: info:                 div 32     %414 = fneg %410
MESA: info:                 div 32    %1744 = ffma %381, %1750, %414
MESA: info:                 div 32     %416 = fneg %411
MESA: info:                 div 32    %1743 = ffma %2000.x, %1749, %416
MESA: info:                 div 32     %419 = fmul %231.x, %1744
MESA: info:                 div 32    %1742 = ffma %231.y, %1743, %419
MESA: info:                 div 32    %1741 = ffma %230.w, %1745, %1742
MESA: info:                 div 32     %423 = fmul %1741, %260.y
MESA: info:                                   // succs: b25
MESA: info:             } else {
MESA: info:                 con block b21:  // preds: b19, succs: b22 b23
MESA: info:                 if %1989 {
MESA: info:                     con block b22:        // preds: b21
MESA: info:                     con 32     %425 = @load_const_ir3 (%226 (0x0)) (base=11)
MESA: info:                     con 32     %427 = @load_const_ir3 (%226 (0x0)) (base=12)
MESA: info:                     con 32     %429 = @load_const_ir3 (%226 (0x0)) (base=13)
MESA: info:                     con 32     %431 = @load_const_ir3 (%226 (0x0)) (base=14)
MESA: info:                     con 32     %433 = @load_const_ir3 (%226 (0x0)) (base=15)
MESA: info:                     con 32     %435 = @load_const_ir3 (%226 (0x0)) (base=16)
MESA: info:                     con 32     %442 = @load_const_ir3 (%226 (0x0)) (base=17)
MESA: info:                     con 32     %444 = @load_const_ir3 (%226 (0x0)) (base=18)
MESA: info:                     con 32     %446 = @load_const_ir3 (%226 (0x0)) (base=19)
MESA: info:                     div 32     %448 = fmul %444, %234.y
MESA: info:                     div 32    %1738 = ffma %446, %234.z, %448
MESA: info:                     div 32    %1737 = ffma %442, %234.x, %1738
MESA: info:                     div 32    %1827 = ffma %427, %231.x, %1737
MESA: info:                     div 32    %1828 = ffma %429, %231.y, %1827
MESA: info:                     div 32    %1829 = ffma %425, %230.w, %1828
MESA: info:                     div 32     %453 = fmul %1829, %260.x
MESA: info:                     con 32     %460 = @load_const_ir3 (%226 (0x0)) (base=20)
MESA: info:                     con 32     %462 = @load_const_ir3 (%226 (0x0)) (base=21)
MESA: info:                     con 32     %464 = @load_const_ir3 (%226 (0x0)) (base=22)
MESA: info:                     div 32     %466 = fmul %462, %234.y
MESA: info:                     div 32    %1734 = ffma %464, %234.z, %466
MESA: info:                     div 32    %1733 = ffma %460, %234.x, %1734
MESA: info:                     div 32    %1824 = ffma %433, %231.x, %1733
MESA: info:                     div 32    %1825 = ffma %435, %231.y, %1824
MESA: info:                     div 32    %1826 = ffma %431, %230.w, %1825
MESA: info:                     div 32     %471 = fmul %1826, %260.y
MESA: info:                                       // succs: b24
MESA: info:                 } else {
MESA: info:                     con block b23:        // preds: b21
MESA: info:                     div 32x2  %2001 = fmul %234.xy, %260
MESA: info:                     div 32    %2002 = mov %2001.x
MESA: info:                     div 32    %2003 = mov %2001.y
MESA: info:                                       // succs: b24
MESA: info:                 }
MESA: info:                 con block b24:        // preds: b22 b23
MESA: info:                 div 32     %474 = phi b22: %471, b23: %2003
MESA: info:                 div 32     %475 = phi b22: %453, b23: %2002
MESA: info:                                   // succs: b25
MESA: info:             }
MESA: info:             con block b25:        // preds: b20 b24
MESA: info:             div 32     %476 = phi b20: %423, b24: %474
MESA: info:             div 32     %477 = phi b20: %405, b24: %475
MESA: info:                               // succs: b26
MESA: info:         }
MESA: info:         con block b26:        // preds: b18 b25
MESA: info:         div 32     %478 = phi b18: %363, b25: %476
MESA: info:         div 32     %479 = phi b18: %348, b25: %477
MESA: info:                           // succs: b27
MESA: info:     }
MESA: info:     con block b27:        // preds: b16 b26
MESA: info:     div 32     %480 = phi b16: %333, b26: %478
MESA: info:     div 32     %481 = phi b16: %325, b26: %479
MESA: info:     con 32     %238 = load_const (0x00000002 = 0.000000)
MESA: info:     con 32     %483 = @load_const_ir3 (%226 (0x0)) (base=23)
MESA: info:     div 32    %1732 = icsel_eqz %483, %234.x, %481
MESA: info:     div 32    %1731 = icsel_eqz %483, %234.y, %480
MESA: info:     div 32     %489 = fmul %228.w, %228.w
MESA: info:     div 32    %1730 = ffma %229.x, %229.x, %489
MESA: info:     div 32    %1729 = ffma %228.z, %228.z, %1730
MESA: info:     div 32     %493 = frsq %1729
MESA: info:     div 32x2  %2004 = fmul %228.zw, %493.xx
MESA: info:     div 32     %496 = fmul %229.x, %493
MESA: info:     div 1      %497 = @load_front_face
MESA: info:     div 1      %498 = inot %497
MESA: info:     div 1      %499 = iand %498, %267
MESA: info:     div 32x2  %2005 = fneg %2004
MESA: info:     div 32     %502 = fneg %496
MESA: info:     div 32x2  %2006 = bcsel %499.xx, %2005, %2004
MESA: info:     div 32     %505 = bcsel %499, %502, %496
MESA: info:     div 32x2   %506 = vec2 %1732, %1731
MESA: info:     con 32     %507 = @bindless_resource_ir3 (%236 (0x5)) (desc_set=2)
MESA: info:     con 32     %508 = @bindless_resource_ir3 (%235 (0x4)) (desc_set=2)
MESA: info:     div 32x4   %509 = (float32)tex %508 (texture_handle), %507 (sampler_handle), %506 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32     %515 = @load_const_ir3 (%226 (0x0)) (base=49)
MESA: info:     con 32     %516 = load_const (0xbf008081 = -0.501961)
MESA: info:     div 32x2  %2007 = fadd %509.xy, %516 (-0.501961).xx
MESA: info:     con 32     %519 = load_const (0x40008102 = 2.007874)
MESA: info:     div 32x2  %2008 = fmul %519 (2.007874).xx, %2007
MESA: info:     div 32     %523 = fmul %2008.x, %2008.x
MESA: info:     div 32    %1728 = ffma %2008.y, %2008.y, %523
MESA: info:     con 32     %525 = load_const (0x3f800000 = 1.000000)
MESA: info:     div 32    %1727 = fsub %525 (1.000000), %1728
MESA: info:     div 32     %528 = fsat %1727
MESA: info:     div 32     %529 = fsqrt %528
MESA: info:     div 32x2  %2009 = fmul %515.xx, %2008
MESA: info:     div 32    %1726 = ffma %2009.y, %2009.y, %528
MESA: info:     div 32    %1725 = ffma %2009.x, %2009.x, %1726
MESA: info:     div 32     %536 = frsq %1725
MESA: info:     div 32x2  %2010 = fmul %2009, %536.xx
MESA: info:     div 32     %539 = fmul %529, %536
MESA: info:     div 32x3  %2012 = fmul %230.xyz, %2010.yyy
MESA: info:     div 32x3  %2014 = ffma %229.yzw, %2010.xxx, %2012
MESA: info:     div 32x2  %2015 = ffma %228.zw, %539.xx, %2014.xy
MESA: info:     div 32    %1719 = ffma %229.x, %539, %2014.z
MESA: info:     div 32     %556 = fmul %2015.y, %2015.y
MESA: info:     div 32    %1718 = ffma %1719, %1719, %556
MESA: info:     div 32    %1717 = ffma %2015.x, %2015.x, %1718
MESA: info:     div 32     %560 = frsq %1717
MESA: info:     div 32x2  %2016 = fmul %2015, %560.xx
MESA: info:     div 32     %563 = fmul %1719, %560
MESA: info:     div 32x2  %2017 = fneg %2016
MESA: info:     div 32     %566 = fneg %563
MESA: info:     div 32x2  %2018 = bcsel %499.xx, %2017, %2016
MESA: info:     div 32     %569 = bcsel %499, %566, %563
MESA: info:     con 32     %570 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32     %571 = @bindless_resource_ir3 (%570 (0x1)) (desc_set=2)
MESA: info:     con 32     %572 = @bindless_resource_ir3 (%226 (0x0)) (desc_set=2)
MESA: info:     div 32x4   %573 = (float32)tex %572 (texture_handle), %571 (sampler_handle), %506 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %2111 = mov %573.zyx
MESA: info:     div 32x3  %2103 = mov %573.zyx
MESA: info:     div 1      %574 = fge! %245, %573.w
MESA: info:                       @demote_if (%574)
MESA: info:     con 32     %578 = @load_const_ir3 (%226 (0x0)) (base=64)
MESA: info:     div 32     %579 = fmul %578, %573.w
MESA: info:     div 32     %580 = fmin %579, %525 (1.000000)
MESA: info:     con 1      %582 = ilt %254.y, %268 (0x3)
MESA: info:                       // succs: b28 b44
MESA: info:     if %582 {
MESA: info:         con block b28:        // preds: b27
MESA: info:         con 32     %588 = @load_const_ir3 (%226 (0x0)) (base=54)
MESA: info:         con 32x4  %2026 = load_const (0x00000000, 0x00000001, 0x00000002, 0x00000003)
MESA: info:         con 1x4   %2027 = ieq %254.xxxx, %2026 (0x0, 0x1, 0x2, 0x3)
MESA: info:         con 1     %2025 = mov %2027.z
MESA: info:         con 1     %2021 = mov %2027.x
MESA: info:         con 1     %2022 = mov %2027.y
MESA: info:         con 1     %2315 = inot %2021
MESA: info:                           // succs: b29 b42
MESA: info:         if %2315 {
MESA: info:             con block b29:        // preds: b28
MESA: info:             con 32x2  %2028 = load_const (0x00000000, 0x00000001)
MESA: info:             con 1x2   %2029 = ine %254.yy, %2028 (0x0, 0x1)
MESA: info:             con 1     %2030 = mov %2029.x
MESA: info:             con 1     %2031 = mov %2029.y
MESA: info:                               // succs: b30 b34
MESA: info:             if %2030 {
MESA: info:                 con block b30:  // preds: b29, succs: b31 b32
MESA: info:                 if %2031 {
MESA: info:                     con block b31:        // preds: b30
MESA: info:                     con 32     %598 = load_const (0x3f7d70a4 = 0.990000)
MESA: info:                     con 32     %600 = load_const (0x3e107c85 = 0.141100)
MESA: info:                     con 32x2  %2032 = load_const (0x3e107c85, 0x3f7d70a4) = (0.141100, 0.990000)
MESA: info:                     div 32x2  %2033 = fmul %2032 (0.141100, 0.990000), %2006.yy
MESA: info:                     div 32     %603 = fmul %600 (0.141100), %505
MESA: info:                     div 32     %604 = fneg %603
MESA: info:                     div 32    %1716 = ffma %598 (0.990000), %2006.x, %604
MESA: info:                     div 32     %608 = fmul %1716, %1716
MESA: info:                     div 32    %1715 = ffma %2033.x, %2033.x, %608
MESA: info:                     div 32    %1714 = ffma %2033.y, %2033.y, %1715
MESA: info:                     div 32     %611 = frsq %1714
MESA: info:                     div 32x2  %2034 = fmul %2033.yx, %611.xx
MESA: info:                     div 32     %614 = fmul %1716, %611
MESA: info:                     div 32     %616 = fmul %231.x, %614
MESA: info:                     div 32    %1713 = ffma %231.y, %2034.y, %616
MESA: info:                     div 32    %1711 = fneg %2034.x
MESA: info:                     div 32    %1712 = ffma %1711, %230.w, %1713
MESA: info:                     div 32     %625 = fmul %505, %614
MESA: info:                     div 32     %626 = fmul %2006.x, %2034.y
MESA: info:                     div 32     %627 = fmul %2034.x, %2006.y
MESA: info:                     div 32     %628 = fneg %625
MESA: info:                     div 32    %1710 = ffma %2006.y, %2034.y, %628
MESA: info:                     div 32     %630 = fneg %626
MESA: info:                     div 32    %1709 = ffma %1711, %505, %630
MESA: info:                     div 32    %1707 = ffma %2006.x, %614, %627
MESA: info:                     div 32     %634 = fmul %231.x, %1709
MESA: info:                     div 32    %1706 = ffma %231.y, %1707, %634
MESA: info:                     div 32    %1705 = ffma %230.w, %1710, %1706
MESA: info:                                       // succs: b33
MESA: info:                 } else {
MESA: info:                     con block b32:  // preds: b30, succs: b33
MESA: info:                 }
MESA: info:                 con block b33:        // preds: b31 b32
MESA: info:                 div 32     %638 = phi b31: %1705, b32: %248
MESA: info:                 div 32     %639 = phi b31: %1712, b32: %247
MESA: info:                                   // succs: b35
MESA: info:             } else {
MESA: info:                 con block b34:  // preds: b29, succs: b35
MESA: info:             }
MESA: info:             con block b35:        // preds: b33 b34
MESA: info:             div 32     %640 = phi b33: %638, b34: %1731
MESA: info:             div 32     %641 = phi b33: %639, b34: %1732
MESA: info:             div 32     %642 = fmul %260.x, %641
MESA: info:             div 32     %643 = fmul %260.y, %640
MESA: info:             div 32x2   %644 = vec2 %642, %643
MESA: info:             con 32     %645 = load_const (0x00000007 = 0.000000)
MESA: info:             con 32     %646 = @bindless_resource_ir3 (%645 (0x7)) (desc_set=2)
MESA: info:             con 32     %647 = @bindless_resource_ir3 (%269 (0x6)) (desc_set=2)
MESA: info:             div 32x4   %648 = (float32)tex %647 (texture_handle), %646 (sampler_handle), %644 (coord), 0 (texture), 0 (sampler)
MESA: info:                               // succs: b36 b37
MESA: info:             if %2022 {
MESA: info:                 con block b36:        // preds: b35
MESA: info:                 con 32     %653 = @load_const_ir3 (%226 (0x0)) (base=24)
MESA: info:                 div 32x3  %2036 = ffma %648.xyz, %588.xxx, %653.xxx
MESA: info:                 div 32x3  %2040 = fmul %573.xyz, %2036
MESA: info:                 div 32x3  %2095 = mov %2040.zyx
MESA: info:                                   // succs: b41
MESA: info:             } else {
MESA: info:                 con block b37:  // preds: b35, succs: b38 b39
MESA: info:                 if %2025 {
MESA: info:                     con block b38:        // preds: b37
MESA: info:                     con 32     %660 = load_const (0x3f000000 = 0.500000)
MESA: info:                     con 32     %662 = @load_const_ir3 (%226 (0x0)) (base=25)
MESA: info:                     div 32x3  %2043 = ffma %648.xyz, %588.xxx, %662.xxx
MESA: info:                     con 32     %669 = load_const (0x3de147ae = 0.110000)
MESA: info:                     con 32     %670 = load_const (0x3f170a3d = 0.590000)
MESA: info:                     con 32     %671 = load_const (0x3e99999a = 0.300000)
MESA: info:                     div 32     %673 = fmul %670 (0.590000), %573.y
MESA: info:                     div 32    %1698 = ffma %669 (0.110000), %573.z, %673
MESA: info:                     div 32    %1697 = ffma %671 (0.300000), %573.x, %1698
MESA: info:                     div 1      %677 = flt! %1697, %660 (0.500000)
MESA: info:                     con 32     %678 = load_const (0x40000000 = 2.000000)
MESA: info:                     div 32x3  %2045 = fmul %678 (2.000000).xxx, %2043
MESA: info:                     div 32x3  %2047 = fmul %2045, %573.xyz
MESA: info:                     div 32x3  %2049 = fsub %525 (1.000000).xxx, %2043
MESA: info:                     div 32x3  %2051 = fmul %678 (2.000000).xxx, %2049
MESA: info:                     div 32x3  %2053 = fsub %525 (1.000000).xxx, %573.xyz
MESA: info:                     div 32x3  %2056 = fneg %2051
MESA: info:                     div 32x3  %2057 = ffma %2056, %2053, %525 (1.000000).xxx
MESA: info:                     div 32x3  %2061 = bcsel %677.xxx, %2047, %2057
MESA: info:                     div 32x3  %2086 = mov %2061.zyx
MESA: info:                                       // succs: b40
MESA: info:                 } else {
MESA: info:                     con block b39:        // preds: b37
MESA: info:                     con 32     %716 = @load_const_ir3 (%226 (0x0)) (base=26)
MESA: info:                     div 32x3  %2064 = ffma %648.xyz, %588.xxx, %716.xxx
MESA: info:                     div 32x3  %2066 = fsub %525 (1.000000).xxx, %2064
MESA: info:                     div 32x3  %2068 = fneg %2066
MESA: info:                     div 32x3  %2070 = fsub %648.xyz, %573.xyz
MESA: info:                     div 32x3  %2072 = fmul %648.www, %2070
MESA: info:                     div 32x3  %2077 = bcsel %2027.www, %2068, %2072
MESA: info:                     div 32x3  %2078 = fadd %573.xyz, %2077
MESA: info:                     div 32x3  %2087 = mov %2078.zyx
MESA: info:                                       // succs: b40
MESA: info:                 }
MESA: info:                 con block b40:        // preds: b38 b39
MESA: info:                 div 32x3  %2085 = phi b38: %2086, b39: %2087
MESA: info:                                   // succs: b41
MESA: info:             }
MESA: info:             con block b41:        // preds: b36 b40
MESA: info:             div 32x3  %2094 = phi b36: %2095, b40: %2085
MESA: info:                               // succs: b43
MESA: info:         } else {
MESA: info:             con block b42:  // preds: b28, succs: b43
MESA: info:         }
MESA: info:         con block b43:        // preds: b41 b42
MESA: info:         div 32x3  %2102 = phi b41: %2094, b42: %2103
MESA: info:                           // succs: b45
MESA: info:     } else {
MESA: info:         con block b44:  // preds: b27, succs: b45
MESA: info:     }
MESA: info:     con block b45:        // preds: b43 b44
MESA: info:     div 32x3  %2110 = phi b43: %2102, b44: %2111
MESA: info:     con 32x4   %767 = @load_const_ir3 (%226 (0x0)) (base=56)
MESA: info:     con 32     %773 = @load_const_ir3 (%226 (0x0)) (base=60)
MESA: info:     con 32x3  %2116 = load_const (0x00000000, 0x00000000, 0x00000001)
MESA: info:     con 1x3   %2117 = ine %767.xyy, %2116 (0x0, 0x0, 0x1)
MESA: info:     con 1     %2118 = mov %2117.z
MESA: info:     con 1     %2114 = mov %2117.x
MESA: info:     con 1     %2115 = mov %2117.y
MESA: info:                       // succs: b46 b59
MESA: info:     if %2114 {
MESA: info:         con block b46:  // preds: b45, succs: b47 b51
MESA: info:         if %2115 {
MESA: info:             con block b47:  // preds: b46, succs: b48 b49
MESA: info:             if %2118 {
MESA: info:                 con block b48:        // preds: b47
MESA: info:                 con 32     %777 = load_const (0x3f7d70a4 = 0.990000)
MESA: info:                 con 32     %779 = load_const (0x3e107c85 = 0.141100)
MESA: info:                 con 32x2  %2119 = load_const (0x3e107c85, 0x3f7d70a4) = (0.141100, 0.990000)
MESA: info:                 div 32x2  %2120 = fmul %2119 (0.141100, 0.990000), %2006.yy
MESA: info:                 div 32     %782 = fmul %779 (0.141100), %505
MESA: info:                 div 32     %783 = fneg %782
MESA: info:                 div 32    %1666 = ffma %777 (0.990000), %2006.x, %783
MESA: info:                 div 32     %787 = fmul %1666, %1666
MESA: info:                 div 32    %1665 = ffma %2120.x, %2120.x, %787
MESA: info:                 div 32    %1664 = ffma %2120.y, %2120.y, %1665
MESA: info:                 div 32     %790 = frsq %1664
MESA: info:                 div 32x2  %2121 = fmul %2120.yx, %790.xx
MESA: info:                 div 32     %793 = fmul %1666, %790
MESA: info:                 div 32     %795 = fmul %231.x, %793
MESA: info:                 div 32    %1663 = ffma %231.y, %2121.y, %795
MESA: info:                 div 32    %1661 = fneg %2121.x
MESA: info:                 div 32    %1662 = ffma %1661, %230.w, %1663
MESA: info:                 div 32     %804 = fmul %505, %793
MESA: info:                 div 32     %805 = fmul %2006.x, %2121.y
MESA: info:                 div 32     %806 = fmul %2121.x, %2006.y
MESA: info:                 div 32     %807 = fneg %804
MESA: info:                 div 32    %1660 = ffma %2006.y, %2121.y, %807
MESA: info:                 div 32     %809 = fneg %805
MESA: info:                 div 32    %1659 = ffma %1661, %505, %809
MESA: info:                 div 32    %1657 = ffma %2006.x, %793, %806
MESA: info:                 div 32     %813 = fmul %231.x, %1659
MESA: info:                 div 32    %1656 = ffma %231.y, %1657, %813
MESA: info:                 div 32    %1655 = ffma %230.w, %1660, %1656
MESA: info:                                   // succs: b50
MESA: info:             } else {
MESA: info:                 con block b49:  // preds: b47, succs: b50
MESA: info:             }
MESA: info:             con block b50:        // preds: b48 b49
MESA: info:             div 32     %817 = phi b48: %1655, b49: %248
MESA: info:             div 32     %818 = phi b48: %1662, b49: %247
MESA: info:                               // succs: b52
MESA: info:         } else {
MESA: info:             con block b51:  // preds: b46, succs: b52
MESA: info:         }
MESA: info:         con block b52:        // preds: b50 b51
MESA: info:         div 32     %819 = phi b50: %817, b51: %1731
MESA: info:         div 32     %820 = phi b50: %818, b51: %1732
MESA: info:         con 32     %237 = load_const (0x00000009 = 0.000000)
MESA: info:         div 32     %821 = fmul %767.z, %820
MESA: info:         div 32     %822 = fmul %767.w, %819
MESA: info:         div 32x2   %823 = vec2 %821, %822
MESA: info:         con 32     %824 = @bindless_resource_ir3 (%237 (0x9)) (desc_set=2)
MESA: info:         con 32     %825 = load_const (0x00000008 = 0.000000)
MESA: info:         con 32     %826 = @bindless_resource_ir3 (%825 (0x8)) (desc_set=2)
MESA: info:         div 32x4   %827 = (float32)tex %826 (texture_handle), %824 (sampler_handle), %823 (coord), 0 (texture), 0 (sampler)
MESA: info:         con 32x3  %2126 = load_const (0x00000001, 0x00000002, 0x00000003)
MESA: info:         con 1x3   %2127 = ieq %767.xxx, %2126 (0x1, 0x2, 0x3)
MESA: info:         con 1     %2124 = mov %2127.x
MESA: info:         con 1     %2125 = mov %2127.y
MESA: info:                           // succs: b53 b54
MESA: info:         if %2124 {
MESA: info:             con block b53:        // preds: b52
MESA: info:             con 32     %835 = @load_const_ir3 (%226 (0x0)) (base=27)
MESA: info:             div 32x3  %2129 = ffma %827.xyz, %773.xxx, %835.xxx
MESA: info:             div 32x3  %2133 = fmul %2110.zyx, %2129
MESA: info:             div 32x3  %2188 = mov %2133.zyx
MESA: info:                               // succs: b58
MESA: info:         } else {
MESA: info:             con block b54:  // preds: b52, succs: b55 b56
MESA: info:             if %2125 {
MESA: info:                 con block b55:        // preds: b54
MESA: info:                 con 32     %842 = load_const (0x3f000000 = 0.500000)
MESA: info:                 con 32     %844 = @load_const_ir3 (%226 (0x0)) (base=28)
MESA: info:                 div 32x3  %2136 = ffma %827.xyz, %773.xxx, %844.xxx
MESA: info:                 con 32     %851 = load_const (0x3de147ae = 0.110000)
MESA: info:                 con 32     %852 = load_const (0x3f170a3d = 0.590000)
MESA: info:                 con 32     %853 = load_const (0x3e99999a = 0.300000)
MESA: info:                 div 32     %855 = fmul %852 (0.590000), %2110.y
MESA: info:                 div 32    %1648 = ffma %851 (0.110000), %2110.x, %855
MESA: info:                 div 32    %1647 = ffma %853 (0.300000), %2110.z, %1648
MESA: info:                 div 1      %859 = flt! %1647, %842 (0.500000)
MESA: info:                 con 32     %860 = load_const (0x40000000 = 2.000000)
MESA: info:                 div 32x3  %2138 = fmul %860 (2.000000).xxx, %2136
MESA: info:                 div 32x3  %2140 = fmul %2138, %2110.zyx
MESA: info:                 div 32x3  %2142 = fsub %525 (1.000000).xxx, %2136
MESA: info:                 div 32x3  %2144 = fmul %860 (2.000000).xxx, %2142
MESA: info:                 div 32x3  %2146 = fsub %525 (1.000000).xxx, %2110.zyx
MESA: info:                 div 32x3  %2149 = fneg %2144
MESA: info:                 div 32x3  %2150 = ffma %2149, %2146, %525 (1.000000).xxx
MESA: info:                 div 32x3  %2154 = bcsel %859.xxx, %2140, %2150
MESA: info:                 div 32x3  %2179 = mov %2154.zyx
MESA: info:                                   // succs: b57
MESA: info:             } else {
MESA: info:                 con block b56:        // preds: b54
MESA: info:                 con 32     %898 = @load_const_ir3 (%226 (0x0)) (base=29)
MESA: info:                 div 32x3  %2157 = ffma %827.xyz, %773.xxx, %898.xxx
MESA: info:                 div 32x3  %2159 = fsub %525 (1.000000).xxx, %2157
MESA: info:                 div 32x3  %2161 = fneg %2159
MESA: info:                 div 32x3  %2163 = fsub %827.xyz, %2110.zyx
MESA: info:                 div 32x3  %2165 = fmul %827.www, %2163
MESA: info:                 div 32x3  %2170 = bcsel %2127.zzz, %2161, %2165
MESA: info:                 div 32x3  %2171 = fadd %2110.zyx, %2170
MESA: info:                 div 32x3  %2180 = mov %2171.zyx
MESA: info:                                   // succs: b57
MESA: info:             }
MESA: info:             con block b57:        // preds: b55 b56
MESA: info:             div 32x3  %2178 = phi b55: %2179, b56: %2180
MESA: info:                               // succs: b58
MESA: info:         }
MESA: info:         con block b58:        // preds: b53 b57
MESA: info:         div 32x3  %2187 = phi b53: %2188, b57: %2178
MESA: info:                           // succs: b60
MESA: info:     } else {
MESA: info:         con block b59:  // preds: b45, succs: b60
MESA: info:     }
MESA: info:     con block b60:        // preds: b58 b59
MESA: info:     div 32x3  %2193 = phi b58: %2187, b59: %2110
MESA: info:     con 32     %938 = @bindless_resource_ir3 (%268 (0x3)) (desc_set=2)
MESA: info:     con 32     %939 = @bindless_resource_ir3 (%238 (0x2)) (desc_set=2)
MESA: info:     div 32x4   %940 = (float32)tex %939 (texture_handle), %938 (sampler_handle), %506 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32     %941 = fmin %228.y, %940.z
MESA: info:     con 32x3   %944 = @load_const_ir3 (%226 (0x0)) (base=80)
MESA: info:     div 32x3  %2195 = fmul %2193.zyx, %944
MESA: info:     con 32x4   %952 = @load_const_ir3 (%226 (0x0)) (base=96)
MESA: info:     con 32x4   %961 = @load_const_ir3 (%226 (0x0)) (base=100)
MESA: info:     con 32x4   %973 = @load_const_ir3 (%226 (0x0)) (base=104)
MESA: info:     con 32x4   %987 = @load_const_ir3 (%226 (0x0)) (base=108)
MESA: info:     div 32x4  %2202 = ffma %961, %231.xxxx, %987
MESA: info:     div 32x4  %2203 = ffma %952, %230.wwww, %2202
MESA: info:     div 32x4  %2204 = ffma %973, %231.yyyy, %2203
MESA: info:     div 32     %995 = frcp %2204.w
MESA: info:     div 32x2  %2205 = fmul %2204.xy, %995.xx
MESA: info:     div 32     %998 = fmin! %2205.y, %2205.x
MESA: info:     con 32     %999 = load_const (0xbf800000 = -1.000000)
MESA: info:     div 1     %1000 = flt! %998, %999 (-1.000000)
MESA: info:     div 32    %1001 = fmax! %2205.y, %2205.x
MESA: info:     div 1     %1002 = flt! %525 (1.000000), %1001
MESA: info:     div 1     %1902 = inot %1000
MESA: info:     div 1     %1903 = inot %1002
MESA: info:     div 1     %1904 = iand %1902, %1903
MESA: info:                       // succs: b61 b62
MESA: info:     if %1904 {
MESA: info:         div block b61:        // preds: b60
MESA: info:         con 32     %974 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:         con 32     %975 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:         con 32    %1005 = load_const (0x3f000000 = 0.500000)
MESA: info:         div 32x2  %2206 = ffma %1005 (0.500000).xx, %2205, %1005 (0.500000).xx
MESA: info:         div 32    %1606 = ffma %1005 (0.500000), %2204.z, %1005 (0.500000)
MESA: info:         con 32    %1013 = @bindless_resource_ir3 (%975 (0xb)) (desc_set=2)
MESA: info:         con 32    %1014 = @bindless_resource_ir3 (%974 (0xa)) (desc_set=2)
MESA: info:         div 32    %1015 = (float32)tex %1014 (texture_handle), %1013 (sampler_handle), %2206 (coord), %1606 (comparator), 0 (texture), 0 (sampler)
MESA: info:                           // succs: b63
MESA: info:     } else {
MESA: info:         div block b62:  // preds: b60, succs: b63
MESA: info:     }
MESA: info:     con block b63:        // preds: b61 b62
MESA: info:     div 32    %1016 = phi b61: %1015, b62: %525 (1.000000)
MESA: info:     con 32     %953 = load_const (0x0000000c = 0.000000 = 12)
MESA: info:     con 32     %988 = load_const (0x0000000d = 0.000000 = 13)
MESA: info:     con 32     %989 = load_const (0x0000000e = 0.000000 = 14)
MESA: info:     con 32     %990 = load_const (0x0000000f = 0.000000 = 15)
MESA: info:     con 32    %1017 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32    %1605 = fsub %1017 (2.000000), %940.x
MESA: info:     div 32    %1020 = fmul %940.x, %1605
MESA: info:     con 32    %1021 = load_const (0x3f600000 = 0.875000)
MESA: info:     div 1     %1022 = fge! %1021 (0.875000), %940.y
MESA: info:     con 32    %1023 = load_const (0x3f26f694 = 0.652200)
MESA: info:     div 32    %1024 = fmul %1023 (0.652200), %940.y
MESA: info:     con 32    %1025 = load_const (0xbf600000 = -0.875000)
MESA: info:     div 32    %1026 = fadd %940.y, %1025 (-0.875000)
MESA: info:     con 32    %1027 = load_const (0x405bd07c = 3.434600)
MESA: info:     con 32    %1029 = load_const (0x3f1217c2 = 0.570675)
MESA: info:     div 32    %1604 = ffma %1027 (3.434600), %1026, %1029 (0.570675)
MESA: info:     div 32    %1031 = bcsel %1022, %1024, %1604
MESA: info:     con 32    %1032 = load_const (0x400ccccd = 2.200000)
MESA: info:     div 32x3  %2210 = flog2 %2195
MESA: info:     div 32x3  %2211 = fmul %2210, %1032 (2.200000).xxx
MESA: info:     div 32x3  %2212 = fexp2 %2211
MESA: info:     div 32x3  %2214 = fmul %2212, %1020.xxx
MESA: info:     div 32x3  %2216 = fsub %2212, %2214
MESA: info:     con 32    %1051 = load_const (0x3d23d70a = 0.040000)
MESA: info:     con 32    %1053 = load_const (0x3c23d70a = 0.010000)
MESA: info:     div 32    %1600 = ffma %1031, %1051 (0.040000), %1053 (0.010000)
MESA: info:     div 32    %1599 = fsub %525 (1.000000), %1020
MESA: info:     div 32x3  %2218 = ffma %1600.xxx, %1599.xxx, %2214
MESA: info:     div 32x3  %2220 = fsat %2216
MESA: info:     div 32x3  %2222 = fsat %2218
MESA: info:     con 32x3  %1071 = @load_const_ir3 (%226 (0x0)) (base=140)
MESA: info:     div 32    %1595 = fsub %230.w, %1071.x
MESA: info:     div 32x2  %2223 = fsub %231.xy, %1071.yz
MESA: info:     div 32    %1079 = fmul %2018.y, %2223.x
MESA: info:     div 32    %1592 = ffma %569, %2223.y, %1079
MESA: info:     div 32    %1591 = ffma %2018.x, %1595, %1592
MESA: info:     div 32    %1083 = fmul %1591, %1017 (2.000000)
MESA: info:     div 32    %1589 = fneg %1083
MESA: info:     div 32    %1590 = ffma %1589, %2018.x, %1595
MESA: info:     div 32    %1588 = ffma %1589, %2018.y, %2223.x
MESA: info:     div 32    %1586 = ffma %1589, %569, %2223.y
MESA: info:     div 32    %1094 = fmul %1588, %1588
MESA: info:     div 32    %1584 = ffma %1586, %1586, %1094
MESA: info:     div 32    %1583 = ffma %1590, %1590, %1584
MESA: info:     div 32    %1098 = frsq %1583
MESA: info:     div 32    %1099 = fmul %1590, %1098
MESA: info:     div 32    %1100 = fmul %1588, %1098
MESA: info:     div 32    %1101 = fmul %1586, %1098
MESA: info:     div 32x3  %2225 = fsub %1031.xxx, %2222
MESA: info:     div 32x3  %2227 = fmax %2225, %226 (0.000000).xxx
MESA: info:     div 32    %1112 = fmul %2018.y, %1100
MESA: info:     div 32    %1579 = ffma %569, %1101, %1112
MESA: info:     div 32    %1578 = ffma %2018.x, %1099, %1579
MESA: info:     div 32    %1116 = fabs %1578
MESA: info:     div 32    %1577 = fsub %525 (1.000000), %1116
MESA: info:     div 32    %1119 = fsat %1577
MESA: info:     div 32    %1121 = fmul %1119, %1119
MESA: info:     div 32    %1122 = fmul %1121, %1121
MESA: info:     div 32    %1123 = fmul %1122, %1119
MESA: info:     div 32x3  %2229 = ffma %2227, %1123.xxx, %2222
MESA: info:     div 32x3  %2231 = fsub %525 (1.000000).xxx, %2229
MESA: info:     div 32x3  %2233 = fmul %2220, %2231
MESA: info:     div 32    %1570 = fsub %525 (1.000000), %1031
MESA: info:     con 32    %1141 = load_const (0x40c00000 = 6.000000)
MESA: info:     div 32    %1142 = fmul %1141 (6.000000), %1570
MESA: info:     con 32x3  %1148 = @load_const_ir3 (%226 (0x0)) (base=164)
MESA: info:     con 32x3  %1155 = @load_const_ir3 (%226 (0x0)) (base=168)
MESA: info:     con 32x3  %1165 = @load_const_ir3 (%226 (0x0)) (base=172)
MESA: info:     con 32x3  %1175 = @load_const_ir3 (%226 (0x0)) (base=176)
MESA: info:     div 32x3  %2237 = ffma %1155, %2018.yyy, %1175
MESA: info:     div 32x3  %2238 = ffma %1148, %2018.xxx, %2237
MESA: info:     div 32x3  %2239 = ffma %1165, %569.xxx, %2238
MESA: info:     con 32    %1180 = @bindless_resource_ir3 (%988 (0xd)) (desc_set=2)
MESA: info:     con 32    %1181 = @bindless_resource_ir3 (%953 (0xc)) (desc_set=2)
MESA: info:     div 32x4  %1182 = (float32)txl %1181 (texture_handle), %1180 (sampler_handle), %2239 (coord), %1141 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %2269 = mov %1182.yzx
MESA: info:     div 32x3  %2243 = ffma %1155, %1100.xxx, %1175
MESA: info:     div 32x3  %2244 = ffma %1148, %1099.xxx, %2243
MESA: info:     div 32x3  %2245 = ffma %1165, %1101.xxx, %2244
MESA: info:     div 32x4  %1202 = (float32)txl %1181 (texture_handle), %1180 (sampler_handle), %2245 (coord), %1142 (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %2263 = mov %1202.yzx
MESA: info:     con 32    %1203 = @bindless_resource_ir3 (%990 (0xf)) (desc_set=2)
MESA: info:     con 32    %1204 = @bindless_resource_ir3 (%989 (0xe)) (desc_set=2)
MESA: info:     div 32x4  %1205 = (float32)txl %1204 (texture_handle), %1203 (sampler_handle), %2239 (coord), %1141 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %2266 = mov %1205.yzx
MESA: info:     div 32x4  %1206 = (float32)txl %1204 (texture_handle), %1203 (sampler_handle), %2245 (coord), %1142 (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %2260 = mov %1206.yzx
MESA: info:     con 32    %1210 = @load_const_ir3 (%226 (0x0)) (base=180)
MESA: info:     con 1     %1211 = flt! %525 (1.000000), %1210
MESA: info:                       // succs: b64 b65
MESA: info:     if %1211 {
MESA: info:         con block b64:        // preds: b63
MESA: info:         con 32x4  %1214 = @load_const_ir3 (%226 (0x0)) (base=144)
MESA: info:         con 32    %1216 = @load_const_ir3 (%226 (0x0)) (base=30)
MESA: info:         con 32    %1218 = @load_const_ir3 (%226 (0x0)) (base=31)
MESA: info:         con 32    %1220 = @load_const_ir3 (%226 (0x0)) (base=32)
MESA: info:         div 32    %1221 = fmax %569, %226 (0.000000)
MESA: info:         div 32    %1222 = fadd %525 (1.000000), %1221
MESA: info:         div 32    %1223 = fmul %1218, %1222
MESA: info:         div 32x3  %2268 = mov %1223.xxx
MESA: info:         div 32    %1225 = fmul %2018.y, %1214.y
MESA: info:         div 32    %1557 = ffma %569, %1214.z, %1225
MESA: info:         div 32    %1556 = ffma %2018.x, %1214.x, %1557
MESA: info:         div 32    %1229 = fmax %1556, %226 (0.000000)
MESA: info:         div 32    %1230 = fadd %1223, %1229
MESA: info:         div 32    %1231 = fmul %1220, %1230
MESA: info:         div 32x3  %2265 = mov %1231.xxx
MESA: info:         con 32    %1232 = load_const (0x3dcccccd = 0.100000)
MESA: info:         con 32    %1233 = fmul %1232 (0.100000), %1216
MESA: info:         con 32x3  %2262 = mov %1233.xxx
MESA: info:         div 32    %1235 = fmul %1100, %1214.y
MESA: info:         div 32    %1555 = ffma %1101, %1214.z, %1235
MESA: info:         div 32    %1554 = ffma %1099, %1214.x, %1555
MESA: info:         div 32    %1239 = fmax %1554, %226 (0.000000)
MESA: info:         div 32    %1240 = fmul %1216, %1239
MESA: info:         div 32x3  %2259 = mov %1240.xxx
MESA: info:                           // succs: b66
MESA: info:     } else {
MESA: info:         con block b65:  // preds: b63, succs: b66
MESA: info:     }
MESA: info:     con block b66:        // preds: b64 b65
MESA: info:     div 32x3  %2258 = phi b64: %2259, b65: %2260
MESA: info:     div 32x3  %2264 = phi b64: %2265, b65: %2266
MESA: info:     div 32x3  %2261 = phi b64: %2262, b65: %2263
MESA: info:     div 32x3  %2267 = phi b64: %2268, b65: %2269
MESA: info:     con 32     %958 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:     con 32    %1120 = load_const (0x40a00000 = 5.000000)
MESA: info:     con 32    %1267 = @load_const_ir3 (%226 (0x0)) (base=147)
MESA: info:     div 32    %1268 = fmul %1210, %941
MESA: info:     con 32    %1273 = @load_const_ir3 (%226 (0x0)) (base=33)
MESA: info:     con 32    %1274 = load_const (0x3f266666 = 0.650000)
MESA: info:     con 32    %1276 = load_const (0x3eb33333 = 0.350000)
MESA: info:     div 32    %1553 = ffma %941, %1274 (0.650000), %1276 (0.350000)
MESA: info:     div 32    %1278 = fmul %1273, %1553
MESA: info:     div 32    %1279 = fmul %1278, %1016
MESA: info:     div 32x3  %2271 = fsub %2264.zxy, %2267.zxy
MESA: info:     div 32x3  %2273 = fmul %1279.xxx, %2271
MESA: info:     div 32x3  %2275 = ffma %1268.xxx, %2267.zxy, %2273
MESA: info:     div 32x3  %2277 = fmul %1210.xxx, %2261.zxy
MESA: info:     div 32x3  %2280 = fneg %2277
MESA: info:     div 32x3  %2281 = ffma %1273.xxx, %2258.zxy, %2280
MESA: info:     div 32x3  %2283 = fmul %1016.xxx, %2281
MESA: info:     div 32x3  %2285 = ffma %1210.xxx, %2261.zxy, %2283
MESA: info:     div 32x3  %2287 = fmul %2229, %2285
MESA: info:     div 32x3  %2289 = ffma %2233, %2275, %2287
MESA: info:     div 32x3  %2291 = fmul %1267.xxx, %2289
MESA: info:     div 32    %1536 = fneg %580
MESA: info:     div 32    %1537 = ffma %1536, %234.z, %525 (1.000000)
MESA: info:     div 32    %1534 = fneg %2231.x
MESA: info:     div 32    %1535 = ffma %1534, %1537, %525 (1.000000)
MESA: info:     div 32    %1328 = fmul %2223.x, %2223.x
MESA: info:     div 32    %1533 = ffma %2223.y, %2223.y, %1328
MESA: info:     div 32    %1532 = ffma %1595, %1595, %1533
MESA: info:     div 32    %1332 = frsq %1532
MESA: info:     div 32    %1333 = fmul %1595, %1332
MESA: info:     div 32x2  %2292 = fmul %2223, %1332.xx
MESA: info:     div 32x3  %2296 = ffma %1155, %2292.xxx, %1175
MESA: info:     div 32x3  %2297 = ffma %1148, %1333.xxx, %2296
MESA: info:     div 32x3  %2298 = ffma %1165, %2292.yyy, %2297
MESA: info:     con 32    %1355 = load_const (0x00000011 = 0.000000 = 17)
MESA: info:     con 32    %1356 = @bindless_resource_ir3 (%1355 (0x11)) (desc_set=2)
MESA: info:     con 32    %1357 = @bindless_resource_ir3 (%958 (0x10)) (desc_set=2)
MESA: info:     div 32x4  %1358 = (float32)txl %1357 (texture_handle), %1356 (sampler_handle), %2298 (coord), %226 (0.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %1359 = (float32)txl %1357 (texture_handle), %1356 (sampler_handle), %2298 (coord), %1141 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     con 32x3  %1366 = @load_const_ir3 (%226 (0x0)) (base=196)
MESA: info:     div 32x3  %2300 = fmul %1366, %232.yzw
MESA: info:     div 32x2  %2301 = ffma %2291.xy, %231.zw, %2300.xy
MESA: info:     div 32    %1523 = ffma %2291.z, %232.x, %2300.z
MESA: info:     con 32    %1373 = load_const (0xbf4ccccd = -0.800000)
MESA: info:     div 32    %1374 = fadd %228.x, %1373 (-0.800000)
MESA: info:     div 32    %1375 = fmul %1374, %1120 (5.000000)
MESA: info:     div 32    %1376 = fsat %1375
MESA: info:     div 32x3  %2303 = fsub %1358.xyz, %1359.xyz
MESA: info:     div 32x3  %2305 = ffma %1376.xxx, %2303, %1359.xyz
MESA: info:     div 32x2  %2306 = fneg %2301
MESA: info:     div 32x2  %2307 = ffma %1267.xx, %2305.xy, %2306
MESA: info:     div 32x2  %2308 = ffma %228.xx, %2307, %2301
MESA: info:     div 32    %1400 = fneg %1523
MESA: info:     div 32    %1512 = ffma %1267, %2305.z, %1400
MESA: info:     div 32    %1511 = ffma %228.x, %1512, %1523
MESA: info:     con 32x3  %1406 = @load_const_ir3 (%226 (0x0)) (base=112)
MESA: info:     con 32x3  %1413 = @load_const_ir3 (%226 (0x0)) (base=116)
MESA: info:     div 32x3  %2310 = fmul %1413, %2018.yyy
MESA: info:     div 32x3  %2312 = ffma %1406, %2018.xxx, %2310
MESA: info:     con 32x3  %1423 = @load_const_ir3 (%226 (0x0)) (base=120)
MESA: info:     div 32x3  %2314 = ffma %1423, %569.xxx, %2312
MESA: info:     div 32x4  %1430 = vec4 %2308.x, %2308.y, %1511, %1535
MESA: info:                       @store_output (%1430, %226 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %1431 = vec4 %2314.x, %2314.y, %2314.z, %525 (0x3f800000)
MESA: info:                       @store_output (%1431, %226 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA1 slots=1, xfb(), xfb2())
MESA: info:                       // succs: b67
MESA: info:     block b67:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 1daac7f6c82cae7f83763fe4db9c4fe4392f3cfb:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c12.x (40 vec4)
MESA: info: ;   preamble                   c0.x (12 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      7
MESA: info: ;   range[0]:
MESA: info: ;     block:          9
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           4 vec4 (512b -> 576b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          9
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c16.x
MESA: info: ;     size:           4 vec4 (256b -> 320b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          9
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          6
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c24.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[4]:
MESA: info: ;     block:          5
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c28.x
MESA: info: ;     size:           8 vec4 (256b -> 384b)
MESA: info: ;   range[5]:
MESA: info: ;     block:          7
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c36.x
MESA: info: ;     size:           12 vec4 (0b -> 192b)
MESA: info: ;   range[6]:
MESA: info: ;     block:          8
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c48.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @in(r0.z)	in1 (wrmask=0x3)
MESA: info: @in(hr2.x)	in2 (wrmask=0x1)
MESA: info: @const(c52.x)	0x3f000000, 0xbf000000, 0x3f400000, 0x3e800000
MESA: info: @const(c53.x)	0x3fc00000, 0xbf800000, 0xbf4ccccd, 0x40a00000
MESA: info: @const(c54.x)	0x3f7d70a4, 0x3e107c85, 0x3e99999a, 0x3de147ae
MESA: info: @const(c55.x)	0x3f170a3d, 0x3f800000, 0x400ccccd, 0x3f26f694
MESA: info: @const(c56.x)	0x3f600000, 0x405bd07c, 0xbf600000, 0x3f1217c2
MESA: info: @const(c57.x)	0x3c23d70a, 0x3d23d70a, 0x40008102, 0xbf008081
MESA: info: @const(c58.x)	0x3eb33333, 0x3f266666, 0x3dcccccd, 0x40c00000
MESA: info: shps #l228
MESA: info: getone #l228
MESA: info: ldc.u.offset3.1.imm.base1 r48.x, 32, 9
MESA: info: (sy)(ss)cmps.s.eq p0.x, r48.x, 3
MESA: info: cmps.s.eq p0.y, r48.x, 4
MESA: info: cmps.s.eq p0.z, r48.x, 5
MESA: info: (nop3) cmps.s.eq hr48.x, r48.x, 6
MESA: info: br !p0.x, #l50
MESA: info: alias.tex.b16.7 hr40.x, h(0x3400)
MESA: info: alias.tex.b16.0 hr40.y, h(0x3800)
MESA: info: alias.tex.b16.0 hr40.z, h(0x0)
MESA: info: alias.tex.b16.0 hr40.w, h(0x0)
MESA: info: alias.tex.b16.0 hr41.x, h(0x0)
MESA: info: alias.tex.b16.0 hr41.y, h(0x0)
MESA: info: alias.tex.b16.0 hr41.z, h(0x0)
MESA: info: alias.tex.b16.0 hr41.w, h(0x0)
MESA: info: samgq.base2 (f32)(xyzw)r1.y, hr40.x, s#7, t#6
MESA: info: alias.tex.b16.7 hr40.x, h(0x3a00)
MESA: info: alias.tex.b16.0 hr40.y, h(0x3800)
MESA: info: alias.tex.b16.0 hr40.z, h(0x0)
MESA: info: alias.tex.b16.0 hr40.w, h(0x0)
MESA: info: alias.tex.b16.0 hr41.x, h(0x0)
MESA: info: alias.tex.b16.0 hr41.y, h(0x0)
MESA: info: alias.tex.b16.0 hr41.z, h(0x0)
MESA: info: alias.tex.b16.0 hr41.w, h(0x0)
MESA: info: samgq.base2 (f32)(xyzw)r2.y, hr40.x, s#7, t#6
MESA: info: mov.u16u16 hr48.x, 1
MESA: info: (sy)mov.u32u32 r48.y, (last)r1.y
MESA: info: mov.u32u32 r48.z, (last)r1.z
MESA: info: mov.u32u32 r48.w, (last)r1.w
MESA: info: mov.u32u32 r49.x, (last)r2.x
MESA: info: mov.u32u32 r49.y, (last)r2.y
MESA: info: mov.u32u32 r49.z, (last)r2.z
MESA: info: mov.u32u32 r49.w, (last)r2.w
MESA: info: mov.u32u32 r50.x, (last)r3.x
MESA: info: (ss)(rpt3)cmps.f.ge hr48.z, (r)r48.y, (0.5)
MESA: info: (rpt3)cmps.f.ge hr50.z, (r)r49.y, (0.5)
MESA: info: cov.u16f32 r50.y, hr48.z
MESA: info: (rpt2)cov.u16f32 r50.z, (r)hr48.w
MESA: info: (rpt3)cov.u16f32 r51.y, (r)hr50.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[0], r50.y, 1
MESA: info: stc.u32 c[1], r50.z, 1
MESA: info: stc.u32 c[2], r50.w, 1
MESA: info: stc.u32 c[3], r51.x, 1
MESA: info: stc.u32 c[4], r51.y, 1
MESA: info: stc.u32 c[5], r51.z, 1
MESA: info: stc.u32 c[6], r51.w, 1
MESA: info: stc.u32 c[7], r52.x, 1
MESA: info: jump #l170
MESA: info: l50:
MESA: info: nop
MESA: info: br !p0.y, #l54
MESA: info: mov.u16u16 hr48.x, 1
MESA: info: jump #l170
MESA: info: l54:
MESA: info: nop
MESA: info: br !p0.z, #l102
MESA: info: alias.tex.b16.7 hr40.x, h(0x3400)
MESA: info: alias.tex.b16.0 hr40.y, h(0x3800)
MESA: info: alias.tex.b16.0 hr40.z, h(0x0)
MESA: info: alias.tex.b16.0 hr40.w, h(0x0)
MESA: info: alias.tex.b16.0 hr41.x, h(0x0)
MESA: info: alias.tex.b16.0 hr41.y, h(0x0)
MESA: info: alias.tex.b16.0 hr41.z, h(0x0)
MESA: info: alias.tex.b16.0 hr41.w, h(0x0)
MESA: info: samgq.base2 (f32)(xyz)r3.y, hr40.x, s#7, t#6
MESA: info: alias.tex.b16.7 hr40.x, h(0x3a00)
MESA: info: alias.tex.b16.0 hr40.y, h(0x3800)
MESA: info: alias.tex.b16.0 hr40.z, h(0x0)
MESA: info: alias.tex.b16.0 hr40.w, h(0x0)
MESA: info: alias.tex.b16.0 hr41.x, h(0x0)
MESA: info: alias.tex.b16.0 hr41.y, h(0x0)
MESA: info: alias.tex.b16.0 hr41.z, h(0x0)
MESA: info: alias.tex.b16.0 hr41.w, h(0x0)
MESA: info: samgq.base2 (f32)(xyz)r4.x, hr40.x, s#7, t#6
MESA: info: mov.u16u16 hr48.x, 1
MESA: info: (sy)mov.u32u32 r53.x, (last)r3.y
MESA: info: mov.u32u32 r53.y, (last)r3.z
MESA: info: mov.u32u32 r53.z, (last)r3.w
MESA: info: mov.u32u32 r52.y, (last)r4.x
MESA: info: mov.u32u32 r52.z, (last)r4.y
MESA: info: mov.u32u32 r52.w, (last)r4.z
MESA: info: (ss)cmps.f.ge r52.y, r52.y, (0.5)
MESA: info: (rpt1)cmps.f.ge r52.z, (r)r52.z, (0.5)
MESA: info: sel.b32 r52.y, c52.x, r52.y, c52.y
MESA: info: sel.b32 r52.z, c52.x, r52.z, c52.y
MESA: info: sel.b32 r52.w, c52.x, r52.w, c52.y
MESA: info: mul.f r53.x, r53.x, r52.y
MESA: info: mul.f r53.w, r53.y, r52.z
MESA: info: mul.f r54.x, r53.z, r52.w
MESA: info: mul.f r54.w, r53.x, r53.x
MESA: info: mul.f r54.y, r53.w, r53.w
MESA: info: mul.f r54.z, r54.x, r54.x
MESA: info: add.f r54.z, r54.z, r54.y
MESA: info: add.f r54.w, r54.w, r54.z
MESA: info: (ss)rsq r54.w, r54.w
MESA: info: (ss)mul.f r53.x, r53.x, r54.w
MESA: info: (rpt1)mul.f r53.w, (r)r53.w, r54.w
MESA: info: (ss)nop
MESA: info: stc.u32 c[8], r53.x, 1
MESA: info: stc.u32 c[9], r53.w, 1
MESA: info: stc.u32 c[10], r54.x, 1
MESA: info: jump #l170
MESA: info: l102:
MESA: info: alias.tex.b16.7 hr40.x, h(0x3400)
MESA: info: alias.tex.b16.0 hr40.y, h(0x3800)
MESA: info: alias.tex.b16.0 hr40.z, h(0x0)
MESA: info: alias.tex.b16.0 hr40.w, h(0x0)
MESA: info: alias.tex.b16.0 hr41.x, h(0x0)
MESA: info: alias.tex.b16.0 hr41.y, h(0x0)
MESA: info: alias.tex.b16.0 hr41.z, h(0x0)
MESA: info: alias.tex.b16.0 hr41.w, h(0x0)
MESA: info: samgq.base2 (f32)(xyz)r4.w, hr40.x, s#7, t#6
MESA: info: alias.tex.b16.7 hr40.x, h(0x3a00)
MESA: info: alias.tex.b16.0 hr40.y, h(0x3800)
MESA: info: alias.tex.b16.0 hr40.z, h(0x0)
MESA: info: alias.tex.b16.0 hr40.w, h(0x0)
MESA: info: alias.tex.b16.0 hr41.x, h(0x0)
MESA: info: alias.tex.b16.0 hr41.y, h(0x0)
MESA: info: alias.tex.b16.0 hr41.z, h(0x0)
MESA: info: alias.tex.b16.0 hr41.w, h(0x0)
MESA: info: samgq.base2 (f32)(xyz)r5.z, hr40.x, s#7, t#6
MESA: info: (sy)mov.u32u32 r55.x, (last)r4.w
MESA: info: mov.u32u32 r55.y, (last)r5.x
MESA: info: mov.u32u32 r48.y, (last)r5.w
MESA: info: mov.u32u32 r48.z, (last)r6.x
MESA: info: mov.u32u32 r55.z, (last)r5.y
MESA: info: mov.u32u32 r55.w, (last)r5.z
MESA: info: (ss)cmps.f.ge hr50.z, r55.x, c52.w
MESA: info: cmps.f.ge hr49.z, r55.x, c52.z
MESA: info: cmps.f.ge hr51.z, r55.y, c52.z
MESA: info: cmps.f.ge hr51.w, r55.y, c52.w
MESA: info: cmps.f.ge hr48.y, r48.y, c52.z
MESA: info: cov.u16f32 r49.z, hr50.z
MESA: info: cov.u16f32 r49.x, hr49.z
MESA: info: cov.u16f32 r50.x, hr51.z
MESA: info: cov.u16f32 r50.y, hr51.w
MESA: info: add.f r49.z, (1.0), (neg)r49.z
MESA: info: cmps.f.ge hr50.z, r48.z, c52.z
MESA: info: cmps.f.ge hr53.x, r55.z, c52.z
MESA: info: cmps.f.ge hr53.y, r55.z, c52.w
MESA: info: cmps.f.ge hr54.z, r55.w, c52.z
MESA: info: cmps.f.ge hr54.w, r55.w, c52.w
MESA: info: cmps.f.ge hr48.z, r48.y, c52.w
MESA: info: add.f r50.y, (1.0), (neg)r50.y
MESA: info: cmps.f.ge hr49.x, r48.z, c52.w
MESA: info: cov.u16f32 r50.w, hr53.x
MESA: info: cov.u16f32 r51.x, hr53.y
MESA: info: cov.u16f32 r51.z, hr54.z
MESA: info: cov.u16f32 r51.w, hr54.w
MESA: info: add.f r51.x, (1.0), (neg)r51.x
MESA: info: add.f r51.w, (1.0), (neg)r51.w
MESA: info: (ss)nop
MESA: info: stc.u32 c[11], r49.x, 1
MESA: info: cov.u16f32 r48.w, hr48.y
MESA: info: cov.u16f32 r49.w, hr49.x
MESA: info: add.f r49.w, (1.0), (neg)r49.w
MESA: info: stc.u32 c[17], r49.z, 1
MESA: info: stc.u32 c[12], r50.x, 1
MESA: info: stc.u32 c[18], r50.y, 1
MESA: info: stc.u32 c[13], r50.w, 1
MESA: info: stc.u32 c[14], r51.z, 1
MESA: info: stc.u32 c[19], r51.x, 1
MESA: info: (ss)cov.u16f32 r49.x, hr48.z
MESA: info: cov.u16f32 r49.z, hr50.z
MESA: info: add.f r49.x, (1.0), (neg)r49.x
MESA: info: stc.u32 c[20], r51.w, 1
MESA: info: stc.u32 c[15], r48.w, 1
MESA: info: stc.u32 c[22], r49.w, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[16], r49.z, 1
MESA: info: stc.u32 c[21], r49.x, 1
MESA: info: l170:
MESA: info: cov.u16s32 r50.x, hr48.x
MESA: info: mova1 a1.x, 138
MESA: info: (ss)nop
MESA: info: ldc.u.offset3.1.imm.base1 r51.x, 0, 7
MESA: info: ldc.u.offset0.1.imm.base1 r51.y, 9, 7
MESA: info: ldc.u.offset2.1.imm.base1 r50.y, 33, 9
MESA: info: ldc.u.offset0.1.imm.base1 r50.w, 35, 9
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#5, t#4
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#7, t#6
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#9, t#8
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#3, t#2
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#11, t#10
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#13, t#12
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#15, t#14
MESA: info: stc.u32 c[23], r50.x, 1
MESA: info: (sy)(ss)rcp r51.x, r51.x
MESA: info: rcp r51.y, r51.y
MESA: info: add.f r50.y, (1.0), (neg)r50.y
MESA: info: add.f r50.w, (1.0), (neg)r50.w
MESA: info: mul.f r50.z, (0.5), r50.y
MESA: info: mul.f r51.z, (0.5), r50.w
MESA: info: (ss)(rpt1)mul.f r51.w, r51.x, (r)c52.w
MESA: info: stc.u32 c[30], r51.x, 1
MESA: info: stc.u32 c[33], r51.y, 1
MESA: info: stc.u32 c[24], r50.y, 1
MESA: info: stc.u32 c[26], r50.y, 1
MESA: info: stc.u32 c[27], r50.w, 1
MESA: info: stc.u32 c[29], r50.w, 1
MESA: info: stc.u32 c[25], r50.z, 1
MESA: info: stc.u32 c[28], r51.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[31], r51.w, 1
MESA: info: stc.u32 c[32], r52.x, 1
MESA: info: (rpt2)nop
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, t#16, a1.x
MESA: info: (ss)mova1 a1.x, 48
MESA: info: (rpt4)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 32, 9
MESA: info: (ss)mova1 a1.x, 64
MESA: info: (rpt4)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 16, 9
MESA: info: (ss)mova1 a1.x, 80
MESA: info: (rpt4)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 9
MESA: info: (ss)mova1 a1.x, 96
MESA: info: (rpt4)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 6
MESA: info: (ss)mova1 a1.x, 112
MESA: info: (rpt4)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 16, 5
MESA: info: (ss)mova1 a1.x, 144
MESA: info: (rpt4)nop
MESA: info: ldc.12.k.imm.base1 c[a1.x], 0, 7
MESA: info: (ss)mova1 a1.x, 192
MESA: info: (rpt4)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 8
MESA: info: (sy)(ss)shpe
MESA: info: l228:
MESA: info: (jp)bary.f r9.y, 22, r0.z
MESA: info: bary.f r6.y, 6, r0.x
MESA: info: bary.f r6.w, 5, r0.x
MESA: info: bary.f r6.z, 7, r0.x
MESA: info: (rpt1)bary.f r7.x, (r)12, r0.x
MESA: info: bary.f r7.z, 9, r0.x
MESA: info: bary.f r8.x, 11, r0.x
MESA: info: bary.f r8.y, 8, r0.x
MESA: info: bary.f r7.w, 10, r0.x
MESA: info: bary.f r8.w, 3, r0.x
MESA: info: bary.f r8.z, 2, r0.x
MESA: info: bary.f r9.x, 4, r0.x
MESA: info: (rpt1)bary.f r9.z, (r)20, (last)r0.z
MESA: info: bary.f r10.x, 1, r0.x
MESA: info: (rpt2)bary.f r10.y, (r)17, r0.x
MESA: info: (rpt1)bary.f r11.x, (r)14, r0.x
MESA: info: bary.f r11.z, 0, r0.x
MESA: info: bary.f (ei)r0.x, 16, (last)r0.x
MESA: info: cmps.s.ne hr48.z, c15.y, 0
MESA: info: cmps.f.lt p0.w, r9.y, c12.x
MESA: info: cmps.s.eq p0.x, c12.w, 3
MESA: info: cmps.s.eq p0.y, c12.w, 4
MESA: info: (nop2) cmps.s.eq p0.z, c12.w, 5
MESA: info: kill p0.w
MESA: info: br !p0.x, #l285
MESA: info: mul.f r0.y, r7.z, r7.z
MESA: info: mul.f r11.w, r6.y, r6.y
MESA: info: mad.f32 r0.y, r7.w, r7.w, (last)r0.y
MESA: info: mad.f32 r11.w, r6.z, r6.z, (last)r11.w
MESA: info: mad.f32 r0.y, r8.y, r8.y, (last)r0.y
MESA: info: mad.f32 r11.w, r6.w, r6.w, (last)r11.w
MESA: info: mul.f r0.z, c0.z, r9.z
MESA: info: mul.f r0.w, c1.z, r9.z
MESA: info: mad.f32 r0.z, c0.w, r9.w, (last)r0.z
MESA: info: mad.f32 r0.w, c1.w, r9.w, (last)r0.w
MESA: info: rsq r0.y, (last)r0.y
MESA: info: nop
MESA: info: rsq r11.w, (last)r11.w
MESA: info: (ss)mul.f r1.w, r7.z, r0.y
MESA: info: mul.f r2.x, r7.w, r0.y
MESA: info: mul.f r1.y, r6.y, r11.w
MESA: info: mul.f r1.z, r6.z, r11.w
MESA: info: mul.f r1.w, r7.x, (last)r1.w
MESA: info: mul.f r0.y, r8.y, (last)r0.y
MESA: info: mul.f r1.y, r7.x, (last)r1.y
MESA: info: mul.f r11.w, r6.w, (last)r11.w
MESA: info: mad.f32 r2.x, r7.y, r2.x, (last)r1.w
MESA: info: mad.f32 r1.z, r7.y, r1.z, (last)r1.y
MESA: info: mad.f32 r0.y, r8.x, r0.y, (last)r2.x
MESA: info: (nop1) mad.f32 r11.w, r8.x, r11.w, (last)r1.z
MESA: info: mad.f32 r0.z, c0.y, r0.y, (last)r0.z
MESA: info: mad.f32 r0.y, c1.y, r0.y, (last)r0.w
MESA: info: mad.f32 r0.z, c0.x, r11.w, (last)r0.z
MESA: info: (nop1) mad.f32 r11.w, c1.x, r11.w, (last)r0.y
MESA: info: mul.f r0.z, (last)r0.z, c13.x
MESA: info: mul.f r11.w, (last)r11.w, c13.y
MESA: info: jump #l370
MESA: info: l285:
MESA: info: nop
MESA: info: br !p0.y, #l312
MESA: info: mul.f r2.y, r6.y, r6.y
MESA: info: mul.f r2.z, r7.z, r7.z
MESA: info: mad.f32 r2.y, r6.z, r6.z, (last)r2.y
MESA: info: mad.f32 r2.z, r7.w, r7.w, (last)r2.z
MESA: info: mad.f32 r2.y, r6.w, r6.w, (last)r2.y
MESA: info: (nop3) mad.f32 r2.z, r8.y, r8.y, (last)r2.z
MESA: info: nop
MESA: info: rsq r2.y, (last)r2.y
MESA: info: nop
MESA: info: rsq r2.z, (last)r2.z
MESA: info: (ss)mul.f r2.w, r6.y, r2.y
MESA: info: mul.f r3.y, r7.z, r2.z
MESA: info: mul.f r3.x, r6.z, r2.y
MESA: info: mul.f r3.z, r7.w, r2.z
MESA: info: mul.f r2.w, r7.x, (last)r2.w
MESA: info: mul.f r3.y, r7.x, (last)r3.y
MESA: info: mul.f r2.y, r6.w, (last)r2.y
MESA: info: mul.f r2.z, r8.y, (last)r2.z
MESA: info: mad.f32 r3.x, r7.y, r3.x, (last)r2.w
MESA: info: mad.f32 r3.z, r7.y, r3.z, (last)r3.y
MESA: info: mad.f32 r2.y, r8.x, r2.y, (last)r3.x
MESA: info: (nop1) mad.f32 r2.z, r8.x, r2.z, (last)r3.z
MESA: info: mul.f r0.z, (last)r2.y, c13.x
MESA: info: mul.f r11.w, (last)r2.z, c13.y
MESA: info: jump #l370
MESA: info: l312:
MESA: info: nop
MESA: info: br !p0.z, #l350
MESA: info: mul.f r3.w, r8.w, r8.w
MESA: info: cmps.s.eq hr8.x, hr2.x, h(0)
MESA: info: (nop1) mad.f32 r3.w, r9.x, r9.x, (last)r3.w
MESA: info: mad.f32 r3.w, r8.z, r8.z, (last)r3.w
MESA: info: (nop2) sub.u hr8.x, h(1), (last)hr8.x
MESA: info: (ss)(nop1) and.b r4.y, (last)hr8.x, hr48.z
MESA: info: rsq r3.w, (last)r3.w
MESA: info: (ss)(rpt1)mul.f r4.z, (r)r8.z, r3.w
MESA: info: mul.f r3.w, r9.x, (last)r3.w
MESA: info: absneg.f r5.x, (neg)r4.z
MESA: info: absneg.f r5.y, (neg)r4.w
MESA: info: absneg.f r5.z, (neg)r3.w
MESA: info: sel.b32 r5.x, (last)r5.x, r4.y, (last)r4.z
MESA: info: sel.b32 r5.y, (last)r5.y, r4.y, (last)r4.w
MESA: info: sel.b32 r5.z, (last)r5.z, r4.y, (last)r3.w
MESA: info: mul.f r5.w, r5.x, c2.z
MESA: info: mul.f r11.w, r5.y, c2.x
MESA: info: mad.f32 r5.w, c2.x, r5.z, (neg)(last)r5.w
MESA: info: mul.f r6.x, r5.z, c2.y
MESA: info: mad.f32 r11.w, c2.y, r5.x, (neg)(last)r11.w
MESA: info: mul.f r0.y, r7.x, r5.w
MESA: info: mul.f r0.w, r5.z, r5.w
MESA: info: mad.f32 r6.x, c2.z, r5.y, (neg)(last)r6.x
MESA: info: mad.f32 r0.y, r7.y, r11.w, (last)r0.y
MESA: info: mad.f32 r0.w, r5.y, r11.w, (neg)(last)r0.w
MESA: info: mul.f r11.w, r5.x, (last)r11.w
MESA: info: mul.f r5.y, (last)r5.y, r6.x
MESA: info: mad.f32 r5.z, (last)r5.z, r6.x, (neg)(last)r11.w
MESA: info: mad.f32 r5.x, (last)r5.x, r5.w, (neg)(last)r5.y
MESA: info: mad.f32 r0.y, r8.x, r6.x, (last)r0.y
MESA: info: (nop1) mul.f r5.z, r7.x, (last)r5.z
MESA: info: mad.f32 r5.x, r7.y, r5.x, (last)r5.z
MESA: info: mul.f r0.z, (last)r0.y, c13.x
MESA: info: (nop2) mad.f32 r0.w, r8.x, r0.w, (last)r5.x
MESA: info: mul.f r11.w, (last)r0.w, c13.y
MESA: info: jump #l370
MESA: info: l350:
MESA: info: (nop3) cmps.s.eq p0.x, c12.w, 6
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l368
MESA: info: mul.f r1.y, c4.z, r9.w
MESA: info: mul.f r1.z, c5.y, r9.w
MESA: info: mad.f32 r1.y, c4.w, r9.y, (last)r1.y
MESA: info: mad.f32 r1.z, c5.z, r9.y, (last)r1.z
MESA: info: mad.f32 r1.y, c4.y, r9.z, (last)r1.y
MESA: info: mad.f32 r1.z, c5.x, r9.z, (last)r1.z
MESA: info: mad.f32 r1.y, c3.x, r7.x, (last)r1.y
MESA: info: mad.f32 r1.z, c3.w, r7.x, (last)r1.z
MESA: info: mad.f32 r1.y, c3.y, r7.y, (last)r1.y
MESA: info: mad.f32 r1.z, c4.x, r7.y, (last)r1.z
MESA: info: mad.f32 r1.y, c2.w, r8.x, (last)r1.y
MESA: info: (nop1) mad.f32 r1.z, c3.z, r8.x, (last)r1.z
MESA: info: mul.f r0.z, (last)r1.y, c13.x
MESA: info: mul.f r11.w, (last)r1.z, c13.y
MESA: info: jump #l370
MESA: info: l368:
MESA: info: mul.f r11.w, r9.w, c13.y
MESA: info: mul.f r0.z, r9.z, c13.x
MESA: info: l370:
MESA: info: mov.f32f32 r1.w, c5.w
MESA: info: mul.f r2.x, r8.w, r8.w
MESA: info: cmps.s.eq hr2.x, (last)hr2.x, h(0)
MESA: info: sel.b32 r0.z, (last)r0.z, r1.w, (last)r9.z
MESA: info: sel.b32 r11.w, (last)r11.w, r1.w, (last)r9.w
MESA: info: mad.f32 r2.x, r9.x, r9.x, (last)r2.x
MESA: info: sub.u hr2.x, h(1), (last)hr2.x
MESA: info: mad.f32 r2.x, r8.z, r8.z, (last)r2.x
MESA: info: cmps.s.lt p0.x, c12.w, 3
MESA: info: (ss)and.b r3.w, (last)hr2.x, hr48.z
MESA: info: alias.tex.b32.0 r0.w, r11.w
MESA: info: sam.base2 (f32)(xyzw)r2.y, r0.z, s#1, t#0
MESA: info: (rpt2)nop
MESA: info: rsq r2.x, (last)r2.x
MESA: info: (sy)cmps.f.ge p0.y, c12.x, r3.x
MESA: info: (nop2) mul.f r3.x, c16.x, (last)r3.x
MESA: info: (nop1) min.f r3.x, (last)r3.x, (1.0)
MESA: info: kill p0.y
MESA: info: alias.tex.b32.0 r0.w, r11.w
MESA: info: sam.base2 (f32)(xy)r3.y, r0.z, s#5, t#4
MESA: info: (sy)(rpt1)add.f r3.y, (last)(r)r3.y, c57.w
MESA: info: nop
MESA: info: (rpt1)mul.f r3.y, c57.z, (last)(r)r3.y
MESA: info: nop
MESA: info: mul.f r5.y, r3.y, r3.y
MESA: info: mul.f r3.y, c12.y, (last)r3.y
MESA: info: mad.f32 r5.y, r3.z, r3.z, (last)r5.y
MESA: info: mul.f r3.z, c12.y, (last)r3.z
MESA: info: (ss)(rpt1)mul.f r4.x, (r)r8.z, r2.x
MESA: info: (sat)add.f r5.y, (1.0), (last)(neg)r5.y
MESA: info: mul.f r2.x, r9.x, (last)r2.x
MESA: info: mad.f32 r5.z, r3.z, r3.z, r5.y
MESA: info: absneg.f r4.z, (neg)r4.x
MESA: info: mad.f32 r5.z, r3.y, r3.y, (last)r5.z
MESA: info: absneg.f r4.w, (neg)r4.y
MESA: info: sqrt r5.y, (last)r5.y
MESA: info: absneg.f r5.x, (neg)r2.x
MESA: info: sel.b32 r4.z, (last)r4.z, r3.w, (last)r4.x
MESA: info: sel.b32 r4.w, (last)r4.w, r3.w, (last)r4.y
MESA: info: sel.b32 r5.x, (last)r5.x, r3.w, (last)r2.x
MESA: info: rsq r5.z, (last)r5.z
MESA: info: (ss)mul.f r3.z, (last)r3.z, r5.z
MESA: info: mul.f r3.y, (last)r3.y, r5.z
MESA: info: mul.f r5.y, (last)r5.y, (last)r5.z
MESA: info: mul.f r8.y, (last)r8.y, r3.z
MESA: info: (rpt1)mul.f r7.z, (last)(r)r7.z, (last)r3.z
MESA: info: (rpt1)mad.f32 r6.y, (r)(last)r6.y, r3.y, (r)(last)r7.z
MESA: info: mad.f32 r6.x, (last)r8.w, r5.y, (last)r6.y
MESA: info: mad.f32 r6.w, (last)r6.w, r3.y, (last)r8.y
MESA: info: mad.f32 r9.x, (last)r9.x, r5.y, (last)r6.z
MESA: info: mul.f r6.y, r6.x, r6.x
MESA: info: mad.f32 r5.w, (last)r8.z, r5.y, (last)r6.w
MESA: info: (nop1) mad.f32 r6.y, r9.x, r9.x, (last)r6.y
MESA: info: (nop3) mad.f32 r6.y, r5.w, r5.w, (last)r6.y
MESA: info: (rpt1)nop
MESA: info: rsq r6.y, (last)r6.y
MESA: info: (ss)(rpt1)mul.f r5.w, (last)(r)r5.w, r6.y
MESA: info: mul.f r9.x, (last)r9.x, (last)r6.y
MESA: info: absneg.f r6.z, (neg)r5.w
MESA: info: absneg.f r6.w, (neg)r6.x
MESA: info: absneg.f r7.z, (neg)r9.x
MESA: info: sel.b32 r6.z, (last)r6.z, r3.w, (last)r5.w
MESA: info: sel.b32 r6.w, (last)r6.w, r3.w, (last)r6.x
MESA: info: sel.b32 r7.z, (last)r7.z, r3.w, (last)r9.x
MESA: info: br !p0.x, #l539
MESA: info: cmps.s.eq p0.x, c12.z, 0
MESA: info: cmps.s.eq p0.y, c12.z, 1
MESA: info: cmps.s.eq p0.z, c12.z, 2
MESA: info: (nop2) cmps.s.eq r7.w, c12.z, 3
MESA: info: br p0.x, #l539
MESA: info: cmps.s.ne p0.x, c12.w, 0
MESA: info: (nop3) cmps.s.ne p0.w, c12.w, 1
MESA: info: nop
MESA: info: br !p0.x, #l474
MESA: info: nop
MESA: info: br !p0.w, #l471
MESA: info: mul.f r8.y, c54.y, r5.x
MESA: info: mul.f r8.z, c54.y, r4.w
MESA: info: mad.f32 r8.y, c54.x, r4.z, (neg)(last)r8.y
MESA: info: (nop1) mul.f r8.w, c54.x, r4.w
MESA: info: (nop1) mul.f r9.x, r8.y, r8.y
MESA: info: (nop1) mad.f32 r9.x, r8.z, r8.z, (last)r9.x
MESA: info: (nop3) mad.f32 r9.x, r8.w, r8.w, (last)r9.x
MESA: info: (rpt1)nop
MESA: info: rsq r9.x, (last)r9.x
MESA: info: (ss)mul.f r8.y, (last)r8.y, r9.x
MESA: info: mul.f r8.z, (last)r8.z, r9.x
MESA: info: mul.f r8.w, (last)r8.w, (last)r9.x
MESA: info: mul.f r9.w, r7.x, r8.y
MESA: info: mul.f r9.z, r4.z, r8.z
MESA: info: mad.f32 r9.w, r7.y, r8.z, (last)r9.w
MESA: info: mad.f32 r9.z, (neg)r8.w, r5.x, (neg)(last)r9.z
MESA: info: mad.f32 r9.w, (neg)r8.w, r8.x, (last)r9.w
MESA: info: mul.f r8.w, (last)r8.w, r4.w
MESA: info: mul.f r9.z, r7.x, (last)r9.z
MESA: info: mad.f32 r8.w, r4.z, r8.y, (last)r8.w
MESA: info: (nop1) mul.f r8.y, r5.x, (last)r8.y
MESA: info: mad.f32 r8.z, r4.w, r8.z, (neg)(last)r8.y
MESA: info: (nop1) mad.f32 r8.w, r7.y, r8.w, (last)r9.z
MESA: info: mad.f32 r8.z, r8.x, r8.z, (last)r8.w
MESA: info: jump #l476
MESA: info: l471:
MESA: info: mov.u32u32 r8.z, r7.x
MESA: info: mov.u32u32 r9.w, r8.x
MESA: info: jump #l476
MESA: info: l474:
MESA: info: mov.u32u32 r8.z, r11.w
MESA: info: mov.u32u32 r9.w, r0.z
MESA: info: l476:
MESA: info: (rpt1)nop
MESA: info: mul.f r8.z, c13.y, (last)r8.z
MESA: info: (nop3) mul.f r9.w, c13.x, (last)r9.w
MESA: info: (rpt1)nop
MESA: info: alias.tex.b32.0 r10.x, r8.z
MESA: info: sam.base2 (f32)(xyzw)r0.w, r9.w, s#7, t#6
MESA: info: br !p0.y, #l490
MESA: info: (sy)mad.f32 r0.w, c13.z, r0.w, c6.x
MESA: info: mad.f32 r1.x, c13.z, r1.x, c6.x
MESA: info: mad.f32 r1.y, c13.z, r1.y, c6.x
MESA: info: mul.f r2.y, (last)r2.y, r0.w
MESA: info: mul.f r2.z, (last)r2.z, r1.x
MESA: info: mul.f r2.w, (last)r2.w, r1.y
MESA: info: jump #l539
MESA: info: l490:
MESA: info: br !p0.z, #l518
MESA: info: (nop1) mul.f r1.w, c55.x, r2.z
MESA: info: (nop1) mad.f32 r1.w, c54.w, r2.w, (last)r1.w
MESA: info: (nop2) mad.f32 r1.w, c54.z, r2.y, (last)r1.w
MESA: info: cmps.f.lt r1.w, (last)r1.w, (0.5)
MESA: info: (sy)(rpt2)mad.f32 r0.w, c13.z, (r)r0.w, c6.y
MESA: info: mul.f r2.x, (2.0), r0.w
MESA: info: mul.f r3.y, (2.0), r1.x
MESA: info: mul.f r3.z, (2.0), r1.y
MESA: info: add.f r0.w, (1.0), (last)(neg)r0.w
MESA: info: add.f r1.x, (1.0), (last)(neg)r1.x
MESA: info: add.f r1.y, (1.0), (last)(neg)r1.y
MESA: info: mul.f r2.x, (last)r2.x, r2.y
MESA: info: mul.f r3.y, (last)r3.y, r2.z
MESA: info: mul.f r3.z, (last)r3.z, r2.w
MESA: info: mul.f r0.w, (2.0), (last)r0.w
MESA: info: mul.f r1.x, (2.0), (last)r1.x
MESA: info: mul.f r1.y, (2.0), (last)r1.y
MESA: info: add.f r2.y, (1.0), (last)(neg)r2.y
MESA: info: add.f r2.z, (1.0), (last)(neg)r2.z
MESA: info: add.f r2.w, (1.0), (last)(neg)r2.w
MESA: info: mad.f32 r0.w, (neg)(last)r0.w, r2.y, c55.y
MESA: info: mad.f32 r1.x, (neg)(last)r1.x, r2.z, c55.y
MESA: info: mad.f32 r1.y, (neg)(last)r1.y, r2.w, c55.y
MESA: info: sel.b32 r2.y, (last)r2.x, r1.w, r0.w
MESA: info: sel.b32 r2.z, (last)r3.y, r1.w, r1.x
MESA: info: sel.b32 r2.w, (last)r3.z, r1.w, r1.y
MESA: info: jump #l539
MESA: info: l518:
MESA: info: (sy)mad.f32 r3.w, c13.z, r0.w, c6.z
MESA: info: mad.f32 r4.x, c13.z, r1.x, c6.z
MESA: info: mad.f32 r4.y, c13.z, r1.y, c6.z
MESA: info: add.f r3.w, (1.0), (last)(neg)r3.w
MESA: info: add.f r4.x, (1.0), (last)(neg)r4.x
MESA: info: add.f r4.y, (1.0), (last)(neg)r4.y
MESA: info: add.f r0.w, (last)r0.w, (neg)r2.y
MESA: info: add.f r1.x, (last)r1.x, (neg)r2.z
MESA: info: add.f r1.y, (last)r1.y, (neg)r2.w
MESA: info: absneg.f r3.w, (last)(neg)r3.w
MESA: info: absneg.f r4.x, (last)(neg)r4.x
MESA: info: absneg.f r4.y, (last)(neg)r4.y
MESA: info: mul.f r0.w, r1.z, (last)r0.w
MESA: info: mul.f r1.x, r1.z, (last)r1.x
MESA: info: mul.f r1.z, (last)r1.z, (last)r1.y
MESA: info: sel.b32 r3.w, (last)r3.w, r7.w, (last)r0.w
MESA: info: sel.b32 r4.x, (last)r4.x, r7.w, (last)r1.x
MESA: info: sel.b32 r4.y, (last)r4.y, r7.w, (last)r1.z
MESA: info: add.f r2.y, (last)r2.y, (last)r3.w
MESA: info: add.f r2.z, (last)r2.z, (last)r4.x
MESA: info: add.f r2.w, (last)r2.w, (last)r4.y
MESA: info: l539:
MESA: info: cmps.s.ne p0.x, c14.x, 0
MESA: info: cmps.s.ne p0.y, c14.y, 0
MESA: info: (nop3) cmps.s.ne p0.z, c14.y, 1
MESA: info: br !p0.x, #l642
MESA: info: nop
MESA: info: br !p0.y, #l575
MESA: info: nop
MESA: info: br !p0.z, #l572
MESA: info: mul.f r5.y, c54.y, r5.x
MESA: info: mul.f r5.z, c54.y, r4.w
MESA: info: mad.f32 r5.y, c54.x, r4.z, (neg)(last)r5.y
MESA: info: (nop1) mul.f r5.w, c54.x, r4.w
MESA: info: (nop1) mul.f r6.x, r5.y, r5.y
MESA: info: (nop1) mad.f32 r6.x, r5.z, r5.z, (last)r6.x
MESA: info: (nop3) mad.f32 r6.x, r5.w, r5.w, (last)r6.x
MESA: info: (rpt1)nop
MESA: info: rsq r6.x, (last)r6.x
MESA: info: (ss)mul.f r5.y, (last)r5.y, r6.x
MESA: info: mul.f r5.z, (last)r5.z, r6.x
MESA: info: mul.f r5.w, (last)r5.w, (last)r6.x
MESA: info: mul.f r7.w, r7.x, r5.y
MESA: info: mul.f r6.y, r4.z, r5.z
MESA: info: mad.f32 r7.w, r7.y, r5.z, (last)r7.w
MESA: info: mad.f32 r6.y, (neg)r5.w, r5.x, (neg)(last)r6.y
MESA: info: mad.f32 r7.w, (neg)r5.w, r8.x, (last)r7.w
MESA: info: mul.f r5.w, (last)r5.w, r4.w
MESA: info: mul.f r5.x, (last)r5.x, r5.y
MESA: info: mad.f32 r4.z, (last)r4.z, r5.y, (last)r5.w
MESA: info: mul.f r6.y, r7.x, (last)r6.y
MESA: info: mad.f32 r4.w, (last)r4.w, r5.z, (neg)(last)r5.x
MESA: info: (nop1) mad.f32 r4.z, r7.y, r4.z, (last)r6.y
MESA: info: mad.f32 r4.w, r8.x, r4.w, (last)r4.z
MESA: info: jump #l577
MESA: info: l572:
MESA: info: mov.u32u32 r4.w, r7.x
MESA: info: mov.u32u32 r7.w, r8.x
MESA: info: jump #l577
MESA: info: l575:
MESA: info: mov.u32u32 r4.w, r11.w
MESA: info: mov.u32u32 r7.w, r0.z
MESA: info: l577:
MESA: info: cmps.s.eq p0.x, c14.x, 1
MESA: info: cmps.s.eq p0.y, c14.x, 2
MESA: info: mul.f r4.w, c14.w, (last)r4.w
MESA: info: mul.f r7.w, c14.z, (last)r7.w
MESA: info: (nop3) cmps.s.eq r8.y, c14.x, 3
MESA: info: nop
MESA: info: alias.tex.b32.0 r8.x, r4.w
MESA: info: sam.base2 (f32)(xyzw)r0.w, r7.w, s#9, t#8
MESA: info: br !p0.x, #l593
MESA: info: (sy)mad.f32 r0.w, c15.x, r0.w, c6.w
MESA: info: mad.f32 r1.x, c15.x, r1.x, c6.w
MESA: info: mad.f32 r1.y, c15.x, r1.y, c6.w
MESA: info: mul.f r2.y, (last)r2.y, r0.w
MESA: info: mul.f r2.z, (last)r2.z, r1.x
MESA: info: mul.f r2.w, (last)r2.w, r1.y
MESA: info: jump #l642
MESA: info: l593:
MESA: info: br !p0.y, #l621
MESA: info: (nop1) mul.f r1.w, c55.x, r2.z
MESA: info: (nop1) mad.f32 r1.w, c54.w, r2.w, (last)r1.w
MESA: info: (nop2) mad.f32 r1.w, c54.z, r2.y, (last)r1.w
MESA: info: cmps.f.lt r1.w, (last)r1.w, (0.5)
MESA: info: (sy)(rpt2)mad.f32 r0.w, c15.x, (r)r0.w, c7.x
MESA: info: mul.f r2.x, (2.0), r0.w
MESA: info: mul.f r3.y, (2.0), r1.x
MESA: info: mul.f r3.z, (2.0), r1.y
MESA: info: add.f r0.w, (1.0), (last)(neg)r0.w
MESA: info: add.f r1.x, (1.0), (last)(neg)r1.x
MESA: info: add.f r1.y, (1.0), (last)(neg)r1.y
MESA: info: mul.f r2.x, (last)r2.x, r2.y
MESA: info: mul.f r3.y, (last)r3.y, r2.z
MESA: info: mul.f r3.z, (last)r3.z, r2.w
MESA: info: mul.f r0.w, (2.0), (last)r0.w
MESA: info: mul.f r1.x, (2.0), (last)r1.x
MESA: info: mul.f r1.y, (2.0), (last)r1.y
MESA: info: add.f r2.y, (1.0), (last)(neg)r2.y
MESA: info: add.f r2.z, (1.0), (last)(neg)r2.z
MESA: info: add.f r2.w, (1.0), (last)(neg)r2.w
MESA: info: mad.f32 r0.w, (neg)(last)r0.w, r2.y, c55.y
MESA: info: mad.f32 r1.x, (neg)(last)r1.x, r2.z, c55.y
MESA: info: mad.f32 r1.y, (neg)(last)r1.y, r2.w, c55.y
MESA: info: sel.b32 r2.y, (last)r2.x, r1.w, r0.w
MESA: info: sel.b32 r2.z, (last)r3.y, r1.w, r1.x
MESA: info: sel.b32 r2.w, (last)r3.z, r1.w, r1.y
MESA: info: jump #l642
MESA: info: l621:
MESA: info: (sy)mad.f32 r3.w, c15.x, r0.w, c7.y
MESA: info: mad.f32 r4.x, c15.x, r1.x, c7.y
MESA: info: mad.f32 r4.y, c15.x, r1.y, c7.y
MESA: info: add.f r3.w, (1.0), (last)(neg)r3.w
MESA: info: add.f r4.x, (1.0), (last)(neg)r4.x
MESA: info: add.f r4.y, (1.0), (last)(neg)r4.y
MESA: info: add.f r0.w, (last)r0.w, (neg)r2.y
MESA: info: add.f r1.x, (last)r1.x, (neg)r2.z
MESA: info: add.f r1.y, (last)r1.y, (neg)r2.w
MESA: info: absneg.f r3.w, (last)(neg)r3.w
MESA: info: absneg.f r4.x, (last)(neg)r4.x
MESA: info: absneg.f r4.y, (last)(neg)r4.y
MESA: info: mul.f r0.w, r1.z, (last)r0.w
MESA: info: mul.f r1.x, r1.z, (last)r1.x
MESA: info: mul.f r1.z, (last)r1.z, (last)r1.y
MESA: info: sel.b32 r3.w, (last)r3.w, r8.y, (last)r0.w
MESA: info: sel.b32 r4.x, (last)r4.x, r8.y, (last)r1.x
MESA: info: sel.b32 r4.y, (last)r4.y, r8.y, (last)r1.z
MESA: info: add.f r2.y, (last)r2.y, (last)r3.w
MESA: info: add.f r2.z, (last)r2.z, (last)r4.x
MESA: info: add.f r2.w, (last)r2.w, (last)r4.y
MESA: info: l642:
MESA: info: alias.tex.b32.0 r0.w, r11.w
MESA: info: sam.base2 (f32)(xyz)r5.y, r0.z, s#3, t#2
MESA: info: mad.f32 r9.z, c25.w, r7.x, c27.w
MESA: info: mad.f32 r6.x, c25.x, r7.x, c27.x
MESA: info: mad.f32 r9.z, c24.w, r8.x, (last)r9.z
MESA: info: mad.f32 r8.w, c25.y, r7.x, c27.y
MESA: info: mad.f32 r9.z, c26.w, r7.y, (last)r9.z
MESA: info: mad.f32 r6.x, c24.x, r8.x, (last)r6.x
MESA: info: mad.f32 r8.w, c24.y, r8.x, (last)r8.w
MESA: info: mad.f32 r8.y, c26.x, r7.y, (last)r6.x
MESA: info: mad.f32 r8.z, c26.y, r7.y, (last)r8.w
MESA: info: mad.f32 r9.x, c25.z, r7.x, c27.z
MESA: info: rcp r9.z, (last)r9.z
MESA: info: mul.f r5.x, (last)r2.w, c20.z
MESA: info: mad.f32 r9.x, c24.z, r8.x, (last)r9.x
MESA: info: mul.f r4.w, (last)r2.z, c20.y
MESA: info: mul.f r4.z, (last)r2.y, c20.x
MESA: info: mad.f32 r9.x, c26.z, r7.y, (last)r9.x
MESA: info: (ss)(rpt1)mul.f r8.y, (last)(r)r8.y, (last)r9.z
MESA: info: (rpt1)nop
MESA: info: min.f r9.w, r8.z, r8.y
MESA: info: (nop1) max.f r11.w, r8.z, r8.y
MESA: info: cmps.f.lt p0.x, (last)r9.w, c53.y
MESA: info: cmps.f.lt p0.y, (1.0), (last)r11.w
MESA: info: (sy)(nop3) min.f r10.x, (last)r10.x, (last)r5.w
MESA: info: nop
MESA: info: brao p0.x, p0.y, #l676
MESA: info: (rpt1)mad.f32 r8.y, c52.x, (r)r8.y, c52.x
MESA: info: (nop3) mad.f32 r9.x, c52.x, r9.x, c52.x
MESA: info: (rpt1)nop
MESA: info: alias.tex.b32.0 r8.w, r9.x
MESA: info: sam.s.base2 (f32)(x)r0.y, r8.y, s#11, t#10
MESA: info: (eq)nop
MESA: info: jump #l678
MESA: info: l676:
MESA: info: (eq)(jp)nop
MESA: info: mov.u32u32 r0.y, 0x3f800000
MESA: info: l678:
MESA: info: (jp)(rpt2)log2 r4.z, (last)(r)r4.z
MESA: info: add.f r7.x, (last)r7.x, (neg)c35.y
MESA: info: add.f r7.y, (last)r7.y, (neg)c35.z
MESA: info: add.f r8.x, (last)r8.x, (neg)c35.x
MESA: info: mul.f r1.w, r6.w, r7.x
MESA: info: mad.f32 r3.y, c42.x, r6.w, c44.x
MESA: info: mad.f32 r1.w, r7.z, r7.y, (last)r1.w
MESA: info: mad.f32 r3.z, c42.y, r6.w, c44.y
MESA: info: mad.f32 r1.w, r6.z, r8.x, (last)r1.w
MESA: info: mad.f32 r3.w, c42.z, r6.w, c44.z
MESA: info: mad.f32 r3.y, c41.x, r6.z, (last)r3.y
MESA: info: mul.f r1.w, (last)r1.w, (2.0)
MESA: info: (ss)(rpt2)mul.f r4.z, (last)(r)r4.z, c55.z
MESA: info: mad.f32 r2.y, (neg)r1.w, r6.w, r7.x
MESA: info: mad.f32 r2.z, (neg)r1.w, r7.z, r7.y
MESA: info: mad.f32 r1.w, (neg)(last)r1.w, r6.z, r8.x
MESA: info: (rpt2)exp2 r4.z, (last)(r)r4.z
MESA: info: mul.f r2.w, r2.y, r2.y
MESA: info: mad.f32 r3.z, c41.y, r6.z, (last)r3.z
MESA: info: mad.f32 r2.w, r2.z, r2.z, (last)r2.w
MESA: info: mad.f32 r3.w, c41.z, r6.z, (last)r3.w
MESA: info: mad.f32 r2.w, r1.w, r1.w, (last)r2.w
MESA: info: mad.f32 r3.y, c43.x, r7.z, (last)r3.y
MESA: info: mad.f32 r3.z, c43.y, r7.z, (last)r3.z
MESA: info: mad.f32 r3.w, c43.z, r7.z, (last)r3.w
MESA: info: add.f r0.z, (2.0), (neg)r5.y
MESA: info: add.f r0.w, r5.z, c56.z
MESA: info: rsq r2.w, (last)r2.w
MESA: info: cmps.f.ge r1.x, c56.x, r5.z
MESA: info: mul.f r5.y, (last)r5.y, (last)r0.z
MESA: info: mul.f r5.z, c55.w, (last)r5.z
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r5.w, r3.y, r40.x, s#13, t#12
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r8.y, r3.y, r40.x, s#15, t#14
MESA: info: mad.f32 r0.w, c56.y, r0.w, c56.w
MESA: info: add.f r1.y, (1.0), (neg)r5.y
MESA: info: sel.b32 r5.z, (last)r5.z, r1.x, (last)r0.w
MESA: info: cmps.f.lt p0.x, (1.0), c45.x
MESA: info: (ss)mul.f r2.y, (last)r2.y, r2.w
MESA: info: mul.f r2.z, (last)r2.z, r2.w
MESA: info: mul.f r1.w, (last)r1.w, (last)r2.w
MESA: info: mul.f r9.x, r4.z, r5.y
MESA: info: (rpt1)mul.f r3.y, (r)r4.w, (last)r5.y
MESA: info: mul.f r5.y, r6.w, r2.y
MESA: info: mad.f32 r1.z, c57.y, r5.z, c57.x
MESA: info: mad.f32 r5.y, r7.z, r2.z, (last)r5.y
MESA: info: (sat)add.f r4.w, (last)r4.w, (neg)r3.y
MESA: info: mad.f32 r5.y, r6.z, r1.w, (last)r5.y
MESA: info: (sat)mad.f32 r0.z, r1.z, r1.y, r9.x
MESA: info: (sat)(rpt1)mad.f32 r0.w, (last)r1.z, r1.y, (r)r3.y
MESA: info: (sat)add.f r5.y, (1.0), (last)(absneg)r5.y
MESA: info: add.f r3.w, r5.z, (neg)r0.z
MESA: info: (rpt1)add.f r4.x, r5.z, (neg)(r)r0.w
MESA: info: mul.f r7.w, r5.y, r5.y
MESA: info: max.f r3.y, (last)r3.w, (0.0)
MESA: info: add.f r2.x, (1.0), (last)(neg)r5.z
MESA: info: mul.f r7.w, (last)r7.w, r7.w
MESA: info: mad.f32 r11.w, c42.y, r2.y, c44.y
MESA: info: (sat)add.f r5.x, (last)r5.x, (last)(neg)r3.z
MESA: info: mul.f r7.w, (last)r7.w, (last)r5.y
MESA: info: mad.f32 r5.z, c42.x, r2.y, c44.x
MESA: info: (rpt1)max.f r3.z, (last)(r)r4.x, (0.0)
MESA: info: (rpt2)mad.f32 r3.y, (r)(last)r3.y, r7.w, (r)(last)r0.z
MESA: info: mad.f32 r0.z, c42.z, r2.y, c44.z
MESA: info: mad.f32 r11.w, c41.y, r1.w, (last)r11.w
MESA: info: mad.f32 r5.z, c41.x, r1.w, (last)r5.z
MESA: info: mad.f32 r0.z, c41.z, r1.w, (last)r0.z
MESA: info: mul.f r2.x, c58.w, (last)r2.x
MESA: info: mad.f32 r11.w, c43.y, r2.z, (last)r11.w
MESA: info: mad.f32 r5.z, c43.x, r2.z, (last)r5.z
MESA: info: mad.f32 r0.z, c43.z, r2.z, (last)r0.z
MESA: info: (sat)add.f r4.z, (last)r4.z, (last)(neg)r9.x
MESA: info: add.f r9.z, (1.0), (neg)r3.z
MESA: info: add.f r9.w, (1.0), (neg)r3.w
MESA: info: add.f r9.x, (1.0), (neg)r3.y
MESA: info: mov.u32u32 r2.w, (last)r1.w
MESA: info: alias.tex.b32.1 r5.w, r11.w
MESA: info: alias.tex.b32.0 r6.x, r0.z
MESA: info: saml.3d.base2 (f32)(xyz)r0.w, r5.z, r2.x, s#13, t#12
MESA: info: (ss)nop
MESA: info: alias.tex.b32.1 r5.w, r11.w
MESA: info: alias.tex.b32.0 r6.x, r0.z
MESA: info: saml.3d.base2 (f32)(xyz)r1.z, r5.z, r2.x, s#15, t#14
MESA: info: mul.f r4.w, (last)r4.w, (last)r9.z
MESA: info: mul.f r5.x, (last)r5.x, (last)r9.w
MESA: info: mul.f r4.z, (last)r4.z, r9.x
MESA: info: br !p0.x, #l792
MESA: info: mov.u32u32 r48.z, c7.z
MESA: info: mul.f r48.z, c58.z, r48.z
MESA: info: (nop1) mul.f r2.y, (last)r2.y, c36.y
MESA: info: (nop1) mad.f32 r2.z, c36.z, r2.z, (last)r2.y
MESA: info: (nop2) mad.f32 r2.w, c36.x, r2.w, (last)r2.z
MESA: info: max.f r2.w, (last)r2.w, (0.0)
MESA: info: (sy)max.f r1.z, r7.z, (0.0)
MESA: info: mul.f r1.w, r6.w, c36.y
MESA: info: (ss)mov.u32u32 r1.x, r48.z
MESA: info: mad.f32 r1.w, c36.z, r7.z, (last)r1.w
MESA: info: add.f r1.z, (1.0), (last)r1.z
MESA: info: mad.f32 r1.w, c36.x, r6.z, (last)r1.w
MESA: info: mov.u32u32 r1.y, r1.x
MESA: info: mul.f r6.x, c7.w, (last)r1.z
MESA: info: max.f r1.w, (last)r1.w, (0.0)
MESA: info: mov.u32u32 r0.w, r1.x
MESA: info: mov.u32u32 r6.y, r6.x
MESA: info: add.f r1.w, r6.x, (last)r1.w
MESA: info: mov.u32u32 r5.w, r6.x
MESA: info: nop
MESA: info: mul.f r8.z, c8.x, (last)r1.w
MESA: info: (nop1) mul.f r1.w, c7.z, (last)r2.w
MESA: info: mov.u32u32 r8.w, r8.z
MESA: info: mov.u32u32 r8.y, r8.z
MESA: info: mov.u32u32 r2.x, r1.w
MESA: info: mov.u32u32 r1.z, r1.w
MESA: info: l792:
MESA: info: mad.f32 r4.x, c58.y, r10.x, c58.x
MESA: info: mul.f r10.x, c45.x, (last)r10.x
MESA: info: mul.f r10.y, c49.x, (last)r10.y
MESA: info: mul.f r4.x, c8.y, (last)r4.x
MESA: info: mul.f r10.z, c49.y, (last)r10.z
MESA: info: mova1 a1.x, 138
MESA: info: mul.f r10.w, c49.z, (last)r10.w
MESA: info: add.f r7.w, r11.z, c53.z
MESA: info: (nop1) mad.f32 r3.x, (neg)(last)r3.x, r9.y, c55.y
MESA: info: (sat)mul.f r7.w, (last)r7.w, c53.w
MESA: info: (sy)mul.f r4.y, c45.x, r0.w
MESA: info: add.f r2.y, (last)r8.y, (neg)r5.w
MESA: info: mad.f32 r1.z, c8.y, r1.z, (neg)(last)r4.y
MESA: info: mul.f r4.x, (last)r4.x, r0.y
MESA: info: (rpt1)add.f r2.z, (last)(r)r8.z, (neg)(r)r6.x
MESA: info: mul.f r1.z, r0.y, (last)r1.z
MESA: info: (rpt2)mul.f r2.y, (last)r4.x, (last)(r)r2.y
MESA: info: mad.f32 r0.w, c45.x, r0.w, (last)r1.z
MESA: info: (rpt2)mad.f32 r5.w, (last)r10.x, (r)r5.w, (r)(last)r2.y
MESA: info: mul.f r3.y, (last)r3.y, (last)r0.w
MESA: info: mul.f r5.y, c45.x, r1.x
MESA: info: mad.f32 r4.z, (last)r4.z, r5.w, (last)r3.y
MESA: info: mul.f r5.w, r7.x, r7.x
MESA: info: mad.f32 r1.w, c8.y, r1.w, (neg)(last)r5.y
MESA: info: mad.f32 r5.w, r7.y, r7.y, (last)r5.w
MESA: info: mul.f r5.z, c45.x, r1.y
MESA: info: mad.f32 r5.w, r8.x, r8.x, (last)r5.w
MESA: info: mul.f r1.w, r0.y, (last)r1.w
MESA: info: mad.f32 r2.x, c8.y, r2.x, (neg)(last)r5.z
MESA: info: mad.f32 r1.x, c45.x, r1.x, (last)r1.w
MESA: info: mul.f r4.z, c36.w, (last)r4.z
MESA: info: mul.f r0.y, (last)r0.y, (last)r2.x
MESA: info: rsq r5.w, (last)r5.w
MESA: info: mul.f r3.z, (last)r3.z, (last)r1.x
MESA: info: mad.f32 r1.y, c45.x, r1.y, (last)r0.y
MESA: info: mad.f32 r4.w, (last)r4.w, r6.x, (last)r3.z
MESA: info: mad.f32 r6.x, (last)r4.z, r11.x, (last)r10.y
MESA: info: mul.f r3.w, (last)r3.w, (last)r1.y
MESA: info: mul.f r4.w, c36.w, (last)r4.w
MESA: info: mad.f32 r5.x, (last)r5.x, r6.y, (last)r3.w
MESA: info: mul.f r8.y, c29.x, r6.w
MESA: info: mad.f32 r6.y, (last)r4.w, r11.y, (last)r10.z
MESA: info: mul.f r5.x, c36.w, (last)r5.x
MESA: info: (ss)mul.f r7.x, (last)r7.x, r5.w
MESA: info: mul.f r8.x, (last)r8.x, r5.w
MESA: info: mul.f r7.y, (last)r7.y, (last)r5.w
MESA: info: mad.f32 r10.x, c42.x, r7.x, c44.x
MESA: info: (rpt1)mad.f32 r10.y, (r)c42.y, r7.x, (r)c44.y
MESA: info: mad.f32 r10.x, c41.x, r8.x, (last)r10.x
MESA: info: (rpt1)mad.f32 r10.y, (r)c41.y, r8.x, (r)(last)r10.y
MESA: info: mad.f32 r10.x, c43.x, r7.y, (last)r10.x
MESA: info: (rpt1)mad.f32 r10.y, (r)c43.y, r7.y, (r)(last)r10.y
MESA: info: mad.f32 r5.x, (last)r5.x, r0.x, (last)r10.w
MESA: info: mad.f32 r9.y, c28.x, r6.z, (last)r8.y
MESA: info: mul.f r10.w, c29.y, r6.w
MESA: info: mul.f r6.w, c29.z, (last)r6.w
MESA: info: mad.f32 r2.w, (neg)(last)r9.x, r3.x, c55.y
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r0.w, r10.x, r40.x, t#16, a1.x
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: saml.3d.base2 (f32)(xyz)r0.x, r10.x, r40.x, t#16, a1.x
MESA: info: mov.u32u32 r3.w, 0x3f800000
MESA: info: mad.f32 r9.z, c28.y, r6.z, (last)r10.w
MESA: info: mad.f32 r9.w, c28.z, r6.z, (last)r6.w
MESA: info: (rpt2)mad.f32 r3.x, (r)c30.x, r7.z, (r)(last)r9.y
MESA: info: (sy)add.f r0.x, (last)r0.x, (neg)r0.w
MESA: info: add.f r0.y, (last)r0.y, (neg)r1.x
MESA: info: add.f r0.z, (last)r0.z, (neg)r1.y
MESA: info: mad.f32 r1.z, r7.w, r0.x, (last)r0.w
MESA: info: mad.f32 r1.w, r7.w, r0.y, (last)r1.x
MESA: info: mad.f32 r7.w, (last)r7.w, r0.z, (last)r1.y
MESA: info: (rpt1)mad.f32 r1.z, c36.w, (r)r1.z, (neg)(r)r6.x
MESA: info: mad.f32 r7.w, c36.w, r7.w, (neg)r5.x
MESA: info: (rpt1)mad.f32 r2.x, r11.z, (r)r1.z, (r)(last)r6.x
MESA: info: mad.f32 r2.z, (last)r11.z, r7.w, (last)r5.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r2.x (FRAG_RESULT_DATA0) r3.x (FRAG_RESULT_DATA1)
MESA: info: ; FRAG: inputs: r11.z (VARYING_SLOT_VAR0 slot=32 cm=f,il=0,b=1) r9.x (VARYING_SLOT_VAR1 slot=33 cm=f,il=4,b=1) r8.y (VARYING_SLOT_VAR2 slot=34 cm=f,il=8,b=1) r7.x (VARYING_SLOT_VAR3 slot=35 cm=f,il=12,b=1) r0.x (VARYING_SLOT_VAR4 slot=36 cm=f,il=16,b=1) r9.z (VARYING_SLOT_VAR5 slot=37 cm=7,il=20,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0) r0.z (SYSTEM_VALUE_BARYCENTRIC_PERSP_CENTROID slot=58 cm=3,il=0,b=0) r2.x (SYSTEM_VALUE_FRONT_FACE slot=23 cm=1,il=0,b=0)
MESA: info: ; FRAG prog 123/1: 768 instr, 112 nops, 656 non-nops, 23 mov, 0 cov, 1760 dwords
MESA: info: ; FRAG prog 123/1: 22 last-baryf, 546 last-helper, 0 half, 12 full, 60 constlen
MESA: info: ; FRAG prog 123/1: 145 cat0, 23 cat1, 327 cat2, 227 cat3, 20 cat4, 12 cat5, 0 cat6, 14 cat7
MESA: info: ; FRAG prog 123/1: 75 sstall, 16 (ss), 365 systall, 12 (sy), 0 loops
MESA: info: ; FRAG prog 123/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 275 preamble-instr, 0 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; pos (ij_centroid): r0.z
MESA: info: ; data0: r2.x
MESA: info: ; data1: r3.x
MESA: info: ; fragface: r2.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xbfe67925, 0x27a8b917, 0xa9f51892, 0x4498b81d, 0x7ff16788, 0x2fdbfa70, 0x06872a7c, 0x1711c849}
MESA: info: num_ubos: 2
MESA: info: inputs_read: 15-18
MESA: info: outputs_written: 0,32-39
MESA: info: system_values_read: 0x00000000'00000000'00000000'00000200
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 4
MESA: info: outputs: 9
MESA: info: uniforms: 52
MESA: info: constants: 128
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #1 (VERT_ATTRIB_GENERIC1.xyz, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #2 (VERT_ATTRIB_GENERIC2.xyz, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #3 (VERT_ATTRIB_GENERIC3.xyz, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #4 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #5 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #6 (VARYING_SLOT_VAR1.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #7 (VARYING_SLOT_VAR2.xyzw, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #8 (VARYING_SLOT_VAR3.xyzw, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #9 (VARYING_SLOT_VAR4.xyzw, 5, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #10 (VARYING_SLOT_VAR5.xyzw, 6, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none float #11 (VARYING_SLOT_VAR6.x, 7, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none int #12 (VARYING_SLOT_VAR7.x, 8, 0)
MESA: info: decl_var ubo INTERP_MODE_NONE none uint[] $consts (0, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #13
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     decl_var  INTERP_MODE_NONE none vec2[4] #14
MESA: info:     decl_var  INTERP_MODE_NONE none vec3[4] #15
MESA: info:     decl_var  INTERP_MODE_NONE none vec4[7] #16
MESA: info:     decl_var  INTERP_MODE_NONE none vec2[4] #17
MESA: info:     decl_var  INTERP_MODE_NONE none vec3[4] #18
MESA: info:     con block b0:         // preds:
MESA: info:     div 32       %0 = @decl_reg (num_components=2, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %1 = @decl_reg (num_components=3, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %2 = @decl_reg (num_components=2, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %3 = @decl_reg (num_components=4, num_array_elems=7, bit_size=32, divergent=1)
MESA: info:     div 32       %4 = @decl_reg (num_components=3, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     con 1        %5 = @preamble_start_ir3
MESA: info:                       // succs: b1 b5
MESA: info:     if %5 {
MESA: info:         con block b1:         // preds: b0
MESA: info:         div 1        %6 = @elect_any_ir3
MESA: info:                           // succs: b2 b3
MESA: info:         if %6 {
MESA: info:             div block b2:         // preds: b1
MESA: info:             con 32       %7 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32       %8 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32       %9 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32      %15 = @bindless_resource_ir3 (%7 (0.000000)) (desc_set=1)
MESA: info:             con 32    %1106 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %1078 = @load_ubo_vec4 (%15, %1106 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %18 = frcp %1078
MESA: info:                               @store_const_ir3 (%18) (base=0)
MESA: info:             con 32      %19 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32      %20 = @bindless_resource_ir3 (%9 (0x4)) (desc_set=1)
MESA: info:             con 32x2  %1081 = @load_ubo_vec4 (%20, %7 (0.000000)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %1108 = load_const (0x00000019 = 0.000000 = 25)
MESA: info:             con 32    %1084 = @load_ubo_vec4 (%15, %1108 (0x19)) (access=speculatable, base=0, component=1)
MESA: info:             con 32x2  %1796 = fmul %1081, %1084.xx
MESA: info:             con 32      %26 = fneg %1796.x
MESA: info:                               @store_const_ir3 (%26) (base=1)
MESA: info:             con 32      %27 = frcp %1796.y
MESA: info:                               @store_const_ir3 (%27) (base=2)
MESA: info:             con 32    %1087 = @load_ubo_vec4 (%20, %9 (0x4)) (access=speculatable, base=0, component=1)
MESA: info:             con 1       %29 = fge! %7 (0.000000), %1087
MESA: info:             con 1       %30 = inot %29
MESA: info:             con 32      %31 = b2i32 %30
MESA: info:                               @store_const_ir3 (%31) (base=3)
MESA: info:             con 32      %32 = frcp %1087
MESA: info:                               @store_const_ir3 (%32) (base=4)
MESA: info:             con 32    %1110 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32    %1090 = @load_ubo_vec4 (%20, %1110 (0x2)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %34 = frcp %1090
MESA: info:                               @store_const_ir3 (%34) (base=5)
MESA: info:             con 32    %1111 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32    %1093 = @load_ubo_vec4 (%20, %1111 (0x3)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %36 = frcp %1093
MESA: info:                               @store_const_ir3 (%36) (base=6)
MESA: info:             con 32    %1096 = @load_ubo_vec4 (%20, %9 (0x4)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %1791 = fneg %1096
MESA: info:             con 32    %1792 = ffma %1791, %1096, %8 (1.000000)
MESA: info:             con 32x2  %1797 = load_const (0x40000000, 0x3f800000) = (2.000000, 1.000000)
MESA: info:             con 32x2  %1798 = ffma %1096.xx, %1096.xx, %1797 (2.000000, 1.000000)
MESA: info:             con 32    %1799 = mov %1798.y
MESA: info:                               @store_const_ir3 (%1799) (base=7)
MESA: info:             con 32      %43 = frcp %1798.x
MESA: info:             con 32      %44 = load_const (0x3ef47d19 = 0.477517)
MESA: info:             con 32      %45 = fmul %1792, %44 (0.477517)
MESA: info:             con 32      %46 = fmul %45, %43
MESA: info:                               @store_const_ir3 (%46) (base=8)
MESA: info:             con 32      %47 = fmul %19 (2.000000), %1096
MESA: info:                               @store_const_ir3 (%47) (base=9)
MESA: info:             con 32      %49 = @bindless_resource_ir3 (%1110 (0x2)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%49, %7 (0.000000)) (base=16, range=196)
MESA: info:             con 32      %53 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%15, %53 (0x14)) (base=800, range=8)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%20, %7 (0.000000)) (base=832, range=8)
MESA: info:             con 32      %57 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %58 = @bindless_resource_ir3 (%57 (0x1)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%58, %7 (0.000000)) (base=864, range=4)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%15, %7 (0.000000)) (base=912, range=4)
MESA: info:             con 32      %64 = @bindless_resource_ir3 (%57 (0x1)) (desc_set=3)
MESA: info:                               @prefetch_tex_ir3 (%64)
MESA: info:             con 32      %66 = @bindless_resource_ir3 (%7 (0.000000)) (desc_set=3)
MESA: info:                               @prefetch_tex_ir3 (%66)
MESA: info:                               @preamble_end_ir3
MESA: info:                               // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:         // preds: b4 b5
MESA: info:     con 32      %67 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x3    %68 = @load_input (%67 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3    %69 = @load_input (%67 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3    %70 = @load_input (%67 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3    %71 = @load_input (%67 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     con 32      %73 = undefined
MESA: info:     con 32      %74 = undefined
MESA: info:     con 32      %75 = undefined
MESA: info:     con 32      %76 = undefined
MESA: info:     con 32      %77 = undefined
MESA: info:     con 32      %78 = undefined
MESA: info:     con 32      %79 = undefined
MESA: info:     con 32      %80 = undefined
MESA: info:     con 32      %92 = load_const (0x00000001)
MESA: info:     con 32      %95 = load_const (0x00000002)
MESA: info:     con 32      %99 = load_const (0x00000004 = 0.000000)
MESA: info:     con 32     %101 = load_const (0x00000006)
MESA: info:     div 32     %103 = @load_vertex_id
MESA: info:     con 32     %104 = load_const (0x00000010 = 16)
MESA: info:     con 32     %105 = load_const (0x0000ffff = 65535)
MESA: info:     div 32     %106 = iand %103, %105 (0xffff)
MESA: info:     div 32     %108 = ushr %103, %104 (0x10)
MESA: info:     con 32x3  %1808 = load_const (0x0000aaab, 0x0000aaaa, 0xaaaaaaab) = (+43691, +43690, -1431655765) = (43691, 43690, 2863311531)
MESA: info:     div 32x3  %1809 = umul_low %106.xxx, %1808 (0xaaab, 0xaaaa, 0xaaaaaaab)
MESA: info:     con 32x2  %1802 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1803 = imadsh_mix16 %1802 (0xaaab, 0xaaaa), %106.xx, %1809.xy
MESA: info:     con 32x2  %1804 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1805 = umul_low %108.xx, %1804 (0xaaab, 0xaaaa)
MESA: info:     con 32x2  %1806 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1807 = imadsh_mix16 %1806 (0xaaab, 0xaaaa), %108.xx, %1805
MESA: info:     con 32     %114 = load_const (0xaaaaaaab = -1431655765 = 2863311531)
MESA: info:     div 32    %1341 = imadsh_mix16 %106, %114 (0xaaaaaaab), %1809.z
MESA: info:     div 32    %1342 = imadsh_mix16 %114 (0xaaaaaaab), %106, %1341
MESA: info:     div 1      %116 = ult %1342, %1803.x
MESA: info:     div 32     %117 = b2i32 %116
MESA: info:     div 32     %119 = ushr %1803.y, %104 (0x10)
MESA: info:     div 32    %1284 = iadd3 %1807.y, %117, %119
MESA: info:     con 32     %121 = load_const (0xaaab0000 = -1431633920 = 2863333376)
MESA: info:     con 32    %1621 = load_const (0x00000000)
MESA: info:     div 32    %1338 = imadsh_mix16 %108, %121 (0xaaab0000), %1621 (0x0)
MESA: info:     div 32     %123 = iadd %1342, %1338
MESA: info:     div 1      %124 = ult %123, %1342
MESA: info:     div 32     %125 = b2i32 %124
MESA: info:     div 32     %127 = ushr %1807.x, %104 (0x10)
MESA: info:     div 32    %1283 = iadd3 %1284, %125, %127
MESA: info:     con 32x2  %1810 = load_const (0x00000002, 0x00000003)
MESA: info:     div 32x2  %1811 = ushr %1283.xx, %1810 (0x2, 0x3)
MESA: info:     con 32x2  %1812 = load_const (0x00000006, 0x0000000c) = (6, 12)
MESA: info:     div 32x2  %1813 = umul_low %1811, %1812 (0x6, 0xc)
MESA: info:     con 32x2  %1814 = load_const (0x00000006, 0x0000000c) = (6, 12)
MESA: info:     div 32x2  %1815 = imadsh_mix16 %1814 (0x6, 0xc), %1811, %1813
MESA: info:     div 32x2  %1816 = isub %103.xx, %1815
MESA: info:     div 32    %1817 = mov %1816.x
MESA: info:     con 32     %134 = load_const (0x0000000c = 0.000000 = 12)
MESA: info:     div 1      %138 = ilt %1816.y, %101 (0x6)
MESA: info:     div 1      %139 = inot %138
MESA: info:     div 1      %140 = ilt %103, %67 (0x0)
MESA: info:     div 32     %141 = iabs %103
MESA: info:     div 32     %142 = iand %141, %105 (0xffff)
MESA: info:     div 32     %143 = ushr %141, %104 (0x10)
MESA: info:     con 32x3  %1826 = load_const (0x0000aaab, 0x00002aaa, 0x2aaaaaab) = (43691, 10922, 715827883)
MESA: info:     div 32x3  %1827 = umul_low %142.xxx, %1826 (0xaaab, 0x2aaa, 0x2aaaaaab)
MESA: info:     con 32x2  %1820 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1821 = imadsh_mix16 %1820 (0xaaab, 0x2aaa), %142.xx, %1827.xy
MESA: info:     con 32x2  %1822 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1823 = umul_low %143.xx, %1822 (0xaaab, 0x2aaa)
MESA: info:     con 32x2  %1824 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1825 = imadsh_mix16 %1824 (0xaaab, 0x2aaa), %143.xx, %1823
MESA: info:     con 32     %149 = load_const (0x2aaaaaab = 715827883)
MESA: info:     div 32    %1317 = imadsh_mix16 %142, %149 (0x2aaaaaab), %1827.z
MESA: info:     div 32    %1318 = imadsh_mix16 %149 (0x2aaaaaab), %142, %1317
MESA: info:     div 1      %151 = ult %1318, %1821.x
MESA: info:     div 32     %152 = b2i32 %151
MESA: info:     div 32     %154 = ushr %1821.y, %104 (0x10)
MESA: info:     div 32    %1280 = iadd3 %1825.y, %152, %154
MESA: info:     con 32    %1616 = load_const (0x00000000)
MESA: info:     div 32    %1314 = imadsh_mix16 %143, %121 (0xaaab0000), %1616 (0x0)
MESA: info:     div 32     %157 = iadd %1318, %1314
MESA: info:     div 1      %158 = ult %157, %1318
MESA: info:     div 32     %159 = b2i32 %158
MESA: info:     div 32     %161 = ushr %1825.x, %104 (0x10)
MESA: info:     div 32    %1279 = iadd3 %1280, %159, %161
MESA: info:     div 32     %163 = inot %1279
MESA: info:     div 32     %164 = inot %157
MESA: info:     div 32     %165 = iadd %164, %92 (0x1)
MESA: info:     div 1      %166 = ult %165, %164
MESA: info:     div 32     %167 = b2i32 %166
MESA: info:     div 32     %168 = iadd %163, %167
MESA: info:     div 32     %169 = bcsel %140, %168, %1279
MESA: info:     div 32     %170 = ishr %169, %92 (0x1)
MESA: info:     con 32     %171 = load_const (0x0000001f = 31)
MESA: info:     div 32     %172 = ushr %170, %171 (0x1f)
MESA: info:     div 32     %173 = iadd %170, %172
MESA: info:     con 32x2  %1828 = load_const (0x00000004, 0x00000002)
MESA: info:     div 32x2  %1829 = ishl %173.xx, %1828 (0x4, 0x2)
MESA: info:     div 32    %1830 = mov %1829.x
MESA: info:     div 32    %1831 = mov %1829.y
MESA: info:     con 32     %175 = @bindless_resource_ir3 (%92 (0x1)) (desc_set=3)
MESA: info:     div 32x3  %1100 = @load_ssbo_ir3 (%175, %1830, %1831) (base=0, access=readonly|reorderable|speculatable, align_mul=16, align_offset=0)
MESA: info:     div 32x3  %1833 = fmul %69, %1100.yyy
MESA: info:     div 32x3  %1835 = ffma %68, %1100.xxx, %1833
MESA: info:     div 32x3  %1837 = ffma %70, %1100.zzz, %1835
MESA: info:     con 32     %192 = @bindless_resource_ir3 (%67 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %1104 = @load_ssbo_ir3 (%192, %1830, %1831) (base=0, access=readonly|reorderable|speculatable, align_mul=16, align_offset=0)
MESA: info:     div 32     %194 = f2i32 %1104.w
MESA: info:     div 32x3  %1839 = fmul %69, %1104.yyy
MESA: info:     div 32x3  %1841 = ffma %68, %1104.xxx, %1839
MESA: info:     div 32x3  %1843 = ffma %70, %1104.zzz, %1841
MESA: info:     div 32x3  %1845 = fadd %1843, %71
MESA: info:     div 32     %214 = fmul %1837.y, %1837.y
MESA: info:     div 32    %1774 = ffma %1837.z, %1837.z, %214
MESA: info:     div 32    %1773 = ffma %1837.x, %1837.x, %1774
MESA: info:     div 32     %218 = frsq %1773
MESA: info:     div 32x3  %1849 = fmul %1837, %218.xxx
MESA: info:     div 32    %1850 = mov %1849.z
MESA: info:     div 32    %1847 = mov %1849.x
MESA: info:     div 32    %1848 = mov %1849.y
MESA: info:     div 32     %222 = fsqrt %1773
MESA: info:     con 32     %223 = load_const (0x000000b0 = 176)
MESA: info:     div 32    %1310 = umul_low %194, %223 (0xb0)
MESA: info:     div 32    %1312 = imadsh_mix16 %223 (0xb0), %194, %1310
MESA: info:     div 32     %227 = ushr %1312, %95 (0x2)
MESA: info:     div 32x4   %228 = @load_const_ir3 (%227) (base=16)
MESA: info:     div 32x4   %235 = @load_const_ir3 (%227) (base=20)
MESA: info:     div 32x4   %239 = @load_const_ir3 (%227) (base=24)
MESA: info:     div 32x4   %243 = @load_const_ir3 (%227) (base=28)
MESA: info:     div 32x4   %247 = @load_const_ir3 (%227) (base=32)
MESA: info:     div 32x4   %254 = @load_const_ir3 (%227) (base=36)
MESA: info:     div 32x4   %258 = @load_const_ir3 (%227) (base=40)
MESA: info:     div 32x4   %266 = @load_const_ir3 (%227) (base=44)
MESA: info:     div 32x4   %270 = @load_const_ir3 (%227) (base=48)
MESA: info:     div 32x4   %274 = @load_const_ir3 (%227) (base=52)
MESA: info:     div 32x3   %278 = @load_const_ir3 (%227) (base=56)
MESA: info:     con 32    %1114 = load_const (0x0000005c = 0.000000 = 92)
MESA: info:     con 32x3   %283 = @load_const_ir3 (%1114 (0x5c)) (base=720)
MESA: info:     div 32x3  %1852 = fmul %222.xxx, %1849
MESA: info:     div 32x4  %1855 = fmul %274.xyxx, %1852.xxyz
MESA: info:     div 32x4  %1858 = fmul %278.xyxx, %1852.xxyz
MESA: info:     div 32     %295 = fmul %1852.y, %274.y
MESA: info:     div 32     %296 = fneg %295
MESA: info:     div 32     %297 = fmul %1852.y, %278.y
MESA: info:     div 32     %298 = fneg %297
MESA: info:     div 32     %299 = fmul %274.z, %222
MESA: info:     div 32     %300 = fmul %278.z, %222
MESA: info:     div 32x4  %1861 = fmin %1855, %1858
MESA: info:     div 32     %305 = fmin %296, %298
MESA: info:     div 32     %306 = fadd %1861.x, %305
MESA: info:     div 32     %307 = fadd %1861.z, %1861.y
MESA: info:     div 32     %308 = fmin %299, %300
MESA: info:     div 32     %309 = fadd %1861.w, %308
MESA: info:     div 32     %310 = fadd %306, %1845.x
MESA: info:     div 32     %311 = fadd %307, %1845.y
MESA: info:     div 32     %312 = fadd %309, %1845.z
MESA: info:     div 32x4  %1864 = fmax %1855, %1858
MESA: info:     div 32     %317 = fmax %296, %298
MESA: info:     div 32     %318 = fadd %1864.x, %317
MESA: info:     div 32     %319 = fadd %1864.z, %1864.y
MESA: info:     div 32     %320 = fmax %299, %300
MESA: info:     div 32     %321 = fadd %1864.w, %320
MESA: info:     div 32     %322 = fadd %318, %1845.x
MESA: info:     div 32     %323 = fadd %319, %1845.y
MESA: info:     div 32     %324 = fadd %321, %1845.z
MESA: info:     div 32     %325 = fmax %283.x, %310
MESA: info:     div 32     %326 = fmax %283.y, %311
MESA: info:     div 32     %327 = fmax %283.z, %312
MESA: info:     div 32     %328 = fmin %325, %322
MESA: info:     div 32     %329 = fmin %326, %323
MESA: info:     div 32     %330 = fmin %327, %324
MESA: info:     div 32    %1772 = fsub %283.x, %328
MESA: info:     div 32    %1771 = fsub %283.y, %329
MESA: info:     div 32    %1770 = fsub %283.z, %330
MESA: info:     div 32     %338 = fmul %1771, %1771
MESA: info:     div 32    %1769 = ffma %1770, %1770, %338
MESA: info:     div 32    %1768 = ffma %1772, %1772, %1769
MESA: info:     div 32     %342 = fsqrt %1768
MESA: info:     con 32    %1115 = load_const (0x00000063 = 0.000000 = 99)
MESA: info:     con 32     %346 = @load_const_ir3 (%1115 (0x63)) (base=720)
MESA: info:     con 32     %348 = @load_const_ir3 (%67 (0x0)) (base=0)
MESA: info:     div 32     %354 = ishl %194, %95 (0x2)
MESA: info:     con 32    %1129 = load_const (0x00000200 = 512)
MESA: info:     div 32    %1130 = iadd %354, %1129 (0x200)
MESA: info:     div 32x2   %355 = @load_const_ir3 (%1130) (base=208)
MESA: info:     div 32     %357 = fmul %355.y, %348
MESA: info:     div 32     %358 = fneg %342
MESA: info:     div 32    %1767 = ffma %355.x, %346, %358
MESA: info:     con 32     %360 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32     %361 = fmul %360 (2.000000), %1767
MESA: info:     div 32     %362 = fmul %361, %357
MESA: info:     div 32     %363 = fsat %362
MESA: info:     div 1      %364 = flt! %67 (0.000000), %363
MESA: info:                       // succs: b7 b22
MESA: info:     if %364 {
MESA: info:         div block b7:         // preds: b6
MESA: info:         con 32      %93 = load_const (0x3f800000 = 1.000000 = 1065353216)
MESA: info:         div 32x3  %1866 = fsub %283, %1845
MESA: info:         div 32     %372 = fmul %1866.x, %1866.x
MESA: info:         div 32    %1763 = ffma %1866.y, %1866.y, %372
MESA: info:         div 32     %374 = frsq %1763
MESA: info:         div 32x3  %1941 = fmul %1866.zyx, %374.xxx
MESA: info:         div 32x2  %2040 = mov %1941.zy
MESA: info:         div 32    %1942 = mov %1941.z
MESA: info:         div 32     %376 = fabs %1941.x
MESA: info:         div 1      %377 = fge! %93 (1.000000), %376
MESA: info:         div 32     %378 = frcp %1941.x
MESA: info:         div 32     %379 = bcsel %377, %1941.x, %378
MESA: info:         div 32     %380 = fmul %379, %379
MESA: info:         con 32     %381 = load_const (0xbc46c6a5 = -0.012132)
MESA: info:         con 32     %383 = load_const (0x3d5be101 = 0.053681)
MESA: info:         div 32    %1762 = ffma %381 (-0.012132), %380, %383 (0.053681)
MESA: info:         con 32     %386 = load_const (0xbdf0555d = -0.117350)
MESA: info:         div 32    %1761 = ffma %1762, %380, %386 (-0.117350)
MESA: info:         con 32     %389 = load_const (0x3e468bc1 = 0.193892)
MESA: info:         div 32    %1760 = ffma %1761, %380, %389 (0.193892)
MESA: info:         con 32     %392 = load_const (0xbeaa5476 = -0.332676)
MESA: info:         div 32    %1759 = ffma %1760, %380, %392 (-0.332676)
MESA: info:         con 32     %395 = load_const (0x3f7ffea5 = 0.999979)
MESA: info:         div 32    %1758 = ffma %1759, %380, %395 (0.999979)
MESA: info:         con 32     %397 = load_const (0xbfc90fdb = -1.570796)
MESA: info:         div 32     %398 = bcsel %377, %67 (0x0), %397 (0xbfc90fdb)
MESA: info:         div 32     %399 = fabs %379
MESA: info:         div 32    %1757 = ffma %399, %1758, %398
MESA: info:         con 32     %402 = load_const (0x7fffffff = 2147483647)
MESA: info:         con 32     %404 = load_const (0x80000000 = -0.000000 = -2147483648 = 2147483648)
MESA: info:         div 32     %405 = iand %1941.x, %404 (0x80000000)
MESA: info:         div 32    %1795 = andg_ir3 %1757, %402 (0x7fffffff), %405
MESA: info:         div 1      %407 = fge! %67 (0.000000), %1849.x
MESA: info:         div 32x2  %1867 = fabs %1849.xy
MESA: info:         div 32     %409 = bcsel %407, %1867.x, %1849.y
MESA: info:         div 32     %410 = bcsel %407, %1849.y, %1867.x
MESA: info:         div 32     %411 = fabs %410
MESA: info:         con 32     %412 = load_const (0x5d5e0b6b = 1.000000e+18)
MESA: info:         div 1      %413 = fge! %411, %412 (1.000000e+18)
MESA: info:         con 32     %414 = load_const (0x3e800000 = 0.250000)
MESA: info:         div 32     %415 = bcsel %413, %414 (0x3e800000), %93 (0x3f800000)
MESA: info:         div 32     %416 = fmul %410, %415
MESA: info:         div 32     %417 = frcp %416
MESA: info:         div 32     %418 = fmul %409, %415
MESA: info:         div 32     %419 = fabs %418
MESA: info:         div 32     %420 = fabs %417
MESA: info:         div 32     %421 = fmul %419, %420
MESA: info:         div 1      %423 = feq! %1867.x, %1867.y
MESA: info:         div 32     %424 = bcsel %423, %93 (0x3f800000), %421
MESA: info:         div 1      %425 = fge! %93 (1.000000), %424
MESA: info:         div 32     %426 = frcp %424
MESA: info:         div 32     %427 = bcsel %425, %424, %426
MESA: info:         div 32     %428 = fmul %427, %427
MESA: info:         div 32    %1756 = ffma %381 (-0.012132), %428, %383 (0.053681)
MESA: info:         div 32    %1755 = ffma %1756, %428, %386 (-0.117350)
MESA: info:         div 32    %1754 = ffma %1755, %428, %389 (0.193892)
MESA: info:         div 32    %1753 = ffma %1754, %428, %392 (-0.332676)
MESA: info:         div 32    %1752 = ffma %1753, %428, %395 (0.999979)
MESA: info:         div 32     %439 = bcsel %425, %67 (0x0), %397 (0xbfc90fdb)
MESA: info:         div 32     %440 = fabs %427
MESA: info:         div 32    %1751 = ffma %440, %1752, %439
MESA: info:         div 32     %444 = iand %424, %404 (0x80000000)
MESA: info:         div 32    %1794 = andg_ir3 %1751, %402 (0x7fffffff), %444
MESA: info:         con 32     %446 = load_const (0x3fc90fdb = 1.570796)
MESA: info:         div 32     %447 = bcsel %407, %446 (0x3fc90fdb), %67 (0x0)
MESA: info:         div 32     %448 = fadd %447, %1794
MESA: info:         div 32     %449 = fmin %1849.y, %417
MESA: info:         div 1      %450 = flt! %449, %67 (0.000000)
MESA: info:         div 32     %451 = fneg %448
MESA: info:         div 32     %452 = bcsel %450, %451, %448
MESA: info:         con 32     %456 = @load_const_ir3 (%67 (0x0)) (base=832)
MESA: info:         div 32x3  %1869 = fsub %1845, %283
MESA: info:         div 32     %464 = fmul %1869.y, %1869.y
MESA: info:         div 32    %1747 = ffma %1869.z, %1869.z, %464
MESA: info:         div 32    %1746 = ffma %1869.x, %1869.x, %1747
MESA: info:         div 32     %468 = fsqrt %1746
MESA: info:         con 32     %470 = @load_const_ir3 (%67 (0x0)) (base=1)
MESA: info:         div 32     %471 = fadd %468, %470
MESA: info:         con 32     %473 = @load_const_ir3 (%67 (0x0)) (base=2)
MESA: info:         div 32     %474 = fmul %471, %473
MESA: info:         div 32     %475 = fsat %474
MESA: info:         div 32     %476 = fmul %475, %475
MESA: info:         div 32     %477 = fmul %476, %476
MESA: info:         div 32     %478 = fmul %477, %476
MESA: info:         div 32     %479 = fmul %456, %478
MESA: info:         con 32    %1116 = load_const (0x00000011 = 0.000000 = 17)
MESA: info:         con 32     %482 = @load_const_ir3 (%1116 (0x11)) (base=832)
MESA: info:         con 32     %484 = @load_const_ir3 (%67 (0x0)) (base=3)
MESA: info:         con 1      %486 = ine %484, %67 (0x0)
MESA: info:                           // succs: b8 b14
MESA: info:         if %486 {
MESA: info:             div block b8:         // preds: b7
MESA: info:             con 1      %487 = flt! %283.z, %67 (0.000000)
MESA: info:             div 1      %488 = fge! %1845.z, %67 (0.000000)
MESA: info:             div 1      %489 = iand %487, %488
MESA: info:             div 32     %490 = frcp %1866.z
MESA: info:             div 32     %491 = fmul %283.z, %490
MESA: info:             div 32x3  %1872 = fneg %491.xxx
MESA: info:             div 32x3  %1873 = ffma %1872, %1866, %283
MESA: info:             div 32x3  %1875 = bcsel %489.xxx, %1873, %283
MESA: info:             div 32x3  %1877 = fsub %1875, %1845
MESA: info:             con 32    %1117 = load_const (0x00000008 = 0.000000)
MESA: info:             con 32x3   %509 = @load_const_ir3 (%1117 (0x8)) (base=832)
MESA: info:             con 32x3   %512 = @load_const_ir3 (%134 (0xc)) (base=832)
MESA: info:             div 32     %513 = fmax %1875.z, %67 (0.000000)
MESA: info:             div 32     %514 = fmax %1845.z, %67 (0.000000)
MESA: info:             div 32     %516 = fmul %1877.y, %1877.y
MESA: info:             div 32    %1736 = ffma %1877.z, %1877.z, %516
MESA: info:             div 32    %1735 = ffma %1877.x, %1877.x, %1736
MESA: info:             div 32     %520 = fsqrt %1735
MESA: info:             con 32     %522 = @load_const_ir3 (%67 (0x0)) (base=4)
MESA: info:             div 32     %523 = fmul %520, %522
MESA: info:             con 32x3  %1884 = load_const (0x3f800000, 0x3f800000, 0x3f800000) = (1.000000, 1.000000, 1.000000)
MESA: info:             con 32x2  %1888 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:             con 32x4  %1897 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:             con 32x2  %1900 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:                               // succs: b9
MESA: info:             con loop {
MESA: info:                 con block b9:         // preds: b8 b12
MESA: info:                 div 32x3  %1883 = phi b8: %1884 (1.000000, 1.000000, 1.000000), b12: %1913
MESA: info:                 div 32x2  %1887 = phi b8: %1888 (0.000000, 0.000000), b12: %1889
MESA: info:                 div 32x4  %1896 = phi b8: %1897 (0.000000, 0.000000, 0.000000, 0.000000), b12: %1898
MESA: info:                 div 32x2  %1899 = phi b8: %1900 (0.000000, 0.000000), b12: %1916
MESA: info:                 con 32     %535 = phi b8: %67 (0x0), b12: %595
MESA: info:                 con 32     %536 = i2f32 %535
MESA: info:                 con 1      %537 = flt! %536, %482
MESA: info:                 con 1      %538 = inot %537
MESA: info:                                   // succs: b10 b11
MESA: info:                 if %538 {
MESA: info:                     con block b10:// preds: b9
MESA: info:                     break
MESA: info:                     // succs: b13
MESA: info:                 } else {
MESA: info:                     con block b11:  // preds: b9, succs: b12
MESA: info:                 }
MESA: info:                 con block b12:        // preds: b11
MESA: info:                 con 32     %539 = load_const (0x3f000000 = 0.500000)
MESA: info:                 con 32     %540 = fadd %536, %539 (0.500000)
MESA: info:                 con 32     %541 = fmul %540, %522
MESA: info:                 div 32    %1734 = fsub %514, %513
MESA: info:                 div 32    %1733 = ffma %541, %1734, %513
MESA: info:                 con 32     %547 = @load_const_ir3 (%67 (0x0)) (base=5)
MESA: info:                 con 32     %548 = load_const (0x3fb8aa3b = 1.442695)
MESA: info:                 div 32     %549 = fmul %1733, %548 (1.442695)
MESA: info:                 div 32     %550 = fmul %549, %547
MESA: info:                 div 32     %551 = fneg %550
MESA: info:                 div 32     %552 = fexp2 %551
MESA: info:                 div 32     %553 = fmul %552, %523
MESA: info:                 con 32     %555 = @load_const_ir3 (%67 (0x0)) (base=6)
MESA: info:                 div 32     %556 = fmul %549, %555
MESA: info:                 div 32     %557 = fneg %556
MESA: info:                 div 32     %558 = fexp2 %557
MESA: info:                 div 32     %559 = fmul %558, %523
MESA: info:                 div 32     %560 = fadd %1887.x, %553
MESA: info:                 div 32     %561 = fadd %1887.y, %559
MESA: info:                 div 32x3  %1903 = fmul %512, %561.xxx
MESA: info:                 div 32x3  %1907 = fneg %1903
MESA: info:                 con 32x3  %1908 = fneg %509
MESA: info:                 div 32x3  %1909 = ffma %1908, %560.xxx, %1907
MESA: info:                 div 32x3  %1911 = fmul %1909, %548 (1.442695).xxx
MESA: info:                 div 32x3  %1913 = fexp2 %1911
MESA: info:                 div 32x3  %1915 = ffma %1913, %553.xxx, %1896.xyz
MESA: info:                 div 32    %1723 = ffma %1913.x, %559, %1896.w
MESA: info:                 div 32x2  %1916 = ffma %1913.yz, %559.xx, %1899
MESA: info:                 con 32     %595 = iadd %535, %92 (0x1)
MESA: info:                 div 32x2  %1889 = vec2 %560, %561
MESA: info:                 div 32x4  %1898 = vec4 %1915.x, %1915.y, %1915.z, %1723
MESA: info:                                   // succs: b9
MESA: info:             }
MESA: info:             div block b13:        // preds: b10
MESA: info:             div 32x3  %2054 = phi b10: %1883
MESA: info:             div 32x4  %2053 = phi b10: %1896
MESA: info:             div 32x2  %2052 = phi b10: %1899
MESA: info:             div 32     %596 = frsq %1735
MESA: info:             div 32x3  %1918 = fmul %1877, %596.xxx
MESA: info:             con 32x3   %603 = @load_const_ir3 (%67 (0x0)) (base=864)
MESA: info:             div 32     %605 = fmul %1918.y, %603.y
MESA: info:             div 32    %1720 = ffma %1918.z, %603.z, %605
MESA: info:             div 32    %1719 = ffma %1918.x, %603.x, %1720
MESA: info:             con 32     %609 = load_const (0xbf800000 = -1.000000)
MESA: info:             div 32     %610 = fmax %1719, %609 (-1.000000)
MESA: info:             div 32     %611 = fmin %610, %93 (1.000000)
MESA: info:             div 32    %1718 = ffma %611, %611, %93 (1.000000)
MESA: info:             con 32     %614 = load_const (0x3f16c8b4 = 0.589000)
MESA: info:             div 32     %615 = fmul %614 (0.589000), %1718
MESA: info:             div 32x3  %1920 = fmul %509, %615.xxx
MESA: info:             con 32     %620 = @load_const_ir3 (%67 (0x0)) (base=7)
MESA: info:             con 32     %622 = @load_const_ir3 (%67 (0x0)) (base=8)
MESA: info:             con 32     %624 = @load_const_ir3 (%67 (0x0)) (base=9)
MESA: info:             con 32    %1716 = fneg %624
MESA: info:             div 32    %1717 = ffma %1716, %611, %620
MESA: info:             con 32     %628 = load_const (0x3fc00000 = 1.500000)
MESA: info:             div 32     %629 = flog2 %1717
MESA: info:             div 32     %630 = fmul %629, %628 (1.500000)
MESA: info:             div 32     %631 = fneg %630
MESA: info:             div 32     %632 = fexp2 %631
MESA: info:             div 32     %633 = fmul %1718, %632
MESA: info:             div 32     %634 = fmul %622, %633
MESA: info:             div 32x3  %1922 = fmul %512, %634.xxx
MESA: info:             div 32     %641 = fmul %2053.w, %1922.x
MESA: info:             div 32x2  %1923 = fmul %2052, %1922.yz
MESA: info:             div 32    %1715 = ffma %2053.x, %1920.x, %641
MESA: info:             div 32x2  %1924 = ffma %2053.yz, %1920.yz, %1923
MESA: info:                               // succs: b15
MESA: info:         } else {
MESA: info:             div block b14:        // preds: b7
MESA: info:             con 32x2  %1928 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:             con 32x3  %1937 = load_const (0x3f800000, 0x3f800000, 0x3f800000) = (1.000000, 1.000000, 1.000000)
MESA: info:                               // succs: b15
MESA: info:         }
MESA: info:         div block b15:        // preds: b13 b14
MESA: info:         div 32x2  %1927 = phi b13: %1924, b14: %1928 (0.000000, 0.000000)
MESA: info:         div 32     %648 = phi b13: %1715, b14: %67 (0x0)
MESA: info:         div 32x3  %1936 = phi b13: %2054, b14: %1937 (1.000000, 1.000000, 1.000000)
MESA: info:         div 32    %1938 = mov %1936.z
MESA: info:         div 32    %1934 = mov %1936.x
MESA: info:         div 32    %1935 = mov %1936.y
MESA: info:         div 32    %1929 = mov %1927.x
MESA: info:         div 32    %1930 = mov %1927.y
MESA: info:         div 1      %653 = flt! %1795, %266.z
MESA: info:         div 1      %654 = iand %653, %138
MESA: info:                           // succs: b16 b17
MESA: info:         if %654 {
MESA: info:             div block b16:        // preds: b15
MESA: info:             div 32     %656 = fneg %1941.y
MESA: info:             div 1      %658 = fge! %67 (0.000000), %1866.x
MESA: info:             div 32x2  %1943 = fabs %1866.xy
MESA: info:             div 32     %660 = bcsel %658, %1943.x, %1866.y
MESA: info:             div 32     %661 = bcsel %658, %1866.y, %1943.x
MESA: info:             div 32     %662 = fabs %661
MESA: info:             div 1      %663 = fge! %662, %412 (1.000000e+18)
MESA: info:             div 32     %664 = bcsel %663, %414 (0x3e800000), %93 (0x3f800000)
MESA: info:             div 32     %665 = fmul %661, %664
MESA: info:             div 32     %666 = frcp %665
MESA: info:             div 32     %667 = fmul %660, %664
MESA: info:             div 32     %668 = fabs %667
MESA: info:             div 32     %669 = fabs %666
MESA: info:             div 32     %670 = fmul %668, %669
MESA: info:             div 1      %672 = feq! %1943.x, %1943.y
MESA: info:             div 32     %673 = bcsel %672, %93 (0x3f800000), %670
MESA: info:             div 1      %674 = fge! %93 (1.000000), %673
MESA: info:             div 32     %675 = frcp %673
MESA: info:             div 32     %676 = bcsel %674, %673, %675
MESA: info:             div 32     %677 = fmul %676, %676
MESA: info:             div 32    %1712 = ffma %381 (-0.012132), %677, %383 (0.053681)
MESA: info:             div 32    %1711 = ffma %1712, %677, %386 (-0.117350)
MESA: info:             div 32    %1710 = ffma %1711, %677, %389 (0.193892)
MESA: info:             div 32    %1709 = ffma %1710, %677, %392 (-0.332676)
MESA: info:             div 32    %1708 = ffma %1709, %677, %395 (0.999979)
MESA: info:             div 32     %688 = bcsel %674, %67 (0x0), %397 (0xbfc90fdb)
MESA: info:             div 32     %689 = fabs %676
MESA: info:             div 32    %1707 = ffma %689, %1708, %688
MESA: info:             div 32     %693 = iand %673, %404 (0x80000000)
MESA: info:             div 32    %1793 = andg_ir3 %1707, %402 (0x7fffffff), %693
MESA: info:             div 32     %695 = bcsel %658, %446 (0x3fc90fdb), %67 (0x0)
MESA: info:             div 32     %696 = fadd %695, %1793
MESA: info:             div 32     %697 = fmin %1866.y, %666
MESA: info:             div 1      %698 = flt! %697, %67 (0.000000)
MESA: info:             div 32     %699 = fneg %696
MESA: info:             div 32     %700 = bcsel %698, %699, %696
MESA: info:             con 32     %701 = load_const (0x3f060a92 = 0.523599)
MESA: info:             div 32     %702 = fadd %700, %701 (0.523599)
MESA: info:             div 32    %1706 = fsub %702, %452
MESA: info:             con 32     %705 = load_const (0x3f747644 = 0.954930)
MESA: info:             con 32     %707 = load_const (0x41400000 = 12.000000)
MESA: info:             div 32    %1705 = ffma %705 (0.954930), %1706, %707 (12.000000)
MESA: info:             div 32     %709 = f2i32 %1705
MESA: info:             div 32     %710 = iand %709, %105 (0xffff)
MESA: info:             div 32     %711 = ushr %709, %104 (0x10)
MESA: info:             con 32x3  %1952 = load_const (0x0000aaab, 0x0000aaaa, 0xaaaaaaab) = (+43691, +43690, -1431655765) = (43691, 43690, 2863311531)
MESA: info:             div 32x3  %1953 = umul_low %710.xxx, %1952 (0xaaab, 0xaaaa, 0xaaaaaaab)
MESA: info:             con 32x2  %1946 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1947 = imadsh_mix16 %1946 (0xaaab, 0xaaaa), %710.xx, %1953.xy
MESA: info:             con 32x2  %1948 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1949 = umul_low %711.xx, %1948 (0xaaab, 0xaaaa)
MESA: info:             con 32x2  %1950 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1951 = imadsh_mix16 %1950 (0xaaab, 0xaaaa), %711.xx, %1949
MESA: info:             div 32    %1296 = imadsh_mix16 %710, %114 (0xaaaaaaab), %1953.z
MESA: info:             div 32    %1297 = imadsh_mix16 %114 (0xaaaaaaab), %710, %1296
MESA: info:             div 1      %717 = ult %1297, %1947.x
MESA: info:             div 32     %718 = b2i32 %717
MESA: info:             div 32     %720 = ushr %1947.y, %104 (0x10)
MESA: info:             div 32    %1196 = iadd3 %1951.y, %718, %720
MESA: info:             con 32    %1465 = load_const (0x00000000)
MESA: info:             div 32    %1293 = imadsh_mix16 %711, %121 (0xaaab0000), %1465 (0x0)
MESA: info:             div 32     %723 = iadd %1297, %1293
MESA: info:             div 1      %724 = ult %723, %1297
MESA: info:             div 32     %725 = b2i32 %724
MESA: info:             div 32     %727 = ushr %1951.x, %104 (0x10)
MESA: info:             div 32    %1195 = iadd3 %1196, %725, %727
MESA: info:             div 32     %729 = ushr %1195, %95 (0x2)
MESA: info:             div 32    %1289 = umul_low %729, %101 (0x6)
MESA: info:             div 32    %1291 = imadsh_mix16 %101 (0x6), %729, %1289
MESA: info:             div 32    %1704 = isub %709, %1291
MESA: info:             div 32    %1703 = fsub %1795, %266.z
MESA: info:             div 32    %1702 = fsub %266.w, %266.z
MESA: info:             div 32     %736 = frcp %1702
MESA: info:             div 32     %737 = fmul %1703, %736
MESA: info:             div 32     %738 = fsat %737
MESA: info:             div 32     %739 = fmul %738, %360 (2.000000)
MESA: info:             div 32     %740 = fsat %739
MESA: info:             div 32     %741 = fmul %363, %740
MESA: info:             con 32x2  %1954 = load_const (0xbf000000, 0x3f000000) = (-0.500000, 0.500000)
MESA: info:             div 32x2  %1955 = fmul %1954 (-0.500000, 0.500000), %266.xx
MESA: info:             div 32x2  %1956 = fmul %1941.yy, %1955
MESA: info:             div 32x2  %1957 = fmul %1955, %1941.zz
MESA: info:             div 32x2  %1958 = fneg %1956
MESA: info:             div 32x2  %1959 = ffma %1958, %222.xx, %1845.xx
MESA: info:             div 32x2  %1960 = ffma %222.xx, %1957, %1845.yy
MESA: info:             div 32x3   %760 = vec3 %1959.x, %1960.x, %1845.z
MESA: info:             div 32x3   %761 = vec3 %1959.y, %1960.y, %1845.z
MESA: info:             div 32    %1695 = ffma %222, %266.y, %1845.z
MESA: info:             div 32x3   %764 = vec3 %1959.x, %1960.x, %1695
MESA: info:             div 32x3   %765 = vec3 %1959.y, %1960.y, %1695
MESA: info:                               @store_reg (%760, %4) (base=0, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%761, %4) (base=1, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%764, %4) (base=2, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%765, %4) (base=3, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%228, %3) (base=0, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%235, %3) (base=1, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%239, %3) (base=2, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%243, %3) (base=3, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%247, %3) (base=4, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%254, %3) (base=5, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%258, %3) (base=6, wrmask=xyzw, legacy_fsat=0)
MESA: info:             div 32x4   %781 = @load_reg_indirect (%3, %1704) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             div 32x2   %782 = vec2 %781.x, %781.y
MESA: info:             div 32x2   %783 = vec2 %781.z, %781.w
MESA: info:             div 1x2   %1961 = flt! %781.xy, %781.zw
MESA: info:             div 1      %786 = ieq %1961.x, %1961.y
MESA: info:             div 32x2  %1962 = fsub %781.zw, %781.xy
MESA: info:             div 32     %791 = bcsel %786, %1962.x, %67 (0x0)
MESA: info:             div 32     %792 = bcsel %786, %67 (0x0), %1962.y
MESA: info:             div 32     %793 = fadd %781.x, %791
MESA: info:             div 32     %794 = fadd %781.y, %792
MESA: info:             div 32x2   %795 = vec2 %793, %794
MESA: info:             div 32    %1692 = fsub %781.z, %791
MESA: info:             div 32    %1691 = fsub %781.w, %792
MESA: info:             div 32x2   %800 = vec2 %1692, %1691
MESA: info:                               @store_reg (%782, %2) (base=0, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%795, %2) (base=1, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%800, %2) (base=2, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%783, %2) (base=3, wrmask=xy, legacy_fsat=0)
MESA: info:             div 32x3   %808 = @load_reg_indirect (%4, %1817) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             div 32x2   %811 = @load_reg_indirect (%2, %1817) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             div 32     %819 = ishl %1816.x, %95 (0x2)
MESA: info:             div 32    %1132 = iadd %819, %1129 (0x200)
MESA: info:             div 32x3   %820 = @load_const_ir3 (%1132) (base=368)
MESA: info:             con 32x4   %823 = @load_const_ir3 (%67 (0x0)) (base=912)
MESA: info:             con 32x4   %830 = @load_const_ir3 (%99 (0x4)) (base=912)
MESA: info:             div 32x4  %1965 = fmul %830, %808.yyyy
MESA: info:             div 32x4  %1968 = ffma %823, %808.xxxx, %1965
MESA: info:             con 32    %1120 = load_const (0x00000008 = 0.000000)
MESA: info:             con 32x4   %841 = @load_const_ir3 (%1120 (0x8)) (base=912)
MESA: info:             div 32x4  %1971 = ffma %841, %808.zzzz, %1968
MESA: info:             con 32x4   %852 = @load_const_ir3 (%134 (0xc)) (base=912)
MESA: info:             div 32x4  %1977 = fadd %1971, %852
MESA: info:             div 32x4  %2037 = mov %1977.wzyx
MESA: info:             div 32     %857 = mov %820.x
MESA: info:             div 32     %858 = mov %820.y
MESA: info:             div 32     %859 = mov %820.z
MESA: info:             div 32     %860 = mov %811.x
MESA: info:             div 32     %861 = mov %811.y
MESA: info:             div 32     %862 = mov %808.x
MESA: info:             div 32     %863 = mov %808.y
MESA: info:             div 32     %864 = mov %808.z
MESA: info:                               // succs: b21
MESA: info:         } else {
MESA: info:             div block b17:        // preds: b15
MESA: info:             div 1      %865 = fge! %1795, %266.w
MESA: info:             div 1      %866 = iand %865, %139
MESA: info:                               // succs: b18 b19
MESA: info:             if %866 {
MESA: info:                 div block b18:        // preds: b17
MESA: info:                 div 32    %1682 = fsub %1795, %266.z
MESA: info:                 div 32    %1681 = fsub %266.w, %266.z
MESA: info:                 div 32     %870 = frcp %1681
MESA: info:                 div 32     %871 = fmul %1682, %870
MESA: info:                 div 32     %872 = fsat %871
MESA: info:                 div 32    %1680 = fsub %93 (1.000000), %872
MESA: info:                 div 32     %875 = fmul %360 (2.000000), %1680
MESA: info:                 div 32     %876 = fmin %875, %93 (1.000000)
MESA: info:                 div 32     %877 = fmul %363, %876
MESA: info:                 div 32x2  %1979 = fmul %270.yw, %1849.xx
MESA: info:                 div 32x2  %1980 = fmul %1849.yy, %270.yw
MESA: info:                 div 32x2  %1982 = fneg %1980
MESA: info:                 div 32x4  %1984 = ffma %270.xzxz, %1849.xxxx, %1982.xxyy
MESA: info:                 div 32x4  %1987 = ffma %270.xzxz, %1849.yyyy, %1979.xxyy
MESA: info:                 div 32x2  %1988 = ffma %270.xz, %1849.zz, %274.ww
MESA: info:                 div 32x4  %1991 = ffma %222.xxxx, %1984, %1845.xxxx
MESA: info:                 div 32x4  %1994 = ffma %222.xxxx, %1987, %1845.yyyy
MESA: info:                 div 32x2  %1995 = ffma %222.xx, %1988, %1845.zz
MESA: info:                 div 32x3   %920 = vec3 %1991.x, %1994.x, %1995.x
MESA: info:                 div 32x3   %921 = vec3 %1991.y, %1994.y, %1995.y
MESA: info:                 div 32x3   %922 = vec3 %1991.z, %1994.z, %1995.x
MESA: info:                 div 32x3   %923 = vec3 %1991.w, %1994.w, %1995.y
MESA: info:                                   @store_reg (%920, %1) (base=0, wrmask=xyz, legacy_fsat=0)
MESA: info:                                   @store_reg (%921, %1) (base=1, wrmask=xyz, legacy_fsat=0)
MESA: info:                                   @store_reg (%922, %1) (base=2, wrmask=xyz, legacy_fsat=0)
MESA: info:                                   @store_reg (%923, %1) (base=3, wrmask=xyz, legacy_fsat=0)
MESA: info:                 div 1x2   %1996 = flt! %258.xy, %258.zw
MESA: info:                 div 1      %931 = ieq %1996.x, %1996.y
MESA: info:                 div 32x2  %1997 = fsub %258.zw, %258.xy
MESA: info:                 div 32     %936 = bcsel %931, %1997.x, %67 (0x0)
MESA: info:                 div 32     %937 = bcsel %931, %67 (0x0), %1997.y
MESA: info:                 div 32     %938 = fadd %258.x, %936
MESA: info:                 div 32     %939 = fadd %258.y, %937
MESA: info:                 div 32x2   %940 = vec2 %938, %939
MESA: info:                 div 32    %1657 = fsub %258.z, %936
MESA: info:                 div 32    %1656 = fsub %258.w, %937
MESA: info:                 div 32x2   %945 = vec2 %1657, %1656
MESA: info:                 div 32x2   %948 = vec2 %258.x, %258.y
MESA: info:                                   @store_reg (%948, %0) (base=0, wrmask=xy, legacy_fsat=0)
MESA: info:                                   @store_reg (%940, %0) (base=1, wrmask=xy, legacy_fsat=0)
MESA: info:                                   @store_reg (%945, %0) (base=2, wrmask=xy, legacy_fsat=0)
MESA: info:                 div 32x2   %952 = vec2 %258.z, %258.w
MESA: info:                                   @store_reg (%952, %0) (base=3, wrmask=xy, legacy_fsat=0)
MESA: info:                 div 32x3   %955 = @load_reg_indirect (%1, %1817) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:                 div 32x2   %958 = @load_reg_indirect (%0, %1817) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:                 div 32    %1125 = ishl %1816.x, %95 (0x2)
MESA: info:                 con 32    %1137 = load_const (0x00000210 = 528)
MESA: info:                 div 32    %1136 = iadd %1137 (0x210), %1125
MESA: info:                 div 32x3   %968 = @load_const_ir3 (%1136) (base=368)
MESA: info:                 con 32x4   %971 = @load_const_ir3 (%67 (0x0)) (base=912)
MESA: info:                 con 32x4   %978 = @load_const_ir3 (%99 (0x4)) (base=912)
MESA: info:                 div 32x4  %2000 = fmul %978, %955.yyyy
MESA: info:                 div 32x4  %2003 = ffma %971, %955.xxxx, %2000
MESA: info:                 con 32    %1123 = load_const (0x00000008 = 0.000000)
MESA: info:                 con 32x4   %989 = @load_const_ir3 (%1123 (0x8)) (base=912)
MESA: info:                 div 32x4  %2006 = ffma %989, %955.zzzz, %2003
MESA: info:                 con 32x4  %1000 = @load_const_ir3 (%134 (0xc)) (base=912)
MESA: info:                 div 32x4  %2012 = fadd %2006, %1000
MESA: info:                 div 32x4  %2024 = mov %2012.wzyx
MESA: info:                 div 32    %1005 = mov %968.x
MESA: info:                 div 32    %1006 = mov %968.y
MESA: info:                 div 32    %1007 = mov %958.x
MESA: info:                 div 32    %1008 = mov %958.y
MESA: info:                 div 32    %1009 = mov %955.x
MESA: info:                 div 32    %1010 = mov %955.y
MESA: info:                 div 32    %1011 = mov %955.z
MESA: info:                                   // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:        // preds: b17
MESA: info:                 con 32x4  %2025 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                                   // succs: b20
MESA: info:             }
MESA: info:             div block b20:        // preds: b18 b19
MESA: info:             div 32x4  %2023 = phi b18: %2024, b19: %2025 (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:             div 32    %1016 = phi b18: %1011, b19: %73
MESA: info:             div 32    %1017 = phi b18: %1010, b19: %74
MESA: info:             div 32    %1018 = phi b18: %1009, b19: %75
MESA: info:             div 32    %1019 = phi b18: %1008, b19: %76
MESA: info:             div 32    %1020 = phi b18: %1007, b19: %77
MESA: info:             div 32    %1021 = phi b18: %1006, b19: %78
MESA: info:             div 32    %1022 = phi b18: %1005, b19: %79
MESA: info:             div 32    %1023 = phi b18: %877, b19: %80
MESA: info:             con 32x2  %2041 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:                               // succs: b21
MESA: info:         }
MESA: info:         div block b21:        // preds: b16 b20
MESA: info:         div 32    %1024 = phi b16: %404 (0x80000000), b20: %93 (0x3f800000)
MESA: info:         div 32x4  %2036 = phi b16: %2037, b20: %2023
MESA: info:         div 32    %1029 = phi b16: %864, b20: %1016
MESA: info:         div 32    %1030 = phi b16: %863, b20: %1017
MESA: info:         div 32    %1031 = phi b16: %862, b20: %1018
MESA: info:         div 32    %1032 = phi b16: %861, b20: %1019
MESA: info:         div 32    %1033 = phi b16: %860, b20: %1020
MESA: info:         div 32    %1034 = phi b16: %858, b20: %1021
MESA: info:         div 32    %1035 = phi b16: %857, b20: %1022
MESA: info:         div 32    %1036 = phi b16: %741, b20: %1023
MESA: info:         div 32x2  %2039 = phi b16: %2040, b20: %2041 (0x0, 0x0)
MESA: info:         div 32    %1039 = phi b16: %859, b20: %452
MESA: info:         div 32    %1040 = phi b16: %404 (0x80000000), b20: %1850
MESA: info:         div 32    %1041 = phi b16: %1942, b20: %1848
MESA: info:         div 32    %1042 = phi b16: %656, b20: %1847
MESA: info:         div 32    %2042 = mov %2039.x
MESA: info:         div 32    %2043 = mov %2039.y
MESA: info:                           // succs: b23
MESA: info:     } else {
MESA: info:         div block b22:        // preds: b6
MESA: info:         con 32      %72 = undefined
MESA: info:         con 32      %81 = undefined
MESA: info:         con 32      %82 = undefined
MESA: info:         con 32      %83 = undefined
MESA: info:         con 32      %84 = undefined
MESA: info:         con 32      %85 = undefined
MESA: info:         con 32      %86 = undefined
MESA: info:         con 32      %87 = undefined
MESA: info:         con 32      %88 = undefined
MESA: info:         con 32      %89 = undefined
MESA: info:         con 32      %90 = undefined
MESA: info:         con 32x4  %2051 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                           // succs: b23
MESA: info:     }
MESA: info:     con block b23:        // preds: b21 b22
MESA: info:     div 32    %1043 = phi b21: %1024, b22: %72
MESA: info:     div 32x4  %2050 = phi b21: %2036, b22: %2051 (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:     div 32    %1048 = phi b21: %1029, b22: %73
MESA: info:     div 32    %1049 = phi b21: %1030, b22: %74
MESA: info:     div 32    %1050 = phi b21: %1031, b22: %75
MESA: info:     div 32    %1051 = phi b21: %1032, b22: %76
MESA: info:     div 32    %1052 = phi b21: %1033, b22: %77
MESA: info:     div 32    %1053 = phi b21: %1034, b22: %78
MESA: info:     div 32    %1054 = phi b21: %1035, b22: %79
MESA: info:     div 32    %1055 = phi b21: %1036, b22: %80
MESA: info:     div 32    %1056 = phi b21: %2042, b22: %81
MESA: info:     div 32    %1057 = phi b21: %2043, b22: %82
MESA: info:     div 32    %1058 = phi b21: %1929, b22: %83
MESA: info:     div 32    %1059 = phi b21: %648, b22: %84
MESA: info:     div 32    %1060 = phi b21: %1930, b22: %85
MESA: info:     div 32    %1061 = phi b21: %1934, b22: %86
MESA: info:     div 32    %1062 = phi b21: %1935, b22: %87
MESA: info:     div 32    %1063 = phi b21: %1938, b22: %88
MESA: info:     div 32    %1064 = phi b21: %479, b22: %89
MESA: info:     div 32    %1065 = phi b21: %1039, b22: %90
MESA: info:     div 32    %1066 = phi b21: %1040, b22: %1850
MESA: info:     div 32    %1067 = phi b21: %1041, b22: %1848
MESA: info:     div 32    %1068 = phi b21: %1042, b22: %1847
MESA: info:     div 32x4  %1069 = vec4 %2050.w, %2050.z, %2050.y, %2050.x
MESA: info:                       @store_output (%1069, %67 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                       @store_output (%194, %67 (0x0)) (base=8, range=1, wrmask=x, component=0, src_type=int32, io location=VARYING_SLOT_VAR7 slots=1, xfb(), xfb2())
MESA: info:                       @store_output (%1055, %67 (0x0)) (base=7, range=1, wrmask=x, component=0, src_type=float32, io location=VARYING_SLOT_VAR6 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %1070 = vec4 %1064, %1050, %1049, %1048
MESA: info:                       @store_output (%1070, %67 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %1071 = vec4 %1056, %1057, %1043, %1068
MESA: info:                       @store_output (%1071, %67 (0x0)) (base=2, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR1 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %1072 = vec4 %1067, %1066, %1054, %1053
MESA: info:                       @store_output (%1072, %67 (0x0)) (base=3, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR2 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %1073 = vec4 %1065, %1845.x, %1845.y, %1845.z
MESA: info:                       @store_output (%1073, %67 (0x0)) (base=4, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR3 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %1074 = vec4 %1061, %1062, %1063, %1059
MESA: info:                       @store_output (%1074, %67 (0x0)) (base=5, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR4 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %1075 = vec4 %1058, %1060, %1052, %1051
MESA: info:                       @store_output (%1075, %67 (0x0)) (base=6, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR5 slots=1, xfb(), xfb2())
MESA: info:                       // succs: b24
MESA: info:     block b24:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 e5b9ee09dfce01fb192508da0760ba55d85d1d63:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (228 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c232.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      6
MESA: info: ;   range[0]:
MESA: info: ;     block:          2
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           196 vec4 (0b -> 3136b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c200.x
MESA: info: ;     size:           8 vec4 (320b -> 448b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c208.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c216.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[4]:
MESA: info: ;     block:          1
MESA: info: ;     offset:         c220.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[5]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c228.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0x1)
MESA: info: @const(c233.x)	0x3ef47d19, 0x00002aaa, 0x2aaaaaab, 0x0000ffff
MESA: info: @const(c234.x)	0x0000aaab, 0x00000000, 0x00000200, 0x000000b0
MESA: info: @const(c235.x)	0xbc46c6a5, 0x3d5be101, 0xbdf0555d, 0x3e468bc1
MESA: info: @const(c236.x)	0xbeaa5476, 0x3f7ffea5, 0xbfc90fdb, 0x80000000
MESA: info: @const(c237.x)	0x0000000c, 0x0000aaaa, 0xaaaaaaab, 0xbf000000
MESA: info: @const(c238.x)	0x3f747644, 0x3fc90fdb, 0x3f800000, 0x3e800000
MESA: info: @const(c239.x)	0x5d5e0b6b, 0x3f060a92, 0x41400000, 0x00000006
MESA: info: @const(c240.x)	0x00000210, 0x3f16c8b4, 0xbf800000, 0x3fc00000
MESA: info: shps #l58
MESA: info: getone #l58
MESA: info: ldc.u.offset0.1.imm.base1 r50.y, 4, 4
MESA: info: ldc.u.offset2.2.imm.base1 r48.y, 0, 4
MESA: info: ldc.u.offset1.1.imm.base1 r48.w, 25, 0
MESA: info: ldc.u.offset1.1.imm.base1 r49.x, 4, 4
MESA: info: ldc.u.offset3.1.imm.base1 r48.x, 24, 0
MESA: info: ldc.u.offset3.1.imm.base1 r49.y, 2, 4
MESA: info: ldc.u.offset3.1.imm.base1 r49.z, 3, 4
MESA: info: mova1 a1.x, (r)16
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 1
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)mul.f r50.w, r50.y, r50.y
MESA: info: add.f r50.w, r50.w, (2.0)
MESA: info: mul.f r48.z, r48.z, r48.w
MESA: info: cmps.f.ge hr51.z, (0.0), r49.x
MESA: info: rcp r48.x, r48.x
MESA: info: rcp r49.y, r49.y
MESA: info: rcp r49.z, r49.z
MESA: info: mul.f r50.z, (neg)r50.y, r50.y
MESA: info: mul.f r51.x, r50.y, r50.y
MESA: info: mul.f r48.y, r48.y, r48.w
MESA: info: sub.u hr51.z, h(1), hr51.z
MESA: info: add.f r50.z, r50.z, (1.0)
MESA: info: add.f r51.x, r51.x, (1.0)
MESA: info: mul.f r50.y, (2.0), r50.y
MESA: info: absneg.f r48.y, (neg)r48.y
MESA: info: cov.u16s32 r50.x, hr51.z
MESA: info: mul.f r50.z, r50.z, c233.x
MESA: info: (ss)rcp r50.w, r50.w
MESA: info: rcp r48.z, r48.z
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[5], r49.y, 1
MESA: info: stc.u32 c[6], r49.z, 1
MESA: info: stc.u32 c[7], r51.x, 1
MESA: info: stc.u32 c[9], r50.y, 1
MESA: info: stc.u32 c[1], r48.y, 1
MESA: info: stc.u32 c[3], r50.x, 1
MESA: info: (ss)mul.f r50.z, r50.z, r50.w
MESA: info: stc.u32 c[2], r48.z, 1
MESA: info: stc.u32 c[4], r49.x, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[8], r50.z, 1
MESA: info: ldc.196.k.imm.base1 c[a1.x], 0, 2
MESA: info: (ss)mova1 a1.x, (r)800
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 20, 0
MESA: info: (ss)mova1 a1.x, (r)832
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)864
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (ss)mova1 a1.x, (r)912
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l58:
MESA: info: (jp)and.b r20.y, r3.x, c233.w
MESA: info: shr.b r20.z, r3.x, 16
MESA: info: mov.u32u32 r20.w, 0xaaaaaaab
MESA: info: mov.u32u32 r22.z, 0xaaab0000
MESA: info: mull.u r22.x, r20.y, c237.z
MESA: info: mull.u r21.x, r20.y, c234.x
MESA: info: mull.u r21.y, r20.y, c237.y
MESA: info: mull.u r21.z, r20.z, c234.x
MESA: info: mull.u r21.w, r20.z, c237.y
MESA: info: madsh.m16 r22.x, r20.y, r20.w, (last)r22.x
MESA: info: madsh.m16 r21.x, c234.x, r20.y, (last)r21.x
MESA: info: madsh.m16 r21.y, c237.y, r20.y, (last)r21.y
MESA: info: madsh.m16 r21.z, c234.x, r20.z, (last)r21.z
MESA: info: madsh.m16 r21.w, c237.y, r20.z, (last)r21.w
MESA: info: madsh.m16 r20.y, c237.z, r20.y, (last)r22.x
MESA: info: madsh.m16 r20.z, (last)r20.z, r22.z, c234.y
MESA: info: absneg.s r23.x, (abs)r3.x
MESA: info: cmps.u.lt hr42.x, r20.y, (last)r21.x
MESA: info: add.u r20.z, r20.y, (last)r20.z
MESA: info: and.b r23.w, r23.x, c233.w
MESA: info: mov.u32u32 r23.y, 0x2aaaaaab
MESA: info: cov.u16s32 r22.y, (last)hr42.x
MESA: info: cmps.u.lt hr41.x, (last)r20.z, (last)r20.y
MESA: info: shr.b r23.x, (last)r23.x, 16
MESA: info: shr.b r21.y, (last)r21.y, 16
MESA: info: mull.u r25.z, r23.w, c233.z
MESA: info: mull.u r24.z, r23.w, c234.x
MESA: info: mull.u r24.w, r23.w, c233.y
MESA: info: cov.u16s32 r22.w, (last)hr41.x
MESA: info: mull.u r25.x, r23.x, c234.x
MESA: info: mull.u r25.y, r23.x, c233.y
MESA: info: sad.s32 r21.w, (last)r21.w, r22.y, (last)r21.y
MESA: info: madsh.m16 r23.y, r23.w, r23.y, (last)r25.z
MESA: info: shr.b r21.z, (last)r21.z, 16
MESA: info: madsh.m16 r24.z, c234.x, r23.w, (last)r24.z
MESA: info: madsh.m16 r24.w, c233.y, r23.w, (last)r24.w
MESA: info: madsh.m16 r25.x, c234.x, r23.x, (last)r25.x
MESA: info: madsh.m16 r25.y, c233.y, r23.x, (last)r25.y
MESA: info: madsh.m16 r23.w, c233.z, r23.w, (last)r23.y
MESA: info: madsh.m16 r23.x, (last)r23.x, r22.z, c234.y
MESA: info: sad.s32 r21.w, (last)r21.w, r22.w, (last)r21.z
MESA: info: cmps.u.lt hr40.z, r23.w, (last)r24.z
MESA: info: add.u r23.x, r23.w, (last)r23.x
MESA: info: shr.b r23.z, r21.w, 2
MESA: info: shr.b r21.w, (last)r21.w, 3
MESA: info: cov.u16s32 r20.z, (last)hr40.z
MESA: info: cmps.u.lt hr47.z, r23.x, (last)r23.w
MESA: info: not.b r23.x, (last)r23.x
MESA: info: shr.b r24.w, (last)r24.w, 16
MESA: info: mull.u r24.y, r21.w, 12
MESA: info: cov.u16s32 r21.x, (last)hr47.z
MESA: info: add.u r21.y, r23.x, 1
MESA: info: sad.s32 r25.y, (last)r25.y, r20.z, (last)r24.w
MESA: info: madsh.m16 r21.w, c237.x, r21.w, (last)r24.y
MESA: info: shr.b r25.x, (last)r25.x, 16
MESA: info: cmps.u.lt hr42.z, (last)r21.y, (last)r23.x
MESA: info: sub.u r21.w, r3.x, (last)r21.w
MESA: info: sad.s32 r25.y, (last)r25.y, r21.x, (last)r25.x
MESA: info: mull.u r24.x, r23.z, 6
MESA: info: cov.u16s32 r21.z, (last)hr42.z
MESA: info: cmps.s.lt p0.x, (last)r21.w, 6
MESA: info: madsh.m16 r23.z, c239.w, r23.z, (last)r24.x
MESA: info: not.b r21.w, r25.y
MESA: info: mov.f32f32 r22.y, c204.w
MESA: info: sub.u r23.z, r3.x, (last)r23.z
MESA: info: add.u r21.w, (last)r21.w, (last)r21.z
MESA: info: cmps.s.lt r3.x, (last)r3.x, 0
MESA: info: mov.f32f32 r22.x, c0.x
MESA: info: nop
MESA: info: (nop2) sel.b32 r21.w, (last)r21.w, r3.x, (last)r25.y
MESA: info: (nop2) ashr.b r21.w, (last)r21.w, 1
MESA: info: (nop2) shr.b r22.w, r21.w, 31
MESA: info: (nop2) add.u r21.w, (last)r21.w, (last)r22.w
MESA: info: (nop3) shl.b r21.w, (last)r21.w, 2
MESA: info: (rpt1)nop
MESA: info: isam.v.base3 (u32)(xyz)r23.w, r21.w, s#0, t#1
MESA: info: isam.v.base3 (u32)(xyzw)r26.x, r21.w, s#0, t#0
MESA: info: (sy)mul.f r24.z, r0.w, r24.x
MESA: info: (rpt1)mul.f r25.z, (r)r1.x, (last)r24.x
MESA: info: mad.f32 r24.z, r0.x, r23.w, (last)r24.z
MESA: info: (rpt1)mad.f32 r25.z, (r)r0.y, r23.w, (r)(last)r25.z
MESA: info: (rpt1)mad.f32 r25.x, (r)r1.w, r24.y, (r)r25.z
MESA: info: mad.f32 r24.w, r1.z, r24.y, (last)r24.z
MESA: info: mul.f r28.x, r25.x, r25.x
MESA: info: cov.f32s32 r26.w, (last)r26.w
MESA: info: mad.f32 r28.x, r25.y, r25.y, (last)r28.x
MESA: info: mul.f r1.x, (last)r1.x, r26.y
MESA: info: mad.f32 r28.x, r24.w, r24.w, (last)r28.x
MESA: info: mull.u r28.y, r26.w, 176
MESA: info: mul.f r1.y, (last)r1.y, r26.y
MESA: info: madsh.m16 r28.y, c234.w, r26.w, (last)r28.y
MESA: info: mad.f32 r0.y, (last)r0.y, r26.x, (last)r1.x
MESA: info: mul.f r0.w, (last)r0.w, (last)r26.y
MESA: info: rsq r20.z, r28.x
MESA: info: shr.b r28.y, (last)r28.y, 2
MESA: info: mad.f32 r0.z, (last)r0.z, r26.x, (last)r1.y
MESA: info: mad.f32 r1.w, (last)r1.w, r26.z, r0.y
MESA: info: cov.u32s16 hr40.z, r28.y
MESA: info: mad.f32 r0.x, (last)r0.x, r26.x, r0.w
MESA: info: mad.f32 r2.x, (last)r2.x, r26.z, r0.z
MESA: info: mova a0.x, (last)hr40.z
MESA: info: add.f r27.z, (last)r1.w, (last)r2.z
MESA: info: mad.f32 r1.z, (last)r1.z, r26.z, r0.x
MESA: info: add.f r27.w, (last)r2.x, (last)r2.w
MESA: info: (ss)sqrt r28.x, (last)r28.x
MESA: info: (rpt2)mul.f r29.x, (r)r24.w, (last)r20.z
MESA: info: add.f r27.y, (last)r1.z, (last)r2.y
MESA: info: shl.b r21.x, r26.w, 2
MESA: info: mov.f32f32 r21.y, c<a0.x + 46>
MESA: info: mov.f32f32 r21.z, c<a0.x + 47>
MESA: info: add.u r21.x, (last)r21.x, c234.z
MESA: info: mov.f32f32 r21.w, c<a0.x + 44>
MESA: info: mov.f32f32 r22.w, c<a0.x + 45>
MESA: info: cov.u32s16 hr42.x, (last)r21.x
MESA: info: mov.f32f32 r23.x, c<a0.x + 16>
MESA: info: (ss)(rpt2)mul.f r30.y, r28.x, (r)r29.x
MESA: info: mul.f r31.x, c<a0.x + 52>, r30.y
MESA: info: mul.f r31.y, c<a0.x + 56>, r30.y
MESA: info: mul.f r31.z, c<a0.x + 53>, r30.y
MESA: info: mul.f r31.w, c<a0.x + 52>, r30.z
MESA: info: mul.f r32.x, c<a0.x + 56>, r30.z
MESA: info: mul.f r30.y, c<a0.x + 57>, (last)r30.y
MESA: info: mul.f r33.w, c<a0.x + 54>, r28.x
MESA: info: mul.f r34.x, c<a0.x + 58>, r28.x
MESA: info: mul.f r32.y, c<a0.x + 52>, r30.w
MESA: info: mul.f r30.w, c<a0.x + 56>, (last)r30.w
MESA: info: mul.f r32.z, r30.z, c<a0.x + 53>
MESA: info: min.f r33.z, r31.w, r32.x
MESA: info: min.f r33.y, r31.z, r30.y
MESA: info: mul.f r30.z, (last)r30.z, c<a0.x + 57>
MESA: info: min.f r34.z, r33.w, r34.x
MESA: info: min.f r34.y, r32.y, r30.w
MESA: info: min.f r32.w, r31.x, r31.y
MESA: info: max.f r31.w, (last)r31.w, (last)r32.x
MESA: info: add.f r33.z, (last)r33.z, (last)r33.y
MESA: info: max.f r31.z, (last)r31.z, (last)r30.y
MESA: info: min.f r33.x, (neg)r32.z, (neg)r30.z
MESA: info: max.f r33.w, (last)r33.w, (last)r34.x
MESA: info: add.f r34.y, (last)r34.y, (last)r34.z
MESA: info: max.f r32.y, (last)r32.y, (last)r30.w
MESA: info: max.f r31.x, (last)r31.x, (last)r31.y
MESA: info: add.f r33.z, (last)r33.z, r27.z
MESA: info: add.f r31.w, (last)r31.w, (last)r31.z
MESA: info: add.f r32.w, (last)r32.w, (last)r33.x
MESA: info: max.f r32.z, (last)(neg)r32.z, (last)(neg)r30.z
MESA: info: add.f r34.y, (last)r34.y, r27.w
MESA: info: add.f r32.y, (last)r32.y, (last)r33.w
MESA: info: max.f r33.z, c203.y, (last)r33.z
MESA: info: add.f r31.w, (last)r31.w, r27.z
MESA: info: add.f r32.w, (last)r32.w, r27.y
MESA: info: add.f r31.x, (last)r31.x, (last)r32.z
MESA: info: max.f r34.y, c203.z, (last)r34.y
MESA: info: add.f r32.y, (last)r32.y, r27.w
MESA: info: min.f r33.z, (last)r33.z, (last)r31.w
MESA: info: max.f r32.w, c203.x, (last)r32.w
MESA: info: add.f r31.x, (last)r31.x, r27.y
MESA: info: min.f r34.y, (last)r34.y, (last)r32.y
MESA: info: add.f r33.z, c203.y, (last)(neg)r33.z
MESA: info: min.f r32.w, (last)r32.w, (last)r31.x
MESA: info: add.f r34.y, c203.z, (last)(neg)r34.y
MESA: info: mul.f r33.z, (last)r33.z, r33.z
MESA: info: add.f r32.w, c203.x, (last)(neg)r32.w
MESA: info: mad.f32 r34.y, (last)r34.y, r34.y, (last)r33.z
MESA: info: mov.f32f32 r23.y, c<a0.x + 17>
MESA: info: mad.f32 r32.w, (last)r32.w, r32.w, (last)r34.y
MESA: info: mov.f32f32 r23.w, c<a0.x + 18>
MESA: info: mov.f32f32 r34.w, c<a0.x + 19>
MESA: info: mov.f32f32 r35.x, c<a0.x + 20>
MESA: info: mov.f32f32 r35.y, c<a0.x + 21>
MESA: info: mov.f32f32 r35.z, c<a0.x + 22>
MESA: info: sqrt r32.w, (last)r32.w
MESA: info: mov.f32f32 r35.w, c<a0.x + 23>
MESA: info: mov.f32f32 r36.x, c<a0.x + 24>
MESA: info: mov.f32f32 r36.y, c<a0.x + 25>
MESA: info: mov.f32f32 r36.z, c<a0.x + 26>
MESA: info: mov.f32f32 r36.w, c<a0.x + 27>
MESA: info: mov.f32f32 r37.x, c<a0.x + 28>
MESA: info: mov.f32f32 r37.y, c<a0.x + 29>
MESA: info: mov.f32f32 r37.z, c<a0.x + 30>
MESA: info: mov.f32f32 r37.w, c<a0.x + 31>
MESA: info: mov.f32f32 r38.x, c<a0.x + 32>
MESA: info: mov.f32f32 r38.y, c<a0.x + 33>
MESA: info: mov.f32f32 r38.z, c<a0.x + 34>
MESA: info: mov.f32f32 r38.w, c<a0.x + 35>
MESA: info: mov.f32f32 r39.x, c<a0.x + 36>
MESA: info: mov.f32f32 r39.y, c<a0.x + 37>
MESA: info: mov.f32f32 r39.z, c<a0.x + 38>
MESA: info: mov.f32f32 r39.w, c<a0.x + 39>
MESA: info: mov.f32f32 r40.x, c<a0.x + 40>
MESA: info: mov.f32f32 r40.y, c<a0.x + 41>
MESA: info: mov.f32f32 r40.z, c<a0.x + 42>
MESA: info: mov.f32f32 r40.w, c<a0.x + 43>
MESA: info: mov.f32f32 r41.x, c<a0.x + 49>
MESA: info: mov.f32f32 r41.y, c<a0.x + 51>
MESA: info: mov.f32f32 r41.z, c<a0.x + 48>
MESA: info: mov.f32f32 r41.w, c<a0.x + 50>
MESA: info: (ul)mov.f32f32 r42.x, c<a0.x + 55>
MESA: info: mova a0.x, (last)hr42.x
MESA: info: (rpt4)nop
MESA: info: (ss)mad.f32 r22.y, c<a0.x + 208>, r22.y, (neg)(last)r32.w
MESA: info: (nop1) (ul)mul.f r22.x, c<a0.x + 209>, (last)r22.x
MESA: info: (nop2) mul.f r22.y, (2.0), (last)r22.y
MESA: info: (sat)(nop2) mul.f r22.y, (last)r22.y, (last)r22.x
MESA: info: (nop3) cmps.f.lt p0.y, (0.0), r22.y
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l722
MESA: info: cmps.f.ge r43.z, (0.0), r29.x
MESA: info: absneg.f r43.w, (abs)r29.x
MESA: info: (rpt2)add.f r42.y, (r)c203.x, (neg)(r)r27.y
MESA: info: sel.b32 r44.y, r29.y, r43.z, r43.w
MESA: info: mul.f r43.x, r42.y, r42.y
MESA: info: sel.b32 r43.w, (last)r43.w, r43.z, r29.y
MESA: info: cmps.f.ge r44.z, (abs)r44.y, c239.x
MESA: info: mad.f32 r43.x, r42.z, r42.z, (last)r43.x
MESA: info: cmps.f.eq r44.x, (abs)r29.x, (abs)r29.y
MESA: info: sel.b32 r44.z, c238.w, r44.z, c238.z
MESA: info: add.f r44.w, r27.z, (neg)c203.y
MESA: info: add.f r45.x, r27.w, (neg)c203.z
MESA: info: mul.f r44.y, (last)r44.y, r44.z
MESA: info: rsq r43.x, (last)r43.x
MESA: info: mul.f r43.w, (last)r43.w, (last)r44.z
MESA: info: add.f r45.y, r27.y, (neg)c203.x
MESA: info: mul.f r44.w, (last)r44.w, r44.w
MESA: info: mov.u32u32 r43.y, 0x7fffffff
MESA: info: mad.f32 r45.x, (last)r45.x, r45.x, (last)r44.w
MESA: info: rcp r44.y, (last)r44.y
MESA: info: sel.b32 r43.z, c238.y, r43.z, c234.y
MESA: info: mad.f32 r45.y, (last)r45.y, r45.y, (last)r45.x
MESA: info: cmps.s.ne p0.y, c0.w, 0
MESA: info: (ss)mul.f r43.w, (last)(abs)r43.w, (abs)r44.y
MESA: info: mul.f r45.z, r42.w, r43.x
MESA: info: sel.b32 r44.x, c238.z, r44.x, (last)r43.w
MESA: info: min.f r44.y, r29.y, (last)r44.y
MESA: info: sqrt r45.y, (last)r45.y
MESA: info: cmps.f.ge r46.z, (1.0), (abs)r45.z
MESA: info: cmps.f.ge r45.w, (1.0), r44.x
MESA: info: and.b r46.y, r44.x, c236.w
MESA: info: rcp r47.y, r45.z
MESA: info: and.b r46.w, r45.z, c236.w
MESA: info: rcp r46.x, r44.x
MESA: info: sel.b32 r47.x, c234.y, r45.w, c236.z
MESA: info: sel.b32 r47.z, c234.y, r46.z, c236.z
MESA: info: cmps.f.lt r44.y, (last)r44.y, (0.0)
MESA: info: mul.f r28.z, r42.z, r43.x
MESA: info: mul.f r28.y, r42.y, (last)r43.x
MESA: info: (ss)sel.b32 r44.x, (last)r44.x, r45.w, (last)r46.x
MESA: info: sel.b32 r45.z, (last)r45.z, r46.z, (last)r47.y
MESA: info: add.f r45.y, (last)r45.y, c0.y
MESA: info: mul.f r1.y, r44.x, r44.x
MESA: info: mul.f r1.x, r45.z, r45.z
MESA: info: absneg.f r44.x, (last)(abs)r44.x
MESA: info: mad.f32 r1.w, c235.x, r1.y, c235.y
MESA: info: mad.f32 r1.z, c235.x, r1.x, c235.y
MESA: info: (sat)mul.f r45.y, (last)r45.y, c0.z
MESA: info: mad.f32 r1.w, (last)r1.w, r1.y, c235.z
MESA: info: mad.f32 r1.z, (last)r1.z, r1.x, c235.z
MESA: info: mul.f r45.y, (last)r45.y, r45.y
MESA: info: mad.f32 r1.w, (last)r1.w, r1.y, c235.w
MESA: info: mad.f32 r1.z, (last)r1.z, r1.x, c235.w
MESA: info: absneg.f r45.z, (last)(abs)r45.z
MESA: info: mad.f32 r1.w, (last)r1.w, r1.y, c236.x
MESA: info: mad.f32 r1.z, (last)r1.z, r1.x, c236.x
MESA: info: mul.f r47.w, r45.y, r45.y
MESA: info: mad.f32 r1.w, (last)r1.w, r1.y, c236.y
MESA: info: mad.f32 r1.z, (last)r1.z, r1.x, c236.y
MESA: info: mul.f r47.w, (last)r47.w, (last)r45.y
MESA: info: mad.f32 r44.x, (last)r44.x, r1.w, (last)r47.x
MESA: info: mad.f32 r45.z, (last)r45.z, r1.z, (last)r47.z
MESA: info: mul.f r0.x, c208.x, (last)r47.w
MESA: info: andg r44.x, (last)r44.x, r43.y, (last)r46.y
MESA: info: (nop1) andg r45.z, (last)r45.z, r43.y, (last)r46.w
MESA: info: (nop2) add.f r43.z, (last)r43.z, r44.x
MESA: info: (nop2) absneg.f r2.x, (neg)r43.z
MESA: info: sel.b32 r27.x, (last)r2.x, r44.y, (last)r43.z
MESA: info: br !p0.y, #l429
MESA: info: rcp r2.z, r42.w
MESA: info: cmps.f.lt hr54.z, c203.z, (0.0)
MESA: info: mov.u32u32 r51.z, 0
MESA: info: cmps.f.ge hr4.z, r27.w, (0.0)
MESA: info: max.f r2.w, r27.w, (0.0)
MESA: info: mov.u32u32 r25.y, 0x3f800000
MESA: info: mov.u32u32 r25.z, 0x3f800000
MESA: info: mov.u32u32 r30.w, 0
MESA: info: mov.u32u32 r30.z, 0
MESA: info: (ss)mul.f r2.z, c203.z, (last)r2.z
MESA: info: and.b r3.x, hr54.z, (last)hr4.z
MESA: info: mov.u32u32 r30.y, 0
MESA: info: mad.f32 r20.y, (neg)r2.z, r42.y, c203.x
MESA: info: (rpt1)mad.f32 r24.x, (neg)(last)r2.z, (r)r42.z, (r)c203.y
MESA: info: sel.b32 r20.y, (last)r20.y, r3.x, c203.x
MESA: info: (rpt1)sel.b32 r24.x, (r)(last)r24.x, r3.x, (r)c203.y
MESA: info: add.f r20.y, (last)r20.y, (neg)r27.y
MESA: info: add.f r24.x, (last)r24.x, (neg)r27.z
MESA: info: add.f r24.z, r24.y, (neg)r27.w
MESA: info: mov.u32u32 r30.x, 0
MESA: info: mul.f r24.w, r24.x, r24.x
MESA: info: mov.u32u32 r29.w, 0
MESA: info: mad.f32 r24.w, r24.z, r24.z, (last)r24.w
MESA: info: mov.u32u32 r28.w, 0
MESA: info: mad.f32 r24.w, r20.y, r20.y, (last)r24.w
MESA: info: mov.u32u32 r26.z, 0
MESA: info: mov.u32u32 r26.y, 0
MESA: info: mov.u32u32 r25.w, 0x3f800000
MESA: info: (nop1) max.f r24.y, (last)r24.y, (0.0)
MESA: info: sqrt r25.x, r24.w
MESA: info: (ss)mul.f r25.x, (last)r25.x, c1.x
MESA: info: l364:
MESA: info: cov.s32f32 r51.w, r51.z
MESA: info: cmps.f.lt hr48.x, r51.w, c212.y
MESA: info: (ss)(nop3) cmps.s.ne p0.y, hr48.x, h(0)
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l401
MESA: info: add.f r51.w, r51.w, (0.5)
MESA: info: mul.f r51.w, r51.w, c1.x
MESA: info: add.u r51.z, r51.z, 1
MESA: info: (nop2) add.f r31.x, r2.w, (neg)r24.y
MESA: info: (ss)(nop2) mad.f32 r31.x, r51.w, r31.x, r24.y
MESA: info: (nop2) mul.f r31.x, (last)r31.x, (log2(e))
MESA: info: mul.f r31.y, r31.x, c1.y
MESA: info: (nop3) mul.f r31.x, (last)r31.x, c1.z
MESA: info: (rpt1)nop
MESA: info: exp2 r31.x, (last)(neg)r31.x
MESA: info: exp2 r31.y, (last)(neg)r31.y
MESA: info: (ss)mul.f r31.x, (last)r31.x, r25.x
MESA: info: (nop1) mul.f r31.y, (last)r31.y, r25.x
MESA: info: add.f r26.z, (last)r26.z, r31.x
MESA: info: (nop1) add.f r26.y, (last)r26.y, r31.y
MESA: info: mul.f r31.z, c211.x, r26.z
MESA: info: (rpt1)mul.f r31.w, (r)c211.y, r26.z
MESA: info: mad.f32 r31.z, (neg)c210.x, r26.y, (neg)(last)r31.z
MESA: info: (rpt1)mad.f32 r31.w, (neg)(r)c210.y, r26.y, (neg)(r)(last)r31.w
MESA: info: mul.f r31.z, (last)r31.z, (log2(e))
MESA: info: (rpt1)mul.f r31.w, (last)(r)r31.w, (log2(e))
MESA: info: (rpt2)nop
MESA: info: exp2 r25.y, (last)r31.z
MESA: info: nop
MESA: info: (rpt1)exp2 r25.z, (last)(r)r31.w
MESA: info: (ss)mad.f32 r28.w, r25.y, r31.y, (last)r28.w
MESA: info: mad.f32 r30.y, r25.y, r31.x, (last)r30.y
MESA: info: mad.f32 r29.w, r25.z, r31.y, (last)r29.w
MESA: info: mad.f32 r30.z, r25.z, r31.x, (last)r30.z
MESA: info: mad.f32 r30.x, r25.w, r31.y, (last)r30.x
MESA: info: mad.f32 r30.w, r25.w, r31.x, (last)r30.w
MESA: info: jump #l364
MESA: info: l401:
MESA: info: rsq r24.w, (last)r24.w
MESA: info: (ss)mul.f r24.x, (last)r24.x, r24.w
MESA: info: mul.f r24.z, (last)r24.z, r24.w
MESA: info: mul.f r20.y, (last)r20.y, (last)r24.w
MESA: info: (nop1) mul.f r24.x, (last)r24.x, c216.y
MESA: info: (nop1) mad.f32 r24.z, c216.z, r24.z, (last)r24.x
MESA: info: (nop2) mad.f32 r20.y, c216.x, r20.y, (last)r24.z
MESA: info: (nop2) max.f r20.y, (last)r20.y, c240.z
MESA: info: (nop2) min.f r20.y, (last)r20.y, (1.0)
MESA: info: mad.f32 r32.y, r20.y, r20.y, c238.z
MESA: info: (nop1) mad.f32 r20.y, (neg)c2.y, r20.y, c1.w
MESA: info: (nop2) mul.f r32.z, c240.y, r32.y
MESA: info: (rpt2)mul.f r32.w, (r)c210.x, (last)r32.z
MESA: info: log2 r20.y, (last)r20.y
MESA: info: (ss)(nop3) mul.f r20.y, (last)r20.y, c240.w
MESA: info: (rpt1)nop
MESA: info: exp2 r20.y, (last)(neg)r20.y
MESA: info: (ss)(nop2) mul.f r32.y, (last)r32.y, (last)r20.y
MESA: info: (nop2) mul.f r32.y, c2.x, (last)r32.y
MESA: info: mul.f r33.z, c211.x, r32.y
MESA: info: (rpt1)mul.f r33.w, (r)c211.y, (last)r32.y
MESA: info: mul.f r30.y, (last)r30.y, (last)r33.z
MESA: info: mul.f r30.z, (last)r30.z, (last)r33.w
MESA: info: mul.f r30.w, (last)r30.w, (last)r34.x
MESA: info: mad.f32 r26.x, (last)r28.w, r32.w, (last)r30.y
MESA: info: mad.f32 r43.z, r29.w, r33.x, (last)r30.z
MESA: info: mad.f32 r43.w, r30.x, r33.y, (last)r30.w
MESA: info: jump #l435
MESA: info: l429:
MESA: info: mov.u32u32 r43.z, 0
MESA: info: mov.u32u32 r25.w, 0x3f800000
MESA: info: mov.u32u32 r25.z, 0x3f800000
MESA: info: mov.u32u32 r25.y, 0x3f800000
MESA: info: mov.u32u32 r26.x, 0
MESA: info: mov.u32u32 r43.w, 0
MESA: info: l435:
MESA: info: (nop3) cmps.f.lt p0.y, r45.z, r21.y
MESA: info: (rpt1)nop
MESA: info: brao !p0.y, !p0.x, #l623
MESA: info: cmps.f.ge r44.z, (0.0), r42.y
MESA: info: absneg.f r44.w, (abs)r42.y
MESA: info: cmps.f.eq r42.y, (last)(abs)r42.y, (abs)r42.z
MESA: info: sel.b32 r45.x, r42.z, r44.z, r44.w
MESA: info: sel.b32 r44.w, (last)r44.w, r44.z, r42.z
MESA: info: sel.b32 r44.z, c238.y, r44.z, c234.y
MESA: info: cmps.f.ge r45.y, (abs)r45.x, c239.x
MESA: info: cov.u32s16 hr44.x, r23.z
MESA: info: shl.b r23.z, (last)r23.z, 2
MESA: info: sel.b32 r45.y, c238.w, r45.y, c238.z
MESA: info: mul.f r45.w, c237.w, r21.w
MESA: info: add.u r23.z, (last)r23.z, c234.z
MESA: info: mul.f r45.x, (last)r45.x, r45.y
MESA: info: mul.f r44.w, (last)r44.w, (last)r45.y
MESA: info: cov.u32s16 hr47.x, r23.z
MESA: info: mul.f r21.w, (0.5), (last)r21.w
MESA: info: add.f r21.z, (last)r21.z, (neg)r21.y
MESA: info: mova a0.x, hr47.x
MESA: info: rcp r45.x, (last)r45.x
MESA: info: mul.f r24.x, r28.z, r45.w
MESA: info: mul.f r24.y, r28.z, r21.w
MESA: info: mul.f r45.w, (last)r45.w, r28.y
MESA: info: mul.f r21.w, (last)r21.w, r28.y
MESA: info: rcp r21.z, (last)r21.z
MESA: info: mad.f32 r24.x, (neg)(last)r24.x, r28.x, r27.y
MESA: info: mov.u32u32 r30.x, c<a0.x + 369>
MESA: info: mov.u32u32 r29.w, c<a0.x + 368>
MESA: info: mad.f32 r24.y, (neg)(last)r24.y, r28.x, r27.y
MESA: info: mad.f32 r45.w, r28.x, r45.w, r27.z
MESA: info: mad.f32 r21.w, r28.x, r21.w, r27.z
MESA: info: mad.f32 r28.x, (last)r28.x, r22.w, r27.w
MESA: info: mov.u32u32 r17.y, r24.x
MESA: info: mov.u32u32 r17.z, r45.w
MESA: info: mov.u32u32 r17.w, r27.w
MESA: info: (ss)mul.f r44.w, (last)(abs)r44.w, (abs)r45.x
MESA: info: min.f r42.z, (last)r42.z, (last)r45.x
MESA: info: sel.b32 r42.y, c238.z, r42.y, (last)r44.w
MESA: info: mov.u32u32 r18.x, r24.y
MESA: info: cmps.f.lt r42.z, (last)r42.z, (0.0)
MESA: info: cmps.f.ge r0.w, (1.0), r42.y
MESA: info: and.b r1.y, r42.y, c236.w
MESA: info: mov.u32u32 r18.y, r21.w
MESA: info: rcp r1.x, r42.y
MESA: info: sel.b32 r1.z, c234.y, r0.w, c236.z
MESA: info: mov.u32u32 r18.z, r27.w
MESA: info: mov.u32u32 r18.w, (last)r24.x
MESA: info: mov.u32u32 r19.x, (last)r45.w
MESA: info: mov.u32u32 r19.y, r28.x
MESA: info: mov.u32u32 r19.z, (last)r24.y
MESA: info: mov.u32u32 r19.w, (last)r21.w
MESA: info: mov.u32u32 r20.x, r28.x
MESA: info: mov.u32u32 r10.y, (last)r23.x
MESA: info: mov.u32u32 r10.z, (last)r23.y
MESA: info: (ss)sel.b32 r42.y, (last)r42.y, r0.w, (last)r1.x
MESA: info: mov.u32u32 r10.w, (last)r23.w
MESA: info: mov.u32u32 r11.x, (last)r34.w
MESA: info: mul.f r1.w, r42.y, r42.y
MESA: info: absneg.f r42.y, (last)(abs)r42.y
MESA: info: mov.u32u32 r11.y, (last)r35.x
MESA: info: mad.f32 r2.x, c235.x, r1.w, c235.y
MESA: info: mov.u32u32 r11.z, (last)r35.y
MESA: info: mov.u32u32 r11.w, (last)r35.z
MESA: info: mad.f32 r2.x, (last)r2.x, r1.w, c235.z
MESA: info: mov.u32u32 r12.x, (last)r35.w
MESA: info: mov.u32u32 r12.y, (last)r36.x
MESA: info: mad.f32 r2.x, (last)r2.x, r1.w, c235.w
MESA: info: mov.u32u32 r12.z, (last)r36.y
MESA: info: mov.u32u32 r12.w, (last)r36.z
MESA: info: mad.f32 r2.x, (last)r2.x, r1.w, c236.x
MESA: info: mov.u32u32 r13.x, (last)r36.w
MESA: info: mov.u32u32 r13.y, (last)r37.x
MESA: info: mad.f32 r2.x, (last)r2.x, r1.w, c236.y
MESA: info: mov.u32u32 r13.z, (last)r37.y
MESA: info: mov.u32u32 r13.w, (last)r37.z
MESA: info: mad.f32 r42.y, (last)r42.y, r2.x, (last)r1.z
MESA: info: mov.u32u32 r14.x, (last)r37.w
MESA: info: mov.u32u32 r14.y, (last)r38.x
MESA: info: andg r42.y, (last)r42.y, r43.y, (last)r1.y
MESA: info: mov.u32u32 r14.z, (last)r38.y
MESA: info: mov.u32u32 r14.w, (last)r38.z
MESA: info: add.f r44.z, (last)r44.z, (last)r42.y
MESA: info: mov.u32u32 r15.x, (last)r38.w
MESA: info: mov.u32u32 r15.y, (last)r39.x
MESA: info: absneg.f r2.y, (neg)r44.z
MESA: info: mov.u32u32 r15.z, (last)r39.y
MESA: info: mov.u32u32 r15.w, (last)r39.z
MESA: info: sel.b32 r2.y, (last)r2.y, r42.z, (last)r44.z
MESA: info: mov.u32u32 r16.x, (last)r39.w
MESA: info: mov.u32u32 r16.y, r40.x
MESA: info: add.f r2.y, (last)r2.y, c239.y
MESA: info: mov.u32u32 r16.z, r40.y
MESA: info: mov.u32u32 r16.w, r40.z
MESA: info: add.f r2.y, (last)r2.y, (last)(neg)r27.x
MESA: info: (ul)mov.u32u32 r27.x, c<a0.x + 370>
MESA: info: mov.u32u32 r17.x, r40.w
MESA: info: mad.f32 r2.y, c238.x, r2.y, c239.z
MESA: info: mull.u hr1.x, hr44.x, h(3)
MESA: info: shl.b hr44.x, (last)hr44.x, h(1)
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: add.f r45.z, (last)r45.z, (neg)r21.y
MESA: info: absneg.f r29.x, (neg)r28.z
MESA: info: and.b r2.z, r2.y, c233.w
MESA: info: shr.b r2.w, r2.y, 16
MESA: info: (sat)mul.f r45.z, (last)r45.z, r21.z
MESA: info: mull.u r4.x, r2.z, c237.z
MESA: info: mull.u r3.x, r2.z, c234.x
MESA: info: mull.u r3.y, r2.z, c237.y
MESA: info: mull.u r3.z, r2.w, c234.x
MESA: info: mull.u r3.w, r2.w, c237.y
MESA: info: madsh.m16 r20.w, r2.z, r20.w, r4.x
MESA: info: madsh.m16 r3.x, c234.x, r2.z, (last)r3.x
MESA: info: madsh.m16 r3.y, c237.y, r2.z, (last)r3.y
MESA: info: madsh.m16 r3.z, c234.x, r2.w, (last)r3.z
MESA: info: madsh.m16 r3.w, c237.y, r2.w, (last)r3.w
MESA: info: madsh.m16 r2.z, c237.z, r2.z, (last)r20.w
MESA: info: madsh.m16 r2.w, (last)r2.w, r22.z, c234.y
MESA: info: shr.b r3.y, (last)r3.y, 16
MESA: info: cmps.u.lt hr6.x, r2.z, (last)r3.x
MESA: info: add.u r2.w, r2.z, (last)r2.w
MESA: info: shr.b r3.z, (last)r3.z, 16
MESA: info: cov.u16s32 r4.y, (last)hr6.x
MESA: info: cmps.u.lt hr5.z, (last)r2.w, (last)r2.z
MESA: info: (sat)mul.f r45.z, (last)r45.z, (2.0)
MESA: info: sad.s32 r3.w, (last)r3.w, r4.y, r3.y
MESA: info: cov.u16s32 r4.z, (last)hr5.z
MESA: info: mov.u32u32 r28.w, 0x80000000
MESA: info: mov.u32u32 r29.y, r28.y
MESA: info: sad.s32 r3.w, (last)r3.w, r4.z, r3.z
MESA: info: mov.u32u32 r29.z, 0x80000000
MESA: info: mul.f r22.y, (last)r22.y, r45.z
MESA: info: (nop2) shr.b r3.w, (last)r3.w, 2
MESA: info: (nop1) mull.u r4.w, r3.w, 6
MESA: info: (nop2) madsh.m16 r3.w, c239.w, r3.w, r4.w
MESA: info: (nop2) sub.u r2.y, (last)r2.y, r3.w
MESA: info: cov.u32s16 hr4.z, (last)r2.y
MESA: info: (rpt1)nop
MESA: info: (nop2) shl.b hr4.z, (last)hr4.z, h(2)
MESA: info: mova a0.x, (last)hr4.z
MESA: info: (rpt4)nop
MESA: info: mov.u32u32 r5.x, r<a0.x + 41>
MESA: info: mov.u32u32 r5.y, r<a0.x + 42>
MESA: info: mov.u32u32 r5.z, r<a0.x + 43>
MESA: info: (ul)mov.u32u32 r5.w, r<a0.x + 44>
MESA: info: mova a0.x, (last)hr1.x
MESA: info: (rpt1)cmps.f.lt hr12.x, (r)r5.x, (r)r5.z
MESA: info: add.f r6.z, r5.z, (neg)r5.x
MESA: info: add.f r6.w, r5.w, (neg)r5.y
MESA: info: cmps.s.eq r6.y, hr12.x, hr12.y
MESA: info: mov.u32u32 r0.y, r<a0.x + 69>
MESA: info: mov.u32u32 r0.z, r<a0.x + 70>
MESA: info: sel.b32 r6.z, (last)r6.z, r6.y, c234.y
MESA: info: sel.b32 r6.y, c234.y, r6.y, r6.w
MESA: info: (ul)mov.u32u32 r0.w, r<a0.x + 71>
MESA: info: mova a0.x, (last)hr44.x
MESA: info: mov.u32u32 r8.y, r5.x
MESA: info: mul.f r7.x, c229.x, r0.z
MESA: info: mul.f r10.y, c229.y, r0.z
MESA: info: mul.f r10.z, c229.z, r0.z
MESA: info: mul.f r10.w, c229.w, r0.z
MESA: info: add.f r5.x, (last)r5.x, r6.z
MESA: info: mov.u32u32 r8.z, r5.y
MESA: info: add.f r6.z, r5.z, (last)(neg)r6.z
MESA: info: add.f r5.y, (last)r5.y, r6.y
MESA: info: add.f r6.y, r5.w, (last)(neg)r6.y
MESA: info: mad.f32 r7.x, c228.x, r0.y, (last)r7.x
MESA: info: mad.f32 r10.y, c228.y, r0.y, (last)r10.y
MESA: info: mad.f32 r10.z, c228.z, r0.y, (last)r10.z
MESA: info: mad.f32 r10.w, c228.w, r0.y, (last)r10.w
MESA: info: mov.u32u32 r8.w, r5.x
MESA: info: mad.f32 r7.x, c230.x, r0.w, (last)r7.x
MESA: info: mad.f32 r10.y, c230.y, r0.w, (last)r10.y
MESA: info: mad.f32 r10.z, c230.z, r0.w, (last)r10.z
MESA: info: mad.f32 r10.w, c230.w, r0.w, (last)r10.w
MESA: info: mov.u32u32 r9.x, r5.y
MESA: info: mov.u32u32 r9.y, r6.z
MESA: info: mov.u32u32 r9.z, r6.y
MESA: info: mov.u32u32 r9.w, r5.z
MESA: info: mov.u32u32 r10.x, r5.w
MESA: info: add.f r7.y, r7.x, c231.x
MESA: info: add.f r7.z, (last)r10.y, c231.y
MESA: info: add.f r7.w, (last)r10.z, c231.z
MESA: info: add.f r8.x, (last)r10.w, c231.w
MESA: info: mov.u32u32 r44.x, r<a0.x + 33>
MESA: info: (ul)mov.u32u32 r44.y, r<a0.x + 34>
MESA: info: jump #l726
MESA: info: l623:
MESA: info: (jp)(nop3) cmps.f.ge p0.y, r45.z, r21.z
MESA: info: (rpt1)nop
MESA: info: brao !p0.y, p0.x, #l714
MESA: info: add.f r21.z, (last)r21.z, (neg)r21.y
MESA: info: cov.u32s16 hr28.z, r23.z
MESA: info: shl.b r23.z, (last)r23.z, 2
MESA: info: (rpt1)mul.f r11.x, r29.y, (r)r41.x
MESA: info: add.u r23.z, c240.x, (last)r23.z
MESA: info: rcp r21.z, (last)r21.z
MESA: info: mull.u hr28.w, hr28.z, h(3)
MESA: info: (rpt1)mul.f r41.x, (last)(r)r41.x, r29.x
MESA: info: cov.u32s16 hr47.x, (last)r23.z
MESA: info: (rpt1)mad.f32 r11.z, (r)r41.z, r29.x, (neg)(last)r11.x
MESA: info: mova a0.x, (last)hr47.x
MESA: info: (rpt1)mad.f32 r12.x, (r)r41.z, r29.x, (neg)(last)r11.y
MESA: info: mad.f32 r12.z, r41.z, r29.y, r41.x
MESA: info: (rpt1)mad.f32 r12.w, (r)r41.z, r29.y, (last)r41.y
MESA: info: mad.f32 r41.x, r41.w, r29.y, (last)r41.x
MESA: info: mad.f32 r41.z, (last)r41.z, r29.z, r42.x
MESA: info: mad.f32 r41.w, (last)r41.w, r29.z, (last)r42.x
MESA: info: mov.u32u32 r30.x, c<a0.x + 369>
MESA: info: (ul)mov.u32u32 r29.w, c<a0.x + 368>
MESA: info: mova a0.x, (last)hr28.w
MESA: info: add.f r45.z, (last)r45.z, (last)(neg)r21.y
MESA: info: (rpt1)cmps.f.lt hr26.z, (r)r40.x, (r)r40.z
MESA: info: mad.f32 r11.z, r28.x, r11.z, r27.y
MESA: info: mad.f32 r11.w, r28.x, r11.w, r27.y
MESA: info: (rpt1)mad.f32 r12.x, r28.x, (r)r12.x, r27.y
MESA: info: mad.f32 r12.z, r28.x, r12.z, r27.z
MESA: info: (rpt1)mad.f32 r12.w, r28.x, (r)r12.w, r27.z
MESA: info: mad.f32 r41.x, r28.x, r41.x, r27.z
MESA: info: mad.f32 r41.z, r28.x, r41.z, r27.w
MESA: info: mad.f32 r28.x, (last)r28.x, r41.w, r27.w
MESA: info: add.f r13.w, r40.z, (neg)r40.x
MESA: info: (ss)(sat)mul.f r45.z, (last)r45.z, (last)r21.z
MESA: info: cmps.s.eq r13.z, (last)hr26.z, (last)hr26.w
MESA: info: mov.u32u32 r5.y, (last)r11.z
MESA: info: mov.u32u32 r5.z, (last)r12.z
MESA: info: mov.u32u32 r5.w, r41.z
MESA: info: mov.u32u32 r6.x, (last)r11.w
MESA: info: mov.u32u32 r6.y, (last)r41.x
MESA: info: mov.u32u32 r6.z, r28.x
MESA: info: mov.u32u32 r6.w, (last)r12.x
MESA: info: mov.u32u32 r7.x, (last)r12.w
MESA: info: mov.u32u32 r7.y, (last)r41.z
MESA: info: mov.u32u32 r7.z, (last)r12.y
MESA: info: mov.u32u32 r7.w, (last)r13.x
MESA: info: mov.u32u32 r8.x, (last)r28.x
MESA: info: add.f r14.x, r40.w, (neg)r40.y
MESA: info: shl.b hr28.z, (last)hr28.z, h(1)
MESA: info: add.f r45.z, (1.0), (last)(neg)r45.z
MESA: info: sel.b32 r13.w, (last)r13.w, r13.z, c234.y
MESA: info: mov.u32u32 r0.y, r<a0.x + 21>
MESA: info: sel.b32 r13.z, c234.y, r13.z, (last)r14.x
MESA: info: mov.u32u32 r0.z, r<a0.x + 22>
MESA: info: (ul)mov.u32u32 r0.w, r<a0.x + 23>
MESA: info: mova a0.x, (last)hr28.z
MESA: info: mov.u32u32 r3.y, r40.x
MESA: info: mul.f r45.z, (2.0), (last)r45.z
MESA: info: mul.f r14.z, c229.x, r0.z
MESA: info: mul.f r14.w, c229.y, r0.z
MESA: info: mul.f r15.x, c229.z, r0.z
MESA: info: mul.f r15.y, c229.w, r0.z
MESA: info: add.f r40.x, (last)r40.x, r13.w
MESA: info: mov.u32u32 r3.z, r40.y
MESA: info: add.f r13.w, r40.z, (last)(neg)r13.w
MESA: info: add.f r40.y, (last)r40.y, r13.z
MESA: info: add.f r13.z, r40.w, (last)(neg)r13.z
MESA: info: mad.f32 r14.z, c228.x, r0.y, (last)r14.z
MESA: info: mad.f32 r14.w, c228.y, r0.y, (last)r14.w
MESA: info: mad.f32 r15.x, c228.z, r0.y, (last)r15.x
MESA: info: mad.f32 r15.y, c228.w, r0.y, (last)r15.y
MESA: info: min.f r45.z, (last)r45.z, (1.0)
MESA: info: mov.u32u32 r3.w, (last)r40.x
MESA: info: mad.f32 r14.z, c230.x, r0.w, (last)r14.z
MESA: info: mad.f32 r14.w, c230.y, r0.w, (last)r14.w
MESA: info: mad.f32 r15.x, c230.z, r0.w, (last)r15.x
MESA: info: mad.f32 r15.y, c230.w, r0.w, (last)r15.y
MESA: info: mov.u32u32 r4.x, (last)r40.y
MESA: info: mov.u32u32 r4.y, (last)r13.w
MESA: info: mov.u32u32 r4.z, (last)r13.z
MESA: info: mov.u32u32 r4.w, (last)r40.z
MESA: info: mov.u32u32 r5.x, (last)r40.w
MESA: info: mul.f r22.y, (last)r22.y, (last)r45.z
MESA: info: add.f r7.y, (last)r14.z, c231.x
MESA: info: add.f r7.z, (last)r14.w, c231.y
MESA: info: add.f r7.w, (last)r15.x, c231.z
MESA: info: add.f r8.x, (last)r15.y, c231.w
MESA: info: mov.u32u32 r44.x, r<a0.x + 13>
MESA: info: (ul)mov.u32u32 r44.y, r<a0.x + 14>
MESA: info: jump #l718
MESA: info: l714:
MESA: info: (jp)mov.u32u32 r8.x, 0
MESA: info: mov.u32u32 r7.y, 0
MESA: info: mov.u32u32 r7.z, 0
MESA: info: mov.u32u32 r7.w, 0
MESA: info: l718:
MESA: info: (jp)mov.u32u32 r28.w, 0x3f800000
MESA: info: mov.u32u32 r28.z, 0
MESA: info: mov.u32u32 r28.y, 0
MESA: info: jump #l726
MESA: info: l722:
MESA: info: (jp)mov.u32u32 r8.x, 0
MESA: info: mov.u32u32 r7.y, 0
MESA: info: mov.u32u32 r7.z, 0
MESA: info: mov.u32u32 r7.w, 0
MESA: info: l726:
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r7.y (VARYING_SLOT_POS) r0.x (VARYING_SLOT_VAR0) r28.y (VARYING_SLOT_VAR1) r29.y (VARYING_SLOT_VAR2) r27.x (VARYING_SLOT_VAR3) r25.y (VARYING_SLOT_VAR4) r43.z (VARYING_SLOT_VAR5) r22.y (VARYING_SLOT_VAR6) r26.w (VARYING_SLOT_VAR7)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (SYSTEM_VALUE_VERTEX_ID slot=9 cm=1,il=0,b=0)
MESA: info: ; VERT prog 124/1: 786 instr, 103 nops, 683 non-nops, 171 mov, 17 cov, 1472 dwords
MESA: info: ; VERT prog 124/1: 0 last-baryf, 0 last-helper, 0 half, 48 full, 244 constlen
MESA: info: ; VERT prog 124/1: 114 cat0, 188 cat1, 298 cat2, 162 cat3, 22 cat4, 2 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 124/1: 81 sstall, 17 (ss), 64 systall, 1 (sy), 1 loops
MESA: info: ; VERT prog 124/1: 4 max_waves, 0 double_threadsize
MESA: info: ; 58 preamble-instr, 1 early-preamble
MESA: info: ; pos: r7.y
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xbfe67925, 0x27a8b917, 0xa9f51892, 0x4498b81d, 0x7ff16788, 0x2fdbfa70, 0x06872a7c, 0x1711c849}
MESA: info: num_ubos: 2
MESA: info: inputs_read: 15-18
MESA: info: outputs_written: 0
MESA: info: system_values_read: 0x00000000'00000000'00000000'00000200
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 4
MESA: info: outputs: 9
MESA: info: uniforms: 52
MESA: info: constants: 128
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #1 (VERT_ATTRIB_GENERIC1.xyz, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #2 (VERT_ATTRIB_GENERIC2.xyz, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #3 (VERT_ATTRIB_GENERIC3.xyz, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #4 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #5 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #6 (VARYING_SLOT_VAR1.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #7 (VARYING_SLOT_VAR2.xyzw, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #8 (VARYING_SLOT_VAR3.xyzw, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #9 (VARYING_SLOT_VAR4.xyzw, 5, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #10 (VARYING_SLOT_VAR5.xyzw, 6, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none float #11 (VARYING_SLOT_VAR6.x, 7, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none int #12 (VARYING_SLOT_VAR7.x, 8, 0)
MESA: info: decl_var ubo INTERP_MODE_NONE none uint[] $consts (0, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #13
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     decl_var  INTERP_MODE_NONE none vec2[4] #14
MESA: info:     decl_var  INTERP_MODE_NONE none vec3[4] #15
MESA: info:     decl_var  INTERP_MODE_NONE none vec4[7] #16
MESA: info:     decl_var  INTERP_MODE_NONE none vec2[4] #17
MESA: info:     decl_var  INTERP_MODE_NONE none vec3[4] #18
MESA: info:     con block b0:         // preds:
MESA: info:     div 32       %0 = @decl_reg (num_components=2, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %1 = @decl_reg (num_components=3, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %2 = @decl_reg (num_components=2, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %3 = @decl_reg (num_components=4, num_array_elems=7, bit_size=32, divergent=1)
MESA: info:     div 32       %4 = @decl_reg (num_components=3, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     con 1        %5 = @preamble_start_ir3
MESA: info:                       // succs: b1 b5
MESA: info:     if %5 {
MESA: info:         con block b1:         // preds: b0
MESA: info:         div 1        %6 = @elect_any_ir3
MESA: info:                           // succs: b2 b3
MESA: info:         if %6 {
MESA: info:             div block b2:         // preds: b1
MESA: info:             con 32       %7 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32       %8 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32       %9 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32      %15 = @bindless_resource_ir3 (%7 (0.000000)) (desc_set=1)
MESA: info:             con 32    %1109 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %1078 = @load_ubo_vec4 (%15, %1109 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %18 = frcp %1078
MESA: info:                               @store_const_ir3 (%18) (base=0)
MESA: info:             con 32      %19 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32      %20 = @bindless_resource_ir3 (%9 (0x4)) (desc_set=1)
MESA: info:             con 32x2  %1081 = @load_ubo_vec4 (%20, %7 (0.000000)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %1111 = load_const (0x00000019 = 0.000000 = 25)
MESA: info:             con 32    %1084 = @load_ubo_vec4 (%15, %1111 (0x19)) (access=speculatable, base=0, component=1)
MESA: info:             con 32x2  %1619 = fmul %1081, %1084.xx
MESA: info:             con 32      %26 = fneg %1619.x
MESA: info:                               @store_const_ir3 (%26) (base=1)
MESA: info:             con 32      %27 = frcp %1619.y
MESA: info:                               @store_const_ir3 (%27) (base=2)
MESA: info:             con 32    %1087 = @load_ubo_vec4 (%20, %9 (0x4)) (access=speculatable, base=0, component=1)
MESA: info:             con 1       %29 = fge! %7 (0.000000), %1087
MESA: info:             con 1       %30 = inot %29
MESA: info:             con 32      %31 = b2i32 %30
MESA: info:                               @store_const_ir3 (%31) (base=3)
MESA: info:             con 32      %32 = frcp %1087
MESA: info:                               @store_const_ir3 (%32) (base=4)
MESA: info:             con 32    %1113 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32    %1090 = @load_ubo_vec4 (%20, %1113 (0x2)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %34 = frcp %1090
MESA: info:                               @store_const_ir3 (%34) (base=5)
MESA: info:             con 32    %1114 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32    %1093 = @load_ubo_vec4 (%20, %1114 (0x3)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %36 = frcp %1093
MESA: info:                               @store_const_ir3 (%36) (base=6)
MESA: info:             con 32    %1096 = @load_ubo_vec4 (%20, %9 (0x4)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %1614 = fneg %1096
MESA: info:             con 32    %1615 = ffma %1614, %1096, %8 (1.000000)
MESA: info:             con 32x2  %1620 = load_const (0x40000000, 0x3f800000) = (2.000000, 1.000000)
MESA: info:             con 32x2  %1621 = ffma %1096.xx, %1096.xx, %1620 (2.000000, 1.000000)
MESA: info:             con 32    %1622 = mov %1621.y
MESA: info:                               @store_const_ir3 (%1622) (base=7)
MESA: info:             con 32      %43 = frcp %1621.x
MESA: info:             con 32      %44 = load_const (0x3ef47d19 = 0.477517)
MESA: info:             con 32      %45 = fmul %1615, %44 (0.477517)
MESA: info:             con 32      %46 = fmul %45, %43
MESA: info:                               @store_const_ir3 (%46) (base=8)
MESA: info:             con 32      %47 = fmul %19 (2.000000), %1096
MESA: info:                               @store_const_ir3 (%47) (base=9)
MESA: info:             con 32      %49 = @bindless_resource_ir3 (%1113 (0x2)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%49, %7 (0.000000)) (base=16, range=196)
MESA: info:             con 32      %53 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%15, %53 (0x14)) (base=800, range=8)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%20, %7 (0.000000)) (base=832, range=8)
MESA: info:             con 32      %57 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %58 = @bindless_resource_ir3 (%57 (0x1)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%58, %7 (0.000000)) (base=864, range=4)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%15, %7 (0.000000)) (base=912, range=4)
MESA: info:             con 32      %64 = @bindless_resource_ir3 (%57 (0x1)) (desc_set=3)
MESA: info:                               @prefetch_tex_ir3 (%64)
MESA: info:             con 32      %66 = @bindless_resource_ir3 (%7 (0.000000)) (desc_set=3)
MESA: info:                               @prefetch_tex_ir3 (%66)
MESA: info:                               @preamble_end_ir3
MESA: info:                               // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:         // preds: b4 b5
MESA: info:     con 32      %67 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x3    %68 = @load_input (%67 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3    %69 = @load_input (%67 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3    %70 = @load_input (%67 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3    %71 = @load_input (%67 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     con 32      %92 = load_const (0x00000001)
MESA: info:     con 32      %95 = load_const (0x00000002)
MESA: info:     con 32      %99 = load_const (0x00000004 = 0.000000)
MESA: info:     con 32     %101 = load_const (0x00000006)
MESA: info:     div 32     %103 = @load_vertex_id
MESA: info:     con 32     %104 = load_const (0x00000010 = 16)
MESA: info:     con 32     %105 = load_const (0x0000ffff = 65535)
MESA: info:     div 32     %106 = iand %103, %105 (0xffff)
MESA: info:     div 32     %108 = ushr %103, %104 (0x10)
MESA: info:     con 32x3  %1631 = load_const (0x0000aaab, 0x0000aaaa, 0xaaaaaaab) = (+43691, +43690, -1431655765) = (43691, 43690, 2863311531)
MESA: info:     div 32x3  %1632 = umul_low %106.xxx, %1631 (0xaaab, 0xaaaa, 0xaaaaaaab)
MESA: info:     con 32x2  %1625 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1626 = imadsh_mix16 %1625 (0xaaab, 0xaaaa), %106.xx, %1632.xy
MESA: info:     con 32x2  %1627 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1628 = umul_low %108.xx, %1627 (0xaaab, 0xaaaa)
MESA: info:     con 32x2  %1629 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1630 = imadsh_mix16 %1629 (0xaaab, 0xaaaa), %108.xx, %1628
MESA: info:     con 32     %114 = load_const (0xaaaaaaab = -1431655765 = 2863311531)
MESA: info:     div 32    %1293 = imadsh_mix16 %106, %114 (0xaaaaaaab), %1632.z
MESA: info:     div 32    %1294 = imadsh_mix16 %114 (0xaaaaaaab), %106, %1293
MESA: info:     div 1      %116 = ult %1294, %1626.x
MESA: info:     div 32     %117 = b2i32 %116
MESA: info:     div 32     %119 = ushr %1626.y, %104 (0x10)
MESA: info:     div 32    %1236 = iadd3 %1630.y, %117, %119
MESA: info:     con 32     %121 = load_const (0xaaab0000 = -1431633920 = 2863333376)
MESA: info:     con 32    %1501 = load_const (0x00000000)
MESA: info:     div 32    %1290 = imadsh_mix16 %108, %121 (0xaaab0000), %1501 (0x0)
MESA: info:     div 32     %123 = iadd %1294, %1290
MESA: info:     div 1      %124 = ult %123, %1294
MESA: info:     div 32     %125 = b2i32 %124
MESA: info:     div 32     %127 = ushr %1630.x, %104 (0x10)
MESA: info:     div 32    %1235 = iadd3 %1236, %125, %127
MESA: info:     con 32x2  %1633 = load_const (0x00000002, 0x00000003)
MESA: info:     div 32x2  %1634 = ushr %1235.xx, %1633 (0x2, 0x3)
MESA: info:     con 32x2  %1635 = load_const (0x00000006, 0x0000000c) = (6, 12)
MESA: info:     div 32x2  %1636 = umul_low %1634, %1635 (0x6, 0xc)
MESA: info:     con 32x2  %1637 = load_const (0x00000006, 0x0000000c) = (6, 12)
MESA: info:     div 32x2  %1638 = imadsh_mix16 %1637 (0x6, 0xc), %1634, %1636
MESA: info:     div 32x2  %1639 = isub %103.xx, %1638
MESA: info:     div 32    %1640 = mov %1639.x
MESA: info:     con 32     %134 = load_const (0x0000000c = 0.000000 = 12)
MESA: info:     div 1      %138 = ilt %1639.y, %101 (0x6)
MESA: info:     div 1      %139 = inot %138
MESA: info:     div 1      %140 = ilt %103, %67 (0x0)
MESA: info:     div 32     %141 = iabs %103
MESA: info:     div 32     %142 = iand %141, %105 (0xffff)
MESA: info:     div 32     %143 = ushr %141, %104 (0x10)
MESA: info:     con 32x3  %1649 = load_const (0x0000aaab, 0x00002aaa, 0x2aaaaaab) = (43691, 10922, 715827883)
MESA: info:     div 32x3  %1650 = umul_low %142.xxx, %1649 (0xaaab, 0x2aaa, 0x2aaaaaab)
MESA: info:     con 32x2  %1643 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1644 = imadsh_mix16 %1643 (0xaaab, 0x2aaa), %142.xx, %1650.xy
MESA: info:     con 32x2  %1645 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1646 = umul_low %143.xx, %1645 (0xaaab, 0x2aaa)
MESA: info:     con 32x2  %1647 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1648 = imadsh_mix16 %1647 (0xaaab, 0x2aaa), %143.xx, %1646
MESA: info:     con 32     %149 = load_const (0x2aaaaaab = 715827883)
MESA: info:     div 32    %1269 = imadsh_mix16 %142, %149 (0x2aaaaaab), %1650.z
MESA: info:     div 32    %1270 = imadsh_mix16 %149 (0x2aaaaaab), %142, %1269
MESA: info:     div 1      %151 = ult %1270, %1644.x
MESA: info:     div 32     %152 = b2i32 %151
MESA: info:     div 32     %154 = ushr %1644.y, %104 (0x10)
MESA: info:     div 32    %1232 = iadd3 %1648.y, %152, %154
MESA: info:     con 32    %1496 = load_const (0x00000000)
MESA: info:     div 32    %1266 = imadsh_mix16 %143, %121 (0xaaab0000), %1496 (0x0)
MESA: info:     div 32     %157 = iadd %1270, %1266
MESA: info:     div 1      %158 = ult %157, %1270
MESA: info:     div 32     %159 = b2i32 %158
MESA: info:     div 32     %161 = ushr %1648.x, %104 (0x10)
MESA: info:     div 32    %1231 = iadd3 %1232, %159, %161
MESA: info:     div 32     %163 = inot %1231
MESA: info:     div 32     %164 = inot %157
MESA: info:     div 32     %165 = iadd %164, %92 (0x1)
MESA: info:     div 1      %166 = ult %165, %164
MESA: info:     div 32     %167 = b2i32 %166
MESA: info:     div 32     %168 = iadd %163, %167
MESA: info:     div 32     %169 = bcsel %140, %168, %1231
MESA: info:     div 32     %170 = ishr %169, %92 (0x1)
MESA: info:     con 32     %171 = load_const (0x0000001f = 31)
MESA: info:     div 32     %172 = ushr %170, %171 (0x1f)
MESA: info:     div 32     %173 = iadd %170, %172
MESA: info:     con 32x2  %1651 = load_const (0x00000004, 0x00000002)
MESA: info:     div 32x2  %1652 = ishl %173.xx, %1651 (0x4, 0x2)
MESA: info:     div 32    %1653 = mov %1652.x
MESA: info:     div 32    %1654 = mov %1652.y
MESA: info:     con 32     %175 = @bindless_resource_ir3 (%92 (0x1)) (desc_set=3)
MESA: info:     div 32x3  %1100 = @load_ssbo_ir3 (%175, %1653, %1654) (base=0, access=readonly|reorderable|speculatable, align_mul=16, align_offset=0)
MESA: info:     div 32x3  %1656 = fmul %69, %1100.yyy
MESA: info:     div 32x3  %1658 = ffma %68, %1100.xxx, %1656
MESA: info:     div 32x3  %1660 = ffma %70, %1100.zzz, %1658
MESA: info:     con 32     %192 = @bindless_resource_ir3 (%67 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %1104 = @load_ssbo_ir3 (%192, %1653, %1654) (base=0, access=readonly|reorderable|speculatable, align_mul=16, align_offset=0)
MESA: info:     div 32     %194 = f2i32 %1104.w
MESA: info:     div 32x3  %1662 = fmul %69, %1104.yyy
MESA: info:     div 32x3  %1664 = ffma %68, %1104.xxx, %1662
MESA: info:     div 32x3  %1666 = ffma %70, %1104.zzz, %1664
MESA: info:     div 32x3  %1668 = fadd %1666, %71
MESA: info:     div 32     %214 = fmul %1660.y, %1660.y
MESA: info:     div 32    %1597 = ffma %1660.z, %1660.z, %214
MESA: info:     div 32    %1596 = ffma %1660.x, %1660.x, %1597
MESA: info:     div 32     %218 = frsq %1596
MESA: info:     div 32x3  %1670 = fmul %1660, %218.xxx
MESA: info:     div 32     %222 = fsqrt %1596
MESA: info:     con 32     %223 = load_const (0x000000b0 = 176)
MESA: info:     div 32    %1262 = umul_low %194, %223 (0xb0)
MESA: info:     div 32    %1264 = imadsh_mix16 %223 (0xb0), %194, %1262
MESA: info:     div 32     %227 = ushr %1264, %95 (0x2)
MESA: info:     div 32x4   %228 = @load_const_ir3 (%227) (base=16)
MESA: info:     div 32x4   %235 = @load_const_ir3 (%227) (base=20)
MESA: info:     div 32x4   %239 = @load_const_ir3 (%227) (base=24)
MESA: info:     div 32x4   %243 = @load_const_ir3 (%227) (base=28)
MESA: info:     div 32x4   %247 = @load_const_ir3 (%227) (base=32)
MESA: info:     div 32x4   %254 = @load_const_ir3 (%227) (base=36)
MESA: info:     div 32x4   %258 = @load_const_ir3 (%227) (base=40)
MESA: info:     div 32x4   %266 = @load_const_ir3 (%227) (base=44)
MESA: info:     div 32x4   %270 = @load_const_ir3 (%227) (base=48)
MESA: info:     div 32x4   %274 = @load_const_ir3 (%227) (base=52)
MESA: info:     div 32x3   %278 = @load_const_ir3 (%227) (base=56)
MESA: info:     con 32    %1117 = load_const (0x0000005c = 0.000000 = 92)
MESA: info:     con 32x3   %283 = @load_const_ir3 (%1117 (0x5c)) (base=720)
MESA: info:     div 32x3  %1672 = fmul %222.xxx, %1670
MESA: info:     div 32x4  %1675 = fmul %274.xyxx, %1672.xxyz
MESA: info:     div 32x4  %1678 = fmul %278.xyxx, %1672.xxyz
MESA: info:     div 32     %295 = fmul %1672.y, %274.y
MESA: info:     div 32     %296 = fneg %295
MESA: info:     div 32     %297 = fmul %1672.y, %278.y
MESA: info:     div 32     %298 = fneg %297
MESA: info:     div 32     %299 = fmul %274.z, %222
MESA: info:     div 32     %300 = fmul %278.z, %222
MESA: info:     div 32x4  %1681 = fmin %1675, %1678
MESA: info:     div 32     %305 = fmin %296, %298
MESA: info:     div 32     %306 = fadd %1681.x, %305
MESA: info:     div 32     %307 = fadd %1681.z, %1681.y
MESA: info:     div 32     %308 = fmin %299, %300
MESA: info:     div 32     %309 = fadd %1681.w, %308
MESA: info:     div 32     %310 = fadd %306, %1668.x
MESA: info:     div 32     %311 = fadd %307, %1668.y
MESA: info:     div 32     %312 = fadd %309, %1668.z
MESA: info:     div 32x4  %1684 = fmax %1675, %1678
MESA: info:     div 32     %317 = fmax %296, %298
MESA: info:     div 32     %318 = fadd %1684.x, %317
MESA: info:     div 32     %319 = fadd %1684.z, %1684.y
MESA: info:     div 32     %320 = fmax %299, %300
MESA: info:     div 32     %321 = fadd %1684.w, %320
MESA: info:     div 32     %322 = fadd %318, %1668.x
MESA: info:     div 32     %323 = fadd %319, %1668.y
MESA: info:     div 32     %324 = fadd %321, %1668.z
MESA: info:     div 32     %325 = fmax %283.x, %310
MESA: info:     div 32     %326 = fmax %283.y, %311
MESA: info:     div 32     %327 = fmax %283.z, %312
MESA: info:     div 32     %328 = fmin %325, %322
MESA: info:     div 32     %329 = fmin %326, %323
MESA: info:     div 32     %330 = fmin %327, %324
MESA: info:     div 32    %1595 = fsub %283.x, %328
MESA: info:     div 32    %1594 = fsub %283.y, %329
MESA: info:     div 32    %1593 = fsub %283.z, %330
MESA: info:     div 32     %338 = fmul %1594, %1594
MESA: info:     div 32    %1592 = ffma %1593, %1593, %338
MESA: info:     div 32    %1591 = ffma %1595, %1595, %1592
MESA: info:     div 32     %342 = fsqrt %1591
MESA: info:     con 32    %1118 = load_const (0x00000063 = 0.000000 = 99)
MESA: info:     con 32     %346 = @load_const_ir3 (%1118 (0x63)) (base=720)
MESA: info:     con 32     %348 = @load_const_ir3 (%67 (0x0)) (base=0)
MESA: info:     div 32     %354 = ishl %194, %95 (0x2)
MESA: info:     con 32    %1131 = load_const (0x00000200 = 512)
MESA: info:     div 32    %1132 = iadd %354, %1131 (0x200)
MESA: info:     div 32x2   %355 = @load_const_ir3 (%1132) (base=208)
MESA: info:     div 32     %357 = fmul %355.y, %348
MESA: info:     div 32     %358 = fneg %342
MESA: info:     div 32    %1590 = ffma %355.x, %346, %358
MESA: info:     con 32     %360 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32     %361 = fmul %360 (2.000000), %1590
MESA: info:     div 32     %362 = fmul %361, %357
MESA: info:     div 1     %1108 = flt! %67 (0.000000), %362
MESA: info:                       // succs: b7 b14
MESA: info:     if %1108 {
MESA: info:         div block b7:         // preds: b6
MESA: info:         con 32      %93 = load_const (0x3f800000 = 1.000000 = 1065353216)
MESA: info:         div 32x3  %1686 = fsub %283, %1668
MESA: info:         div 32     %372 = fmul %1686.x, %1686.x
MESA: info:         div 32    %1586 = ffma %1686.y, %1686.y, %372
MESA: info:         div 32     %374 = frsq %1586
MESA: info:         div 32x3  %1689 = fmul %1686.zyx, %374.xxx
MESA: info:         div 32     %376 = fabs %1689.x
MESA: info:         div 1      %377 = fge! %93 (1.000000), %376
MESA: info:         div 32     %378 = frcp %1689.x
MESA: info:         div 32     %379 = bcsel %377, %1689.x, %378
MESA: info:         div 32     %380 = fmul %379, %379
MESA: info:         con 32     %381 = load_const (0xbc46c6a5 = -0.012132)
MESA: info:         con 32     %383 = load_const (0x3d5be101 = 0.053681)
MESA: info:         div 32    %1585 = ffma %381 (-0.012132), %380, %383 (0.053681)
MESA: info:         con 32     %386 = load_const (0xbdf0555d = -0.117350)
MESA: info:         div 32    %1584 = ffma %1585, %380, %386 (-0.117350)
MESA: info:         con 32     %389 = load_const (0x3e468bc1 = 0.193892)
MESA: info:         div 32    %1583 = ffma %1584, %380, %389 (0.193892)
MESA: info:         con 32     %392 = load_const (0xbeaa5476 = -0.332676)
MESA: info:         div 32    %1582 = ffma %1583, %380, %392 (-0.332676)
MESA: info:         con 32     %395 = load_const (0x3f7ffea5 = 0.999979)
MESA: info:         div 32    %1581 = ffma %1582, %380, %395 (0.999979)
MESA: info:         con 32     %397 = load_const (0xbfc90fdb = -1.570796)
MESA: info:         div 32     %398 = bcsel %377, %67 (0x0), %397 (0xbfc90fdb)
MESA: info:         div 32     %399 = fabs %379
MESA: info:         div 32    %1580 = ffma %399, %1581, %398
MESA: info:         con 32     %402 = load_const (0x7fffffff = 2147483647)
MESA: info:         con 32     %404 = load_const (0x80000000 = -2147483648 = 2147483648)
MESA: info:         div 32     %405 = iand %1689.x, %404 (0x80000000)
MESA: info:         div 32    %1618 = andg_ir3 %1580, %402 (0x7fffffff), %405
MESA: info:         div 1      %407 = fge! %67 (0.000000), %1670.x
MESA: info:         div 32x2  %1687 = fabs %1670.xy
MESA: info:         div 32     %409 = bcsel %407, %1687.x, %1670.y
MESA: info:         div 32     %410 = bcsel %407, %1670.y, %1687.x
MESA: info:         div 32     %411 = fabs %410
MESA: info:         con 32     %412 = load_const (0x5d5e0b6b = 1.000000e+18)
MESA: info:         div 1      %413 = fge! %411, %412 (1.000000e+18)
MESA: info:         con 32     %414 = load_const (0x3e800000 = 0.250000)
MESA: info:         div 32     %415 = bcsel %413, %414 (0x3e800000), %93 (0x3f800000)
MESA: info:         div 32     %416 = fmul %410, %415
MESA: info:         div 32     %417 = frcp %416
MESA: info:         div 32     %418 = fmul %409, %415
MESA: info:         div 32     %419 = fabs %418
MESA: info:         div 32     %420 = fabs %417
MESA: info:         div 32     %421 = fmul %419, %420
MESA: info:         div 1      %423 = feq! %1687.x, %1687.y
MESA: info:         div 32     %424 = bcsel %423, %93 (0x3f800000), %421
MESA: info:         div 1      %425 = fge! %93 (1.000000), %424
MESA: info:         div 32     %426 = frcp %424
MESA: info:         div 32     %427 = bcsel %425, %424, %426
MESA: info:         div 32     %428 = fmul %427, %427
MESA: info:         div 32    %1579 = ffma %381 (-0.012132), %428, %383 (0.053681)
MESA: info:         div 32    %1578 = ffma %1579, %428, %386 (-0.117350)
MESA: info:         div 32    %1577 = ffma %1578, %428, %389 (0.193892)
MESA: info:         div 32    %1576 = ffma %1577, %428, %392 (-0.332676)
MESA: info:         div 32    %1575 = ffma %1576, %428, %395 (0.999979)
MESA: info:         div 32     %439 = bcsel %425, %67 (0x0), %397 (0xbfc90fdb)
MESA: info:         div 32     %440 = fabs %427
MESA: info:         div 32    %1574 = ffma %440, %1575, %439
MESA: info:         div 32     %444 = iand %424, %404 (0x80000000)
MESA: info:         div 32    %1617 = andg_ir3 %1574, %402 (0x7fffffff), %444
MESA: info:         con 32     %446 = load_const (0x3fc90fdb = 1.570796)
MESA: info:         div 32     %447 = bcsel %407, %446 (0x3fc90fdb), %67 (0x0)
MESA: info:         div 32     %448 = fadd %447, %1617
MESA: info:         div 32     %449 = fmin %1670.y, %417
MESA: info:         div 1      %450 = flt! %449, %67 (0.000000)
MESA: info:         div 32     %451 = fneg %448
MESA: info:         div 32     %452 = bcsel %450, %451, %448
MESA: info:         div 1      %653 = flt! %1618, %266.z
MESA: info:         div 1      %654 = iand %653, %138
MESA: info:                           // succs: b8 b9
MESA: info:         if %654 {
MESA: info:             div block b8:         // preds: b7
MESA: info:             div 1      %658 = fge! %67 (0.000000), %1686.x
MESA: info:             div 32x2  %1690 = fabs %1686.xy
MESA: info:             div 32     %660 = bcsel %658, %1690.x, %1686.y
MESA: info:             div 32     %661 = bcsel %658, %1686.y, %1690.x
MESA: info:             div 32     %662 = fabs %661
MESA: info:             div 1      %663 = fge! %662, %412 (1.000000e+18)
MESA: info:             div 32     %664 = bcsel %663, %414 (0x3e800000), %93 (0x3f800000)
MESA: info:             div 32     %665 = fmul %661, %664
MESA: info:             div 32     %666 = frcp %665
MESA: info:             div 32     %667 = fmul %660, %664
MESA: info:             div 32     %668 = fabs %667
MESA: info:             div 32     %669 = fabs %666
MESA: info:             div 32     %670 = fmul %668, %669
MESA: info:             div 1      %672 = feq! %1690.x, %1690.y
MESA: info:             div 32     %673 = bcsel %672, %93 (0x3f800000), %670
MESA: info:             div 1      %674 = fge! %93 (1.000000), %673
MESA: info:             div 32     %675 = frcp %673
MESA: info:             div 32     %676 = bcsel %674, %673, %675
MESA: info:             div 32     %677 = fmul %676, %676
MESA: info:             div 32    %1573 = ffma %381 (-0.012132), %677, %383 (0.053681)
MESA: info:             div 32    %1572 = ffma %1573, %677, %386 (-0.117350)
MESA: info:             div 32    %1571 = ffma %1572, %677, %389 (0.193892)
MESA: info:             div 32    %1570 = ffma %1571, %677, %392 (-0.332676)
MESA: info:             div 32    %1569 = ffma %1570, %677, %395 (0.999979)
MESA: info:             div 32     %688 = bcsel %674, %67 (0x0), %397 (0xbfc90fdb)
MESA: info:             div 32     %689 = fabs %676
MESA: info:             div 32    %1568 = ffma %689, %1569, %688
MESA: info:             div 32     %693 = iand %673, %404 (0x80000000)
MESA: info:             div 32    %1616 = andg_ir3 %1568, %402 (0x7fffffff), %693
MESA: info:             div 32     %695 = bcsel %658, %446 (0x3fc90fdb), %67 (0x0)
MESA: info:             div 32     %696 = fadd %695, %1616
MESA: info:             div 32     %697 = fmin %1686.y, %666
MESA: info:             div 1      %698 = flt! %697, %67 (0.000000)
MESA: info:             div 32     %699 = fneg %696
MESA: info:             div 32     %700 = bcsel %698, %699, %696
MESA: info:             con 32     %701 = load_const (0x3f060a92 = 0.523599)
MESA: info:             div 32     %702 = fadd %700, %701 (0.523599)
MESA: info:             div 32    %1567 = fsub %702, %452
MESA: info:             con 32     %705 = load_const (0x3f747644 = 0.954930)
MESA: info:             con 32     %707 = load_const (0x41400000 = 12.000000)
MESA: info:             div 32    %1566 = ffma %705 (0.954930), %1567, %707 (12.000000)
MESA: info:             div 32     %709 = f2i32 %1566
MESA: info:             div 32     %710 = iand %709, %105 (0xffff)
MESA: info:             div 32     %711 = ushr %709, %104 (0x10)
MESA: info:             con 32x3  %1699 = load_const (0x0000aaab, 0x0000aaaa, 0xaaaaaaab) = (+43691, +43690, -1431655765) = (43691, 43690, 2863311531)
MESA: info:             div 32x3  %1700 = umul_low %710.xxx, %1699 (0xaaab, 0xaaaa, 0xaaaaaaab)
MESA: info:             con 32x2  %1693 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1694 = imadsh_mix16 %1693 (0xaaab, 0xaaaa), %710.xx, %1700.xy
MESA: info:             con 32x2  %1695 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1696 = umul_low %711.xx, %1695 (0xaaab, 0xaaaa)
MESA: info:             con 32x2  %1697 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1698 = imadsh_mix16 %1697 (0xaaab, 0xaaaa), %711.xx, %1696
MESA: info:             div 32    %1248 = imadsh_mix16 %710, %114 (0xaaaaaaab), %1700.z
MESA: info:             div 32    %1249 = imadsh_mix16 %114 (0xaaaaaaab), %710, %1248
MESA: info:             div 1      %717 = ult %1249, %1694.x
MESA: info:             div 32     %718 = b2i32 %717
MESA: info:             div 32     %720 = ushr %1694.y, %104 (0x10)
MESA: info:             div 32    %1186 = iadd3 %1698.y, %718, %720
MESA: info:             con 32    %1407 = load_const (0x00000000)
MESA: info:             div 32    %1245 = imadsh_mix16 %711, %121 (0xaaab0000), %1407 (0x0)
MESA: info:             div 32     %723 = iadd %1249, %1245
MESA: info:             div 1      %724 = ult %723, %1249
MESA: info:             div 32     %725 = b2i32 %724
MESA: info:             div 32     %727 = ushr %1698.x, %104 (0x10)
MESA: info:             div 32    %1185 = iadd3 %1186, %725, %727
MESA: info:             div 32     %729 = ushr %1185, %95 (0x2)
MESA: info:             div 32    %1241 = umul_low %729, %101 (0x6)
MESA: info:             div 32    %1243 = imadsh_mix16 %101 (0x6), %729, %1241
MESA: info:             div 32    %1565 = isub %709, %1243
MESA: info:             con 32x2  %1701 = load_const (0xbf000000, 0x3f000000) = (-0.500000, 0.500000)
MESA: info:             div 32x2  %1702 = fmul %1701 (-0.500000, 0.500000), %266.xx
MESA: info:             div 32x2  %1703 = fmul %1689.yy, %1702
MESA: info:             div 32x2  %1704 = fmul %1702, %1689.zz
MESA: info:             div 32x2  %1705 = fneg %1703
MESA: info:             div 32x2  %1706 = ffma %1705, %222.xx, %1668.xx
MESA: info:             div 32x2  %1707 = ffma %222.xx, %1704, %1668.yy
MESA: info:             div 32x3   %760 = vec3 %1706.x, %1707.x, %1668.z
MESA: info:             div 32x3   %761 = vec3 %1706.y, %1707.y, %1668.z
MESA: info:             div 32    %1558 = ffma %222, %266.y, %1668.z
MESA: info:             div 32x3   %764 = vec3 %1706.x, %1707.x, %1558
MESA: info:             div 32x3   %765 = vec3 %1706.y, %1707.y, %1558
MESA: info:                               @store_reg (%760, %4) (base=0, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%761, %4) (base=1, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%764, %4) (base=2, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%765, %4) (base=3, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%228, %3) (base=0, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%235, %3) (base=1, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%239, %3) (base=2, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%243, %3) (base=3, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%247, %3) (base=4, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%254, %3) (base=5, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%258, %3) (base=6, wrmask=xyzw, legacy_fsat=0)
MESA: info:             div 32x4   %781 = @load_reg_indirect (%3, %1565) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             div 32x2   %782 = vec2 %781.x, %781.y
MESA: info:             div 32x2   %783 = vec2 %781.z, %781.w
MESA: info:             div 1x2   %1708 = flt! %781.xy, %781.zw
MESA: info:             div 1      %786 = ieq %1708.x, %1708.y
MESA: info:             div 32x2  %1709 = fsub %781.zw, %781.xy
MESA: info:             div 32     %791 = bcsel %786, %1709.x, %67 (0x0)
MESA: info:             div 32     %792 = bcsel %786, %67 (0x0), %1709.y
MESA: info:             div 32     %793 = fadd %781.x, %791
MESA: info:             div 32     %794 = fadd %781.y, %792
MESA: info:             div 32x2   %795 = vec2 %793, %794
MESA: info:             div 32    %1555 = fsub %781.z, %791
MESA: info:             div 32    %1554 = fsub %781.w, %792
MESA: info:             div 32x2   %800 = vec2 %1555, %1554
MESA: info:                               @store_reg (%782, %2) (base=0, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%795, %2) (base=1, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%800, %2) (base=2, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%783, %2) (base=3, wrmask=xy, legacy_fsat=0)
MESA: info:             div 32x3   %808 = @load_reg_indirect (%4, %1640) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             con 32x4   %823 = @load_const_ir3 (%67 (0x0)) (base=912)
MESA: info:             con 32x4   %830 = @load_const_ir3 (%99 (0x4)) (base=912)
MESA: info:             div 32x4  %1712 = fmul %830, %808.yyyy
MESA: info:             div 32x4  %1715 = ffma %823, %808.xxxx, %1712
MESA: info:             con 32    %1121 = load_const (0x00000008 = 0.000000)
MESA: info:             con 32x4   %841 = @load_const_ir3 (%1121 (0x8)) (base=912)
MESA: info:             div 32x4  %1718 = ffma %841, %808.zzzz, %1715
MESA: info:             con 32x4   %852 = @load_const_ir3 (%134 (0xc)) (base=912)
MESA: info:             div 32x4  %1724 = fadd %1718, %852
MESA: info:             div 32x4  %1784 = mov %1724.wzyx
MESA: info:                               // succs: b13
MESA: info:         } else {
MESA: info:             div block b9:         // preds: b7
MESA: info:             div 1      %865 = fge! %1618, %266.w
MESA: info:             div 1      %866 = iand %865, %139
MESA: info:                               // succs: b10 b11
MESA: info:             if %866 {
MESA: info:                 div block b10:        // preds: b9
MESA: info:                 div 32x2  %1726 = fmul %270.yw, %1670.xx
MESA: info:                 div 32x2  %1727 = fmul %1670.yy, %270.yw
MESA: info:                 div 32x2  %1729 = fneg %1727
MESA: info:                 div 32x4  %1731 = ffma %270.xzxz, %1670.xxxx, %1729.xxyy
MESA: info:                 div 32x4  %1734 = ffma %270.xzxz, %1670.yyyy, %1726.xxyy
MESA: info:                 div 32x2  %1735 = ffma %270.xz, %1670.zz, %274.ww
MESA: info:                 div 32x4  %1738 = ffma %222.xxxx, %1731, %1668.xxxx
MESA: info:                 div 32x4  %1741 = ffma %222.xxxx, %1734, %1668.yyyy
MESA: info:                 div 32x2  %1742 = ffma %222.xx, %1735, %1668.zz
MESA: info:                 div 32x3   %920 = vec3 %1738.x, %1741.x, %1742.x
MESA: info:                 div 32x3   %921 = vec3 %1738.y, %1741.y, %1742.y
MESA: info:                 div 32x3   %922 = vec3 %1738.z, %1741.z, %1742.x
MESA: info:                 div 32x3   %923 = vec3 %1738.w, %1741.w, %1742.y
MESA: info:                                   @store_reg (%920, %1) (base=0, wrmask=xyz, legacy_fsat=0)
MESA: info:                                   @store_reg (%921, %1) (base=1, wrmask=xyz, legacy_fsat=0)
MESA: info:                                   @store_reg (%922, %1) (base=2, wrmask=xyz, legacy_fsat=0)
MESA: info:                                   @store_reg (%923, %1) (base=3, wrmask=xyz, legacy_fsat=0)
MESA: info:                 div 1x2   %1743 = flt! %258.xy, %258.zw
MESA: info:                 div 1      %931 = ieq %1743.x, %1743.y
MESA: info:                 div 32x2  %1744 = fsub %258.zw, %258.xy
MESA: info:                 div 32     %936 = bcsel %931, %1744.x, %67 (0x0)
MESA: info:                 div 32     %937 = bcsel %931, %67 (0x0), %1744.y
MESA: info:                 div 32     %938 = fadd %258.x, %936
MESA: info:                 div 32     %939 = fadd %258.y, %937
MESA: info:                 div 32x2   %940 = vec2 %938, %939
MESA: info:                 div 32    %1523 = fsub %258.z, %936
MESA: info:                 div 32    %1522 = fsub %258.w, %937
MESA: info:                 div 32x2   %945 = vec2 %1523, %1522
MESA: info:                 div 32x2   %948 = vec2 %258.x, %258.y
MESA: info:                                   @store_reg (%948, %0) (base=0, wrmask=xy, legacy_fsat=0)
MESA: info:                                   @store_reg (%940, %0) (base=1, wrmask=xy, legacy_fsat=0)
MESA: info:                                   @store_reg (%945, %0) (base=2, wrmask=xy, legacy_fsat=0)
MESA: info:                 div 32x2   %952 = vec2 %258.z, %258.w
MESA: info:                                   @store_reg (%952, %0) (base=3, wrmask=xy, legacy_fsat=0)
MESA: info:                 div 32x3   %955 = @load_reg_indirect (%1, %1640) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:                 con 32x4   %971 = @load_const_ir3 (%67 (0x0)) (base=912)
MESA: info:                 con 32x4   %978 = @load_const_ir3 (%99 (0x4)) (base=912)
MESA: info:                 div 32x4  %1747 = fmul %978, %955.yyyy
MESA: info:                 div 32x4  %1750 = ffma %971, %955.xxxx, %1747
MESA: info:                 con 32    %1124 = load_const (0x00000008 = 0.000000)
MESA: info:                 con 32x4   %989 = @load_const_ir3 (%1124 (0x8)) (base=912)
MESA: info:                 div 32x4  %1753 = ffma %989, %955.zzzz, %1750
MESA: info:                 con 32x4  %1000 = @load_const_ir3 (%134 (0xc)) (base=912)
MESA: info:                 div 32x4  %1759 = fadd %1753, %1000
MESA: info:                 div 32x4  %1771 = mov %1759.wzyx
MESA: info:                                   // succs: b12
MESA: info:             } else {
MESA: info:                 div block b11:        // preds: b9
MESA: info:                 con 32x4  %1772 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                                   // succs: b12
MESA: info:             }
MESA: info:             div block b12:        // preds: b10 b11
MESA: info:             div 32x4  %1770 = phi b10: %1771, b11: %1772 (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                               // succs: b13
MESA: info:         }
MESA: info:         div block b13:        // preds: b8 b12
MESA: info:         div 32x4  %1783 = phi b8: %1784, b12: %1770
MESA: info:                           // succs: b15
MESA: info:     } else {
MESA: info:         div block b14:        // preds: b6
MESA: info:         con 32x4  %1793 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                           // succs: b15
MESA: info:     }
MESA: info:     con block b15:        // preds: b13 b14
MESA: info:     div 32x4  %1792 = phi b13: %1783, b14: %1793 (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:     div 32x4  %1069 = vec4 %1792.w, %1792.z, %1792.y, %1792.x
MESA: info:                       @store_output (%1069, %67 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                       // succs: b16
MESA: info:     block b16:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 9833377cfe18a16712d1bd3435a2d1aebeef7280:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (228 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c232.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      6
MESA: info: ;   range[0]:
MESA: info: ;     block:          2
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           196 vec4 (0b -> 3136b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c200.x
MESA: info: ;     size:           8 vec4 (320b -> 448b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c208.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c216.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[4]:
MESA: info: ;     block:          1
MESA: info: ;     offset:         c220.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[5]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c228.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0x1)
MESA: info: @const(c233.x)	0x3ef47d19, 0x00002aaa, 0x2aaaaaab, 0x0000ffff
MESA: info: @const(c234.x)	0x0000aaab, 0x00000000, 0x00000200, 0x000000b0
MESA: info: @const(c235.x)	0xbc46c6a5, 0x3d5be101, 0xbdf0555d, 0x3e468bc1
MESA: info: @const(c236.x)	0xbeaa5476, 0x3f7ffea5, 0xbfc90fdb, 0x80000000
MESA: info: @const(c237.x)	0x0000000c, 0x0000aaaa, 0xaaaaaaab, 0xbf000000
MESA: info: @const(c238.x)	0x3f747644, 0x3fc90fdb, 0x3f800000, 0x3e800000
MESA: info: @const(c239.x)	0x5d5e0b6b, 0x3f060a92, 0x41400000, 0x00000006
MESA: info: shps #l58
MESA: info: getone #l58
MESA: info: ldc.u.offset0.1.imm.base1 r50.y, 4, 4
MESA: info: ldc.u.offset2.2.imm.base1 r48.y, 0, 4
MESA: info: ldc.u.offset1.1.imm.base1 r48.w, 25, 0
MESA: info: ldc.u.offset1.1.imm.base1 r49.x, 4, 4
MESA: info: ldc.u.offset3.1.imm.base1 r48.x, 24, 0
MESA: info: ldc.u.offset3.1.imm.base1 r49.y, 2, 4
MESA: info: ldc.u.offset3.1.imm.base1 r49.z, 3, 4
MESA: info: mova1 a1.x, (r)16
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 1
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: (sy)(ss)mul.f r50.w, r50.y, r50.y
MESA: info: add.f r50.w, r50.w, (2.0)
MESA: info: mul.f r48.z, r48.z, r48.w
MESA: info: cmps.f.ge hr51.z, (0.0), r49.x
MESA: info: rcp r48.x, r48.x
MESA: info: rcp r49.y, r49.y
MESA: info: rcp r49.z, r49.z
MESA: info: mul.f r50.z, (neg)r50.y, r50.y
MESA: info: mul.f r51.x, r50.y, r50.y
MESA: info: mul.f r48.y, r48.y, r48.w
MESA: info: sub.u hr51.z, h(1), hr51.z
MESA: info: add.f r50.z, r50.z, (1.0)
MESA: info: add.f r51.x, r51.x, (1.0)
MESA: info: mul.f r50.y, (2.0), r50.y
MESA: info: absneg.f r48.y, (neg)r48.y
MESA: info: cov.u16s32 r50.x, hr51.z
MESA: info: mul.f r50.z, r50.z, c233.x
MESA: info: (ss)rcp r50.w, r50.w
MESA: info: rcp r48.z, r48.z
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[5], r49.y, 1
MESA: info: stc.u32 c[6], r49.z, 1
MESA: info: stc.u32 c[7], r51.x, 1
MESA: info: stc.u32 c[9], r50.y, 1
MESA: info: stc.u32 c[1], r48.y, 1
MESA: info: stc.u32 c[3], r50.x, 1
MESA: info: (ss)mul.f r50.z, r50.z, r50.w
MESA: info: stc.u32 c[2], r48.z, 1
MESA: info: stc.u32 c[4], r49.x, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[8], r50.z, 1
MESA: info: ldc.196.k.imm.base1 c[a1.x], 0, 2
MESA: info: (ss)mova1 a1.x, (r)800
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 20, 0
MESA: info: (ss)mova1 a1.x, (r)832
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)864
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (ss)mova1 a1.x, (r)912
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l58:
MESA: info: (jp)and.b r20.y, r3.x, c233.w
MESA: info: shr.b r20.z, r3.x, 16
MESA: info: mov.u32u32 r20.w, 0xaaaaaaab
MESA: info: mov.u32u32 r22.z, 0xaaab0000
MESA: info: mull.u r22.x, r20.y, c237.z
MESA: info: mull.u r21.x, r20.y, c234.x
MESA: info: mull.u r21.y, r20.y, c237.y
MESA: info: mull.u r21.z, r20.z, c234.x
MESA: info: mull.u r21.w, r20.z, c237.y
MESA: info: madsh.m16 r22.x, r20.y, r20.w, (last)r22.x
MESA: info: madsh.m16 r21.x, c234.x, r20.y, (last)r21.x
MESA: info: madsh.m16 r21.y, c237.y, r20.y, (last)r21.y
MESA: info: madsh.m16 r21.z, c234.x, r20.z, (last)r21.z
MESA: info: madsh.m16 r21.w, c237.y, r20.z, (last)r21.w
MESA: info: madsh.m16 r20.y, c237.z, r20.y, (last)r22.x
MESA: info: madsh.m16 r20.z, (last)r20.z, r22.z, c234.y
MESA: info: absneg.s r23.x, (abs)r3.x
MESA: info: cmps.u.lt hr42.x, r20.y, (last)r21.x
MESA: info: add.u r20.z, r20.y, (last)r20.z
MESA: info: and.b r23.w, r23.x, c233.w
MESA: info: mov.u32u32 r23.y, 0x2aaaaaab
MESA: info: cov.u16s32 r22.y, (last)hr42.x
MESA: info: cmps.u.lt hr41.x, (last)r20.z, (last)r20.y
MESA: info: shr.b r23.x, (last)r23.x, 16
MESA: info: shr.b r21.y, (last)r21.y, 16
MESA: info: mull.u r25.z, r23.w, c233.z
MESA: info: mull.u r24.z, r23.w, c234.x
MESA: info: mull.u r24.w, r23.w, c233.y
MESA: info: cov.u16s32 r22.w, (last)hr41.x
MESA: info: mull.u r25.x, r23.x, c234.x
MESA: info: mull.u r25.y, r23.x, c233.y
MESA: info: sad.s32 r21.w, (last)r21.w, r22.y, (last)r21.y
MESA: info: madsh.m16 r23.y, r23.w, r23.y, (last)r25.z
MESA: info: shr.b r21.z, (last)r21.z, 16
MESA: info: madsh.m16 r24.z, c234.x, r23.w, (last)r24.z
MESA: info: madsh.m16 r24.w, c233.y, r23.w, (last)r24.w
MESA: info: madsh.m16 r25.x, c234.x, r23.x, (last)r25.x
MESA: info: madsh.m16 r25.y, c233.y, r23.x, (last)r25.y
MESA: info: madsh.m16 r23.w, c233.z, r23.w, (last)r23.y
MESA: info: madsh.m16 r23.x, (last)r23.x, r22.z, c234.y
MESA: info: sad.s32 r21.w, (last)r21.w, r22.w, (last)r21.z
MESA: info: cmps.u.lt hr40.z, r23.w, (last)r24.z
MESA: info: add.u r23.x, r23.w, (last)r23.x
MESA: info: shr.b r23.z, r21.w, 2
MESA: info: shr.b r21.w, (last)r21.w, 3
MESA: info: cov.u16s32 r20.z, (last)hr40.z
MESA: info: cmps.u.lt hr47.z, r23.x, (last)r23.w
MESA: info: not.b r23.x, (last)r23.x
MESA: info: shr.b r24.w, (last)r24.w, 16
MESA: info: mull.u r24.y, r21.w, 12
MESA: info: cov.u16s32 r21.x, (last)hr47.z
MESA: info: add.u r21.y, r23.x, 1
MESA: info: sad.s32 r25.y, (last)r25.y, r20.z, (last)r24.w
MESA: info: madsh.m16 r21.w, c237.x, r21.w, (last)r24.y
MESA: info: shr.b r25.x, (last)r25.x, 16
MESA: info: cmps.u.lt hr42.z, (last)r21.y, (last)r23.x
MESA: info: sub.u r21.w, r3.x, (last)r21.w
MESA: info: sad.s32 r25.y, (last)r25.y, r21.x, (last)r25.x
MESA: info: mull.u r24.x, r23.z, 6
MESA: info: cov.u16s32 r21.z, (last)hr42.z
MESA: info: cmps.s.lt p0.x, (last)r21.w, 6
MESA: info: madsh.m16 r23.z, c239.w, r23.z, (last)r24.x
MESA: info: not.b r21.w, r25.y
MESA: info: mov.f32f32 r22.y, c204.w
MESA: info: sub.u r23.z, r3.x, (last)r23.z
MESA: info: add.u r21.w, (last)r21.w, (last)r21.z
MESA: info: cmps.s.lt r3.x, (last)r3.x, 0
MESA: info: mov.f32f32 r22.x, c0.x
MESA: info: nop
MESA: info: (nop2) sel.b32 r21.w, (last)r21.w, r3.x, (last)r25.y
MESA: info: (nop2) ashr.b r21.w, (last)r21.w, 1
MESA: info: (nop2) shr.b r22.w, r21.w, 31
MESA: info: (nop2) add.u r21.w, (last)r21.w, (last)r22.w
MESA: info: (nop3) shl.b r21.w, (last)r21.w, 2
MESA: info: (rpt1)nop
MESA: info: isam.v.base3 (u32)(xyz)r23.w, r21.w, s#0, t#1
MESA: info: isam.v.base3 (u32)(xyzw)r26.x, r21.w, s#0, t#0
MESA: info: (sy)mul.f r24.z, r0.w, r24.x
MESA: info: (rpt1)mul.f r25.z, (r)r1.x, (last)r24.x
MESA: info: mad.f32 r24.z, r0.x, r23.w, (last)r24.z
MESA: info: (rpt1)mad.f32 r25.z, (r)r0.y, r23.w, (r)(last)r25.z
MESA: info: (rpt1)mad.f32 r25.x, (r)r1.w, r24.y, (r)(last)r25.z
MESA: info: mad.f32 r24.w, r1.z, r24.y, (last)r24.z
MESA: info: mul.f r27.w, r25.x, r25.x
MESA: info: cov.f32s32 r26.w, (last)r26.w
MESA: info: mad.f32 r27.w, r25.y, r25.y, (last)r27.w
MESA: info: mul.f r0.w, (last)r0.w, r26.y
MESA: info: mad.f32 r27.w, r24.w, r24.w, (last)r27.w
MESA: info: mull.u r28.x, r26.w, 176
MESA: info: mul.f r1.x, (last)r1.x, r26.y
MESA: info: madsh.m16 r28.x, c234.w, r26.w, (last)r28.x
MESA: info: shl.b r26.w, (last)r26.w, 2
MESA: info: mul.f r1.y, (last)r1.y, (last)r26.y
MESA: info: rsq r20.z, r27.w
MESA: info: shr.b r28.x, (last)r28.x, 2
MESA: info: add.u r26.w, (last)r26.w, c234.z
MESA: info: mad.f32 r0.x, (last)r0.x, r26.x, (last)r0.w
MESA: info: cov.u32s16 hr40.z, (last)r28.x
MESA: info: mad.f32 r0.y, (last)r0.y, r26.x, (last)r1.x
MESA: info: mad.f32 r0.z, (last)r0.z, r26.x, (last)r1.y
MESA: info: mova a0.x, (last)hr40.z
MESA: info: cov.u32s16 hr40.w, (last)r26.w
MESA: info: mad.f32 r1.z, (last)r1.z, r26.z, (last)r0.x
MESA: info: mad.f32 r1.w, (last)r1.w, r26.z, (last)r0.y
MESA: info: (ss)sqrt r27.w, (last)r27.w
MESA: info: (rpt2)mul.f r24.w, (last)(r)r24.w, (last)r20.z
MESA: info: mad.f32 r2.x, (last)r2.x, r26.z, (last)r0.z
MESA: info: add.f r27.y, (last)r1.w, (last)r2.z
MESA: info: add.f r27.x, (last)r1.z, (last)r2.y
MESA: info: add.f r27.z, (last)r2.x, (last)r2.w
MESA: info: mov.f32f32 r21.x, c<a0.x + 46>
MESA: info: mov.f32f32 r21.y, c<a0.x + 44>
MESA: info: mov.f32f32 r21.z, c<a0.x + 45>
MESA: info: mov.f32f32 r21.w, c<a0.x + 16>
MESA: info: mov.f32f32 r22.w, c<a0.x + 17>
MESA: info: (ss)(rpt2)mul.f r25.z, r27.w, (r)r24.w
MESA: info: mul.f r26.y, c<a0.x + 52>, r25.z
MESA: info: mul.f r26.z, c<a0.x + 56>, r25.z
MESA: info: mul.f r26.w, c<a0.x + 53>, r25.z
MESA: info: mul.f r28.x, c<a0.x + 52>, r25.w
MESA: info: mul.f r28.y, c<a0.x + 56>, r25.w
MESA: info: mul.f r25.z, c<a0.x + 57>, (last)r25.z
MESA: info: mul.f r30.x, c<a0.x + 54>, r27.w
MESA: info: mul.f r30.y, c<a0.x + 58>, r27.w
MESA: info: mul.f r28.z, c<a0.x + 52>, r26.x
MESA: info: mul.f r26.x, c<a0.x + 56>, (last)r26.x
MESA: info: mul.f r28.w, r25.w, c<a0.x + 53>
MESA: info: min.f r29.w, r28.x, r28.y
MESA: info: min.f r29.z, r26.w, r25.z
MESA: info: mul.f r25.w, (last)r25.w, c<a0.x + 57>
MESA: info: min.f r30.w, r30.x, r30.y
MESA: info: min.f r30.z, r28.z, r26.x
MESA: info: min.f r29.x, r26.y, r26.z
MESA: info: max.f r28.x, (last)r28.x, (last)r28.y
MESA: info: add.f r29.w, (last)r29.w, (last)r29.z
MESA: info: max.f r26.w, (last)r26.w, (last)r25.z
MESA: info: min.f r29.y, (neg)r28.w, (neg)r25.w
MESA: info: max.f r30.x, (last)r30.x, (last)r30.y
MESA: info: add.f r30.z, (last)r30.z, (last)r30.w
MESA: info: max.f r28.z, (last)r28.z, (last)r26.x
MESA: info: max.f r26.y, (last)r26.y, (last)r26.z
MESA: info: add.f r29.w, (last)r29.w, r27.y
MESA: info: add.f r28.x, (last)r28.x, (last)r26.w
MESA: info: add.f r29.x, (last)r29.x, (last)r29.y
MESA: info: max.f r28.w, (last)(neg)r28.w, (last)(neg)r25.w
MESA: info: add.f r30.z, (last)r30.z, r27.z
MESA: info: add.f r28.z, (last)r28.z, (last)r30.x
MESA: info: max.f r29.w, c203.y, (last)r29.w
MESA: info: add.f r28.x, (last)r28.x, r27.y
MESA: info: add.f r29.x, (last)r29.x, r27.x
MESA: info: add.f r26.y, (last)r26.y, (last)r28.w
MESA: info: max.f r30.z, c203.z, (last)r30.z
MESA: info: add.f r28.z, (last)r28.z, r27.z
MESA: info: min.f r29.w, (last)r29.w, (last)r28.x
MESA: info: max.f r29.x, c203.x, (last)r29.x
MESA: info: add.f r26.y, (last)r26.y, r27.x
MESA: info: min.f r30.z, (last)r30.z, (last)r28.z
MESA: info: add.f r29.w, c203.y, (last)(neg)r29.w
MESA: info: min.f r29.x, (last)r29.x, (last)r26.y
MESA: info: add.f r30.z, c203.z, (last)(neg)r30.z
MESA: info: mul.f r29.w, (last)r29.w, r29.w
MESA: info: add.f r29.x, c203.x, (last)(neg)r29.x
MESA: info: mad.f32 r30.z, (last)r30.z, r30.z, (last)r29.w
MESA: info: mov.f32f32 r23.x, c<a0.x + 18>
MESA: info: mad.f32 r29.x, (last)r29.x, r29.x, (last)r30.z
MESA: info: mov.f32f32 r23.y, c<a0.x + 19>
MESA: info: mov.f32f32 r23.w, c<a0.x + 20>
MESA: info: mov.f32f32 r24.x, c<a0.x + 21>
MESA: info: mov.f32f32 r24.y, c<a0.x + 22>
MESA: info: mov.f32f32 r31.x, c<a0.x + 23>
MESA: info: sqrt r29.x, (last)r29.x
MESA: info: mov.f32f32 r31.y, c<a0.x + 24>
MESA: info: mov.f32f32 r31.z, c<a0.x + 25>
MESA: info: mov.f32f32 r31.w, c<a0.x + 26>
MESA: info: mov.f32f32 r32.x, c<a0.x + 27>
MESA: info: mov.f32f32 r32.y, c<a0.x + 28>
MESA: info: mov.f32f32 r32.z, c<a0.x + 29>
MESA: info: mov.f32f32 r32.w, c<a0.x + 30>
MESA: info: mov.f32f32 r33.x, c<a0.x + 31>
MESA: info: mov.f32f32 r33.y, c<a0.x + 32>
MESA: info: mov.f32f32 r33.z, c<a0.x + 33>
MESA: info: mov.f32f32 r33.w, c<a0.x + 34>
MESA: info: mov.f32f32 r34.x, c<a0.x + 35>
MESA: info: mov.f32f32 r34.y, c<a0.x + 36>
MESA: info: mov.f32f32 r34.z, c<a0.x + 37>
MESA: info: mov.f32f32 r34.w, c<a0.x + 38>
MESA: info: mov.f32f32 r35.x, c<a0.x + 39>
MESA: info: mov.f32f32 r35.y, c<a0.x + 40>
MESA: info: mov.f32f32 r35.z, c<a0.x + 41>
MESA: info: mov.f32f32 r35.w, c<a0.x + 42>
MESA: info: mov.f32f32 r36.x, c<a0.x + 43>
MESA: info: mov.f32f32 r36.y, c<a0.x + 47>
MESA: info: mov.f32f32 r36.z, c<a0.x + 49>
MESA: info: mov.f32f32 r36.w, c<a0.x + 51>
MESA: info: mov.f32f32 r37.x, c<a0.x + 48>
MESA: info: mov.f32f32 r37.y, c<a0.x + 50>
MESA: info: (ul)mov.f32f32 r37.z, c<a0.x + 55>
MESA: info: mova a0.x, (last)hr40.w
MESA: info: (rpt4)nop
MESA: info: (ss)mad.f32 r22.y, c<a0.x + 208>, r22.y, (neg)(last)r29.x
MESA: info: (nop1) (ul)mul.f r22.x, c<a0.x + 209>, (last)r22.x
MESA: info: (nop2) mul.f r22.y, (2.0), (last)r22.y
MESA: info: (nop2) mul.f r22.y, (last)r22.y, (last)r22.x
MESA: info: (nop3) cmps.f.lt p0.y, (0.0), (last)r22.y
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l556
MESA: info: cmps.f.ge r39.x, (0.0), r24.w
MESA: info: absneg.f r39.y, (abs)r24.w
MESA: info: (rpt2)add.f r37.w, (r)c203.x, (neg)(r)r27.x
MESA: info: sel.b32 r39.w, r25.x, r39.x, r39.y
MESA: info: mul.f r38.z, r37.w, r37.w
MESA: info: sel.b32 r39.y, (last)r39.y, r39.x, r25.x
MESA: info: cmps.f.ge r40.x, (abs)r39.w, c239.x
MESA: info: mad.f32 r38.z, r38.x, r38.x, (last)r38.z
MESA: info: cmps.f.eq r39.z, (abs)r24.w, (abs)r25.x
MESA: info: sel.b32 r40.x, c238.w, r40.x, c238.z
MESA: info: mov.u32u32 r38.w, 0x7fffffff
MESA: info: sel.b32 r39.x, c238.y, r39.x, c234.y
MESA: info: mul.f r39.w, (last)r39.w, r40.x
MESA: info: rsq r38.z, (last)r38.z
MESA: info: (nop3) mul.f r39.y, (last)r39.y, (last)r40.x
MESA: info: nop
MESA: info: rcp r39.w, (last)r39.w
MESA: info: (ss)mul.f r39.y, (last)(abs)r39.y, (abs)r39.w
MESA: info: mul.f r38.y, (last)r38.y, r38.z
MESA: info: sel.b32 r39.z, c238.z, r39.z, (last)r39.y
MESA: info: min.f r39.w, r25.x, (last)r39.w
MESA: info: cmps.f.ge r40.y, (1.0), (abs)r38.y
MESA: info: cmps.f.ge r42.x, (1.0), r39.z
MESA: info: and.b r43.x, r39.z, c236.w
MESA: info: rcp r40.w, r38.y
MESA: info: and.b r40.z, r38.y, c236.w
MESA: info: rcp r42.z, r39.z
MESA: info: sel.b32 r42.w, c234.y, r42.x, c236.z
MESA: info: sel.b32 r41.z, c234.y, r40.y, c236.z
MESA: info: cmps.f.lt r39.w, (last)r39.w, (0.0)
MESA: info: mul.f r41.x, r38.x, r38.z
MESA: info: mul.f r41.y, r37.w, (last)r38.z
MESA: info: (ss)sel.b32 r39.z, (last)r39.z, r42.x, (last)r42.z
MESA: info: (nop1) sel.b32 r38.y, (last)r38.y, r40.y, (last)r40.w
MESA: info: mul.f r43.y, r39.z, r39.z
MESA: info: mul.f r41.w, r38.y, r38.y
MESA: info: absneg.f r39.z, (last)(abs)r39.z
MESA: info: mad.f32 r43.z, c235.x, r43.y, c235.y
MESA: info: mad.f32 r42.y, c235.x, r41.w, c235.y
MESA: info: absneg.f r38.y, (last)(abs)r38.y
MESA: info: mad.f32 r43.z, (last)r43.z, r43.y, c235.z
MESA: info: (nop1) mad.f32 r42.y, (last)r42.y, r41.w, c235.z
MESA: info: mad.f32 r43.z, (last)r43.z, r43.y, c235.w
MESA: info: (nop1) mad.f32 r42.y, (last)r42.y, r41.w, c235.w
MESA: info: mad.f32 r43.z, (last)r43.z, r43.y, c236.x
MESA: info: (nop1) mad.f32 r42.y, (last)r42.y, r41.w, c236.x
MESA: info: mad.f32 r43.z, (last)r43.z, r43.y, c236.y
MESA: info: (nop1) mad.f32 r42.y, (last)r42.y, r41.w, c236.y
MESA: info: mad.f32 r39.z, (last)r39.z, r43.z, (last)r42.w
MESA: info: (nop1) mad.f32 r38.y, (last)r38.y, r42.y, (last)r41.z
MESA: info: andg r39.z, (last)r39.z, r38.w, (last)r43.x
MESA: info: (nop1) andg r38.y, (last)r38.y, r38.w, (last)r40.z
MESA: info: add.f r39.x, (last)r39.x, (last)r39.z
MESA: info: (nop1) cmps.f.lt p0.y, r38.y, (last)r21.x
MESA: info: (nop2) absneg.f r43.w, (neg)r39.x
MESA: info: sel.b32 r43.w, (last)r43.w, r39.w, (last)r39.x
MESA: info: brao !p0.y, !p0.x, #l484
MESA: info: cmps.f.ge r44.x, (0.0), r37.w
MESA: info: absneg.f r44.y, (abs)r37.w
MESA: info: cmps.f.eq r37.w, (last)(abs)r37.w, (abs)r38.x
MESA: info: sel.b32 r44.z, r38.x, r44.x, r44.y
MESA: info: sel.b32 r44.y, (last)r44.y, r44.x, r38.x
MESA: info: sel.b32 r44.x, c238.y, r44.x, c234.y
MESA: info: cmps.f.ge r44.w, (abs)r44.z, c239.x
MESA: info: mul.f r45.x, c237.w, r21.y
MESA: info: mul.f r21.y, (0.5), (last)r21.y
MESA: info: sel.b32 r44.w, c238.w, r44.w, c238.z
MESA: info: mul.f r45.y, r41.x, r45.x
MESA: info: mul.f r41.x, (last)r41.x, r21.y
MESA: info: mul.f r44.z, (last)r44.z, r44.w
MESA: info: mul.f r44.y, (last)r44.y, (last)r44.w
MESA: info: mul.f r45.x, (last)r45.x, r41.y
MESA: info: mul.f r21.y, (last)r21.y, (last)r41.y
MESA: info: cov.u32s16 hr47.x, r23.z
MESA: info: mad.f32 r45.y, (neg)(last)r45.y, r27.w, r27.x
MESA: info: rcp r44.z, (last)r44.z
MESA: info: mad.f32 r41.x, (neg)(last)r41.x, r27.w, r27.x
MESA: info: mad.f32 r45.x, r27.w, r45.x, r27.y
MESA: info: mad.f32 r21.y, r27.w, r21.y, r27.y
MESA: info: mad.f32 r27.w, (last)r27.w, r21.z, r27.z
MESA: info: mull.u hr47.x, (last)hr47.x, h(3)
MESA: info: mov.u32u32 r17.y, r45.y
MESA: info: mov.u32u32 r17.z, r45.x
MESA: info: mov.u32u32 r17.w, r27.z
MESA: info: mov.u32u32 r18.x, r41.x
MESA: info: mov.u32u32 r18.y, r21.y
MESA: info: (ss)mul.f r44.y, (last)(abs)r44.y, (abs)r44.z
MESA: info: min.f r38.x, (last)r38.x, (last)r44.z
MESA: info: sel.b32 r37.w, c238.z, r37.w, (last)r44.y
MESA: info: mov.u32u32 r18.z, r27.z
MESA: info: cmps.f.lt r38.x, (last)r38.x, (0.0)
MESA: info: cmps.f.ge r45.z, (1.0), r37.w
MESA: info: and.b r46.x, r37.w, c236.w
MESA: info: mov.u32u32 r18.w, (last)r45.y
MESA: info: rcp r45.w, r37.w
MESA: info: sel.b32 r46.y, c234.y, r45.z, c236.z
MESA: info: mov.u32u32 r19.x, (last)r45.x
MESA: info: mov.u32u32 r19.y, r27.w
MESA: info: mov.u32u32 r19.z, (last)r41.x
MESA: info: mov.u32u32 r19.w, (last)r21.y
MESA: info: mov.u32u32 r20.x, r27.w
MESA: info: mov.u32u32 r10.y, (last)r21.w
MESA: info: mov.u32u32 r10.z, (last)r22.w
MESA: info: mov.u32u32 r10.w, (last)r23.x
MESA: info: mov.u32u32 r11.x, (last)r23.y
MESA: info: (ss)sel.b32 r37.w, (last)r37.w, r45.z, (last)r45.w
MESA: info: mov.u32u32 r11.y, (last)r23.w
MESA: info: mov.u32u32 r11.z, (last)r24.x
MESA: info: mul.f r46.z, r37.w, r37.w
MESA: info: absneg.f r37.w, (last)(abs)r37.w
MESA: info: mov.u32u32 r11.w, (last)r24.y
MESA: info: mad.f32 r46.w, c235.x, r46.z, c235.y
MESA: info: mov.u32u32 r12.x, (last)r31.x
MESA: info: mov.u32u32 r12.y, (last)r31.y
MESA: info: mad.f32 r46.w, (last)r46.w, r46.z, c235.z
MESA: info: mov.u32u32 r12.z, (last)r31.z
MESA: info: mov.u32u32 r12.w, (last)r31.w
MESA: info: mad.f32 r46.w, (last)r46.w, r46.z, c235.w
MESA: info: mov.u32u32 r13.x, (last)r32.x
MESA: info: mov.u32u32 r13.y, (last)r32.y
MESA: info: mad.f32 r46.w, (last)r46.w, r46.z, c236.x
MESA: info: mov.u32u32 r13.z, (last)r32.z
MESA: info: mov.u32u32 r13.w, (last)r32.w
MESA: info: mad.f32 r46.w, (last)r46.w, r46.z, c236.y
MESA: info: mov.u32u32 r14.x, (last)r33.x
MESA: info: mov.u32u32 r14.y, (last)r33.y
MESA: info: mad.f32 r37.w, (last)r37.w, r46.w, (last)r46.y
MESA: info: mov.u32u32 r14.z, (last)r33.z
MESA: info: mov.u32u32 r14.w, (last)r33.w
MESA: info: andg r37.w, (last)r37.w, r38.w, (last)r46.x
MESA: info: mov.u32u32 r15.x, (last)r34.x
MESA: info: mov.u32u32 r15.y, (last)r34.y
MESA: info: add.f r44.x, (last)r44.x, (last)r37.w
MESA: info: mov.u32u32 r15.z, (last)r34.z
MESA: info: mov.u32u32 r15.w, (last)r34.w
MESA: info: absneg.f r47.x, (neg)r44.x
MESA: info: mov.u32u32 r16.x, (last)r35.x
MESA: info: mov.u32u32 r16.y, r35.y
MESA: info: sel.b32 r47.x, (last)r47.x, r38.x, (last)r44.x
MESA: info: mov.u32u32 r16.z, r35.z
MESA: info: mov.u32u32 r16.w, r35.w
MESA: info: add.f r47.x, (last)r47.x, c239.y
MESA: info: mov.u32u32 r17.x, r36.x
MESA: info: nop
MESA: info: (nop2) add.f r47.x, (last)r47.x, (last)(neg)r43.w
MESA: info: (nop2) mad.f32 r47.x, c238.x, r47.x, c239.z
MESA: info: cov.f32s32 r47.x, (last)r47.x
MESA: info: (rpt1)nop
MESA: info: and.b r47.y, r47.x, c233.w
MESA: info: (nop1) shr.b r47.z, r47.x, 16
MESA: info: mull.u r0.w, r47.y, c237.z
MESA: info: mull.u r47.w, r47.y, c234.x
MESA: info: mull.u r0.x, r47.y, c237.y
MESA: info: mull.u r0.y, r47.z, c234.x
MESA: info: mull.u r0.z, r47.z, c237.y
MESA: info: madsh.m16 r20.w, r47.y, r20.w, (last)r0.w
MESA: info: madsh.m16 r47.w, c234.x, r47.y, (last)r47.w
MESA: info: madsh.m16 r0.x, c237.y, r47.y, (last)r0.x
MESA: info: madsh.m16 r0.y, c234.x, r47.z, (last)r0.y
MESA: info: madsh.m16 r0.z, c237.y, r47.z, (last)r0.z
MESA: info: madsh.m16 r47.y, c237.z, r47.y, (last)r20.w
MESA: info: madsh.m16 r47.z, (last)r47.z, r22.z, c234.y
MESA: info: shr.b r0.x, (last)r0.x, 16
MESA: info: cmps.u.lt hr2.x, r47.y, (last)r47.w
MESA: info: add.u r47.z, r47.y, (last)r47.z
MESA: info: shr.b r0.y, (last)r0.y, 16
MESA: info: cov.u16s32 r1.y, (last)hr2.x
MESA: info: (nop1) cmps.u.lt hr2.y, (last)r47.z, (last)r47.y
MESA: info: sad.s32 r0.z, (last)r0.z, r1.y, (last)r0.x
MESA: info: cov.u16s32 r1.z, (last)hr2.y
MESA: info: (rpt1)nop
MESA: info: (nop2) sad.s32 r0.z, (last)r0.z, r1.z, (last)r0.y
MESA: info: (nop2) shr.b r0.z, (last)r0.z, 2
MESA: info: (nop1) mull.u r1.w, r0.z, 6
MESA: info: (nop2) madsh.m16 r0.z, c239.w, r0.z, (last)r1.w
MESA: info: (nop2) sub.u r47.x, (last)r47.x, (last)r0.z
MESA: info: cov.u32s16 hr4.x, (last)r47.x
MESA: info: (rpt1)nop
MESA: info: (nop2) shl.b hr4.x, (last)hr4.x, h(2)
MESA: info: mova a0.x, (last)hr4.x
MESA: info: (rpt4)nop
MESA: info: mov.u32u32 r2.y, r<a0.x + 41>
MESA: info: mov.u32u32 r2.z, r<a0.x + 42>
MESA: info: mov.u32u32 r2.w, r<a0.x + 43>
MESA: info: (ul)mov.u32u32 r3.x, r<a0.x + 44>
MESA: info: mova a0.x, hr47.x
MESA: info: (rpt1)cmps.f.lt hr6.z, (r)r2.y, (r)r2.w
MESA: info: add.f r3.w, r2.w, (neg)r2.y
MESA: info: add.f r4.x, r3.x, (neg)r2.z
MESA: info: cmps.s.eq r3.z, hr6.z, hr6.w
MESA: info: mov.u32u32 r4.y, r<a0.x + 69>
MESA: info: mov.u32u32 r4.z, r<a0.x + 70>
MESA: info: sel.b32 r3.w, (last)r3.w, r3.z, c234.y
MESA: info: (ul)mov.u32u32 r17.y, r<a0.x + 71>
MESA: info: mul.f r4.w, c229.x, r4.z
MESA: info: mul.f r6.x, c229.y, r4.z
MESA: info: sel.b32 r3.z, c234.y, r3.z, r4.x
MESA: info: mad.f32 r4.w, c228.x, r4.y, (last)r4.w
MESA: info: mad.f32 r6.x, c228.y, r4.y, (last)r6.x
MESA: info: mov.u32u32 r8.y, r2.y
MESA: info: mad.f32 r4.w, c230.x, r17.y, (last)r4.w
MESA: info: mad.f32 r6.x, c230.y, r17.y, (last)r6.x
MESA: info: add.f r2.y, (last)r2.y, r3.w
MESA: info: mov.u32u32 r8.z, r2.z
MESA: info: add.f r3.w, r2.w, (last)(neg)r3.w
MESA: info: add.f r2.z, (last)r2.z, r3.z
MESA: info: add.f r3.z, r3.x, (last)(neg)r3.z
MESA: info: (rpt1)mul.f r6.y, (r)c229.z, r4.z
MESA: info: (rpt1)mad.f32 r6.y, (r)c228.z, r4.y, (r)(last)r6.y
MESA: info: (rpt1)mad.f32 r6.y, (r)c230.z, r17.y, (r)(last)r6.y
MESA: info: add.f r5.x, r4.w, c231.x
MESA: info: add.f r5.y, r6.x, c231.y
MESA: info: mov.u32u32 r8.w, (last)r2.y
MESA: info: (rpt1)add.f r5.z, (r)r6.y, (r)c231.z
MESA: info: mov.u32u32 r9.x, (last)r2.z
MESA: info: mov.u32u32 r9.y, r3.w
MESA: info: mov.u32u32 r9.z, r3.z
MESA: info: mov.u32u32 r9.w, (last)r2.w
MESA: info: mov.u32u32 r10.x, (last)r3.x
MESA: info: jump #l560
MESA: info: l484:
MESA: info: (jp)(nop3) cmps.f.ge p0.y, (last)r38.y, (last)r36.y
MESA: info: (rpt1)nop
MESA: info: brao !p0.y, p0.x, #l551
MESA: info: cov.u32s16 hr47.x, (last)r23.z
MESA: info: (rpt1)mul.f r8.y, r25.x, (r)r36.z
MESA: info: mull.u hr47.x, (last)hr47.x, h(3)
MESA: info: (rpt1)mul.f r36.z, (last)(r)r36.z, r24.w
MESA: info: (rpt1)mad.f32 r8.w, (r)r37.x, r24.w, (neg)(last)r8.y
MESA: info: (rpt1)mad.f32 r9.y, (r)r37.x, r24.w, (neg)(last)r8.z
MESA: info: (rpt1)mad.f32 r9.w, (r)r37.x, r25.x, (last)r36.z
MESA: info: (rpt1)mad.f32 r10.y, (r)r37.x, r25.x, (last)r36.w
MESA: info: mad.f32 r37.x, (last)r37.x, r25.y, r37.z
MESA: info: mad.f32 r37.y, (last)r37.y, r25.y, (last)r37.z
MESA: info: mova a0.x, (last)hr47.x
MESA: info: (rpt1)mad.f32 r8.w, r27.w, (r)r8.w, r27.x
MESA: info: (rpt1)mad.f32 r9.y, r27.w, (r)r9.y, (last)r27.x
MESA: info: (rpt1)mad.f32 r9.w, r27.w, (r)r9.w, r27.y
MESA: info: (rpt1)mad.f32 r10.y, r27.w, (r)r10.y, (last)r27.y
MESA: info: mad.f32 r37.x, r27.w, r37.x, r27.z
MESA: info: mad.f32 r27.w, (last)r27.w, r37.y, (last)r27.z
MESA: info: mov.u32u32 r5.y, (last)r8.w
MESA: info: mov.u32u32 r5.z, (last)r9.w
MESA: info: mov.u32u32 r5.w, r37.x
MESA: info: mov.u32u32 r6.x, (last)r9.x
MESA: info: mov.u32u32 r6.y, (last)r10.x
MESA: info: mov.u32u32 r6.z, r27.w
MESA: info: mov.u32u32 r6.w, (last)r9.y
MESA: info: mov.u32u32 r7.x, (last)r10.y
MESA: info: mov.u32u32 r7.y, (last)r37.x
MESA: info: mov.u32u32 r7.z, (last)r9.z
MESA: info: mov.u32u32 r7.w, (last)r10.z
MESA: info: mov.u32u32 r8.x, (last)r27.w
MESA: info: (rpt1)cmps.f.lt hr21.z, (r)r35.y, (r)r35.w
MESA: info: mov.u32u32 r11.w, r<a0.x + 21>
MESA: info: mov.u32u32 r12.x, r<a0.x + 22>
MESA: info: add.f r11.y, r35.w, (neg)r35.y
MESA: info: cmps.s.eq r11.x, (last)hr21.z, (last)hr21.w
MESA: info: mul.f r12.z, c229.y, r12.x
MESA: info: (ul)mov.u32u32 r5.y, r<a0.x + 23>
MESA: info: add.f r11.z, r36.x, (neg)r35.z
MESA: info: mad.f32 r12.z, c228.y, r11.w, (last)r12.z
MESA: info: mul.f r12.y, c229.x, r12.x
MESA: info: sel.b32 r11.y, (last)r11.y, r11.x, c234.y
MESA: info: mad.f32 r12.z, c230.y, r5.y, (last)r12.z
MESA: info: sel.b32 r11.x, c234.y, r11.x, (last)r11.z
MESA: info: mad.f32 r12.y, c228.x, r11.w, (last)r12.y
MESA: info: mov.u32u32 r3.y, r35.y
MESA: info: add.f r12.z, (last)r12.z, c231.y
MESA: info: mad.f32 r12.y, c230.x, r5.y, (last)r12.y
MESA: info: add.f r35.y, (last)r35.y, r11.y
MESA: info: mov.u32u32 r3.z, r35.z
MESA: info: add.f r11.y, r35.w, (last)(neg)r11.y
MESA: info: add.f r35.z, (last)r35.z, r11.x
MESA: info: add.f r11.x, r36.x, (last)(neg)r11.x
MESA: info: (rpt1)mul.f r12.w, (r)c229.z, (last)r12.x
MESA: info: (rpt1)mad.f32 r12.w, (r)c228.z, r11.w, (r)(last)r12.w
MESA: info: (rpt1)mad.f32 r12.w, (r)c230.z, r5.y, (r)(last)r12.w
MESA: info: mov.u32u32 r3.w, (last)r35.y
MESA: info: (rpt1)add.f r5.z, (last)(r)r12.w, (r)c231.z
MESA: info: mov.u32u32 r5.y, (last)r12.z
MESA: info: mov.u32u32 r4.x, (last)r35.z
MESA: info: mov.u32u32 r4.y, (last)r11.y
MESA: info: mov.u32u32 r4.z, (last)r11.x
MESA: info: mov.u32u32 r4.w, (last)r35.w
MESA: info: mov.u32u32 r5.x, (last)r36.x
MESA: info: add.f r5.x, (last)r12.y, c231.x
MESA: info: jump #l560
MESA: info: l551:
MESA: info: (jp)mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r5.x, 0
MESA: info: mov.u32u32 r5.y, 0
MESA: info: mov.u32u32 r5.z, 0
MESA: info: jump #l560
MESA: info: l556:
MESA: info: (jp)mov.u32u32 r5.w, 0
MESA: info: mov.u32u32 r5.x, 0
MESA: info: mov.u32u32 r5.y, 0
MESA: info: mov.u32u32 r5.z, 0
MESA: info: l560:
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r5.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (SYSTEM_VALUE_VERTEX_ID slot=9 cm=1,il=0,b=0)
MESA: info: ; BVERT prog 124/2: 598 instr, 77 nops, 521 non-nops, 135 mov, 14 cov, 1152 dwords
MESA: info: ; BVERT prog 124/2: 0 last-baryf, 0 last-helper, 0 half, 48 full, 240 constlen
MESA: info: ; BVERT prog 124/2: 84 cat0, 149 cat1, 219 cat2, 135 cat3, 9 cat4, 2 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 124/2: 15 sstall, 7 (ss), 64 systall, 1 (sy), 0 loops
MESA: info: ; BVERT prog 124/2: 4 max_waves, 0 double_threadsize
MESA: info: ; 58 preamble-instr, 1 early-preamble
MESA: info: ; pos: r5.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xbfe67925, 0x27a8b917, 0xa9f51892, 0x4498b81d, 0x7ff16788, 0x2fdbfa70, 0x06872a7c, 0x1711c849}
MESA: info: num_ubos: 2
MESA: info: inputs_read: 15-18
MESA: info: outputs_written: 0,32-39
MESA: info: system_values_read: 0x00000000'00000000'00000000'00000200
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 4
MESA: info: outputs: 9
MESA: info: uniforms: 52
MESA: info: constants: 128
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #1 (VERT_ATTRIB_GENERIC1.xyz, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #2 (VERT_ATTRIB_GENERIC2.xyz, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #3 (VERT_ATTRIB_GENERIC3.xyz, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #4 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #5 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #6 (VARYING_SLOT_VAR1.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #7 (VARYING_SLOT_VAR2.xyzw, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #8 (VARYING_SLOT_VAR3.xyzw, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #9 (VARYING_SLOT_VAR4.xyzw, 5, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #10 (VARYING_SLOT_VAR5.xyzw, 6, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none float #11 (VARYING_SLOT_VAR6.x, 7, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none int #12 (VARYING_SLOT_VAR7.x, 8, 0)
MESA: info: decl_var ubo INTERP_MODE_NONE none uint[] $consts (0, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #13
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     decl_var  INTERP_MODE_NONE none vec2[4] #14
MESA: info:     decl_var  INTERP_MODE_NONE none vec3[4] #15
MESA: info:     decl_var  INTERP_MODE_NONE none vec4[7] #16
MESA: info:     decl_var  INTERP_MODE_NONE none vec2[4] #17
MESA: info:     decl_var  INTERP_MODE_NONE none vec3[4] #18
MESA: info:     con block b0:         // preds:
MESA: info:     div 32       %0 = @decl_reg (num_components=2, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %1 = @decl_reg (num_components=3, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %2 = @decl_reg (num_components=2, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %3 = @decl_reg (num_components=4, num_array_elems=7, bit_size=32, divergent=1)
MESA: info:     div 32       %4 = @decl_reg (num_components=3, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     con 1        %5 = @preamble_start_ir3
MESA: info:                       // succs: b1 b5
MESA: info:     if %5 {
MESA: info:         con block b1:         // preds: b0
MESA: info:         div 1        %6 = @elect_any_ir3
MESA: info:                           // succs: b2 b3
MESA: info:         if %6 {
MESA: info:             div block b2:         // preds: b1
MESA: info:             con 32       %7 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32       %8 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32       %9 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32      %15 = @bindless_resource_ir3 (%7 (0.000000)) (desc_set=1)
MESA: info:             con 32    %1142 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %1078 = @load_ubo_vec4 (%15, %1142 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %18 = frcp %1078
MESA: info:                               @store_const_ir3 (%18) (base=0)
MESA: info:             con 32      %19 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32      %20 = @bindless_resource_ir3 (%9 (0x4)) (desc_set=1)
MESA: info:             con 32x2  %1081 = @load_ubo_vec4 (%20, %7 (0.000000)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %1144 = load_const (0x00000019 = 0.000000 = 25)
MESA: info:             con 32    %1084 = @load_ubo_vec4 (%15, %1144 (0x19)) (access=speculatable, base=0, component=1)
MESA: info:             con 32x2  %1836 = fmul %1081, %1084.xx
MESA: info:             con 32      %26 = fneg %1836.x
MESA: info:                               @store_const_ir3 (%26) (base=1)
MESA: info:             con 32      %27 = frcp %1836.y
MESA: info:                               @store_const_ir3 (%27) (base=2)
MESA: info:             con 32    %1087 = @load_ubo_vec4 (%20, %9 (0x4)) (access=speculatable, base=0, component=1)
MESA: info:             con 1       %29 = fge! %7 (0.000000), %1087
MESA: info:             con 1       %30 = inot %29
MESA: info:             con 32      %31 = b2i32 %30
MESA: info:                               @store_const_ir3 (%31) (base=3)
MESA: info:             con 32      %32 = frcp %1087
MESA: info:                               @store_const_ir3 (%32) (base=4)
MESA: info:             con 32    %1146 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32    %1090 = @load_ubo_vec4 (%20, %1146 (0x2)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %34 = frcp %1090
MESA: info:                               @store_const_ir3 (%34) (base=5)
MESA: info:             con 32    %1147 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32    %1093 = @load_ubo_vec4 (%20, %1147 (0x3)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %36 = frcp %1093
MESA: info:                               @store_const_ir3 (%36) (base=6)
MESA: info:             con 32    %1096 = @load_ubo_vec4 (%20, %9 (0x4)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %1831 = fneg %1096
MESA: info:             con 32    %1832 = ffma %1831, %1096, %8 (1.000000)
MESA: info:             con 32x2  %1837 = load_const (0x40000000, 0x3f800000) = (2.000000, 1.000000)
MESA: info:             con 32x2  %1838 = ffma %1096.xx, %1096.xx, %1837 (2.000000, 1.000000)
MESA: info:             con 32    %1839 = mov %1838.y
MESA: info:                               @store_const_ir3 (%1839) (base=7)
MESA: info:             con 32      %43 = frcp %1838.x
MESA: info:             con 32      %44 = load_const (0x3ef47d19 = 0.477517)
MESA: info:             con 32      %45 = fmul %1832, %44 (0.477517)
MESA: info:             con 32      %46 = fmul %45, %43
MESA: info:                               @store_const_ir3 (%46) (base=8)
MESA: info:             con 32      %47 = fmul %19 (2.000000), %1096
MESA: info:                               @store_const_ir3 (%47) (base=9)
MESA: info:             con 32      %50 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%15, %50 (0x14)) (base=16, range=8)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%20, %7 (0.000000)) (base=48, range=8)
MESA: info:             con 32      %54 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %55 = @bindless_resource_ir3 (%54 (0x1)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%55, %7 (0.000000)) (base=80, range=4)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%15, %7 (0.000000)) (base=128, range=4)
MESA: info:             con 32      %61 = @bindless_resource_ir3 (%54 (0x1)) (desc_set=3)
MESA: info:                               @prefetch_tex_ir3 (%61)
MESA: info:             con 32      %63 = @bindless_resource_ir3 (%7 (0.000000)) (desc_set=3)
MESA: info:                               @prefetch_tex_ir3 (%63)
MESA: info:             con 32      %65 = @bindless_resource_ir3 (%1146 (0x2)) (desc_set=1)
MESA: info:                               @prefetch_ubo_ir3 (%65)
MESA: info:                               @preamble_end_ir3
MESA: info:                               // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:         // preds: b4 b5
MESA: info:     con 32      %88 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x3    %89 = @load_input (%88 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3    %90 = @load_input (%88 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3    %91 = @load_input (%88 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3    %92 = @load_input (%88 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     con 32      %94 = undefined
MESA: info:     con 32      %95 = undefined
MESA: info:     con 32      %96 = undefined
MESA: info:     con 32      %97 = undefined
MESA: info:     con 32      %98 = undefined
MESA: info:     con 32      %99 = undefined
MESA: info:     con 32     %100 = undefined
MESA: info:     con 32     %101 = undefined
MESA: info:     con 32     %113 = load_const (0x00000001)
MESA: info:     con 32     %116 = load_const (0x00000002)
MESA: info:     con 32     %120 = load_const (0x00000004)
MESA: info:     con 32     %122 = load_const (0x00000006)
MESA: info:     div 32     %124 = @load_vertex_id
MESA: info:     con 32     %125 = load_const (0x00000010 = 16)
MESA: info:     con 32     %126 = load_const (0x0000ffff = 65535)
MESA: info:     div 32     %127 = iand %124, %126 (0xffff)
MESA: info:     div 32     %129 = ushr %124, %125 (0x10)
MESA: info:     con 32x3  %1848 = load_const (0x0000aaab, 0x0000aaaa, 0xaaaaaaab) = (+43691, +43690, -1431655765) = (43691, 43690, 2863311531)
MESA: info:     div 32x3  %1849 = umul_low %127.xxx, %1848 (0xaaab, 0xaaaa, 0xaaaaaaab)
MESA: info:     con 32x2  %1842 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1843 = imadsh_mix16 %1842 (0xaaab, 0xaaaa), %127.xx, %1849.xy
MESA: info:     con 32x2  %1844 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1845 = umul_low %129.xx, %1844 (0xaaab, 0xaaaa)
MESA: info:     con 32x2  %1846 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1847 = imadsh_mix16 %1846 (0xaaab, 0xaaaa), %129.xx, %1845
MESA: info:     con 32     %135 = load_const (0xaaaaaaab = -1431655765 = 2863311531)
MESA: info:     div 32    %1381 = imadsh_mix16 %127, %135 (0xaaaaaaab), %1849.z
MESA: info:     div 32    %1382 = imadsh_mix16 %135 (0xaaaaaaab), %127, %1381
MESA: info:     div 1      %137 = ult %1382, %1843.x
MESA: info:     div 32     %138 = b2i32 %137
MESA: info:     div 32     %140 = ushr %1843.y, %125 (0x10)
MESA: info:     div 32    %1324 = iadd3 %1847.y, %138, %140
MESA: info:     con 32     %142 = load_const (0xaaab0000 = -1431633920 = 2863333376)
MESA: info:     con 32    %1661 = load_const (0x00000000)
MESA: info:     div 32    %1378 = imadsh_mix16 %129, %142 (0xaaab0000), %1661 (0x0)
MESA: info:     div 32     %144 = iadd %1382, %1378
MESA: info:     div 1      %145 = ult %144, %1382
MESA: info:     div 32     %146 = b2i32 %145
MESA: info:     div 32     %148 = ushr %1847.x, %125 (0x10)
MESA: info:     div 32    %1323 = iadd3 %1324, %146, %148
MESA: info:     con 32x2  %1850 = load_const (0x00000002, 0x00000003)
MESA: info:     div 32x2  %1851 = ushr %1323.xx, %1850 (0x2, 0x3)
MESA: info:     con 32x2  %1852 = load_const (0x00000006, 0x0000000c) = (6, 12)
MESA: info:     div 32x2  %1853 = umul_low %1851, %1852 (0x6, 0xc)
MESA: info:     con 32x2  %1854 = load_const (0x00000006, 0x0000000c) = (6, 12)
MESA: info:     div 32x2  %1855 = imadsh_mix16 %1854 (0x6, 0xc), %1851, %1853
MESA: info:     div 32x2  %1856 = isub %124.xx, %1855
MESA: info:     div 32    %1857 = mov %1856.x
MESA: info:     div 1      %159 = ilt %1856.y, %122 (0x6)
MESA: info:     div 1      %160 = inot %159
MESA: info:     div 1      %161 = ilt %124, %88 (0x0)
MESA: info:     div 32     %162 = iabs %124
MESA: info:     div 32     %163 = iand %162, %126 (0xffff)
MESA: info:     div 32     %164 = ushr %162, %125 (0x10)
MESA: info:     con 32x3  %1866 = load_const (0x0000aaab, 0x00002aaa, 0x2aaaaaab) = (43691, 10922, 715827883)
MESA: info:     div 32x3  %1867 = umul_low %163.xxx, %1866 (0xaaab, 0x2aaa, 0x2aaaaaab)
MESA: info:     con 32x2  %1860 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1861 = imadsh_mix16 %1860 (0xaaab, 0x2aaa), %163.xx, %1867.xy
MESA: info:     con 32x2  %1862 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1863 = umul_low %164.xx, %1862 (0xaaab, 0x2aaa)
MESA: info:     con 32x2  %1864 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1865 = imadsh_mix16 %1864 (0xaaab, 0x2aaa), %164.xx, %1863
MESA: info:     con 32     %170 = load_const (0x2aaaaaab = 715827883)
MESA: info:     div 32    %1357 = imadsh_mix16 %163, %170 (0x2aaaaaab), %1867.z
MESA: info:     div 32    %1358 = imadsh_mix16 %170 (0x2aaaaaab), %163, %1357
MESA: info:     div 1      %172 = ult %1358, %1861.x
MESA: info:     div 32     %173 = b2i32 %172
MESA: info:     div 32     %175 = ushr %1861.y, %125 (0x10)
MESA: info:     div 32    %1320 = iadd3 %1865.y, %173, %175
MESA: info:     con 32    %1656 = load_const (0x00000000)
MESA: info:     div 32    %1354 = imadsh_mix16 %164, %142 (0xaaab0000), %1656 (0x0)
MESA: info:     div 32     %178 = iadd %1358, %1354
MESA: info:     div 1      %179 = ult %178, %1358
MESA: info:     div 32     %180 = b2i32 %179
MESA: info:     div 32     %182 = ushr %1865.x, %125 (0x10)
MESA: info:     div 32    %1319 = iadd3 %1320, %180, %182
MESA: info:     div 32     %184 = inot %1319
MESA: info:     div 32     %185 = inot %178
MESA: info:     div 32     %186 = iadd %185, %113 (0x1)
MESA: info:     div 1      %187 = ult %186, %185
MESA: info:     div 32     %188 = b2i32 %187
MESA: info:     div 32     %189 = iadd %184, %188
MESA: info:     div 32     %190 = bcsel %161, %189, %1319
MESA: info:     div 32     %191 = ishr %190, %113 (0x1)
MESA: info:     con 32     %192 = load_const (0x0000001f = 31)
MESA: info:     div 32     %193 = ushr %191, %192 (0x1f)
MESA: info:     div 32     %194 = iadd %191, %193
MESA: info:     con 32x2  %1868 = load_const (0x00000004, 0x00000002)
MESA: info:     div 32x2  %1869 = ishl %194.xx, %1868 (0x4, 0x2)
MESA: info:     div 32    %1870 = mov %1869.x
MESA: info:     div 32    %1871 = mov %1869.y
MESA: info:     con 32     %196 = @bindless_resource_ir3 (%113 (0x1)) (desc_set=3)
MESA: info:     div 32x3  %1136 = @load_ssbo_ir3 (%196, %1870, %1871) (base=0, access=readonly|reorderable|speculatable, align_mul=16, align_offset=0)
MESA: info:     div 32x3  %1873 = fmul %90, %1136.yyy
MESA: info:     div 32x3  %1875 = ffma %89, %1136.xxx, %1873
MESA: info:     div 32x3  %1877 = ffma %91, %1136.zzz, %1875
MESA: info:     con 32     %213 = @bindless_resource_ir3 (%88 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %1140 = @load_ssbo_ir3 (%213, %1870, %1871) (base=0, access=readonly|reorderable|speculatable, align_mul=16, align_offset=0)
MESA: info:     div 32     %215 = f2i32 %1140.w
MESA: info:     div 32x3  %1879 = fmul %90, %1140.yyy
MESA: info:     div 32x3  %1881 = ffma %89, %1140.xxx, %1879
MESA: info:     div 32x3  %1883 = ffma %91, %1140.zzz, %1881
MESA: info:     div 32x3  %1885 = fadd %1883, %92
MESA: info:     div 32     %235 = fmul %1877.y, %1877.y
MESA: info:     div 32    %1814 = ffma %1877.z, %1877.z, %235
MESA: info:     div 32    %1813 = ffma %1877.x, %1877.x, %1814
MESA: info:     div 32     %239 = frsq %1813
MESA: info:     div 32x3  %1889 = fmul %1877, %239.xxx
MESA: info:     div 32    %1890 = mov %1889.z
MESA: info:     div 32    %1887 = mov %1889.x
MESA: info:     div 32    %1888 = mov %1889.y
MESA: info:     div 32     %243 = fsqrt %1813
MESA: info:     con 32     %244 = load_const (0x000000b0 = 176)
MESA: info:     div 32    %1350 = umul_low %215, %244 (0xb0)
MESA: info:     div 32    %1352 = imadsh_mix16 %244 (0xb0), %215, %1350
MESA: info:     con 32     %246 = @bindless_resource_ir3 (%116 (0x2)) (desc_set=1)
MESA: info:     div 32    %1098 = ushr %1352, %120 (0x4)
MESA: info:     div 32x4  %1099 = @load_ubo_vec4 (%246, %1098) (access=speculatable, base=0, component=0)
MESA: info:     con 32x4  %1900 = load_const (0x00000010, 0x00000020, 0x00000030, 0x00000040) = (16, 32, 48, 64)
MESA: info:     div 32x4  %1901 = iadd %1352.xxxx, %1900 (0x10, 0x20, 0x30, 0x40)
MESA: info:     div 32x4  %1902 = ushr %1901, %120 (0x4).xxxx
MESA: info:     div 32    %1903 = mov %1902.w
MESA: info:     div 32    %1899 = mov %1902.z
MESA: info:     div 32    %1894 = mov %1902.x
MESA: info:     div 32    %1895 = mov %1902.y
MESA: info:     div 32x4  %1102 = @load_ubo_vec4 (%246, %1894) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4  %1105 = @load_ubo_vec4 (%246, %1895) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4  %1108 = @load_ubo_vec4 (%246, %1899) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4  %1111 = @load_ubo_vec4 (%246, %1903) (access=speculatable, base=0, component=0)
MESA: info:     con 32x4  %1913 = load_const (0x00000050, 0x00000060, 0x00000070, 0x00000080) = (80, 96, 112, 128)
MESA: info:     div 32x4  %1914 = iadd %1352.xxxx, %1913 (0x50, 0x60, 0x70, 0x80)
MESA: info:     div 32x4  %1915 = ushr %1914, %120 (0x4).xxxx
MESA: info:     div 32    %1916 = mov %1915.w
MESA: info:     div 32    %1912 = mov %1915.z
MESA: info:     div 32    %1907 = mov %1915.x
MESA: info:     div 32    %1908 = mov %1915.y
MESA: info:     div 32x4  %1114 = @load_ubo_vec4 (%246, %1907) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4  %1117 = @load_ubo_vec4 (%246, %1908) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4  %1120 = @load_ubo_vec4 (%246, %1912) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4  %1123 = @load_ubo_vec4 (%246, %1916) (access=speculatable, base=0, component=0)
MESA: info:     con 32x2  %1917 = load_const (0x00000090, 0x000000a0) = (144, 160)
MESA: info:     div 32x2  %1918 = iadd %1352.xx, %1917 (0x90, 0xa0)
MESA: info:     div 32x2  %1919 = ushr %1918, %120 (0x4).xx
MESA: info:     div 32    %1920 = mov %1919.x
MESA: info:     div 32    %1921 = mov %1919.y
MESA: info:     div 32x4  %1126 = @load_ubo_vec4 (%246, %1920) (access=speculatable, base=0, component=0)
MESA: info:     div 32x3  %1129 = @load_ubo_vec4 (%246, %1921) (access=speculatable, base=0, component=0)
MESA: info:     con 32x3   %284 = @load_const_ir3 (%88 (0x0)) (base=28)
MESA: info:     div 32x3  %1923 = fmul %243.xxx, %1889
MESA: info:     div 32x4  %1926 = fmul %1126.xyxx, %1923.xxyz
MESA: info:     div 32x4  %1929 = fmul %1129.xyxx, %1923.xxyz
MESA: info:     div 32     %296 = fmul %1923.y, %1126.y
MESA: info:     div 32     %297 = fneg %296
MESA: info:     div 32     %298 = fmul %1923.y, %1129.y
MESA: info:     div 32     %299 = fneg %298
MESA: info:     div 32     %300 = fmul %1126.z, %243
MESA: info:     div 32     %301 = fmul %1129.z, %243
MESA: info:     div 32x4  %1932 = fmin %1926, %1929
MESA: info:     div 32     %306 = fmin %297, %299
MESA: info:     div 32     %307 = fadd %1932.x, %306
MESA: info:     div 32     %308 = fadd %1932.z, %1932.y
MESA: info:     div 32     %309 = fmin %300, %301
MESA: info:     div 32     %310 = fadd %1932.w, %309
MESA: info:     div 32     %311 = fadd %307, %1885.x
MESA: info:     div 32     %312 = fadd %308, %1885.y
MESA: info:     div 32     %313 = fadd %310, %1885.z
MESA: info:     div 32x4  %1935 = fmax %1926, %1929
MESA: info:     div 32     %318 = fmax %297, %299
MESA: info:     div 32     %319 = fadd %1935.x, %318
MESA: info:     div 32     %320 = fadd %1935.z, %1935.y
MESA: info:     div 32     %321 = fmax %300, %301
MESA: info:     div 32     %322 = fadd %1935.w, %321
MESA: info:     div 32     %323 = fadd %319, %1885.x
MESA: info:     div 32     %324 = fadd %320, %1885.y
MESA: info:     div 32     %325 = fadd %322, %1885.z
MESA: info:     div 32     %326 = fmax %284.x, %311
MESA: info:     div 32     %327 = fmax %284.y, %312
MESA: info:     div 32     %328 = fmax %284.z, %313
MESA: info:     div 32     %329 = fmin %326, %323
MESA: info:     div 32     %330 = fmin %327, %324
MESA: info:     div 32     %331 = fmin %328, %325
MESA: info:     div 32    %1812 = fsub %284.x, %329
MESA: info:     div 32    %1811 = fsub %284.y, %330
MESA: info:     div 32    %1810 = fsub %284.z, %331
MESA: info:     div 32     %339 = fmul %1811, %1811
MESA: info:     div 32    %1809 = ffma %1810, %1810, %339
MESA: info:     div 32    %1808 = ffma %1812, %1812, %1809
MESA: info:     div 32     %343 = fsqrt %1808
MESA: info:     con 32     %349 = @load_const_ir3 (%88 (0x0)) (base=35)
MESA: info:     con 32     %351 = @load_const_ir3 (%88 (0x0)) (base=0)
MESA: info:     con 32     %352 = load_const (0x00000b00 = 2816)
MESA: info:     div 32     %353 = ishl %215, %120 (0x4)
MESA: info:     div 32     %354 = iadd %353, %352 (0xb00)
MESA: info:     div 32    %1131 = ushr %354, %120 (0x4)
MESA: info:     div 32x2  %1132 = @load_ubo_vec4 (%246, %1131) (access=speculatable, base=0, component=0)
MESA: info:     div 32     %357 = fmul %1132.y, %351
MESA: info:     div 32     %358 = fneg %343
MESA: info:     div 32    %1807 = ffma %1132.x, %349, %358
MESA: info:     con 32     %360 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32     %361 = fmul %360 (2.000000), %1807
MESA: info:     div 32     %362 = fmul %361, %357
MESA: info:     div 32     %363 = fsat %362
MESA: info:     div 1      %364 = flt! %88 (0.000000), %363
MESA: info:                       // succs: b7 b22
MESA: info:     if %364 {
MESA: info:         div block b7:         // preds: b6
MESA: info:         con 32     %114 = load_const (0x3f800000 = 1.000000 = 1065353216)
MESA: info:         div 32x3  %1937 = fsub %284, %1885
MESA: info:         div 32     %372 = fmul %1937.x, %1937.x
MESA: info:         div 32    %1803 = ffma %1937.y, %1937.y, %372
MESA: info:         div 32     %374 = frsq %1803
MESA: info:         div 32x3  %2012 = fmul %1937.zyx, %374.xxx
MESA: info:         div 32x2  %2111 = mov %2012.zy
MESA: info:         div 32    %2013 = mov %2012.z
MESA: info:         div 32     %376 = fabs %2012.x
MESA: info:         div 1      %377 = fge! %114 (1.000000), %376
MESA: info:         div 32     %378 = frcp %2012.x
MESA: info:         div 32     %379 = bcsel %377, %2012.x, %378
MESA: info:         div 32     %380 = fmul %379, %379
MESA: info:         con 32     %381 = load_const (0xbc46c6a5 = -0.012132)
MESA: info:         con 32     %383 = load_const (0x3d5be101 = 0.053681)
MESA: info:         div 32    %1802 = ffma %381 (-0.012132), %380, %383 (0.053681)
MESA: info:         con 32     %386 = load_const (0xbdf0555d = -0.117350)
MESA: info:         div 32    %1801 = ffma %1802, %380, %386 (-0.117350)
MESA: info:         con 32     %389 = load_const (0x3e468bc1 = 0.193892)
MESA: info:         div 32    %1800 = ffma %1801, %380, %389 (0.193892)
MESA: info:         con 32     %392 = load_const (0xbeaa5476 = -0.332676)
MESA: info:         div 32    %1799 = ffma %1800, %380, %392 (-0.332676)
MESA: info:         con 32     %395 = load_const (0x3f7ffea5 = 0.999979)
MESA: info:         div 32    %1798 = ffma %1799, %380, %395 (0.999979)
MESA: info:         con 32     %397 = load_const (0xbfc90fdb = -1.570796)
MESA: info:         div 32     %398 = bcsel %377, %88 (0x0), %397 (0xbfc90fdb)
MESA: info:         div 32     %399 = fabs %379
MESA: info:         div 32    %1797 = ffma %399, %1798, %398
MESA: info:         con 32     %402 = load_const (0x7fffffff = 2147483647)
MESA: info:         con 32     %404 = load_const (0x80000000 = -0.000000 = -2147483648 = 2147483648)
MESA: info:         div 32     %405 = iand %2012.x, %404 (0x80000000)
MESA: info:         div 32    %1835 = andg_ir3 %1797, %402 (0x7fffffff), %405
MESA: info:         div 1      %407 = fge! %88 (0.000000), %1889.x
MESA: info:         div 32x2  %1938 = fabs %1889.xy
MESA: info:         div 32     %409 = bcsel %407, %1938.x, %1889.y
MESA: info:         div 32     %410 = bcsel %407, %1889.y, %1938.x
MESA: info:         div 32     %411 = fabs %410
MESA: info:         con 32     %412 = load_const (0x5d5e0b6b = 1.000000e+18)
MESA: info:         div 1      %413 = fge! %411, %412 (1.000000e+18)
MESA: info:         con 32     %414 = load_const (0x3e800000 = 0.250000)
MESA: info:         div 32     %415 = bcsel %413, %414 (0x3e800000), %114 (0x3f800000)
MESA: info:         div 32     %416 = fmul %410, %415
MESA: info:         div 32     %417 = frcp %416
MESA: info:         div 32     %418 = fmul %409, %415
MESA: info:         div 32     %419 = fabs %418
MESA: info:         div 32     %420 = fabs %417
MESA: info:         div 32     %421 = fmul %419, %420
MESA: info:         div 1      %423 = feq! %1938.x, %1938.y
MESA: info:         div 32     %424 = bcsel %423, %114 (0x3f800000), %421
MESA: info:         div 1      %425 = fge! %114 (1.000000), %424
MESA: info:         div 32     %426 = frcp %424
MESA: info:         div 32     %427 = bcsel %425, %424, %426
MESA: info:         div 32     %428 = fmul %427, %427
MESA: info:         div 32    %1796 = ffma %381 (-0.012132), %428, %383 (0.053681)
MESA: info:         div 32    %1795 = ffma %1796, %428, %386 (-0.117350)
MESA: info:         div 32    %1794 = ffma %1795, %428, %389 (0.193892)
MESA: info:         div 32    %1793 = ffma %1794, %428, %392 (-0.332676)
MESA: info:         div 32    %1792 = ffma %1793, %428, %395 (0.999979)
MESA: info:         div 32     %439 = bcsel %425, %88 (0x0), %397 (0xbfc90fdb)
MESA: info:         div 32     %440 = fabs %427
MESA: info:         div 32    %1791 = ffma %440, %1792, %439
MESA: info:         div 32     %444 = iand %424, %404 (0x80000000)
MESA: info:         div 32    %1834 = andg_ir3 %1791, %402 (0x7fffffff), %444
MESA: info:         con 32     %446 = load_const (0x3fc90fdb = 1.570796)
MESA: info:         div 32     %447 = bcsel %407, %446 (0x3fc90fdb), %88 (0x0)
MESA: info:         div 32     %448 = fadd %447, %1834
MESA: info:         div 32     %449 = fmin %1889.y, %417
MESA: info:         div 1      %450 = flt! %449, %88 (0.000000)
MESA: info:         div 32     %451 = fneg %448
MESA: info:         div 32     %452 = bcsel %450, %451, %448
MESA: info:         con 32     %456 = @load_const_ir3 (%88 (0x0)) (base=48)
MESA: info:         div 32x3  %1940 = fsub %1885, %284
MESA: info:         div 32     %464 = fmul %1940.y, %1940.y
MESA: info:         div 32    %1787 = ffma %1940.z, %1940.z, %464
MESA: info:         div 32    %1786 = ffma %1940.x, %1940.x, %1787
MESA: info:         div 32     %468 = fsqrt %1786
MESA: info:         con 32     %470 = @load_const_ir3 (%88 (0x0)) (base=1)
MESA: info:         div 32     %471 = fadd %468, %470
MESA: info:         con 32     %473 = @load_const_ir3 (%88 (0x0)) (base=2)
MESA: info:         div 32     %474 = fmul %471, %473
MESA: info:         div 32     %475 = fsat %474
MESA: info:         div 32     %476 = fmul %475, %475
MESA: info:         div 32     %477 = fmul %476, %476
MESA: info:         div 32     %478 = fmul %477, %476
MESA: info:         div 32     %479 = fmul %456, %478
MESA: info:         con 32     %482 = @load_const_ir3 (%88 (0x0)) (base=65)
MESA: info:         con 32     %484 = @load_const_ir3 (%88 (0x0)) (base=3)
MESA: info:         con 1      %486 = ine %484, %88 (0x0)
MESA: info:                           // succs: b8 b14
MESA: info:         if %486 {
MESA: info:             div block b8:         // preds: b7
MESA: info:             con 1      %487 = flt! %284.z, %88 (0.000000)
MESA: info:             div 1      %488 = fge! %1885.z, %88 (0.000000)
MESA: info:             div 1      %489 = iand %487, %488
MESA: info:             div 32     %490 = frcp %1937.z
MESA: info:             div 32     %491 = fmul %284.z, %490
MESA: info:             div 32x3  %1943 = fneg %491.xxx
MESA: info:             div 32x3  %1944 = ffma %1943, %1937, %284
MESA: info:             div 32x3  %1946 = bcsel %489.xxx, %1944, %284
MESA: info:             div 32x3  %1948 = fsub %1946, %1885
MESA: info:             con 32x3   %509 = @load_const_ir3 (%88 (0x0)) (base=56)
MESA: info:             con 32x3   %512 = @load_const_ir3 (%88 (0x0)) (base=60)
MESA: info:             div 32     %513 = fmax %1946.z, %88 (0.000000)
MESA: info:             div 32     %514 = fmax %1885.z, %88 (0.000000)
MESA: info:             div 32     %516 = fmul %1948.y, %1948.y
MESA: info:             div 32    %1776 = ffma %1948.z, %1948.z, %516
MESA: info:             div 32    %1775 = ffma %1948.x, %1948.x, %1776
MESA: info:             div 32     %520 = fsqrt %1775
MESA: info:             con 32     %522 = @load_const_ir3 (%88 (0x0)) (base=4)
MESA: info:             div 32     %523 = fmul %520, %522
MESA: info:             con 32x3  %1955 = load_const (0x3f800000, 0x3f800000, 0x3f800000) = (1.000000, 1.000000, 1.000000)
MESA: info:             con 32x2  %1959 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:             con 32x4  %1968 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:             con 32x2  %1971 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:                               // succs: b9
MESA: info:             con loop {
MESA: info:                 con block b9:         // preds: b8 b12
MESA: info:                 div 32x3  %1954 = phi b8: %1955 (1.000000, 1.000000, 1.000000), b12: %1984
MESA: info:                 div 32x2  %1958 = phi b8: %1959 (0.000000, 0.000000), b12: %1960
MESA: info:                 div 32x4  %1967 = phi b8: %1968 (0.000000, 0.000000, 0.000000, 0.000000), b12: %1969
MESA: info:                 div 32x2  %1970 = phi b8: %1971 (0.000000, 0.000000), b12: %1987
MESA: info:                 con 32     %535 = phi b8: %88 (0x0), b12: %595
MESA: info:                 con 32     %536 = i2f32 %535
MESA: info:                 con 1      %537 = flt! %536, %482
MESA: info:                 con 1      %538 = inot %537
MESA: info:                                   // succs: b10 b11
MESA: info:                 if %538 {
MESA: info:                     con block b10:// preds: b9
MESA: info:                     break
MESA: info:                     // succs: b13
MESA: info:                 } else {
MESA: info:                     con block b11:  // preds: b9, succs: b12
MESA: info:                 }
MESA: info:                 con block b12:        // preds: b11
MESA: info:                 con 32     %539 = load_const (0x3f000000 = 0.500000)
MESA: info:                 con 32     %540 = fadd %536, %539 (0.500000)
MESA: info:                 con 32     %541 = fmul %540, %522
MESA: info:                 div 32    %1774 = fsub %514, %513
MESA: info:                 div 32    %1773 = ffma %541, %1774, %513
MESA: info:                 con 32     %547 = @load_const_ir3 (%88 (0x0)) (base=5)
MESA: info:                 con 32     %548 = load_const (0x3fb8aa3b = 1.442695)
MESA: info:                 div 32     %549 = fmul %1773, %548 (1.442695)
MESA: info:                 div 32     %550 = fmul %549, %547
MESA: info:                 div 32     %551 = fneg %550
MESA: info:                 div 32     %552 = fexp2 %551
MESA: info:                 div 32     %553 = fmul %552, %523
MESA: info:                 con 32     %555 = @load_const_ir3 (%88 (0x0)) (base=6)
MESA: info:                 div 32     %556 = fmul %549, %555
MESA: info:                 div 32     %557 = fneg %556
MESA: info:                 div 32     %558 = fexp2 %557
MESA: info:                 div 32     %559 = fmul %558, %523
MESA: info:                 div 32     %560 = fadd %1958.x, %553
MESA: info:                 div 32     %561 = fadd %1958.y, %559
MESA: info:                 div 32x3  %1974 = fmul %512, %561.xxx
MESA: info:                 div 32x3  %1978 = fneg %1974
MESA: info:                 con 32x3  %1979 = fneg %509
MESA: info:                 div 32x3  %1980 = ffma %1979, %560.xxx, %1978
MESA: info:                 div 32x3  %1982 = fmul %1980, %548 (1.442695).xxx
MESA: info:                 div 32x3  %1984 = fexp2 %1982
MESA: info:                 div 32x3  %1986 = ffma %1984, %553.xxx, %1967.xyz
MESA: info:                 div 32    %1763 = ffma %1984.x, %559, %1967.w
MESA: info:                 div 32x2  %1987 = ffma %1984.yz, %559.xx, %1970
MESA: info:                 con 32     %595 = iadd %535, %113 (0x1)
MESA: info:                 div 32x2  %1960 = vec2 %560, %561
MESA: info:                 div 32x4  %1969 = vec4 %1986.x, %1986.y, %1986.z, %1763
MESA: info:                                   // succs: b9
MESA: info:             }
MESA: info:             div block b13:        // preds: b10
MESA: info:             div 32x3  %2125 = phi b10: %1954
MESA: info:             div 32x4  %2124 = phi b10: %1967
MESA: info:             div 32x2  %2123 = phi b10: %1970
MESA: info:             div 32     %596 = frsq %1775
MESA: info:             div 32x3  %1989 = fmul %1948, %596.xxx
MESA: info:             con 32x3   %603 = @load_const_ir3 (%88 (0x0)) (base=80)
MESA: info:             div 32     %605 = fmul %1989.y, %603.y
MESA: info:             div 32    %1760 = ffma %1989.z, %603.z, %605
MESA: info:             div 32    %1759 = ffma %1989.x, %603.x, %1760
MESA: info:             con 32     %609 = load_const (0xbf800000 = -1.000000)
MESA: info:             div 32     %610 = fmax %1759, %609 (-1.000000)
MESA: info:             div 32     %611 = fmin %610, %114 (1.000000)
MESA: info:             div 32    %1758 = ffma %611, %611, %114 (1.000000)
MESA: info:             con 32     %614 = load_const (0x3f16c8b4 = 0.589000)
MESA: info:             div 32     %615 = fmul %614 (0.589000), %1758
MESA: info:             div 32x3  %1991 = fmul %509, %615.xxx
MESA: info:             con 32     %620 = @load_const_ir3 (%88 (0x0)) (base=7)
MESA: info:             con 32     %622 = @load_const_ir3 (%88 (0x0)) (base=8)
MESA: info:             con 32     %624 = @load_const_ir3 (%88 (0x0)) (base=9)
MESA: info:             con 32    %1756 = fneg %624
MESA: info:             div 32    %1757 = ffma %1756, %611, %620
MESA: info:             con 32     %628 = load_const (0x3fc00000 = 1.500000)
MESA: info:             div 32     %629 = flog2 %1757
MESA: info:             div 32     %630 = fmul %629, %628 (1.500000)
MESA: info:             div 32     %631 = fneg %630
MESA: info:             div 32     %632 = fexp2 %631
MESA: info:             div 32     %633 = fmul %1758, %632
MESA: info:             div 32     %634 = fmul %622, %633
MESA: info:             div 32x3  %1993 = fmul %512, %634.xxx
MESA: info:             div 32     %641 = fmul %2124.w, %1993.x
MESA: info:             div 32x2  %1994 = fmul %2123, %1993.yz
MESA: info:             div 32    %1755 = ffma %2124.x, %1991.x, %641
MESA: info:             div 32x2  %1995 = ffma %2124.yz, %1991.yz, %1994
MESA: info:                               // succs: b15
MESA: info:         } else {
MESA: info:             div block b14:        // preds: b7
MESA: info:             con 32x2  %1999 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:             con 32x3  %2008 = load_const (0x3f800000, 0x3f800000, 0x3f800000) = (1.000000, 1.000000, 1.000000)
MESA: info:                               // succs: b15
MESA: info:         }
MESA: info:         div block b15:        // preds: b13 b14
MESA: info:         div 32x2  %1998 = phi b13: %1995, b14: %1999 (0.000000, 0.000000)
MESA: info:         div 32     %648 = phi b13: %1755, b14: %88 (0x0)
MESA: info:         div 32x3  %2007 = phi b13: %2125, b14: %2008 (1.000000, 1.000000, 1.000000)
MESA: info:         div 32    %2009 = mov %2007.z
MESA: info:         div 32    %2005 = mov %2007.x
MESA: info:         div 32    %2006 = mov %2007.y
MESA: info:         div 32    %2000 = mov %1998.x
MESA: info:         div 32    %2001 = mov %1998.y
MESA: info:         div 1      %653 = flt! %1835, %1120.z
MESA: info:         div 1      %654 = iand %653, %159
MESA: info:                           // succs: b16 b17
MESA: info:         if %654 {
MESA: info:             div block b16:        // preds: b15
MESA: info:             div 32     %656 = fneg %2012.y
MESA: info:             div 1      %658 = fge! %88 (0.000000), %1937.x
MESA: info:             div 32x2  %2014 = fabs %1937.xy
MESA: info:             div 32     %660 = bcsel %658, %2014.x, %1937.y
MESA: info:             div 32     %661 = bcsel %658, %1937.y, %2014.x
MESA: info:             div 32     %662 = fabs %661
MESA: info:             div 1      %663 = fge! %662, %412 (1.000000e+18)
MESA: info:             div 32     %664 = bcsel %663, %414 (0x3e800000), %114 (0x3f800000)
MESA: info:             div 32     %665 = fmul %661, %664
MESA: info:             div 32     %666 = frcp %665
MESA: info:             div 32     %667 = fmul %660, %664
MESA: info:             div 32     %668 = fabs %667
MESA: info:             div 32     %669 = fabs %666
MESA: info:             div 32     %670 = fmul %668, %669
MESA: info:             div 1      %672 = feq! %2014.x, %2014.y
MESA: info:             div 32     %673 = bcsel %672, %114 (0x3f800000), %670
MESA: info:             div 1      %674 = fge! %114 (1.000000), %673
MESA: info:             div 32     %675 = frcp %673
MESA: info:             div 32     %676 = bcsel %674, %673, %675
MESA: info:             div 32     %677 = fmul %676, %676
MESA: info:             div 32    %1752 = ffma %381 (-0.012132), %677, %383 (0.053681)
MESA: info:             div 32    %1751 = ffma %1752, %677, %386 (-0.117350)
MESA: info:             div 32    %1750 = ffma %1751, %677, %389 (0.193892)
MESA: info:             div 32    %1749 = ffma %1750, %677, %392 (-0.332676)
MESA: info:             div 32    %1748 = ffma %1749, %677, %395 (0.999979)
MESA: info:             div 32     %688 = bcsel %674, %88 (0x0), %397 (0xbfc90fdb)
MESA: info:             div 32     %689 = fabs %676
MESA: info:             div 32    %1747 = ffma %689, %1748, %688
MESA: info:             div 32     %693 = iand %673, %404 (0x80000000)
MESA: info:             div 32    %1833 = andg_ir3 %1747, %402 (0x7fffffff), %693
MESA: info:             div 32     %695 = bcsel %658, %446 (0x3fc90fdb), %88 (0x0)
MESA: info:             div 32     %696 = fadd %695, %1833
MESA: info:             div 32     %697 = fmin %1937.y, %666
MESA: info:             div 1      %698 = flt! %697, %88 (0.000000)
MESA: info:             div 32     %699 = fneg %696
MESA: info:             div 32     %700 = bcsel %698, %699, %696
MESA: info:             con 32     %701 = load_const (0x3f060a92 = 0.523599)
MESA: info:             div 32     %702 = fadd %700, %701 (0.523599)
MESA: info:             div 32    %1746 = fsub %702, %452
MESA: info:             con 32     %705 = load_const (0x3f747644 = 0.954930)
MESA: info:             con 32     %707 = load_const (0x41400000 = 12.000000)
MESA: info:             div 32    %1745 = ffma %705 (0.954930), %1746, %707 (12.000000)
MESA: info:             div 32     %709 = f2i32 %1745
MESA: info:             div 32     %710 = iand %709, %126 (0xffff)
MESA: info:             div 32     %711 = ushr %709, %125 (0x10)
MESA: info:             con 32x3  %2023 = load_const (0x0000aaab, 0x0000aaaa, 0xaaaaaaab) = (+43691, +43690, -1431655765) = (43691, 43690, 2863311531)
MESA: info:             div 32x3  %2024 = umul_low %710.xxx, %2023 (0xaaab, 0xaaaa, 0xaaaaaaab)
MESA: info:             con 32x2  %2017 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %2018 = imadsh_mix16 %2017 (0xaaab, 0xaaaa), %710.xx, %2024.xy
MESA: info:             con 32x2  %2019 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %2020 = umul_low %711.xx, %2019 (0xaaab, 0xaaaa)
MESA: info:             con 32x2  %2021 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %2022 = imadsh_mix16 %2021 (0xaaab, 0xaaaa), %711.xx, %2020
MESA: info:             div 32    %1336 = imadsh_mix16 %710, %135 (0xaaaaaaab), %2024.z
MESA: info:             div 32    %1337 = imadsh_mix16 %135 (0xaaaaaaab), %710, %1336
MESA: info:             div 1      %717 = ult %1337, %2018.x
MESA: info:             div 32     %718 = b2i32 %717
MESA: info:             div 32     %720 = ushr %2018.y, %125 (0x10)
MESA: info:             div 32    %1236 = iadd3 %2022.y, %718, %720
MESA: info:             con 32    %1505 = load_const (0x00000000)
MESA: info:             div 32    %1333 = imadsh_mix16 %711, %142 (0xaaab0000), %1505 (0x0)
MESA: info:             div 32     %723 = iadd %1337, %1333
MESA: info:             div 1      %724 = ult %723, %1337
MESA: info:             div 32     %725 = b2i32 %724
MESA: info:             div 32     %727 = ushr %2022.x, %125 (0x10)
MESA: info:             div 32    %1235 = iadd3 %1236, %725, %727
MESA: info:             div 32     %729 = ushr %1235, %116 (0x2)
MESA: info:             div 32    %1329 = umul_low %729, %122 (0x6)
MESA: info:             div 32    %1331 = imadsh_mix16 %122 (0x6), %729, %1329
MESA: info:             div 32    %1744 = isub %709, %1331
MESA: info:             div 32    %1743 = fsub %1835, %1120.z
MESA: info:             div 32    %1742 = fsub %1120.w, %1120.z
MESA: info:             div 32     %736 = frcp %1742
MESA: info:             div 32     %737 = fmul %1743, %736
MESA: info:             div 32     %738 = fsat %737
MESA: info:             div 32     %739 = fmul %738, %360 (2.000000)
MESA: info:             div 32     %740 = fsat %739
MESA: info:             div 32     %741 = fmul %363, %740
MESA: info:             con 32x2  %2025 = load_const (0xbf000000, 0x3f000000) = (-0.500000, 0.500000)
MESA: info:             div 32x2  %2026 = fmul %2025 (-0.500000, 0.500000), %1120.xx
MESA: info:             div 32x2  %2027 = fmul %2012.yy, %2026
MESA: info:             div 32x2  %2028 = fmul %2026, %2012.zz
MESA: info:             div 32x2  %2029 = fneg %2027
MESA: info:             div 32x2  %2030 = ffma %2029, %243.xx, %1885.xx
MESA: info:             div 32x2  %2031 = ffma %243.xx, %2028, %1885.yy
MESA: info:             div 32x3   %760 = vec3 %2030.x, %2031.x, %1885.z
MESA: info:             div 32x3   %761 = vec3 %2030.y, %2031.y, %1885.z
MESA: info:             div 32    %1735 = ffma %243, %1120.y, %1885.z
MESA: info:             div 32x3   %764 = vec3 %2030.x, %2031.x, %1735
MESA: info:             div 32x3   %765 = vec3 %2030.y, %2031.y, %1735
MESA: info:                               @store_reg (%760, %4) (base=0, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%761, %4) (base=1, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%764, %4) (base=2, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%765, %4) (base=3, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%1099, %3) (base=0, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%1102, %3) (base=1, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%1105, %3) (base=2, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%1108, %3) (base=3, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%1111, %3) (base=4, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%1114, %3) (base=5, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%1117, %3) (base=6, wrmask=xyzw, legacy_fsat=0)
MESA: info:             div 32x4   %781 = @load_reg_indirect (%3, %1744) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             div 32x2   %782 = vec2 %781.x, %781.y
MESA: info:             div 32x2   %783 = vec2 %781.z, %781.w
MESA: info:             div 1x2   %2032 = flt! %781.xy, %781.zw
MESA: info:             div 1      %786 = ieq %2032.x, %2032.y
MESA: info:             div 32x2  %2033 = fsub %781.zw, %781.xy
MESA: info:             div 32     %791 = bcsel %786, %2033.x, %88 (0x0)
MESA: info:             div 32     %792 = bcsel %786, %88 (0x0), %2033.y
MESA: info:             div 32     %793 = fadd %781.x, %791
MESA: info:             div 32     %794 = fadd %781.y, %792
MESA: info:             div 32x2   %795 = vec2 %793, %794
MESA: info:             div 32    %1732 = fsub %781.z, %791
MESA: info:             div 32    %1731 = fsub %781.w, %792
MESA: info:             div 32x2   %800 = vec2 %1732, %1731
MESA: info:                               @store_reg (%782, %2) (base=0, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%795, %2) (base=1, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%800, %2) (base=2, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%783, %2) (base=3, wrmask=xy, legacy_fsat=0)
MESA: info:             div 32x3   %808 = @load_reg_indirect (%4, %1857) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             div 32x2   %811 = @load_reg_indirect (%2, %1857) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             div 32     %819 = ishl %1856.x, %116 (0x2)
MESA: info:             div 32x3   %820 = @load_const_ir3 (%819) (base=96)
MESA: info:             con 32x4   %823 = @load_const_ir3 (%88 (0x0)) (base=128)
MESA: info:             con 32x4   %830 = @load_const_ir3 (%88 (0x0)) (base=132)
MESA: info:             div 32x4  %2036 = fmul %830, %808.yyyy
MESA: info:             div 32x4  %2039 = ffma %823, %808.xxxx, %2036
MESA: info:             con 32x4   %841 = @load_const_ir3 (%88 (0x0)) (base=136)
MESA: info:             div 32x4  %2042 = ffma %841, %808.zzzz, %2039
MESA: info:             con 32x4   %852 = @load_const_ir3 (%88 (0x0)) (base=140)
MESA: info:             div 32x4  %2048 = fadd %2042, %852
MESA: info:             div 32x4  %2108 = mov %2048.wzyx
MESA: info:             div 32     %857 = mov %820.x
MESA: info:             div 32     %858 = mov %820.y
MESA: info:             div 32     %859 = mov %820.z
MESA: info:             div 32     %860 = mov %811.x
MESA: info:             div 32     %861 = mov %811.y
MESA: info:             div 32     %862 = mov %808.x
MESA: info:             div 32     %863 = mov %808.y
MESA: info:             div 32     %864 = mov %808.z
MESA: info:                               // succs: b21
MESA: info:         } else {
MESA: info:             div block b17:        // preds: b15
MESA: info:             div 1      %865 = fge! %1835, %1120.w
MESA: info:             div 1      %866 = iand %865, %160
MESA: info:                               // succs: b18 b19
MESA: info:             if %866 {
MESA: info:                 div block b18:        // preds: b17
MESA: info:                 div 32    %1722 = fsub %1835, %1120.z
MESA: info:                 div 32    %1721 = fsub %1120.w, %1120.z
MESA: info:                 div 32     %870 = frcp %1721
MESA: info:                 div 32     %871 = fmul %1722, %870
MESA: info:                 div 32     %872 = fsat %871
MESA: info:                 div 32    %1720 = fsub %114 (1.000000), %872
MESA: info:                 div 32     %875 = fmul %360 (2.000000), %1720
MESA: info:                 div 32     %876 = fmin %875, %114 (1.000000)
MESA: info:                 div 32     %877 = fmul %363, %876
MESA: info:                 div 32x2  %2050 = fmul %1123.yw, %1889.xx
MESA: info:                 div 32x2  %2051 = fmul %1889.yy, %1123.yw
MESA: info:                 div 32x2  %2053 = fneg %2051
MESA: info:                 div 32x4  %2055 = ffma %1123.xzxz, %1889.xxxx, %2053.xxyy
MESA: info:                 div 32x4  %2058 = ffma %1123.xzxz, %1889.yyyy, %2050.xxyy
MESA: info:                 div 32x2  %2059 = ffma %1123.xz, %1889.zz, %1126.ww
MESA: info:                 div 32x4  %2062 = ffma %243.xxxx, %2055, %1885.xxxx
MESA: info:                 div 32x4  %2065 = ffma %243.xxxx, %2058, %1885.yyyy
MESA: info:                 div 32x2  %2066 = ffma %243.xx, %2059, %1885.zz
MESA: info:                 div 32x3   %920 = vec3 %2062.x, %2065.x, %2066.x
MESA: info:                 div 32x3   %921 = vec3 %2062.y, %2065.y, %2066.y
MESA: info:                 div 32x3   %922 = vec3 %2062.z, %2065.z, %2066.x
MESA: info:                 div 32x3   %923 = vec3 %2062.w, %2065.w, %2066.y
MESA: info:                                   @store_reg (%920, %1) (base=0, wrmask=xyz, legacy_fsat=0)
MESA: info:                                   @store_reg (%921, %1) (base=1, wrmask=xyz, legacy_fsat=0)
MESA: info:                                   @store_reg (%922, %1) (base=2, wrmask=xyz, legacy_fsat=0)
MESA: info:                                   @store_reg (%923, %1) (base=3, wrmask=xyz, legacy_fsat=0)
MESA: info:                 div 1x2   %2067 = flt! %1117.xy, %1117.zw
MESA: info:                 div 1      %931 = ieq %2067.x, %2067.y
MESA: info:                 div 32x2  %2068 = fsub %1117.zw, %1117.xy
MESA: info:                 div 32     %936 = bcsel %931, %2068.x, %88 (0x0)
MESA: info:                 div 32     %937 = bcsel %931, %88 (0x0), %2068.y
MESA: info:                 div 32     %938 = fadd %1117.x, %936
MESA: info:                 div 32     %939 = fadd %1117.y, %937
MESA: info:                 div 32x2   %940 = vec2 %938, %939
MESA: info:                 div 32    %1697 = fsub %1117.z, %936
MESA: info:                 div 32    %1696 = fsub %1117.w, %937
MESA: info:                 div 32x2   %945 = vec2 %1697, %1696
MESA: info:                 div 32x2   %948 = vec2 %1117.x, %1117.y
MESA: info:                                   @store_reg (%948, %0) (base=0, wrmask=xy, legacy_fsat=0)
MESA: info:                                   @store_reg (%940, %0) (base=1, wrmask=xy, legacy_fsat=0)
MESA: info:                                   @store_reg (%945, %0) (base=2, wrmask=xy, legacy_fsat=0)
MESA: info:                 div 32x2   %952 = vec2 %1117.z, %1117.w
MESA: info:                                   @store_reg (%952, %0) (base=3, wrmask=xy, legacy_fsat=0)
MESA: info:                 div 32x3   %955 = @load_reg_indirect (%1, %1857) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:                 div 32x2   %958 = @load_reg_indirect (%0, %1857) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:                 div 32    %1174 = ishl %1856.x, %116 (0x2)
MESA: info:                 div 32x3   %968 = @load_const_ir3 (%1174) (base=112)
MESA: info:                 con 32x4   %971 = @load_const_ir3 (%88 (0x0)) (base=128)
MESA: info:                 con 32x4   %978 = @load_const_ir3 (%88 (0x0)) (base=132)
MESA: info:                 div 32x4  %2071 = fmul %978, %955.yyyy
MESA: info:                 div 32x4  %2074 = ffma %971, %955.xxxx, %2071
MESA: info:                 con 32x4   %989 = @load_const_ir3 (%88 (0x0)) (base=136)
MESA: info:                 div 32x4  %2077 = ffma %989, %955.zzzz, %2074
MESA: info:                 con 32x4  %1000 = @load_const_ir3 (%88 (0x0)) (base=140)
MESA: info:                 div 32x4  %2083 = fadd %2077, %1000
MESA: info:                 div 32x4  %2095 = mov %2083.wzyx
MESA: info:                 div 32    %1005 = mov %968.x
MESA: info:                 div 32    %1006 = mov %968.y
MESA: info:                 div 32    %1007 = mov %958.x
MESA: info:                 div 32    %1008 = mov %958.y
MESA: info:                 div 32    %1009 = mov %955.x
MESA: info:                 div 32    %1010 = mov %955.y
MESA: info:                 div 32    %1011 = mov %955.z
MESA: info:                                   // succs: b20
MESA: info:             } else {
MESA: info:                 div block b19:        // preds: b17
MESA: info:                 con 32x4  %2096 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                                   // succs: b20
MESA: info:             }
MESA: info:             div block b20:        // preds: b18 b19
MESA: info:             div 32x4  %2094 = phi b18: %2095, b19: %2096 (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:             div 32    %1016 = phi b18: %1011, b19: %94
MESA: info:             div 32    %1017 = phi b18: %1010, b19: %95
MESA: info:             div 32    %1018 = phi b18: %1009, b19: %96
MESA: info:             div 32    %1019 = phi b18: %1008, b19: %97
MESA: info:             div 32    %1020 = phi b18: %1007, b19: %98
MESA: info:             div 32    %1021 = phi b18: %1006, b19: %99
MESA: info:             div 32    %1022 = phi b18: %1005, b19: %100
MESA: info:             div 32    %1023 = phi b18: %877, b19: %101
MESA: info:             con 32x2  %2112 = load_const (0x00000000, 0x00000000) = (0.000000, 0.000000)
MESA: info:                               // succs: b21
MESA: info:         }
MESA: info:         div block b21:        // preds: b16 b20
MESA: info:         div 32    %1024 = phi b16: %404 (0x80000000), b20: %114 (0x3f800000)
MESA: info:         div 32x4  %2107 = phi b16: %2108, b20: %2094
MESA: info:         div 32    %1029 = phi b16: %864, b20: %1016
MESA: info:         div 32    %1030 = phi b16: %863, b20: %1017
MESA: info:         div 32    %1031 = phi b16: %862, b20: %1018
MESA: info:         div 32    %1032 = phi b16: %861, b20: %1019
MESA: info:         div 32    %1033 = phi b16: %860, b20: %1020
MESA: info:         div 32    %1034 = phi b16: %858, b20: %1021
MESA: info:         div 32    %1035 = phi b16: %857, b20: %1022
MESA: info:         div 32    %1036 = phi b16: %741, b20: %1023
MESA: info:         div 32x2  %2110 = phi b16: %2111, b20: %2112 (0x0, 0x0)
MESA: info:         div 32    %1039 = phi b16: %859, b20: %452
MESA: info:         div 32    %1040 = phi b16: %404 (0x80000000), b20: %1890
MESA: info:         div 32    %1041 = phi b16: %2013, b20: %1888
MESA: info:         div 32    %1042 = phi b16: %656, b20: %1887
MESA: info:         div 32    %2113 = mov %2110.x
MESA: info:         div 32    %2114 = mov %2110.y
MESA: info:                           // succs: b23
MESA: info:     } else {
MESA: info:         div block b22:        // preds: b6
MESA: info:         con 32      %93 = undefined
MESA: info:         con 32     %102 = undefined
MESA: info:         con 32     %103 = undefined
MESA: info:         con 32     %104 = undefined
MESA: info:         con 32     %105 = undefined
MESA: info:         con 32     %106 = undefined
MESA: info:         con 32     %107 = undefined
MESA: info:         con 32     %108 = undefined
MESA: info:         con 32     %109 = undefined
MESA: info:         con 32     %110 = undefined
MESA: info:         con 32     %111 = undefined
MESA: info:         con 32x4  %2122 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                           // succs: b23
MESA: info:     }
MESA: info:     con block b23:        // preds: b21 b22
MESA: info:     div 32    %1043 = phi b21: %1024, b22: %93
MESA: info:     div 32x4  %2121 = phi b21: %2107, b22: %2122 (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:     div 32    %1048 = phi b21: %1029, b22: %94
MESA: info:     div 32    %1049 = phi b21: %1030, b22: %95
MESA: info:     div 32    %1050 = phi b21: %1031, b22: %96
MESA: info:     div 32    %1051 = phi b21: %1032, b22: %97
MESA: info:     div 32    %1052 = phi b21: %1033, b22: %98
MESA: info:     div 32    %1053 = phi b21: %1034, b22: %99
MESA: info:     div 32    %1054 = phi b21: %1035, b22: %100
MESA: info:     div 32    %1055 = phi b21: %1036, b22: %101
MESA: info:     div 32    %1056 = phi b21: %2113, b22: %102
MESA: info:     div 32    %1057 = phi b21: %2114, b22: %103
MESA: info:     div 32    %1058 = phi b21: %2000, b22: %104
MESA: info:     div 32    %1059 = phi b21: %648, b22: %105
MESA: info:     div 32    %1060 = phi b21: %2001, b22: %106
MESA: info:     div 32    %1061 = phi b21: %2005, b22: %107
MESA: info:     div 32    %1062 = phi b21: %2006, b22: %108
MESA: info:     div 32    %1063 = phi b21: %2009, b22: %109
MESA: info:     div 32    %1064 = phi b21: %479, b22: %110
MESA: info:     div 32    %1065 = phi b21: %1039, b22: %111
MESA: info:     div 32    %1066 = phi b21: %1040, b22: %1890
MESA: info:     div 32    %1067 = phi b21: %1041, b22: %1888
MESA: info:     div 32    %1068 = phi b21: %1042, b22: %1887
MESA: info:     div 32x4  %1069 = vec4 %2121.w, %2121.z, %2121.y, %2121.x
MESA: info:                       @store_output (%1069, %88 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                       @store_output (%215, %88 (0x0)) (base=8, range=1, wrmask=x, component=0, src_type=int32, io location=VARYING_SLOT_VAR7 slots=1, xfb(), xfb2())
MESA: info:                       @store_output (%1055, %88 (0x0)) (base=7, range=1, wrmask=x, component=0, src_type=float32, io location=VARYING_SLOT_VAR6 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %1070 = vec4 %1064, %1050, %1049, %1048
MESA: info:                       @store_output (%1070, %88 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %1071 = vec4 %1056, %1057, %1043, %1068
MESA: info:                       @store_output (%1071, %88 (0x0)) (base=2, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR1 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %1072 = vec4 %1067, %1066, %1054, %1053
MESA: info:                       @store_output (%1072, %88 (0x0)) (base=3, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR2 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %1073 = vec4 %1065, %1885.x, %1885.y, %1885.z
MESA: info:                       @store_output (%1073, %88 (0x0)) (base=4, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR3 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %1074 = vec4 %1061, %1062, %1063, %1059
MESA: info:                       @store_output (%1074, %88 (0x0)) (base=5, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR4 slots=1, xfb(), xfb2())
MESA: info:     div 32x4  %1075 = vec4 %1058, %1060, %1052, %1051
MESA: info:                       @store_output (%1075, %88 (0x0)) (base=6, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR5 slots=1, xfb(), xfb2())
MESA: info:                       // succs: b24
MESA: info:     block b24:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 d8f61e0231daa1d44df0f7dcfc8a107c9598e41a:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (32 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c36.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      5
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           8 vec4 (320b -> 448b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          1
MESA: info: ;     offset:         c24.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[4]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c32.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0x1)
MESA: info: @const(c37.x)	0x3ef47d19, 0x00002aaa, 0x2aaaaaab, 0x0000ffff
MESA: info: @const(c38.x)	0x0000aaab, 0x00000000, 0x00000b00, 0x000000b0
MESA: info: @const(c39.x)	0xbc46c6a5, 0x3d5be101, 0xbdf0555d, 0x3e468bc1
MESA: info: @const(c40.x)	0xbeaa5476, 0x3f7ffea5, 0xbfc90fdb, 0x80000000
MESA: info: @const(c41.x)	0x0000000c, 0x0000aaaa, 0xaaaaaaab, 0xbf000000
MESA: info: @const(c42.x)	0x3f747644, 0x3fc90fdb, 0x3f800000, 0x3e800000
MESA: info: @const(c43.x)	0x5d5e0b6b, 0x3f060a92, 0x41400000, 0x00000006
MESA: info: @const(c44.x)	0x3f16c8b4, 0xbf800000, 0x3fc00000, 0xd0d0d0d0
MESA: info: shps #l56
MESA: info: getone #l56
MESA: info: ldc.u.offset0.1.imm.base1 r50.y, 4, 4
MESA: info: ldc.u.offset2.2.imm.base1 r48.y, 0, 4
MESA: info: ldc.u.offset1.1.imm.base1 r48.w, 25, 0
MESA: info: ldc.u.offset1.1.imm.base1 r49.x, 4, 4
MESA: info: ldc.u.offset3.1.imm.base1 r48.x, 24, 0
MESA: info: ldc.u.offset3.1.imm.base1 r49.y, 2, 4
MESA: info: ldc.u.offset3.1.imm.base1 r49.z, 3, 4
MESA: info: mova1 a1.x, (r)16
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 1
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: ldc.offset0.1.imm.base1 r63.x, 0, 2
MESA: info: (sy)(ss)mul.f r50.w, r50.y, r50.y
MESA: info: add.f r50.w, r50.w, (2.0)
MESA: info: mul.f r48.z, r48.z, r48.w
MESA: info: cmps.f.ge hr51.z, (0.0), r49.x
MESA: info: rcp r48.x, r48.x
MESA: info: rcp r49.y, r49.y
MESA: info: rcp r49.z, r49.z
MESA: info: mul.f r50.z, (neg)r50.y, r50.y
MESA: info: mul.f r51.x, r50.y, r50.y
MESA: info: mul.f r48.y, r48.y, r48.w
MESA: info: sub.u hr51.z, h(1), hr51.z
MESA: info: add.f r50.z, r50.z, (1.0)
MESA: info: add.f r51.x, r51.x, (1.0)
MESA: info: mul.f r50.y, (2.0), r50.y
MESA: info: absneg.f r48.y, (neg)r48.y
MESA: info: cov.u16s32 r50.x, hr51.z
MESA: info: mul.f r50.z, r50.z, c37.x
MESA: info: (ss)rcp r50.w, r50.w
MESA: info: rcp r48.z, r48.z
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[5], r49.y, 1
MESA: info: stc.u32 c[6], r49.z, 1
MESA: info: stc.u32 c[7], r51.x, 1
MESA: info: stc.u32 c[9], r50.y, 1
MESA: info: stc.u32 c[1], r48.y, 1
MESA: info: stc.u32 c[3], r50.x, 1
MESA: info: (ss)mul.f r50.z, r50.z, r50.w
MESA: info: stc.u32 c[2], r48.z, 1
MESA: info: stc.u32 c[4], r49.x, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[8], r50.z, 1
MESA: info: ldc.8.k.imm.base1 c[a1.x], 20, 0
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)80
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (ss)mova1 a1.x, (r)128
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l56:
MESA: info: (jp)and.b r20.y, r3.x, c37.w
MESA: info: shr.b r20.z, r3.x, 16
MESA: info: mov.u32u32 r20.w, 0xaaaaaaab
MESA: info: mov.u32u32 r22.z, 0xaaab0000
MESA: info: mull.u r22.x, r20.y, c41.z
MESA: info: mull.u r21.x, r20.y, c38.x
MESA: info: mull.u r21.y, r20.y, c41.y
MESA: info: mull.u r21.z, r20.z, c38.x
MESA: info: mull.u r21.w, r20.z, c41.y
MESA: info: madsh.m16 r22.x, r20.y, r20.w, (last)r22.x
MESA: info: madsh.m16 r21.x, c38.x, r20.y, (last)r21.x
MESA: info: madsh.m16 r21.y, c41.y, r20.y, (last)r21.y
MESA: info: madsh.m16 r21.z, c38.x, r20.z, (last)r21.z
MESA: info: madsh.m16 r21.w, c41.y, r20.z, (last)r21.w
MESA: info: madsh.m16 r20.y, c41.z, r20.y, (last)r22.x
MESA: info: madsh.m16 r20.z, (last)r20.z, r22.z, c38.y
MESA: info: absneg.s r23.x, (abs)r3.x
MESA: info: cmps.u.lt hr42.x, r20.y, (last)r21.x
MESA: info: add.u r20.z, r20.y, (last)r20.z
MESA: info: and.b r23.w, r23.x, c37.w
MESA: info: mov.u32u32 r23.y, 0x2aaaaaab
MESA: info: cov.u16s32 r22.y, (last)hr42.x
MESA: info: cmps.u.lt hr41.x, (last)r20.z, (last)r20.y
MESA: info: shr.b r23.x, (last)r23.x, 16
MESA: info: shr.b r21.y, (last)r21.y, 16
MESA: info: mull.u r25.z, r23.w, c37.z
MESA: info: mull.u r24.z, r23.w, c38.x
MESA: info: mull.u r24.w, r23.w, c37.y
MESA: info: cov.u16s32 r22.w, (last)hr41.x
MESA: info: mull.u r25.x, r23.x, c38.x
MESA: info: mull.u r25.y, r23.x, c37.y
MESA: info: sad.s32 r21.w, (last)r21.w, r22.y, (last)r21.y
MESA: info: madsh.m16 r23.y, r23.w, r23.y, (last)r25.z
MESA: info: shr.b r21.z, (last)r21.z, 16
MESA: info: madsh.m16 r24.z, c38.x, r23.w, (last)r24.z
MESA: info: madsh.m16 r24.w, c37.y, r23.w, (last)r24.w
MESA: info: madsh.m16 r25.x, c38.x, r23.x, (last)r25.x
MESA: info: madsh.m16 r25.y, c37.y, r23.x, (last)r25.y
MESA: info: madsh.m16 r23.w, c37.z, r23.w, (last)r23.y
MESA: info: madsh.m16 r23.x, (last)r23.x, r22.z, c38.y
MESA: info: sad.s32 r21.w, (last)r21.w, r22.w, (last)r21.z
MESA: info: cmps.u.lt hr40.z, r23.w, (last)r24.z
MESA: info: add.u r23.x, r23.w, (last)r23.x
MESA: info: shr.b r23.z, r21.w, 2
MESA: info: shr.b r21.w, (last)r21.w, 3
MESA: info: cov.u16s32 r20.z, (last)hr40.z
MESA: info: cmps.u.lt hr47.z, r23.x, (last)r23.w
MESA: info: not.b r23.x, (last)r23.x
MESA: info: shr.b r24.w, (last)r24.w, 16
MESA: info: mull.u r24.y, r21.w, 12
MESA: info: cov.u16s32 r21.x, (last)hr47.z
MESA: info: add.u r21.y, r23.x, 1
MESA: info: sad.s32 r25.y, (last)r25.y, r20.z, (last)r24.w
MESA: info: madsh.m16 r21.w, c41.x, r21.w, (last)r24.y
MESA: info: shr.b r25.x, (last)r25.x, 16
MESA: info: cmps.u.lt hr42.z, (last)r21.y, (last)r23.x
MESA: info: sub.u r21.w, r3.x, (last)r21.w
MESA: info: sad.s32 r25.y, (last)r25.y, r21.x, (last)r25.x
MESA: info: mull.u r24.x, r23.z, 6
MESA: info: cov.u16s32 r21.z, (last)hr42.z
MESA: info: cmps.s.lt p0.x, (last)r21.w, 6
MESA: info: madsh.m16 r23.z, c43.w, r23.z, (last)r24.x
MESA: info: (nop1) not.b r21.w, r25.y
MESA: info: sub.u r23.z, r3.x, (last)r23.z
MESA: info: add.u r21.w, (last)r21.w, (last)r21.z
MESA: info: (nop2) cmps.s.lt r3.x, (last)r3.x, 0
MESA: info: (nop2) sel.b32 r21.w, (last)r21.w, r3.x, (last)r25.y
MESA: info: (nop2) ashr.b r21.w, (last)r21.w, 1
MESA: info: (nop2) shr.b r22.x, r21.w, 31
MESA: info: (nop2) add.u r21.w, (last)r21.w, (last)r22.x
MESA: info: (nop3) shl.b r21.w, (last)r21.w, 2
MESA: info: (rpt1)nop
MESA: info: isam.v.base3 (u32)(xyz)r22.w, r21.w, s#0, t#1
MESA: info: isam.v.base3 (u32)(xyzw)r25.y, r21.w, s#0, t#0
MESA: info: (sy)cov.f32s32 r26.x, (last)r26.x
MESA: info: mul.f r23.w, r0.w, r23.x
MESA: info: (rpt1)mul.f r24.w, (r)r1.x, (last)r23.x
MESA: info: mull.u r30.z, r26.x, 176
MESA: info: mad.f32 r23.w, r0.x, r22.w, (last)r23.w
MESA: info: madsh.m16 r30.z, c38.w, r26.x, (last)r30.z
MESA: info: (rpt1)mad.f32 r24.w, (r)r0.y, r22.w, (r)(last)r24.w
MESA: info: add.u r40.y, r30.z, 144
MESA: info: add.u r40.z, r30.z, 160
MESA: info: (rpt1)mad.f32 r24.y, (r)r1.w, r23.y, (r)r24.w
MESA: info: (rpt1)shr.b r40.y, (last)(r)r40.y, 4
MESA: info: mad.f32 r24.x, r1.z, r23.y, r23.w
MESA: info: mul.f r26.y, r24.y, r24.y
MESA: info: shl.b r30.w, r26.x, 4
MESA: info: mad.f32 r26.y, r24.z, r24.z, (last)r26.y
MESA: info: ldc.offset0.4.imm.base1 r43.y, r40.y, 2
MESA: info: mul.f r1.x, (last)r1.x, r25.z
MESA: info: ldc.offset0.3.imm.base1 r44.y, r40.z, 2
MESA: info: mad.f32 r26.y, r24.x, r24.x, (last)r26.y
MESA: info: add.u r30.w, (last)r30.w, c38.z
MESA: info: mul.f r1.y, (last)r1.y, r25.z
MESA: info: mad.f32 r0.y, (last)r0.y, r25.y, (last)r1.x
MESA: info: shr.b r30.w, (last)r30.w, 4
MESA: info: mul.f r0.w, (last)r0.w, (last)r25.z
MESA: info: rsq r26.z, r26.y
MESA: info: mad.f32 r0.z, (last)r0.z, r25.y, (last)r1.y
MESA: info: mad.f32 r1.w, (last)r1.w, r25.w, (last)r0.y
MESA: info: mad.f32 r0.x, (last)r0.x, r25.y, (last)r0.w
MESA: info: mad.f32 r2.x, (last)r2.x, r25.w, (last)r0.z
MESA: info: ldc.offset0.2.imm.base1 r42.w, r30.w, 2
MESA: info: add.f r30.x, (last)r1.w, (last)r2.z
MESA: info: mad.f32 r1.z, (last)r1.z, r25.w, (last)r0.x
MESA: info: add.f r30.y, (last)r2.x, (last)r2.w
MESA: info: add.u r31.y, r30.z, 16
MESA: info: add.f r29.w, (last)r1.z, (last)r2.y
MESA: info: (ss)sqrt r26.y, (last)r26.y
MESA: info: (rpt2)mul.f r27.z, (r)r24.x, (last)r26.z
MESA: info: add.u r31.z, r30.z, 32
MESA: info: add.u r32.w, r30.z, 48
MESA: info: add.u r33.x, r30.z, 64
MESA: info: add.u r35.y, r30.z, 80
MESA: info: add.u r36.z, r30.z, 96
MESA: info: add.u r37.w, r30.z, 112
MESA: info: add.u r38.x, r30.z, 128
MESA: info: shr.b r31.x, (last)r30.z, 4
MESA: info: shr.b r31.y, (last)r31.y, 4
MESA: info: (ss)(rpt2)mul.f r28.w, r26.y, (r)r27.z
MESA: info: shr.b r31.z, (last)r31.z, 4
MESA: info: ldc.offset0.4.imm.base1 r31.w, r31.x, 2
MESA: info: shr.b r32.w, (last)r32.w, 4
MESA: info: ldc.offset0.4.imm.base1 r33.y, r31.y, 2
MESA: info: shr.b r33.x, (last)r33.x, 4
MESA: info: shr.b r35.y, (last)r35.y, 4
MESA: info: shr.b r36.z, (last)r36.z, 4
MESA: info: shr.b r37.w, (last)r37.w, 4
MESA: info: ldc.offset0.4.imm.base1 r34.y, r31.z, 2
MESA: info: shr.b r38.x, (last)r38.x, 4
MESA: info: ldc.offset0.4.imm.base1 r35.z, r32.w, 2
MESA: info: nop
MESA: info: ldc.offset0.4.imm.base1 r36.w, r33.x, 2
MESA: info: nop
MESA: info: ldc.offset0.4.imm.base1 r38.y, r35.y, 2
MESA: info: nop
MESA: info: ldc.offset0.4.imm.base1 r39.y, r36.z, 2
MESA: info: nop
MESA: info: ldc.offset0.4.imm.base1 r40.w, r37.w, 2
MESA: info: nop
MESA: info: ldc.offset0.4.imm.base1 r41.w, r38.x, 2
MESA: info: (sy)mul.f r45.x, r43.y, r28.w
MESA: info: mul.f r45.y, r44.y, r28.w
MESA: info: mul.f r45.z, r43.z, r28.w
MESA: info: mul.f r45.w, r43.y, r29.x
MESA: info: mul.f r43.z, r29.x, (last)r43.z
MESA: info: mul.f r28.w, r44.z, (last)r28.w
MESA: info: mul.f r44.z, r29.x, (last)r44.z
MESA: info: mul.f r29.x, r44.y, (last)r29.x
MESA: info: mul.f r43.w, (last)r43.w, r26.y
MESA: info: mul.f r44.w, (last)r44.w, r26.y
MESA: info: mul.f r43.y, (last)r43.y, r29.y
MESA: info: mul.f r44.y, (last)r44.y, (last)r29.y
MESA: info: min.f r46.z, r45.z, r28.w
MESA: info: min.f r46.w, r45.w, r29.x
MESA: info: min.f r47.x, r43.w, r44.w
MESA: info: min.f r47.y, r43.y, r44.y
MESA: info: min.f r46.x, r45.x, r45.y
MESA: info: min.f r46.y, (neg)r43.z, (neg)r44.z
MESA: info: max.f r45.z, (last)r45.z, (last)r28.w
MESA: info: add.f r46.w, (last)r46.w, (last)r46.z
MESA: info: max.f r45.w, (last)r45.w, (last)r29.x
MESA: info: max.f r43.w, (last)r43.w, r44.w
MESA: info: add.f r47.y, (last)r47.y, (last)r47.x
MESA: info: max.f r43.y, (last)r43.y, (last)r44.y
MESA: info: max.f r45.x, (last)r45.x, r45.y
MESA: info: add.f r46.x, (last)r46.x, (last)r46.y
MESA: info: max.f r43.z, (last)(neg)r43.z, (last)(neg)r44.z
MESA: info: add.f r46.w, (last)r46.w, r30.x
MESA: info: add.f r45.w, (last)r45.w, r45.z
MESA: info: add.f r47.y, (last)r47.y, r30.y
MESA: info: add.f r43.y, (last)r43.y, (last)r43.w
MESA: info: add.f r46.x, (last)r46.x, r29.w
MESA: info: add.f r45.x, (last)r45.x, (last)r43.z
MESA: info: max.f r46.w, c7.y, (last)r46.w
MESA: info: add.f r45.w, (last)r45.w, r30.x
MESA: info: max.f r47.y, c7.z, (last)r47.y
MESA: info: add.f r43.y, (last)r43.y, r30.y
MESA: info: max.f r46.x, c7.x, (last)r46.x
MESA: info: add.f r45.x, (last)r45.x, r29.w
MESA: info: min.f r46.w, (last)r46.w, (last)r45.w
MESA: info: min.f r47.y, (last)r47.y, (last)r43.y
MESA: info: min.f r46.x, (last)r46.x, r45.x
MESA: info: add.f r46.w, c7.y, (last)(neg)r46.w
MESA: info: add.f r47.y, c7.z, (last)(neg)r47.y
MESA: info: add.f r46.x, c7.x, (last)(neg)r46.x
MESA: info: mul.f r46.w, (last)r46.w, r46.w
MESA: info: mul.f r43.x, (last)r43.x, c0.x
MESA: info: (nop1) mad.f32 r47.y, (last)r47.y, r47.y, (last)r46.w
MESA: info: (nop3) mad.f32 r46.x, (last)r46.x, r46.x, (last)r47.y
MESA: info: (rpt1)nop
MESA: info: sqrt r46.x, (last)r46.x
MESA: info: (ss)(nop2) mad.f32 r42.w, c8.w, r42.w, (neg)(last)r46.x
MESA: info: (nop2) mul.f r42.w, (2.0), (last)r42.w
MESA: info: (sat)(nop2) mul.f r42.w, (last)r42.w, (last)r43.x
MESA: info: (nop3) cmps.f.lt p0.y, (0.0), r42.w
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l731
MESA: info: cmps.f.ge r1.y, (0.0), r27.z
MESA: info: absneg.f r1.z, (abs)r27.z
MESA: info: (rpt2)add.f r0.x, (r)c7.x, (neg)(r)r29.w
MESA: info: sel.b32 r2.x, r27.w, r1.y, r1.z
MESA: info: mul.f r0.w, r0.x, r0.x
MESA: info: sel.b32 r1.z, (last)r1.z, r1.y, r27.w
MESA: info: cmps.f.ge r2.y, (abs)r2.x, c43.x
MESA: info: mad.f32 r0.w, r0.y, r0.y, (last)r0.w
MESA: info: cmps.f.eq r1.w, (abs)r27.z, (abs)r27.w
MESA: info: sel.b32 r2.y, c42.w, r2.y, c42.z
MESA: info: add.f r2.z, r30.x, (neg)c7.y
MESA: info: add.f r2.w, r30.y, (neg)c7.z
MESA: info: mul.f r2.x, (last)r2.x, r2.y
MESA: info: rsq r0.w, (last)r0.w
MESA: info: mul.f r1.z, (last)r1.z, (last)r2.y
MESA: info: add.f r3.x, r29.w, (neg)c7.x
MESA: info: mul.f r2.z, (last)r2.z, r2.z
MESA: info: mov.u32u32 r1.x, 0x7fffffff
MESA: info: mad.f32 r2.w, (last)r2.w, r2.w, (last)r2.z
MESA: info: rcp r2.x, (last)r2.x
MESA: info: sel.b32 r1.y, c42.y, r1.y, c38.y
MESA: info: mad.f32 r3.x, (last)r3.x, r3.x, (last)r2.w
MESA: info: cmps.s.ne p0.y, c0.w, 0
MESA: info: (ss)mul.f r1.z, (last)(abs)r1.z, (abs)r2.x
MESA: info: mul.f r20.y, r0.z, r0.w
MESA: info: sel.b32 r1.w, c42.z, r1.w, (last)r1.z
MESA: info: min.f r2.x, r27.w, (last)r2.x
MESA: info: sqrt r3.x, (last)r3.x
MESA: info: cmps.f.ge r21.z, (1.0), (abs)r20.y
MESA: info: cmps.f.ge r20.z, (1.0), r1.w
MESA: info: and.b r21.y, r1.w, c40.w
MESA: info: rcp r22.y, r20.y
MESA: info: and.b r21.w, r20.y, c40.w
MESA: info: rcp r21.x, r1.w
MESA: info: sel.b32 r22.x, c38.y, r20.z, c40.z
MESA: info: sel.b32 r22.w, c38.y, r21.z, c40.z
MESA: info: cmps.f.lt r2.x, (last)r2.x, (0.0)
MESA: info: mul.f r27.x, r0.y, r0.w
MESA: info: mul.f r26.w, r0.x, (last)r0.w
MESA: info: (ss)sel.b32 r1.w, (last)r1.w, r20.z, (last)r21.x
MESA: info: sel.b32 r20.y, (last)r20.y, r21.z, (last)r22.y
MESA: info: add.f r3.x, (last)r3.x, c0.y
MESA: info: mul.f r25.x, r1.w, r1.w
MESA: info: mul.f r24.w, r20.y, r20.y
MESA: info: absneg.f r1.w, (last)(abs)r1.w
MESA: info: mad.f32 r25.z, c39.x, r25.x, c39.y
MESA: info: mad.f32 r25.y, c39.x, r24.w, c39.y
MESA: info: (sat)mul.f r3.x, (last)r3.x, c0.z
MESA: info: mad.f32 r25.z, (last)r25.z, r25.x, c39.z
MESA: info: mad.f32 r25.y, (last)r25.y, r24.w, c39.z
MESA: info: mul.f r3.x, (last)r3.x, r3.x
MESA: info: mad.f32 r25.z, (last)r25.z, r25.x, c39.w
MESA: info: mad.f32 r25.y, (last)r25.y, r24.w, c39.w
MESA: info: absneg.f r20.y, (last)(abs)r20.y
MESA: info: mad.f32 r25.z, (last)r25.z, r25.x, c40.x
MESA: info: mad.f32 r25.y, (last)r25.y, r24.w, c40.x
MESA: info: mul.f r23.x, r3.x, r3.x
MESA: info: mad.f32 r25.z, (last)r25.z, r25.x, c40.y
MESA: info: mad.f32 r25.y, (last)r25.y, r24.w, c40.y
MESA: info: mul.f r23.x, (last)r23.x, (last)r3.x
MESA: info: mad.f32 r1.w, (last)r1.w, r25.z, (last)r22.x
MESA: info: mad.f32 r20.y, (last)r20.y, r25.y, (last)r22.w
MESA: info: mul.f r23.w, c12.x, (last)r23.x
MESA: info: andg r1.w, (last)r1.w, r1.x, (last)r21.y
MESA: info: (nop1) andg r20.y, (last)r20.y, r1.x, (last)r21.w
MESA: info: (nop2) add.f r1.y, (last)r1.y, (last)r1.w
MESA: info: (nop2) absneg.f r25.w, (neg)r1.y
MESA: info: sel.b32 r29.z, (last)r25.w, r2.x, (last)r1.y
MESA: info: br !p0.y, #l420
MESA: info: rcp r2.y, r0.z
MESA: info: cmps.f.lt hr54.z, c7.z, (0.0)
MESA: info: mov.u32u32 r51.z, 0
MESA: info: cmps.f.ge hr4.x, r30.y, (0.0)
MESA: info: max.f r2.z, r30.y, (0.0)
MESA: info: mov.u32u32 r24.x, 0x3f800000
MESA: info: mov.u32u32 r24.y, 0x3f800000
MESA: info: mov.u32u32 r28.z, 0
MESA: info: mov.u32u32 r28.y, 0
MESA: info: (ss)mul.f r2.y, c7.z, (last)r2.y
MESA: info: and.b r2.w, hr54.z, (last)hr4.x
MESA: info: mov.u32u32 r27.y, 0
MESA: info: mad.f32 r3.x, (neg)r2.y, r0.x, c7.x
MESA: info: (rpt1)mad.f32 r21.x, (neg)(last)r2.y, (r)r0.y, (r)c7.y
MESA: info: sel.b32 r3.x, (last)r3.x, r2.w, c7.x
MESA: info: (rpt1)sel.b32 r21.x, (r)(last)r21.x, r2.w, (r)c7.y
MESA: info: add.f r3.x, (last)r3.x, (neg)r29.w
MESA: info: add.f r21.x, (last)r21.x, (neg)r30.x
MESA: info: add.f r21.z, r21.y, (neg)r30.y
MESA: info: mov.u32u32 r26.z, 0
MESA: info: mul.f r21.w, r21.x, r21.x
MESA: info: mov.u32u32 r25.w, 0
MESA: info: mad.f32 r21.w, r21.z, r21.z, (last)r21.w
MESA: info: mov.u32u32 r25.z, 0
MESA: info: mad.f32 r21.w, r3.x, r3.x, (last)r21.w
MESA: info: mov.u32u32 r25.y, 0
MESA: info: mov.u32u32 r25.x, 0
MESA: info: mov.u32u32 r24.z, 0x3f800000
MESA: info: (nop1) max.f r21.y, (last)r21.y, (0.0)
MESA: info: sqrt r22.x, r21.w
MESA: info: (ss)mul.f r22.x, (last)r22.x, c1.x
MESA: info: l355:
MESA: info: cov.s32f32 r51.w, r51.z
MESA: info: cmps.f.lt hr48.x, r51.w, c16.y
MESA: info: (ss)(nop3) cmps.s.ne p0.y, hr48.x, h(0)
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l392
MESA: info: add.f r51.w, r51.w, (0.5)
MESA: info: mul.f r51.w, r51.w, c1.x
MESA: info: add.u r51.z, r51.z, 1
MESA: info: (nop2) add.f r28.w, r2.z, (neg)r21.y
MESA: info: (ss)(nop2) mad.f32 r28.w, r51.w, r28.w, r21.y
MESA: info: (nop2) mul.f r28.w, (last)r28.w, (log2(e))
MESA: info: mul.f r29.x, r28.w, c1.y
MESA: info: (nop3) mul.f r28.w, (last)r28.w, c1.z
MESA: info: (rpt1)nop
MESA: info: exp2 r28.w, (last)(neg)r28.w
MESA: info: exp2 r29.x, (last)(neg)r29.x
MESA: info: (ss)mul.f r28.w, (last)r28.w, r22.x
MESA: info: (nop1) mul.f r29.x, (last)r29.x, r22.x
MESA: info: add.f r25.y, (last)r25.y, r28.w
MESA: info: (nop1) add.f r25.x, (last)r25.x, r29.x
MESA: info: mul.f r29.y, c15.x, r25.y
MESA: info: (rpt1)mul.f r30.z, (r)c15.y, r25.y
MESA: info: mad.f32 r29.y, (neg)c14.x, r25.x, (neg)(last)r29.y
MESA: info: (rpt1)mad.f32 r30.z, (neg)(r)c14.y, r25.x, (neg)(r)(last)r30.z
MESA: info: mul.f r29.y, (last)r29.y, (log2(e))
MESA: info: (rpt1)mul.f r30.z, (last)(r)r30.z, (log2(e))
MESA: info: (rpt2)nop
MESA: info: exp2 r24.x, (last)r29.y
MESA: info: nop
MESA: info: (rpt1)exp2 r24.y, (last)(r)r30.z
MESA: info: (ss)mad.f32 r25.z, r24.x, r29.x, (last)r25.z
MESA: info: mad.f32 r27.y, r24.x, r28.w, (last)r27.y
MESA: info: mad.f32 r25.w, r24.y, r29.x, (last)r25.w
MESA: info: mad.f32 r28.y, r24.y, r28.w, (last)r28.y
MESA: info: mad.f32 r26.z, r24.z, r29.x, (last)r26.z
MESA: info: mad.f32 r28.z, r24.z, r28.w, (last)r28.z
MESA: info: jump #l355
MESA: info: l392:
MESA: info: rsq r21.w, (last)r21.w
MESA: info: (ss)mul.f r21.x, (last)r21.x, r21.w
MESA: info: mul.f r21.z, (last)r21.z, r21.w
MESA: info: mul.f r3.x, (last)r3.x, (last)r21.w
MESA: info: (nop1) mul.f r21.x, (last)r21.x, c20.y
MESA: info: (nop1) mad.f32 r21.z, c20.z, r21.z, (last)r21.x
MESA: info: (nop2) mad.f32 r3.x, c20.x, r3.x, (last)r21.z
MESA: info: (nop2) max.f r3.x, (last)r3.x, c44.y
MESA: info: (nop2) min.f r3.x, (last)r3.x, (1.0)
MESA: info: mad.f32 r31.x, r3.x, r3.x, c42.z
MESA: info: (nop1) mad.f32 r3.x, (neg)c2.y, r3.x, c1.w
MESA: info: (nop2) mul.f r31.y, c44.x, r31.x
MESA: info: (rpt2)mul.f r43.x, (r)c14.x, (last)r31.y
MESA: info: log2 r3.x, (last)r3.x
MESA: info: (ss)(nop3) mul.f r3.x, (last)r3.x, c44.z
MESA: info: (rpt1)nop
MESA: info: exp2 r3.x, (last)(neg)r3.x
MESA: info: (ss)(nop2) mul.f r31.x, (last)r31.x, (last)r3.x
MESA: info: (nop2) mul.f r31.x, c2.x, (last)r31.x
MESA: info: mul.f r43.w, c15.x, r31.x
MESA: info: (rpt1)mul.f r44.y, (r)c15.y, (last)r31.x
MESA: info: mul.f r27.y, (last)r27.y, (last)r43.w
MESA: info: mul.f r28.y, (last)r28.y, (last)r44.y
MESA: info: mul.f r28.z, (last)r28.z, (last)r44.z
MESA: info: mad.f32 r24.w, (last)r25.z, r43.x, (last)r27.y
MESA: info: mad.f32 r44.w, (last)r25.w, r43.y, r28.y
MESA: info: mad.f32 r45.x, (last)r26.z, r43.z, r28.z
MESA: info: jump #l426
MESA: info: l420:
MESA: info: mov.u32u32 r44.w, 0
MESA: info: mov.u32u32 r24.z, 0x3f800000
MESA: info: mov.u32u32 r24.y, 0x3f800000
MESA: info: mov.u32u32 r24.x, 0x3f800000
MESA: info: mov.u32u32 r24.w, 0
MESA: info: mov.u32u32 r45.x, 0
MESA: info: l426:
MESA: info: (nop3) cmps.f.lt p0.y, r20.y, r41.y
MESA: info: (rpt1)nop
MESA: info: brao !p0.y, !p0.x, #l616
MESA: info: cmps.f.ge r45.w, (0.0), r0.x
MESA: info: absneg.f r46.x, (abs)r0.x
MESA: info: cmps.f.eq r0.x, (last)(abs)r0.x, (abs)r0.y
MESA: info: sel.b32 r46.y, r0.y, r45.w, r46.x
MESA: info: sel.b32 r46.x, (last)r46.x, r45.w, r0.y
MESA: info: sel.b32 r45.w, c42.y, r45.w, c38.y
MESA: info: cmps.f.ge r46.z, (abs)r46.y, c43.x
MESA: info: cov.u32s16 hr46.x, r23.z
MESA: info: shl.b r23.z, (last)r23.z, 2
MESA: info: sel.b32 r46.z, c42.w, r46.z, c42.z
MESA: info: mul.f r46.w, c41.w, r40.w
MESA: info: cov.u32s16 hr47.x, r23.z
MESA: info: mul.f r46.y, (last)r46.y, r46.z
MESA: info: mul.f r46.x, (last)r46.x, (last)r46.z
MESA: info: mova a0.x, hr47.x
MESA: info: mul.f r40.w, (0.5), (last)r40.w
MESA: info: add.f r41.z, (last)r41.z, (neg)r41.y
MESA: info: mul.f r23.y, r27.x, r46.w
MESA: info: rcp r46.y, (last)r46.y
MESA: info: mul.f r25.x, r27.x, r40.w
MESA: info: mul.f r46.w, (last)r46.w, r26.w
MESA: info: mul.f r40.w, (last)r40.w, r26.w
MESA: info: mov.u32u32 r28.z, c<a0.x + 97>
MESA: info: rcp r41.z, (last)r41.z
MESA: info: mov.u32u32 r28.y, c<a0.x + 96>
MESA: info: mad.f32 r23.y, (neg)(last)r23.y, r26.y, r29.w
MESA: info: mad.f32 r25.x, (neg)(last)r25.x, r26.y, r29.w
MESA: info: mad.f32 r46.w, r26.y, r46.w, r30.x
MESA: info: mad.f32 r40.w, r26.y, r40.w, r30.x
MESA: info: mad.f32 r26.y, (last)r26.y, r41.x, r30.y
MESA: info: mov.u32u32 r17.y, r23.y
MESA: info: mov.u32u32 r17.z, r46.w
MESA: info: mov.u32u32 r17.w, r30.y
MESA: info: mov.u32u32 r18.x, r25.x
MESA: info: (ss)mul.f r46.x, (last)(abs)r46.x, (abs)r46.y
MESA: info: min.f r0.y, (last)r0.y, (last)r46.y
MESA: info: sel.b32 r0.x, c42.z, r0.x, (last)r46.x
MESA: info: mov.u32u32 r18.y, r40.w
MESA: info: cmps.f.lt r0.y, (last)r0.y, (0.0)
MESA: info: cmps.f.ge r1.z, (1.0), r0.x
MESA: info: and.b r2.x, r0.x, c40.w
MESA: info: mov.u32u32 r18.z, r30.y
MESA: info: rcp r1.w, r0.x
MESA: info: sel.b32 r2.y, c38.y, r1.z, c40.z
MESA: info: mov.u32u32 r18.w, (last)r23.y
MESA: info: mov.u32u32 r19.x, (last)r46.w
MESA: info: mov.u32u32 r19.y, r26.y
MESA: info: mov.u32u32 r19.z, (last)r25.x
MESA: info: mov.u32u32 r19.w, (last)r40.w
MESA: info: mov.u32u32 r20.x, r26.y
MESA: info: mov.u32u32 r10.y, (last)r31.w
MESA: info: mov.u32u32 r10.z, (last)r32.x
MESA: info: mov.u32u32 r10.w, (last)r32.y
MESA: info: (ss)sel.b32 r0.x, (last)r0.x, r1.z, (last)r1.w
MESA: info: mov.u32u32 r11.x, (last)r32.z
MESA: info: mov.u32u32 r11.y, (last)r33.y
MESA: info: mul.f r2.z, r0.x, r0.x
MESA: info: absneg.f r0.x, (last)(abs)r0.x
MESA: info: mov.u32u32 r11.z, (last)r33.z
MESA: info: mad.f32 r2.w, c39.x, r2.z, c39.y
MESA: info: mov.u32u32 r11.w, (last)r33.w
MESA: info: mov.u32u32 r12.x, (last)r34.x
MESA: info: mad.f32 r2.w, (last)r2.w, r2.z, c39.z
MESA: info: mov.u32u32 r12.y, (last)r34.y
MESA: info: mov.u32u32 r12.z, (last)r34.z
MESA: info: mad.f32 r2.w, (last)r2.w, r2.z, c39.w
MESA: info: mov.u32u32 r12.w, (last)r34.w
MESA: info: mov.u32u32 r13.x, (last)r35.x
MESA: info: mad.f32 r2.w, (last)r2.w, r2.z, c40.x
MESA: info: mov.u32u32 r13.y, (last)r35.z
MESA: info: mov.u32u32 r13.z, (last)r35.w
MESA: info: mad.f32 r2.w, (last)r2.w, r2.z, c40.y
MESA: info: mov.u32u32 r13.w, (last)r36.x
MESA: info: mov.u32u32 r14.x, (last)r36.y
MESA: info: mad.f32 r0.x, (last)r0.x, r2.w, (last)r2.y
MESA: info: mov.u32u32 r14.y, (last)r36.w
MESA: info: mov.u32u32 r14.z, (last)r37.x
MESA: info: andg r0.x, (last)r0.x, r1.x, (last)r2.x
MESA: info: mov.u32u32 r14.w, (last)r37.y
MESA: info: mov.u32u32 r15.x, (last)r37.z
MESA: info: add.f r45.w, (last)r45.w, (last)r0.x
MESA: info: mov.u32u32 r15.y, (last)r38.y
MESA: info: mov.u32u32 r15.z, (last)r38.z
MESA: info: absneg.f r3.x, (neg)r45.w
MESA: info: mov.u32u32 r15.w, (last)r38.w
MESA: info: mov.u32u32 r16.x, (last)r39.x
MESA: info: sel.b32 r3.x, (last)r3.x, r0.y, (last)r45.w
MESA: info: mov.u32u32 r16.y, r39.y
MESA: info: mov.u32u32 r16.z, r39.z
MESA: info: add.f r3.x, (last)r3.x, c43.y
MESA: info: mov.u32u32 r16.w, r39.w
MESA: info: mov.u32u32 r17.x, r40.x
MESA: info: add.f r3.x, (last)r3.x, (last)(neg)r29.z
MESA: info: (ul)mov.u32u32 r29.z, c<a0.x + 98>
MESA: info: mull.u hr2.z, hr46.x, h(3)
MESA: info: mad.f32 r3.x, c42.x, r3.x, c43.z
MESA: info: shl.b hr46.x, (last)hr46.x, h(1)
MESA: info: add.f r20.y, (last)r20.y, (neg)r41.y
MESA: info: cov.f32s32 r3.x, (last)r3.x
MESA: info: absneg.f r27.z, (neg)r27.x
MESA: info: (sat)mul.f r20.y, (last)r20.y, r41.z
MESA: info: and.b r3.y, r3.x, c37.w
MESA: info: shr.b r3.z, r3.x, 16
MESA: info: (sat)mul.f r20.y, (last)r20.y, (2.0)
MESA: info: mull.u r4.w, r3.y, c41.z
MESA: info: mull.u r3.w, r3.y, c38.x
MESA: info: mull.u r4.x, r3.y, c41.y
MESA: info: mull.u r4.y, r3.z, c38.x
MESA: info: mull.u r4.z, r3.z, c41.y
MESA: info: madsh.m16 r20.w, r3.y, r20.w, r4.w
MESA: info: madsh.m16 r3.w, c38.x, r3.y, (last)r3.w
MESA: info: madsh.m16 r4.x, c41.y, r3.y, (last)r4.x
MESA: info: madsh.m16 r4.y, c38.x, r3.z, (last)r4.y
MESA: info: madsh.m16 r4.z, c41.y, r3.z, (last)r4.z
MESA: info: madsh.m16 r3.y, c41.z, r3.y, (last)r20.w
MESA: info: madsh.m16 r3.z, (last)r3.z, r22.z, c38.y
MESA: info: shr.b r4.x, (last)r4.x, 16
MESA: info: cmps.u.lt hr7.z, r3.y, r3.w
MESA: info: add.u r3.z, r3.y, (last)r3.z
MESA: info: shr.b r4.y, (last)r4.y, 16
MESA: info: cov.u16s32 r5.x, hr7.z
MESA: info: cmps.u.lt hr7.x, r3.z, r3.y
MESA: info: mov.u32u32 r27.y, 0x80000000
MESA: info: sad.s32 r4.z, (last)r4.z, r5.x, r4.x
MESA: info: cov.u16s32 r5.y, hr7.x
MESA: info: mov.u32u32 r27.w, r26.w
MESA: info: mov.u32u32 r28.x, 0x80000000
MESA: info: sad.s32 r4.z, (last)r4.z, r5.y, r4.y
MESA: info: (nop1) mul.f r42.w, (last)r42.w, r20.y
MESA: info: (nop2) shr.b r4.z, (last)r4.z, 2
MESA: info: (nop1) mull.u r5.z, r4.z, 6
MESA: info: (nop2) madsh.m16 r4.z, c43.w, r4.z, r5.z
MESA: info: (nop2) sub.u r3.x, (last)r3.x, r4.z
MESA: info: cov.u32s16 hr6.x, (last)r3.x
MESA: info: (rpt1)nop
MESA: info: (nop2) shl.b hr6.x, (last)hr6.x, h(2)
MESA: info: mova a0.x, (last)hr6.x
MESA: info: (rpt4)nop
MESA: info: mov.u32u32 r5.w, r<a0.x + 41>
MESA: info: mov.u32u32 r6.x, r<a0.x + 42>
MESA: info: mov.u32u32 r6.y, r<a0.x + 43>
MESA: info: (ul)mov.u32u32 r6.z, r<a0.x + 44>
MESA: info: mova a0.x, (last)hr2.z
MESA: info: (rpt1)cmps.f.lt hr13.z, (r)r5.w, (r)r6.y
MESA: info: add.f r7.y, r6.y, (neg)r5.w
MESA: info: add.f r7.z, r6.z, (neg)r6.x
MESA: info: cmps.s.eq r7.x, hr13.z, hr13.w
MESA: info: mov.u32u32 r7.w, r<a0.x + 69>
MESA: info: mov.u32u32 r8.x, r<a0.x + 70>
MESA: info: sel.b32 r7.y, (last)r7.y, r7.x, c38.y
MESA: info: sel.b32 r7.x, c38.y, r7.x, r7.z
MESA: info: (ul)mov.u32u32 r17.y, r<a0.x + 71>
MESA: info: mova a0.x, (last)hr46.x
MESA: info: mov.u32u32 r8.y, r5.w
MESA: info: mul.f r10.y, c33.x, r8.x
MESA: info: mul.f r11.z, c33.y, r8.x
MESA: info: mul.f r11.w, c33.z, r8.x
MESA: info: mul.f r12.x, c33.w, r8.x
MESA: info: add.f r5.w, (last)r5.w, r7.y
MESA: info: mov.u32u32 r8.z, r6.x
MESA: info: add.f r7.y, r6.y, (last)(neg)r7.y
MESA: info: add.f r6.x, (last)r6.x, r7.x
MESA: info: add.f r7.x, r6.z, (last)(neg)r7.x
MESA: info: mad.f32 r10.y, c32.x, r7.w, (last)r10.y
MESA: info: mad.f32 r11.z, c32.y, r7.w, (last)r11.z
MESA: info: mad.f32 r11.w, c32.z, r7.w, (last)r11.w
MESA: info: mad.f32 r12.x, c32.w, r7.w, (last)r12.x
MESA: info: mov.u32u32 r8.w, r5.w
MESA: info: mad.f32 r10.y, c34.x, r17.y, (last)r10.y
MESA: info: mad.f32 r11.z, c34.y, r17.y, (last)r11.z
MESA: info: mad.f32 r11.w, c34.z, r17.y, (last)r11.w
MESA: info: mad.f32 r12.x, c34.w, r17.y, (last)r12.x
MESA: info: mov.u32u32 r9.x, r6.x
MESA: info: mov.u32u32 r9.y, r7.y
MESA: info: mov.u32u32 r9.z, r7.x
MESA: info: mov.u32u32 r9.w, r6.y
MESA: info: mov.u32u32 r10.x, r6.z
MESA: info: mov.u32u32 r18.x, r17.y
MESA: info: mov.u32u32 r18.y, r8.x
MESA: info: mov.u32u32 r18.z, r7.w
MESA: info: add.f r10.z, (last)r10.y, c35.x
MESA: info: add.f r10.w, (last)r11.z, c35.y
MESA: info: add.f r11.x, (last)r11.w, c35.z
MESA: info: add.f r11.y, (last)r12.x, c35.w
MESA: info: mov.u32u32 r45.y, r<a0.x + 33>
MESA: info: (ul)mov.u32u32 r45.z, r<a0.x + 34>
MESA: info: jump #l724
MESA: info: l616:
MESA: info: (jp)(nop3) cmps.f.ge p0.y, r20.y, r41.z
MESA: info: (rpt1)nop
MESA: info: brao !p0.y, p0.x, #l714
MESA: info: add.f r41.z, (last)r41.z, (neg)r41.y
MESA: info: cov.u32s16 hr31.x, r23.z
MESA: info: shl.b r23.z, (last)r23.z, 2
MESA: info: mul.f r12.y, r27.w, r42.x
MESA: info: mul.f r12.z, r27.w, r42.z
MESA: info: cov.u32s16 hr47.x, (last)r23.z
MESA: info: rcp r41.z, (last)r41.z
MESA: info: mull.u hr31.y, hr31.x, h(3)
MESA: info: mul.f r42.x, (last)r42.x, r27.z
MESA: info: mova a0.x, (last)hr47.x
MESA: info: mul.f r42.z, (last)r42.z, r27.z
MESA: info: mad.f32 r12.w, r41.w, r27.z, (neg)r12.y
MESA: info: mad.f32 r13.x, r42.y, r27.z, (neg)(last)r12.y
MESA: info: mad.f32 r13.y, r41.w, r27.z, (neg)r12.z
MESA: info: mad.f32 r13.z, r42.y, r27.z, (neg)(last)r12.z
MESA: info: mad.f32 r13.w, r41.w, r27.w, r42.x
MESA: info: mad.f32 r14.x, r41.w, r27.w, r42.z
MESA: info: mad.f32 r14.y, r42.y, r27.w, (last)r42.z
MESA: info: mad.f32 r42.x, r42.y, r27.w, (last)r42.x
MESA: info: mad.f32 r41.w, (last)r41.w, r28.x, r44.x
MESA: info: mad.f32 r42.y, (last)r42.y, r28.x, (last)r44.x
MESA: info: mov.u32u32 r28.z, c<a0.x + 113>
MESA: info: (ul)mov.u32u32 r28.y, c<a0.x + 112>
MESA: info: mova a0.x, (last)hr31.y
MESA: info: add.f r20.y, (last)r20.y, (last)(neg)r41.y
MESA: info: (rpt1)cmps.f.lt hr29.x, (r)r39.y, (r)r39.w
MESA: info: mad.f32 r12.w, r26.y, r12.w, r29.w
MESA: info: mad.f32 r13.x, r26.y, r13.x, r29.w
MESA: info: (rpt1)mad.f32 r13.y, r26.y, (r)r13.y, r29.w
MESA: info: mad.f32 r13.w, r26.y, r13.w, r30.x
MESA: info: (rpt1)mad.f32 r14.x, r26.y, (r)r14.x, r30.x
MESA: info: mad.f32 r42.x, r26.y, r42.x, r30.x
MESA: info: mad.f32 r41.w, r26.y, r41.w, r30.y
MESA: info: mad.f32 r26.y, (last)r26.y, r42.y, r30.y
MESA: info: add.f r15.x, r39.w, (neg)r39.y
MESA: info: (ss)(sat)mul.f r20.y, (last)r20.y, (last)r41.z
MESA: info: cmps.s.eq r14.w, (last)hr29.x, (last)hr29.y
MESA: info: mov.u32u32 r5.y, (last)r12.w
MESA: info: mov.u32u32 r5.z, (last)r13.w
MESA: info: mov.u32u32 r5.w, r41.w
MESA: info: mov.u32u32 r6.x, (last)r13.x
MESA: info: mov.u32u32 r6.y, (last)r42.x
MESA: info: mov.u32u32 r6.z, r26.y
MESA: info: mov.u32u32 r6.w, (last)r13.y
MESA: info: mov.u32u32 r7.x, (last)r14.x
MESA: info: mov.u32u32 r7.y, (last)r41.w
MESA: info: mov.u32u32 r7.z, (last)r13.z
MESA: info: mov.u32u32 r7.w, (last)r14.y
MESA: info: mov.u32u32 r8.x, (last)r26.y
MESA: info: add.f r15.y, r40.x, (neg)r39.z
MESA: info: shl.b hr31.x, (last)hr31.x, h(1)
MESA: info: add.f r20.y, (1.0), (last)(neg)r20.y
MESA: info: sel.b32 r15.x, (last)r15.x, r14.w, c38.y
MESA: info: mov.u32u32 r15.w, r<a0.x + 21>
MESA: info: sel.b32 r14.w, c38.y, r14.w, (last)r15.y
MESA: info: mov.u32u32 r16.x, r<a0.x + 22>
MESA: info: (ul)mov.u32u32 r5.y, r<a0.x + 23>
MESA: info: mova a0.x, (last)hr31.x
MESA: info: mov.u32u32 r3.y, r39.y
MESA: info: mul.f r20.y, (2.0), (last)r20.y
MESA: info: mul.f r16.y, c33.x, r16.x
MESA: info: mul.f r16.z, c33.y, r16.x
MESA: info: mul.f r16.w, c33.z, r16.x
MESA: info: mul.f r17.x, c33.w, r16.x
MESA: info: add.f r39.y, (last)r39.y, r15.x
MESA: info: mov.u32u32 r3.z, r39.z
MESA: info: add.f r15.x, r39.w, (last)(neg)r15.x
MESA: info: add.f r39.z, (last)r39.z, r14.w
MESA: info: add.f r14.w, r40.x, (last)(neg)r14.w
MESA: info: mad.f32 r16.y, c32.x, r15.w, (last)r16.y
MESA: info: mad.f32 r16.z, c32.y, r15.w, (last)r16.z
MESA: info: mad.f32 r16.w, c32.z, r15.w, (last)r16.w
MESA: info: mad.f32 r17.x, c32.w, r15.w, (last)r17.x
MESA: info: min.f r20.y, (last)r20.y, (1.0)
MESA: info: mov.u32u32 r3.w, (last)r39.y
MESA: info: mad.f32 r16.y, c34.x, r5.y, (last)r16.y
MESA: info: mad.f32 r16.z, c34.y, r5.y, (last)r16.z
MESA: info: mad.f32 r16.w, c34.z, r5.y, (last)r16.w
MESA: info: mad.f32 r17.x, c34.w, r5.y, (last)r17.x
MESA: info: mov.u32u32 r4.x, (last)r39.z
MESA: info: mov.u32u32 r4.y, (last)r15.x
MESA: info: mov.u32u32 r4.z, (last)r14.w
MESA: info: mov.u32u32 r4.w, (last)r39.w
MESA: info: mov.u32u32 r5.x, (last)r40.x
MESA: info: mov.u32u32 r17.w, (last)r15.w
MESA: info: mov.u32u32 r17.z, (last)r16.x
MESA: info: mov.u32u32 r17.y, (last)r5.y
MESA: info: mul.f r42.w, (last)r42.w, (last)r20.y
MESA: info: add.f r10.z, (last)r16.y, c35.x
MESA: info: add.f r10.w, (last)r16.z, c35.y
MESA: info: add.f r11.x, (last)r16.w, c35.z
MESA: info: add.f r11.y, (last)r17.x, c35.w
MESA: info: mov.u32u32 r45.y, r<a0.x + 13>
MESA: info: (ul)mov.u32u32 r45.z, r<a0.x + 14>
MESA: info: jump #l718
MESA: info: l714:
MESA: info: (jp)mov.u32u32 r11.y, 0
MESA: info: mov.u32u32 r10.z, 0
MESA: info: mov.u32u32 r10.w, 0
MESA: info: mov.u32u32 r11.x, 0
MESA: info: l718:
MESA: info: (jp)mov.u32u32 r27.y, 0x3f800000
MESA: info: mov.u32u32 r27.x, 0
MESA: info: mov.u32u32 r26.w, 0
MESA: info: mov.u32u32 r18.z, (last)r17.w
MESA: info: mov.u32u32 r18.y, (last)r17.z
MESA: info: mov.u32u32 r18.x, (last)r17.y
MESA: info: l724:
MESA: info: (jp)mov.u32u32 r19.y, (last)r24.z
MESA: info: mov.u32u32 r19.x, (last)r24.y
MESA: info: mov.u32u32 r18.w, (last)r24.x
MESA: info: mov.u32u32 r24.z, (last)r18.x
MESA: info: mov.u32u32 r24.y, (last)r18.y
MESA: info: mov.u32u32 r24.x, (last)r18.z
MESA: info: jump #l735
MESA: info: l731:
MESA: info: (jp)mov.u32u32 r11.y, 0
MESA: info: mov.u32u32 r10.z, 0
MESA: info: mov.u32u32 r10.w, 0
MESA: info: mov.u32u32 r11.x, 0
MESA: info: l735:
MESA: info: (jp)mov.u32u32 r19.z, (last)r18.w
MESA: info: mov.u32u32 r19.w, (last)r19.x
MESA: info: mov.u32u32 r20.x, (last)r19.y
MESA: info: mov.u32u32 r20.y, (last)r24.w
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r10.z (VARYING_SLOT_POS) r23.w (VARYING_SLOT_VAR0) r26.w (VARYING_SLOT_VAR1) r27.w (VARYING_SLOT_VAR2) r29.z (VARYING_SLOT_VAR3) r19.z (VARYING_SLOT_VAR4) r44.w (VARYING_SLOT_VAR5) r42.w (VARYING_SLOT_VAR6) r26.x (VARYING_SLOT_VAR7)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (SYSTEM_VALUE_VERTEX_ID slot=9 cm=1,il=0,b=0)
MESA: info: ; VERT prog 124/3: 803 instr, 113 nops, 690 non-nops, 149 mov, 15 cov, 1504 dwords
MESA: info: ; VERT prog 124/3: 0 last-baryf, 0 last-helper, 0 half, 48 full, 48 constlen
MESA: info: ; VERT prog 124/3: 124 cat0, 164 cat1, 317 cat2, 162 cat3, 22 cat4, 2 cat5, 12 cat6, 0 cat7
MESA: info: ; VERT prog 124/3: 91 sstall, 17 (ss), 98 systall, 2 (sy), 1 loops
MESA: info: ; VERT prog 124/3: 4 max_waves, 0 double_threadsize
MESA: info: ; 56 preamble-instr, 1 early-preamble
MESA: info: ; pos: r10.z
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xbfe67925, 0x27a8b917, 0xa9f51892, 0x4498b81d, 0x7ff16788, 0x2fdbfa70, 0x06872a7c, 0x1711c849}
MESA: info: num_ubos: 2
MESA: info: inputs_read: 15-18
MESA: info: outputs_written: 0
MESA: info: system_values_read: 0x00000000'00000000'00000000'00000200
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: inputs: 4
MESA: info: outputs: 9
MESA: info: uniforms: 52
MESA: info: constants: 128
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #1 (VERT_ATTRIB_GENERIC1.xyz, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #2 (VERT_ATTRIB_GENERIC2.xyz, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #3 (VERT_ATTRIB_GENERIC3.xyz, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #4 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #5 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #6 (VARYING_SLOT_VAR1.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #7 (VARYING_SLOT_VAR2.xyzw, 3, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #8 (VARYING_SLOT_VAR3.xyzw, 4, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #9 (VARYING_SLOT_VAR4.xyzw, 5, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #10 (VARYING_SLOT_VAR5.xyzw, 6, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none float #11 (VARYING_SLOT_VAR6.x, 7, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none int #12 (VARYING_SLOT_VAR7.x, 8, 0)
MESA: info: decl_var ubo INTERP_MODE_NONE none uint[] $consts (0, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #13
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     decl_var  INTERP_MODE_NONE none vec2[4] #14
MESA: info:     decl_var  INTERP_MODE_NONE none vec3[4] #15
MESA: info:     decl_var  INTERP_MODE_NONE none vec4[7] #16
MESA: info:     decl_var  INTERP_MODE_NONE none vec2[4] #17
MESA: info:     decl_var  INTERP_MODE_NONE none vec3[4] #18
MESA: info:     con block b0:         // preds:
MESA: info:     div 32       %0 = @decl_reg (num_components=2, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %1 = @decl_reg (num_components=3, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %2 = @decl_reg (num_components=2, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     div 32       %3 = @decl_reg (num_components=4, num_array_elems=7, bit_size=32, divergent=1)
MESA: info:     div 32       %4 = @decl_reg (num_components=3, num_array_elems=4, bit_size=32, divergent=1)
MESA: info:     con 1        %5 = @preamble_start_ir3
MESA: info:                       // succs: b1 b5
MESA: info:     if %5 {
MESA: info:         con block b1:         // preds: b0
MESA: info:         div 1        %6 = @elect_any_ir3
MESA: info:                           // succs: b2 b3
MESA: info:         if %6 {
MESA: info:             div block b2:         // preds: b1
MESA: info:             con 32       %7 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32       %8 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32       %9 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32      %15 = @bindless_resource_ir3 (%7 (0.000000)) (desc_set=1)
MESA: info:             con 32    %1145 = load_const (0x00000018 = 0.000000 = 24)
MESA: info:             con 32    %1078 = @load_ubo_vec4 (%15, %1145 (0x18)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %18 = frcp %1078
MESA: info:                               @store_const_ir3 (%18) (base=0)
MESA: info:             con 32      %19 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32      %20 = @bindless_resource_ir3 (%9 (0x4)) (desc_set=1)
MESA: info:             con 32x2  %1081 = @load_ubo_vec4 (%20, %7 (0.000000)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %1147 = load_const (0x00000019 = 0.000000 = 25)
MESA: info:             con 32    %1084 = @load_ubo_vec4 (%15, %1147 (0x19)) (access=speculatable, base=0, component=1)
MESA: info:             con 32x2  %1664 = fmul %1081, %1084.xx
MESA: info:             con 32      %26 = fneg %1664.x
MESA: info:                               @store_const_ir3 (%26) (base=1)
MESA: info:             con 32      %27 = frcp %1664.y
MESA: info:                               @store_const_ir3 (%27) (base=2)
MESA: info:             con 32    %1087 = @load_ubo_vec4 (%20, %9 (0x4)) (access=speculatable, base=0, component=1)
MESA: info:             con 1       %29 = fge! %7 (0.000000), %1087
MESA: info:             con 1       %30 = inot %29
MESA: info:             con 32      %31 = b2i32 %30
MESA: info:                               @store_const_ir3 (%31) (base=3)
MESA: info:             con 32      %32 = frcp %1087
MESA: info:                               @store_const_ir3 (%32) (base=4)
MESA: info:             con 32    %1149 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32    %1090 = @load_ubo_vec4 (%20, %1149 (0x2)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %34 = frcp %1090
MESA: info:                               @store_const_ir3 (%34) (base=5)
MESA: info:             con 32    %1150 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32    %1093 = @load_ubo_vec4 (%20, %1150 (0x3)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %36 = frcp %1093
MESA: info:                               @store_const_ir3 (%36) (base=6)
MESA: info:             con 32    %1096 = @load_ubo_vec4 (%20, %9 (0x4)) (access=speculatable, base=0, component=0)
MESA: info:             con 32    %1659 = fneg %1096
MESA: info:             con 32    %1660 = ffma %1659, %1096, %8 (1.000000)
MESA: info:             con 32x2  %1665 = load_const (0x40000000, 0x3f800000) = (2.000000, 1.000000)
MESA: info:             con 32x2  %1666 = ffma %1096.xx, %1096.xx, %1665 (2.000000, 1.000000)
MESA: info:             con 32    %1667 = mov %1666.y
MESA: info:                               @store_const_ir3 (%1667) (base=7)
MESA: info:             con 32      %43 = frcp %1666.x
MESA: info:             con 32      %44 = load_const (0x3ef47d19 = 0.477517)
MESA: info:             con 32      %45 = fmul %1660, %44 (0.477517)
MESA: info:             con 32      %46 = fmul %45, %43
MESA: info:                               @store_const_ir3 (%46) (base=8)
MESA: info:             con 32      %47 = fmul %19 (2.000000), %1096
MESA: info:                               @store_const_ir3 (%47) (base=9)
MESA: info:             con 32      %50 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%15, %50 (0x14)) (base=16, range=8)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%20, %7 (0.000000)) (base=48, range=8)
MESA: info:             con 32      %54 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %55 = @bindless_resource_ir3 (%54 (0x1)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%55, %7 (0.000000)) (base=80, range=4)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%15, %7 (0.000000)) (base=128, range=4)
MESA: info:             con 32      %61 = @bindless_resource_ir3 (%54 (0x1)) (desc_set=3)
MESA: info:                               @prefetch_tex_ir3 (%61)
MESA: info:             con 32      %63 = @bindless_resource_ir3 (%7 (0.000000)) (desc_set=3)
MESA: info:                               @prefetch_tex_ir3 (%63)
MESA: info:             con 32      %65 = @bindless_resource_ir3 (%1149 (0x2)) (desc_set=1)
MESA: info:                               @prefetch_ubo_ir3 (%65)
MESA: info:                               @preamble_end_ir3
MESA: info:                               // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:         // preds: b4 b5
MESA: info:     con 32      %88 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x3    %89 = @load_input (%88 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x3    %90 = @load_input (%88 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x3    %91 = @load_input (%88 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     div 32x3    %92 = @load_input (%88 (0x0)) (base=3, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC3 slots=1)
MESA: info:     con 32     %113 = load_const (0x00000001)
MESA: info:     con 32     %116 = load_const (0x00000002)
MESA: info:     con 32     %120 = load_const (0x00000004)
MESA: info:     con 32     %122 = load_const (0x00000006)
MESA: info:     div 32     %124 = @load_vertex_id
MESA: info:     con 32     %125 = load_const (0x00000010 = 16)
MESA: info:     con 32     %126 = load_const (0x0000ffff = 65535)
MESA: info:     div 32     %127 = iand %124, %126 (0xffff)
MESA: info:     div 32     %129 = ushr %124, %125 (0x10)
MESA: info:     con 32x3  %1676 = load_const (0x0000aaab, 0x0000aaaa, 0xaaaaaaab) = (+43691, +43690, -1431655765) = (43691, 43690, 2863311531)
MESA: info:     div 32x3  %1677 = umul_low %127.xxx, %1676 (0xaaab, 0xaaaa, 0xaaaaaaab)
MESA: info:     con 32x2  %1670 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1671 = imadsh_mix16 %1670 (0xaaab, 0xaaaa), %127.xx, %1677.xy
MESA: info:     con 32x2  %1672 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1673 = umul_low %129.xx, %1672 (0xaaab, 0xaaaa)
MESA: info:     con 32x2  %1674 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:     div 32x2  %1675 = imadsh_mix16 %1674 (0xaaab, 0xaaaa), %129.xx, %1673
MESA: info:     con 32     %135 = load_const (0xaaaaaaab = -1431655765 = 2863311531)
MESA: info:     div 32    %1338 = imadsh_mix16 %127, %135 (0xaaaaaaab), %1677.z
MESA: info:     div 32    %1339 = imadsh_mix16 %135 (0xaaaaaaab), %127, %1338
MESA: info:     div 1      %137 = ult %1339, %1671.x
MESA: info:     div 32     %138 = b2i32 %137
MESA: info:     div 32     %140 = ushr %1671.y, %125 (0x10)
MESA: info:     div 32    %1281 = iadd3 %1675.y, %138, %140
MESA: info:     con 32     %142 = load_const (0xaaab0000 = -1431633920 = 2863333376)
MESA: info:     con 32    %1546 = load_const (0x00000000)
MESA: info:     div 32    %1335 = imadsh_mix16 %129, %142 (0xaaab0000), %1546 (0x0)
MESA: info:     div 32     %144 = iadd %1339, %1335
MESA: info:     div 1      %145 = ult %144, %1339
MESA: info:     div 32     %146 = b2i32 %145
MESA: info:     div 32     %148 = ushr %1675.x, %125 (0x10)
MESA: info:     div 32    %1280 = iadd3 %1281, %146, %148
MESA: info:     con 32x2  %1678 = load_const (0x00000002, 0x00000003)
MESA: info:     div 32x2  %1679 = ushr %1280.xx, %1678 (0x2, 0x3)
MESA: info:     con 32x2  %1680 = load_const (0x00000006, 0x0000000c) = (6, 12)
MESA: info:     div 32x2  %1681 = umul_low %1679, %1680 (0x6, 0xc)
MESA: info:     con 32x2  %1682 = load_const (0x00000006, 0x0000000c) = (6, 12)
MESA: info:     div 32x2  %1683 = imadsh_mix16 %1682 (0x6, 0xc), %1679, %1681
MESA: info:     div 32x2  %1684 = isub %124.xx, %1683
MESA: info:     div 32    %1685 = mov %1684.x
MESA: info:     div 1      %159 = ilt %1684.y, %122 (0x6)
MESA: info:     div 1      %160 = inot %159
MESA: info:     div 1      %161 = ilt %124, %88 (0x0)
MESA: info:     div 32     %162 = iabs %124
MESA: info:     div 32     %163 = iand %162, %126 (0xffff)
MESA: info:     div 32     %164 = ushr %162, %125 (0x10)
MESA: info:     con 32x3  %1694 = load_const (0x0000aaab, 0x00002aaa, 0x2aaaaaab) = (43691, 10922, 715827883)
MESA: info:     div 32x3  %1695 = umul_low %163.xxx, %1694 (0xaaab, 0x2aaa, 0x2aaaaaab)
MESA: info:     con 32x2  %1688 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1689 = imadsh_mix16 %1688 (0xaaab, 0x2aaa), %163.xx, %1695.xy
MESA: info:     con 32x2  %1690 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1691 = umul_low %164.xx, %1690 (0xaaab, 0x2aaa)
MESA: info:     con 32x2  %1692 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:     div 32x2  %1693 = imadsh_mix16 %1692 (0xaaab, 0x2aaa), %164.xx, %1691
MESA: info:     con 32     %170 = load_const (0x2aaaaaab = 715827883)
MESA: info:     div 32    %1314 = imadsh_mix16 %163, %170 (0x2aaaaaab), %1695.z
MESA: info:     div 32    %1315 = imadsh_mix16 %170 (0x2aaaaaab), %163, %1314
MESA: info:     div 1      %172 = ult %1315, %1689.x
MESA: info:     div 32     %173 = b2i32 %172
MESA: info:     div 32     %175 = ushr %1689.y, %125 (0x10)
MESA: info:     div 32    %1277 = iadd3 %1693.y, %173, %175
MESA: info:     con 32    %1541 = load_const (0x00000000)
MESA: info:     div 32    %1311 = imadsh_mix16 %164, %142 (0xaaab0000), %1541 (0x0)
MESA: info:     div 32     %178 = iadd %1315, %1311
MESA: info:     div 1      %179 = ult %178, %1315
MESA: info:     div 32     %180 = b2i32 %179
MESA: info:     div 32     %182 = ushr %1693.x, %125 (0x10)
MESA: info:     div 32    %1276 = iadd3 %1277, %180, %182
MESA: info:     div 32     %184 = inot %1276
MESA: info:     div 32     %185 = inot %178
MESA: info:     div 32     %186 = iadd %185, %113 (0x1)
MESA: info:     div 1      %187 = ult %186, %185
MESA: info:     div 32     %188 = b2i32 %187
MESA: info:     div 32     %189 = iadd %184, %188
MESA: info:     div 32     %190 = bcsel %161, %189, %1276
MESA: info:     div 32     %191 = ishr %190, %113 (0x1)
MESA: info:     con 32     %192 = load_const (0x0000001f = 31)
MESA: info:     div 32     %193 = ushr %191, %192 (0x1f)
MESA: info:     div 32     %194 = iadd %191, %193
MESA: info:     con 32x2  %1696 = load_const (0x00000004, 0x00000002)
MESA: info:     div 32x2  %1697 = ishl %194.xx, %1696 (0x4, 0x2)
MESA: info:     div 32    %1698 = mov %1697.x
MESA: info:     div 32    %1699 = mov %1697.y
MESA: info:     con 32     %196 = @bindless_resource_ir3 (%113 (0x1)) (desc_set=3)
MESA: info:     div 32x3  %1136 = @load_ssbo_ir3 (%196, %1698, %1699) (base=0, access=readonly|reorderable|speculatable, align_mul=16, align_offset=0)
MESA: info:     div 32x3  %1701 = fmul %90, %1136.yyy
MESA: info:     div 32x3  %1703 = ffma %89, %1136.xxx, %1701
MESA: info:     div 32x3  %1705 = ffma %91, %1136.zzz, %1703
MESA: info:     con 32     %213 = @bindless_resource_ir3 (%88 (0x0)) (desc_set=3)
MESA: info:     div 32x4  %1140 = @load_ssbo_ir3 (%213, %1698, %1699) (base=0, access=readonly|reorderable|speculatable, align_mul=16, align_offset=0)
MESA: info:     div 32     %215 = f2i32 %1140.w
MESA: info:     div 32x3  %1707 = fmul %90, %1140.yyy
MESA: info:     div 32x3  %1709 = ffma %89, %1140.xxx, %1707
MESA: info:     div 32x3  %1711 = ffma %91, %1140.zzz, %1709
MESA: info:     div 32x3  %1713 = fadd %1711, %92
MESA: info:     div 32     %235 = fmul %1705.y, %1705.y
MESA: info:     div 32    %1642 = ffma %1705.z, %1705.z, %235
MESA: info:     div 32    %1641 = ffma %1705.x, %1705.x, %1642
MESA: info:     div 32     %239 = frsq %1641
MESA: info:     div 32x3  %1715 = fmul %1705, %239.xxx
MESA: info:     div 32     %243 = fsqrt %1641
MESA: info:     con 32     %244 = load_const (0x000000b0 = 176)
MESA: info:     div 32    %1307 = umul_low %215, %244 (0xb0)
MESA: info:     div 32    %1309 = imadsh_mix16 %244 (0xb0), %215, %1307
MESA: info:     con 32     %246 = @bindless_resource_ir3 (%116 (0x2)) (desc_set=1)
MESA: info:     div 32    %1098 = ushr %1309, %120 (0x4)
MESA: info:     div 32x4  %1099 = @load_ubo_vec4 (%246, %1098) (access=speculatable, base=0, component=0)
MESA: info:     con 32x4  %1725 = load_const (0x00000010, 0x00000020, 0x00000030, 0x00000040) = (16, 32, 48, 64)
MESA: info:     div 32x4  %1726 = iadd %1309.xxxx, %1725 (0x10, 0x20, 0x30, 0x40)
MESA: info:     div 32x4  %1727 = ushr %1726, %120 (0x4).xxxx
MESA: info:     div 32    %1728 = mov %1727.w
MESA: info:     div 32    %1724 = mov %1727.z
MESA: info:     div 32    %1719 = mov %1727.x
MESA: info:     div 32    %1720 = mov %1727.y
MESA: info:     div 32x4  %1102 = @load_ubo_vec4 (%246, %1719) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4  %1105 = @load_ubo_vec4 (%246, %1720) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4  %1108 = @load_ubo_vec4 (%246, %1724) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4  %1111 = @load_ubo_vec4 (%246, %1728) (access=speculatable, base=0, component=0)
MESA: info:     con 32x4  %1738 = load_const (0x00000050, 0x00000060, 0x00000070, 0x00000080) = (80, 96, 112, 128)
MESA: info:     div 32x4  %1739 = iadd %1309.xxxx, %1738 (0x50, 0x60, 0x70, 0x80)
MESA: info:     div 32x4  %1740 = ushr %1739, %120 (0x4).xxxx
MESA: info:     div 32    %1741 = mov %1740.w
MESA: info:     div 32    %1737 = mov %1740.z
MESA: info:     div 32    %1732 = mov %1740.x
MESA: info:     div 32    %1733 = mov %1740.y
MESA: info:     div 32x4  %1114 = @load_ubo_vec4 (%246, %1732) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4  %1117 = @load_ubo_vec4 (%246, %1733) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4  %1120 = @load_ubo_vec4 (%246, %1737) (access=speculatable, base=0, component=0)
MESA: info:     div 32x4  %1123 = @load_ubo_vec4 (%246, %1741) (access=speculatable, base=0, component=0)
MESA: info:     con 32x2  %1742 = load_const (0x00000090, 0x000000a0) = (144, 160)
MESA: info:     div 32x2  %1743 = iadd %1309.xx, %1742 (0x90, 0xa0)
MESA: info:     div 32x2  %1744 = ushr %1743, %120 (0x4).xx
MESA: info:     div 32    %1745 = mov %1744.x
MESA: info:     div 32    %1746 = mov %1744.y
MESA: info:     div 32x4  %1126 = @load_ubo_vec4 (%246, %1745) (access=speculatable, base=0, component=0)
MESA: info:     div 32x3  %1129 = @load_ubo_vec4 (%246, %1746) (access=speculatable, base=0, component=0)
MESA: info:     con 32x3   %284 = @load_const_ir3 (%88 (0x0)) (base=28)
MESA: info:     div 32x3  %1748 = fmul %243.xxx, %1715
MESA: info:     div 32x4  %1751 = fmul %1126.xyxx, %1748.xxyz
MESA: info:     div 32x4  %1754 = fmul %1129.xyxx, %1748.xxyz
MESA: info:     div 32     %296 = fmul %1748.y, %1126.y
MESA: info:     div 32     %297 = fneg %296
MESA: info:     div 32     %298 = fmul %1748.y, %1129.y
MESA: info:     div 32     %299 = fneg %298
MESA: info:     div 32     %300 = fmul %1126.z, %243
MESA: info:     div 32     %301 = fmul %1129.z, %243
MESA: info:     div 32x4  %1757 = fmin %1751, %1754
MESA: info:     div 32     %306 = fmin %297, %299
MESA: info:     div 32     %307 = fadd %1757.x, %306
MESA: info:     div 32     %308 = fadd %1757.z, %1757.y
MESA: info:     div 32     %309 = fmin %300, %301
MESA: info:     div 32     %310 = fadd %1757.w, %309
MESA: info:     div 32     %311 = fadd %307, %1713.x
MESA: info:     div 32     %312 = fadd %308, %1713.y
MESA: info:     div 32     %313 = fadd %310, %1713.z
MESA: info:     div 32x4  %1760 = fmax %1751, %1754
MESA: info:     div 32     %318 = fmax %297, %299
MESA: info:     div 32     %319 = fadd %1760.x, %318
MESA: info:     div 32     %320 = fadd %1760.z, %1760.y
MESA: info:     div 32     %321 = fmax %300, %301
MESA: info:     div 32     %322 = fadd %1760.w, %321
MESA: info:     div 32     %323 = fadd %319, %1713.x
MESA: info:     div 32     %324 = fadd %320, %1713.y
MESA: info:     div 32     %325 = fadd %322, %1713.z
MESA: info:     div 32     %326 = fmax %284.x, %311
MESA: info:     div 32     %327 = fmax %284.y, %312
MESA: info:     div 32     %328 = fmax %284.z, %313
MESA: info:     div 32     %329 = fmin %326, %323
MESA: info:     div 32     %330 = fmin %327, %324
MESA: info:     div 32     %331 = fmin %328, %325
MESA: info:     div 32    %1640 = fsub %284.x, %329
MESA: info:     div 32    %1639 = fsub %284.y, %330
MESA: info:     div 32    %1638 = fsub %284.z, %331
MESA: info:     div 32     %339 = fmul %1639, %1639
MESA: info:     div 32    %1637 = ffma %1638, %1638, %339
MESA: info:     div 32    %1636 = ffma %1640, %1640, %1637
MESA: info:     div 32     %343 = fsqrt %1636
MESA: info:     con 32     %349 = @load_const_ir3 (%88 (0x0)) (base=35)
MESA: info:     con 32     %351 = @load_const_ir3 (%88 (0x0)) (base=0)
MESA: info:     con 32     %352 = load_const (0x00000b00 = 2816)
MESA: info:     div 32     %353 = ishl %215, %120 (0x4)
MESA: info:     div 32     %354 = iadd %353, %352 (0xb00)
MESA: info:     div 32    %1131 = ushr %354, %120 (0x4)
MESA: info:     div 32x2  %1132 = @load_ubo_vec4 (%246, %1131) (access=speculatable, base=0, component=0)
MESA: info:     div 32     %357 = fmul %1132.y, %351
MESA: info:     div 32     %358 = fneg %343
MESA: info:     div 32    %1635 = ffma %1132.x, %349, %358
MESA: info:     con 32     %360 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32     %361 = fmul %360 (2.000000), %1635
MESA: info:     div 32     %362 = fmul %361, %357
MESA: info:     div 1     %1144 = flt! %88 (0.000000), %362
MESA: info:                       // succs: b7 b14
MESA: info:     if %1144 {
MESA: info:         div block b7:         // preds: b6
MESA: info:         con 32     %114 = load_const (0x3f800000 = 1.000000 = 1065353216)
MESA: info:         div 32x3  %1762 = fsub %284, %1713
MESA: info:         div 32     %372 = fmul %1762.x, %1762.x
MESA: info:         div 32    %1631 = ffma %1762.y, %1762.y, %372
MESA: info:         div 32     %374 = frsq %1631
MESA: info:         div 32x3  %1765 = fmul %1762.zyx, %374.xxx
MESA: info:         div 32     %376 = fabs %1765.x
MESA: info:         div 1      %377 = fge! %114 (1.000000), %376
MESA: info:         div 32     %378 = frcp %1765.x
MESA: info:         div 32     %379 = bcsel %377, %1765.x, %378
MESA: info:         div 32     %380 = fmul %379, %379
MESA: info:         con 32     %381 = load_const (0xbc46c6a5 = -0.012132)
MESA: info:         con 32     %383 = load_const (0x3d5be101 = 0.053681)
MESA: info:         div 32    %1630 = ffma %381 (-0.012132), %380, %383 (0.053681)
MESA: info:         con 32     %386 = load_const (0xbdf0555d = -0.117350)
MESA: info:         div 32    %1629 = ffma %1630, %380, %386 (-0.117350)
MESA: info:         con 32     %389 = load_const (0x3e468bc1 = 0.193892)
MESA: info:         div 32    %1628 = ffma %1629, %380, %389 (0.193892)
MESA: info:         con 32     %392 = load_const (0xbeaa5476 = -0.332676)
MESA: info:         div 32    %1627 = ffma %1628, %380, %392 (-0.332676)
MESA: info:         con 32     %395 = load_const (0x3f7ffea5 = 0.999979)
MESA: info:         div 32    %1626 = ffma %1627, %380, %395 (0.999979)
MESA: info:         con 32     %397 = load_const (0xbfc90fdb = -1.570796)
MESA: info:         div 32     %398 = bcsel %377, %88 (0x0), %397 (0xbfc90fdb)
MESA: info:         div 32     %399 = fabs %379
MESA: info:         div 32    %1625 = ffma %399, %1626, %398
MESA: info:         con 32     %402 = load_const (0x7fffffff = 2147483647)
MESA: info:         con 32     %404 = load_const (0x80000000 = -2147483648 = 2147483648)
MESA: info:         div 32     %405 = iand %1765.x, %404 (0x80000000)
MESA: info:         div 32    %1663 = andg_ir3 %1625, %402 (0x7fffffff), %405
MESA: info:         div 1      %407 = fge! %88 (0.000000), %1715.x
MESA: info:         div 32x2  %1763 = fabs %1715.xy
MESA: info:         div 32     %409 = bcsel %407, %1763.x, %1715.y
MESA: info:         div 32     %410 = bcsel %407, %1715.y, %1763.x
MESA: info:         div 32     %411 = fabs %410
MESA: info:         con 32     %412 = load_const (0x5d5e0b6b = 1.000000e+18)
MESA: info:         div 1      %413 = fge! %411, %412 (1.000000e+18)
MESA: info:         con 32     %414 = load_const (0x3e800000 = 0.250000)
MESA: info:         div 32     %415 = bcsel %413, %414 (0x3e800000), %114 (0x3f800000)
MESA: info:         div 32     %416 = fmul %410, %415
MESA: info:         div 32     %417 = frcp %416
MESA: info:         div 32     %418 = fmul %409, %415
MESA: info:         div 32     %419 = fabs %418
MESA: info:         div 32     %420 = fabs %417
MESA: info:         div 32     %421 = fmul %419, %420
MESA: info:         div 1      %423 = feq! %1763.x, %1763.y
MESA: info:         div 32     %424 = bcsel %423, %114 (0x3f800000), %421
MESA: info:         div 1      %425 = fge! %114 (1.000000), %424
MESA: info:         div 32     %426 = frcp %424
MESA: info:         div 32     %427 = bcsel %425, %424, %426
MESA: info:         div 32     %428 = fmul %427, %427
MESA: info:         div 32    %1624 = ffma %381 (-0.012132), %428, %383 (0.053681)
MESA: info:         div 32    %1623 = ffma %1624, %428, %386 (-0.117350)
MESA: info:         div 32    %1622 = ffma %1623, %428, %389 (0.193892)
MESA: info:         div 32    %1621 = ffma %1622, %428, %392 (-0.332676)
MESA: info:         div 32    %1620 = ffma %1621, %428, %395 (0.999979)
MESA: info:         div 32     %439 = bcsel %425, %88 (0x0), %397 (0xbfc90fdb)
MESA: info:         div 32     %440 = fabs %427
MESA: info:         div 32    %1619 = ffma %440, %1620, %439
MESA: info:         div 32     %444 = iand %424, %404 (0x80000000)
MESA: info:         div 32    %1662 = andg_ir3 %1619, %402 (0x7fffffff), %444
MESA: info:         con 32     %446 = load_const (0x3fc90fdb = 1.570796)
MESA: info:         div 32     %447 = bcsel %407, %446 (0x3fc90fdb), %88 (0x0)
MESA: info:         div 32     %448 = fadd %447, %1662
MESA: info:         div 32     %449 = fmin %1715.y, %417
MESA: info:         div 1      %450 = flt! %449, %88 (0.000000)
MESA: info:         div 32     %451 = fneg %448
MESA: info:         div 32     %452 = bcsel %450, %451, %448
MESA: info:         div 1      %653 = flt! %1663, %1120.z
MESA: info:         div 1      %654 = iand %653, %159
MESA: info:                           // succs: b8 b9
MESA: info:         if %654 {
MESA: info:             div block b8:         // preds: b7
MESA: info:             div 1      %658 = fge! %88 (0.000000), %1762.x
MESA: info:             div 32x2  %1766 = fabs %1762.xy
MESA: info:             div 32     %660 = bcsel %658, %1766.x, %1762.y
MESA: info:             div 32     %661 = bcsel %658, %1762.y, %1766.x
MESA: info:             div 32     %662 = fabs %661
MESA: info:             div 1      %663 = fge! %662, %412 (1.000000e+18)
MESA: info:             div 32     %664 = bcsel %663, %414 (0x3e800000), %114 (0x3f800000)
MESA: info:             div 32     %665 = fmul %661, %664
MESA: info:             div 32     %666 = frcp %665
MESA: info:             div 32     %667 = fmul %660, %664
MESA: info:             div 32     %668 = fabs %667
MESA: info:             div 32     %669 = fabs %666
MESA: info:             div 32     %670 = fmul %668, %669
MESA: info:             div 1      %672 = feq! %1766.x, %1766.y
MESA: info:             div 32     %673 = bcsel %672, %114 (0x3f800000), %670
MESA: info:             div 1      %674 = fge! %114 (1.000000), %673
MESA: info:             div 32     %675 = frcp %673
MESA: info:             div 32     %676 = bcsel %674, %673, %675
MESA: info:             div 32     %677 = fmul %676, %676
MESA: info:             div 32    %1618 = ffma %381 (-0.012132), %677, %383 (0.053681)
MESA: info:             div 32    %1617 = ffma %1618, %677, %386 (-0.117350)
MESA: info:             div 32    %1616 = ffma %1617, %677, %389 (0.193892)
MESA: info:             div 32    %1615 = ffma %1616, %677, %392 (-0.332676)
MESA: info:             div 32    %1614 = ffma %1615, %677, %395 (0.999979)
MESA: info:             div 32     %688 = bcsel %674, %88 (0x0), %397 (0xbfc90fdb)
MESA: info:             div 32     %689 = fabs %676
MESA: info:             div 32    %1613 = ffma %689, %1614, %688
MESA: info:             div 32     %693 = iand %673, %404 (0x80000000)
MESA: info:             div 32    %1661 = andg_ir3 %1613, %402 (0x7fffffff), %693
MESA: info:             div 32     %695 = bcsel %658, %446 (0x3fc90fdb), %88 (0x0)
MESA: info:             div 32     %696 = fadd %695, %1661
MESA: info:             div 32     %697 = fmin %1762.y, %666
MESA: info:             div 1      %698 = flt! %697, %88 (0.000000)
MESA: info:             div 32     %699 = fneg %696
MESA: info:             div 32     %700 = bcsel %698, %699, %696
MESA: info:             con 32     %701 = load_const (0x3f060a92 = 0.523599)
MESA: info:             div 32     %702 = fadd %700, %701 (0.523599)
MESA: info:             div 32    %1612 = fsub %702, %452
MESA: info:             con 32     %705 = load_const (0x3f747644 = 0.954930)
MESA: info:             con 32     %707 = load_const (0x41400000 = 12.000000)
MESA: info:             div 32    %1611 = ffma %705 (0.954930), %1612, %707 (12.000000)
MESA: info:             div 32     %709 = f2i32 %1611
MESA: info:             div 32     %710 = iand %709, %126 (0xffff)
MESA: info:             div 32     %711 = ushr %709, %125 (0x10)
MESA: info:             con 32x3  %1775 = load_const (0x0000aaab, 0x0000aaaa, 0xaaaaaaab) = (+43691, +43690, -1431655765) = (43691, 43690, 2863311531)
MESA: info:             div 32x3  %1776 = umul_low %710.xxx, %1775 (0xaaab, 0xaaaa, 0xaaaaaaab)
MESA: info:             con 32x2  %1769 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1770 = imadsh_mix16 %1769 (0xaaab, 0xaaaa), %710.xx, %1776.xy
MESA: info:             con 32x2  %1771 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1772 = umul_low %711.xx, %1771 (0xaaab, 0xaaaa)
MESA: info:             con 32x2  %1773 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             div 32x2  %1774 = imadsh_mix16 %1773 (0xaaab, 0xaaaa), %711.xx, %1772
MESA: info:             div 32    %1293 = imadsh_mix16 %710, %135 (0xaaaaaaab), %1776.z
MESA: info:             div 32    %1294 = imadsh_mix16 %135 (0xaaaaaaab), %710, %1293
MESA: info:             div 1      %717 = ult %1294, %1770.x
MESA: info:             div 32     %718 = b2i32 %717
MESA: info:             div 32     %720 = ushr %1770.y, %125 (0x10)
MESA: info:             div 32    %1231 = iadd3 %1774.y, %718, %720
MESA: info:             con 32    %1452 = load_const (0x00000000)
MESA: info:             div 32    %1290 = imadsh_mix16 %711, %142 (0xaaab0000), %1452 (0x0)
MESA: info:             div 32     %723 = iadd %1294, %1290
MESA: info:             div 1      %724 = ult %723, %1294
MESA: info:             div 32     %725 = b2i32 %724
MESA: info:             div 32     %727 = ushr %1774.x, %125 (0x10)
MESA: info:             div 32    %1230 = iadd3 %1231, %725, %727
MESA: info:             div 32     %729 = ushr %1230, %116 (0x2)
MESA: info:             div 32    %1286 = umul_low %729, %122 (0x6)
MESA: info:             div 32    %1288 = imadsh_mix16 %122 (0x6), %729, %1286
MESA: info:             div 32    %1610 = isub %709, %1288
MESA: info:             con 32x2  %1777 = load_const (0xbf000000, 0x3f000000) = (-0.500000, 0.500000)
MESA: info:             div 32x2  %1778 = fmul %1777 (-0.500000, 0.500000), %1120.xx
MESA: info:             div 32x2  %1779 = fmul %1765.yy, %1778
MESA: info:             div 32x2  %1780 = fmul %1778, %1765.zz
MESA: info:             div 32x2  %1781 = fneg %1779
MESA: info:             div 32x2  %1782 = ffma %1781, %243.xx, %1713.xx
MESA: info:             div 32x2  %1783 = ffma %243.xx, %1780, %1713.yy
MESA: info:             div 32x3   %760 = vec3 %1782.x, %1783.x, %1713.z
MESA: info:             div 32x3   %761 = vec3 %1782.y, %1783.y, %1713.z
MESA: info:             div 32    %1603 = ffma %243, %1120.y, %1713.z
MESA: info:             div 32x3   %764 = vec3 %1782.x, %1783.x, %1603
MESA: info:             div 32x3   %765 = vec3 %1782.y, %1783.y, %1603
MESA: info:                               @store_reg (%760, %4) (base=0, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%761, %4) (base=1, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%764, %4) (base=2, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%765, %4) (base=3, wrmask=xyz, legacy_fsat=0)
MESA: info:                               @store_reg (%1099, %3) (base=0, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%1102, %3) (base=1, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%1105, %3) (base=2, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%1108, %3) (base=3, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%1111, %3) (base=4, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%1114, %3) (base=5, wrmask=xyzw, legacy_fsat=0)
MESA: info:                               @store_reg (%1117, %3) (base=6, wrmask=xyzw, legacy_fsat=0)
MESA: info:             div 32x4   %781 = @load_reg_indirect (%3, %1610) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             div 32x2   %782 = vec2 %781.x, %781.y
MESA: info:             div 32x2   %783 = vec2 %781.z, %781.w
MESA: info:             div 1x2   %1784 = flt! %781.xy, %781.zw
MESA: info:             div 1      %786 = ieq %1784.x, %1784.y
MESA: info:             div 32x2  %1785 = fsub %781.zw, %781.xy
MESA: info:             div 32     %791 = bcsel %786, %1785.x, %88 (0x0)
MESA: info:             div 32     %792 = bcsel %786, %88 (0x0), %1785.y
MESA: info:             div 32     %793 = fadd %781.x, %791
MESA: info:             div 32     %794 = fadd %781.y, %792
MESA: info:             div 32x2   %795 = vec2 %793, %794
MESA: info:             div 32    %1600 = fsub %781.z, %791
MESA: info:             div 32    %1599 = fsub %781.w, %792
MESA: info:             div 32x2   %800 = vec2 %1600, %1599
MESA: info:                               @store_reg (%782, %2) (base=0, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%795, %2) (base=1, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%800, %2) (base=2, wrmask=xy, legacy_fsat=0)
MESA: info:                               @store_reg (%783, %2) (base=3, wrmask=xy, legacy_fsat=0)
MESA: info:             div 32x3   %808 = @load_reg_indirect (%4, %1685) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:             con 32x4   %823 = @load_const_ir3 (%88 (0x0)) (base=128)
MESA: info:             con 32x4   %830 = @load_const_ir3 (%88 (0x0)) (base=132)
MESA: info:             div 32x4  %1788 = fmul %830, %808.yyyy
MESA: info:             div 32x4  %1791 = ffma %823, %808.xxxx, %1788
MESA: info:             con 32x4   %841 = @load_const_ir3 (%88 (0x0)) (base=136)
MESA: info:             div 32x4  %1794 = ffma %841, %808.zzzz, %1791
MESA: info:             con 32x4   %852 = @load_const_ir3 (%88 (0x0)) (base=140)
MESA: info:             div 32x4  %1800 = fadd %1794, %852
MESA: info:             div 32x4  %1860 = mov %1800.wzyx
MESA: info:                               // succs: b13
MESA: info:         } else {
MESA: info:             div block b9:         // preds: b7
MESA: info:             div 1      %865 = fge! %1663, %1120.w
MESA: info:             div 1      %866 = iand %865, %160
MESA: info:                               // succs: b10 b11
MESA: info:             if %866 {
MESA: info:                 div block b10:        // preds: b9
MESA: info:                 div 32x2  %1802 = fmul %1123.yw, %1715.xx
MESA: info:                 div 32x2  %1803 = fmul %1715.yy, %1123.yw
MESA: info:                 div 32x2  %1805 = fneg %1803
MESA: info:                 div 32x4  %1807 = ffma %1123.xzxz, %1715.xxxx, %1805.xxyy
MESA: info:                 div 32x4  %1810 = ffma %1123.xzxz, %1715.yyyy, %1802.xxyy
MESA: info:                 div 32x2  %1811 = ffma %1123.xz, %1715.zz, %1126.ww
MESA: info:                 div 32x4  %1814 = ffma %243.xxxx, %1807, %1713.xxxx
MESA: info:                 div 32x4  %1817 = ffma %243.xxxx, %1810, %1713.yyyy
MESA: info:                 div 32x2  %1818 = ffma %243.xx, %1811, %1713.zz
MESA: info:                 div 32x3   %920 = vec3 %1814.x, %1817.x, %1818.x
MESA: info:                 div 32x3   %921 = vec3 %1814.y, %1817.y, %1818.y
MESA: info:                 div 32x3   %922 = vec3 %1814.z, %1817.z, %1818.x
MESA: info:                 div 32x3   %923 = vec3 %1814.w, %1817.w, %1818.y
MESA: info:                                   @store_reg (%920, %1) (base=0, wrmask=xyz, legacy_fsat=0)
MESA: info:                                   @store_reg (%921, %1) (base=1, wrmask=xyz, legacy_fsat=0)
MESA: info:                                   @store_reg (%922, %1) (base=2, wrmask=xyz, legacy_fsat=0)
MESA: info:                                   @store_reg (%923, %1) (base=3, wrmask=xyz, legacy_fsat=0)
MESA: info:                 div 1x2   %1819 = flt! %1117.xy, %1117.zw
MESA: info:                 div 1      %931 = ieq %1819.x, %1819.y
MESA: info:                 div 32x2  %1820 = fsub %1117.zw, %1117.xy
MESA: info:                 div 32     %936 = bcsel %931, %1820.x, %88 (0x0)
MESA: info:                 div 32     %937 = bcsel %931, %88 (0x0), %1820.y
MESA: info:                 div 32     %938 = fadd %1117.x, %936
MESA: info:                 div 32     %939 = fadd %1117.y, %937
MESA: info:                 div 32x2   %940 = vec2 %938, %939
MESA: info:                 div 32    %1568 = fsub %1117.z, %936
MESA: info:                 div 32    %1567 = fsub %1117.w, %937
MESA: info:                 div 32x2   %945 = vec2 %1568, %1567
MESA: info:                 div 32x2   %948 = vec2 %1117.x, %1117.y
MESA: info:                                   @store_reg (%948, %0) (base=0, wrmask=xy, legacy_fsat=0)
MESA: info:                                   @store_reg (%940, %0) (base=1, wrmask=xy, legacy_fsat=0)
MESA: info:                                   @store_reg (%945, %0) (base=2, wrmask=xy, legacy_fsat=0)
MESA: info:                 div 32x2   %952 = vec2 %1117.z, %1117.w
MESA: info:                                   @store_reg (%952, %0) (base=3, wrmask=xy, legacy_fsat=0)
MESA: info:                 div 32x3   %955 = @load_reg_indirect (%1, %1685) (base=0, legacy_fabs=0, legacy_fneg=0)
MESA: info:                 con 32x4   %971 = @load_const_ir3 (%88 (0x0)) (base=128)
MESA: info:                 con 32x4   %978 = @load_const_ir3 (%88 (0x0)) (base=132)
MESA: info:                 div 32x4  %1823 = fmul %978, %955.yyyy
MESA: info:                 div 32x4  %1826 = ffma %971, %955.xxxx, %1823
MESA: info:                 con 32x4   %989 = @load_const_ir3 (%88 (0x0)) (base=136)
MESA: info:                 div 32x4  %1829 = ffma %989, %955.zzzz, %1826
MESA: info:                 con 32x4  %1000 = @load_const_ir3 (%88 (0x0)) (base=140)
MESA: info:                 div 32x4  %1835 = fadd %1829, %1000
MESA: info:                 div 32x4  %1847 = mov %1835.wzyx
MESA: info:                                   // succs: b12
MESA: info:             } else {
MESA: info:                 div block b11:        // preds: b9
MESA: info:                 con 32x4  %1848 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                                   // succs: b12
MESA: info:             }
MESA: info:             div block b12:        // preds: b10 b11
MESA: info:             div 32x4  %1846 = phi b10: %1847, b11: %1848 (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                               // succs: b13
MESA: info:         }
MESA: info:         div block b13:        // preds: b8 b12
MESA: info:         div 32x4  %1859 = phi b8: %1860, b12: %1846
MESA: info:                           // succs: b15
MESA: info:     } else {
MESA: info:         div block b14:        // preds: b6
MESA: info:         con 32x4  %1869 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                           // succs: b15
MESA: info:     }
MESA: info:     con block b15:        // preds: b13 b14
MESA: info:     div 32x4  %1868 = phi b13: %1859, b14: %1869 (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:     div 32x4  %1069 = vec4 %1868.w, %1868.z, %1868.y, %1868.x
MESA: info:                       @store_output (%1069, %88 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                       // succs: b16
MESA: info:     block b16:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 b55e70b6279cdedcd880806ec0d66b1eb04a1cbf:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (32 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ;   primitive_param            c36.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      5
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           8 vec4 (320b -> 448b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c20.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          1
MESA: info: ;     offset:         c24.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[4]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c32.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x7)
MESA: info: @in(r1.z)	in2 (wrmask=0x7)
MESA: info: @in(r2.y)	in3 (wrmask=0x7)
MESA: info: @in(r3.x)	in4 (wrmask=0x1)
MESA: info: @const(c37.x)	0x3ef47d19, 0x00002aaa, 0x2aaaaaab, 0x0000ffff
MESA: info: @const(c38.x)	0x0000aaab, 0x00000000, 0x00000b00, 0x000000b0
MESA: info: @const(c39.x)	0xbc46c6a5, 0x3d5be101, 0xbdf0555d, 0x3e468bc1
MESA: info: @const(c40.x)	0xbeaa5476, 0x3f7ffea5, 0xbfc90fdb, 0x80000000
MESA: info: @const(c41.x)	0x0000000c, 0x0000aaaa, 0xaaaaaaab, 0xbf000000
MESA: info: @const(c42.x)	0x3f747644, 0x3fc90fdb, 0x3f800000, 0x3e800000
MESA: info: @const(c43.x)	0x5d5e0b6b, 0x3f060a92, 0x41400000, 0x00000006
MESA: info: shps #l56
MESA: info: getone #l56
MESA: info: ldc.u.offset0.1.imm.base1 r50.y, 4, 4
MESA: info: ldc.u.offset2.2.imm.base1 r48.y, 0, 4
MESA: info: ldc.u.offset1.1.imm.base1 r48.w, 25, 0
MESA: info: ldc.u.offset1.1.imm.base1 r49.x, 4, 4
MESA: info: ldc.u.offset3.1.imm.base1 r48.x, 24, 0
MESA: info: ldc.u.offset3.1.imm.base1 r49.y, 2, 4
MESA: info: ldc.u.offset3.1.imm.base1 r49.z, 3, 4
MESA: info: mova1 a1.x, (r)16
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 1
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base3 r63.x, 0
MESA: info: ldc.offset0.1.imm.base1 r63.x, 0, 2
MESA: info: (sy)(ss)mul.f r50.w, r50.y, r50.y
MESA: info: add.f r50.w, r50.w, (2.0)
MESA: info: mul.f r48.z, r48.z, r48.w
MESA: info: cmps.f.ge hr51.z, (0.0), r49.x
MESA: info: rcp r48.x, r48.x
MESA: info: rcp r49.y, r49.y
MESA: info: rcp r49.z, r49.z
MESA: info: mul.f r50.z, (neg)r50.y, r50.y
MESA: info: mul.f r51.x, r50.y, r50.y
MESA: info: mul.f r48.y, r48.y, r48.w
MESA: info: sub.u hr51.z, h(1), hr51.z
MESA: info: add.f r50.z, r50.z, (1.0)
MESA: info: add.f r51.x, r51.x, (1.0)
MESA: info: mul.f r50.y, (2.0), r50.y
MESA: info: absneg.f r48.y, (neg)r48.y
MESA: info: cov.u16s32 r50.x, hr51.z
MESA: info: mul.f r50.z, r50.z, c37.x
MESA: info: (ss)rcp r50.w, r50.w
MESA: info: rcp r48.z, r48.z
MESA: info: rcp r49.x, r49.x
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[5], r49.y, 1
MESA: info: stc.u32 c[6], r49.z, 1
MESA: info: stc.u32 c[7], r51.x, 1
MESA: info: stc.u32 c[9], r50.y, 1
MESA: info: stc.u32 c[1], r48.y, 1
MESA: info: stc.u32 c[3], r50.x, 1
MESA: info: (ss)mul.f r50.z, r50.z, r50.w
MESA: info: stc.u32 c[2], r48.z, 1
MESA: info: stc.u32 c[4], r49.x, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[8], r50.z, 1
MESA: info: ldc.8.k.imm.base1 c[a1.x], 20, 0
MESA: info: (ss)mova1 a1.x, (r)48
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)80
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (ss)mova1 a1.x, (r)128
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l56:
MESA: info: (jp)and.b r20.y, r3.x, c37.w
MESA: info: shr.b r20.z, r3.x, 16
MESA: info: mov.u32u32 r20.w, 0xaaaaaaab
MESA: info: mov.u32u32 r22.z, 0xaaab0000
MESA: info: mull.u r22.x, r20.y, c41.z
MESA: info: mull.u r21.x, r20.y, c38.x
MESA: info: mull.u r21.y, r20.y, c41.y
MESA: info: mull.u r21.z, r20.z, c38.x
MESA: info: mull.u r21.w, r20.z, c41.y
MESA: info: madsh.m16 r22.x, r20.y, r20.w, (last)r22.x
MESA: info: madsh.m16 r21.x, c38.x, r20.y, (last)r21.x
MESA: info: madsh.m16 r21.y, c41.y, r20.y, (last)r21.y
MESA: info: madsh.m16 r21.z, c38.x, r20.z, (last)r21.z
MESA: info: madsh.m16 r21.w, c41.y, r20.z, (last)r21.w
MESA: info: madsh.m16 r20.y, c41.z, r20.y, (last)r22.x
MESA: info: madsh.m16 r20.z, (last)r20.z, r22.z, c38.y
MESA: info: absneg.s r23.x, (abs)r3.x
MESA: info: cmps.u.lt hr42.x, r20.y, (last)r21.x
MESA: info: add.u r20.z, r20.y, (last)r20.z
MESA: info: and.b r23.w, r23.x, c37.w
MESA: info: mov.u32u32 r23.y, 0x2aaaaaab
MESA: info: cov.u16s32 r22.y, (last)hr42.x
MESA: info: cmps.u.lt hr41.x, (last)r20.z, (last)r20.y
MESA: info: shr.b r23.x, (last)r23.x, 16
MESA: info: shr.b r21.y, (last)r21.y, 16
MESA: info: mull.u r25.z, r23.w, c37.z
MESA: info: mull.u r24.z, r23.w, c38.x
MESA: info: mull.u r24.w, r23.w, c37.y
MESA: info: cov.u16s32 r22.w, (last)hr41.x
MESA: info: mull.u r25.x, r23.x, c38.x
MESA: info: mull.u r25.y, r23.x, c37.y
MESA: info: sad.s32 r21.w, (last)r21.w, r22.y, (last)r21.y
MESA: info: madsh.m16 r23.y, r23.w, r23.y, (last)r25.z
MESA: info: shr.b r21.z, (last)r21.z, 16
MESA: info: madsh.m16 r24.z, c38.x, r23.w, (last)r24.z
MESA: info: madsh.m16 r24.w, c37.y, r23.w, (last)r24.w
MESA: info: madsh.m16 r25.x, c38.x, r23.x, (last)r25.x
MESA: info: madsh.m16 r25.y, c37.y, r23.x, (last)r25.y
MESA: info: madsh.m16 r23.w, c37.z, r23.w, (last)r23.y
MESA: info: madsh.m16 r23.x, (last)r23.x, r22.z, c38.y
MESA: info: sad.s32 r21.w, (last)r21.w, r22.w, (last)r21.z
MESA: info: cmps.u.lt hr40.z, r23.w, (last)r24.z
MESA: info: add.u r23.x, r23.w, (last)r23.x
MESA: info: shr.b r23.z, r21.w, 2
MESA: info: shr.b r21.w, (last)r21.w, 3
MESA: info: cov.u16s32 r20.z, (last)hr40.z
MESA: info: cmps.u.lt hr47.z, r23.x, (last)r23.w
MESA: info: not.b r23.x, (last)r23.x
MESA: info: shr.b r24.w, (last)r24.w, 16
MESA: info: mull.u r24.y, r21.w, 12
MESA: info: cov.u16s32 r21.x, (last)hr47.z
MESA: info: add.u r21.y, r23.x, 1
MESA: info: sad.s32 r25.y, (last)r25.y, r20.z, (last)r24.w
MESA: info: madsh.m16 r21.w, c41.x, r21.w, (last)r24.y
MESA: info: shr.b r25.x, (last)r25.x, 16
MESA: info: cmps.u.lt hr42.z, (last)r21.y, (last)r23.x
MESA: info: sub.u r21.w, r3.x, (last)r21.w
MESA: info: sad.s32 r25.y, (last)r25.y, r21.x, (last)r25.x
MESA: info: mull.u r24.x, r23.z, 6
MESA: info: cov.u16s32 r21.z, (last)hr42.z
MESA: info: cmps.s.lt p0.x, (last)r21.w, 6
MESA: info: madsh.m16 r23.z, c43.w, r23.z, (last)r24.x
MESA: info: (nop1) not.b r21.w, r25.y
MESA: info: sub.u r23.z, r3.x, (last)r23.z
MESA: info: add.u r21.w, (last)r21.w, (last)r21.z
MESA: info: (nop2) cmps.s.lt r3.x, (last)r3.x, 0
MESA: info: (nop2) sel.b32 r21.w, (last)r21.w, r3.x, (last)r25.y
MESA: info: (nop2) ashr.b r21.w, (last)r21.w, 1
MESA: info: (nop2) shr.b r22.x, r21.w, 31
MESA: info: (nop2) add.u r21.w, (last)r21.w, (last)r22.x
MESA: info: (nop3) shl.b r21.w, (last)r21.w, 2
MESA: info: (rpt1)nop
MESA: info: isam.v.base3 (u32)(xyz)r22.w, r21.w, s#0, t#1
MESA: info: isam.v.base3 (u32)(xyzw)r25.y, r21.w, s#0, t#0
MESA: info: (sy)cov.f32s32 r26.x, (last)r26.x
MESA: info: mul.f r23.w, r0.w, r23.x
MESA: info: (rpt1)mul.f r24.w, (r)r1.x, (last)r23.x
MESA: info: mull.u r28.y, r26.x, 176
MESA: info: mad.f32 r23.w, r0.x, r22.w, (last)r23.w
MESA: info: madsh.m16 r28.y, c38.w, r26.x, (last)r28.y
MESA: info: (rpt1)mad.f32 r24.w, (r)r0.y, r22.w, (r)(last)r24.w
MESA: info: add.u r37.w, r28.y, 144
MESA: info: add.u r38.x, r28.y, 160
MESA: info: (rpt1)mad.f32 r24.y, (r)r1.w, r23.y, (r)(last)r24.w
MESA: info: (rpt1)shr.b r37.w, (last)(r)r37.w, 4
MESA: info: mad.f32 r24.x, r1.z, r23.y, (last)r23.w
MESA: info: mul.f r26.y, r24.y, r24.y
MESA: info: shl.b r26.x, (last)r26.x, 4
MESA: info: mad.f32 r26.y, r24.z, r24.z, (last)r26.y
MESA: info: ldc.offset0.4.imm.base1 r40.w, r37.w, 2
MESA: info: mul.f r1.x, (last)r1.x, r25.z
MESA: info: ldc.offset0.3.imm.base1 r41.w, r38.x, 2
MESA: info: mad.f32 r26.y, r24.x, r24.x, (last)r26.y
MESA: info: add.u r26.x, (last)r26.x, c38.z
MESA: info: mul.f r1.y, (last)r1.y, r25.z
MESA: info: mad.f32 r0.y, (last)r0.y, r25.y, (last)r1.x
MESA: info: shr.b r26.x, (last)r26.x, 4
MESA: info: mul.f r0.w, (last)r0.w, (last)r25.z
MESA: info: rsq r26.z, r26.y
MESA: info: mad.f32 r0.z, (last)r0.z, r25.y, (last)r1.y
MESA: info: mad.f32 r1.w, (last)r1.w, r25.w, (last)r0.y
MESA: info: mad.f32 r0.x, (last)r0.x, r25.y, (last)r0.w
MESA: info: mad.f32 r2.x, (last)r2.x, r25.w, (last)r0.z
MESA: info: ldc.offset0.2.imm.base1 r40.y, r26.x, 2
MESA: info: add.f r27.w, (last)r1.w, (last)r2.z
MESA: info: mad.f32 r1.z, (last)r1.z, r25.w, (last)r0.x
MESA: info: add.f r28.x, (last)r2.x, (last)r2.w
MESA: info: add.u r28.w, r28.y, 16
MESA: info: add.f r27.z, (last)r1.z, (last)r2.y
MESA: info: (ss)sqrt r26.y, (last)r26.y
MESA: info: (rpt2)mul.f r24.x, (last)(r)r24.x, (last)r26.z
MESA: info: add.u r29.x, r28.y, 32
MESA: info: add.u r30.y, r28.y, 48
MESA: info: add.u r30.z, r28.y, 64
MESA: info: add.u r32.w, r28.y, 80
MESA: info: add.u r34.x, r28.y, 96
MESA: info: add.u r35.y, r28.y, 112
MESA: info: add.u r35.z, r28.y, 128
MESA: info: shr.b r28.z, (last)r28.y, 4
MESA: info: shr.b r28.w, (last)r28.w, 4
MESA: info: (ss)(rpt2)mul.f r26.w, r26.y, (r)r24.x
MESA: info: shr.b r29.x, (last)r29.x, 4
MESA: info: ldc.offset0.4.imm.base1 r29.y, r28.z, 2
MESA: info: shr.b r30.y, (last)r30.y, 4
MESA: info: ldc.offset0.4.imm.base1 r30.w, r28.w, 2
MESA: info: shr.b r30.z, (last)r30.z, 4
MESA: info: shr.b r32.w, (last)r32.w, 4
MESA: info: shr.b r34.x, (last)r34.x, 4
MESA: info: shr.b r35.y, (last)r35.y, 4
MESA: info: ldc.offset0.4.imm.base1 r31.w, r29.x, 2
MESA: info: shr.b r35.z, (last)r35.z, 4
MESA: info: ldc.offset0.4.imm.base1 r33.x, r30.y, 2
MESA: info: nop
MESA: info: ldc.offset0.4.imm.base1 r34.y, r30.z, 2
MESA: info: nop
MESA: info: ldc.offset0.4.imm.base1 r35.w, r32.w, 2
MESA: info: nop
MESA: info: ldc.offset0.4.imm.base1 r36.w, r34.x, 2
MESA: info: nop
MESA: info: ldc.offset0.4.imm.base1 r38.y, r35.y, 2
MESA: info: nop
MESA: info: ldc.offset0.4.imm.base1 r39.y, r35.z, 2
MESA: info: (sy)mul.f r42.z, r40.w, r26.w
MESA: info: mul.f r42.w, r41.w, r26.w
MESA: info: mul.f r43.x, r41.x, r26.w
MESA: info: mul.f r43.y, r40.w, r27.x
MESA: info: mul.f r41.x, r27.x, (last)r41.x
MESA: info: mul.f r26.w, r42.x, (last)r26.w
MESA: info: mul.f r42.x, r27.x, (last)r42.x
MESA: info: mul.f r27.x, r41.w, (last)r27.x
MESA: info: mul.f r41.y, (last)r41.y, r26.y
MESA: info: mul.f r42.y, (last)r42.y, r26.y
MESA: info: mul.f r40.w, (last)r40.w, r27.y
MESA: info: mul.f r41.w, (last)r41.w, (last)r27.y
MESA: info: min.f r44.x, r43.x, r26.w
MESA: info: min.f r44.y, r43.y, r27.x
MESA: info: min.f r44.z, r41.y, r42.y
MESA: info: min.f r44.w, r40.w, r41.w
MESA: info: min.f r43.z, r42.z, r42.w
MESA: info: min.f r43.w, (neg)r41.x, (neg)r42.x
MESA: info: max.f r43.x, (last)r43.x, (last)r26.w
MESA: info: add.f r44.y, (last)r44.y, (last)r44.x
MESA: info: max.f r43.y, (last)r43.y, (last)r27.x
MESA: info: max.f r41.y, (last)r41.y, (last)r42.y
MESA: info: add.f r44.w, (last)r44.w, (last)r44.z
MESA: info: max.f r40.w, (last)r40.w, (last)r41.w
MESA: info: max.f r42.z, (last)r42.z, (last)r42.w
MESA: info: add.f r43.z, (last)r43.z, (last)r43.w
MESA: info: max.f r41.x, (last)(neg)r41.x, (last)(neg)r42.x
MESA: info: add.f r44.y, (last)r44.y, r27.w
MESA: info: add.f r43.y, (last)r43.y, (last)r43.x
MESA: info: add.f r44.w, (last)r44.w, r28.x
MESA: info: add.f r40.w, (last)r40.w, (last)r41.y
MESA: info: add.f r43.z, (last)r43.z, r27.z
MESA: info: add.f r42.z, (last)r42.z, (last)r41.x
MESA: info: max.f r44.y, c7.y, (last)r44.y
MESA: info: add.f r43.y, (last)r43.y, r27.w
MESA: info: max.f r44.w, c7.z, (last)r44.w
MESA: info: add.f r40.w, (last)r40.w, r28.x
MESA: info: max.f r43.z, c7.x, (last)r43.z
MESA: info: add.f r42.z, (last)r42.z, r27.z
MESA: info: min.f r44.y, (last)r44.y, (last)r43.y
MESA: info: min.f r44.w, (last)r44.w, (last)r40.w
MESA: info: min.f r43.z, (last)r43.z, (last)r42.z
MESA: info: add.f r44.y, c7.y, (last)(neg)r44.y
MESA: info: add.f r44.w, c7.z, (last)(neg)r44.w
MESA: info: add.f r43.z, c7.x, (last)(neg)r43.z
MESA: info: mul.f r44.y, (last)r44.y, r44.y
MESA: info: mul.f r40.z, (last)r40.z, c0.x
MESA: info: (nop1) mad.f32 r44.w, (last)r44.w, r44.w, (last)r44.y
MESA: info: (nop3) mad.f32 r43.z, (last)r43.z, r43.z, (last)r44.w
MESA: info: (rpt1)nop
MESA: info: sqrt r43.z, (last)r43.z
MESA: info: (ss)(nop2) mad.f32 r40.y, c8.w, r40.y, (neg)(last)r43.z
MESA: info: (nop2) mul.f r40.y, (2.0), (last)r40.y
MESA: info: (nop2) mul.f r40.y, (last)r40.y, (last)r40.z
MESA: info: (nop3) cmps.f.lt p0.y, (0.0), (last)r40.y
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l552
MESA: info: cmps.f.ge r46.y, (0.0), r24.x
MESA: info: absneg.f r46.z, (abs)r24.x
MESA: info: (rpt2)add.f r45.x, (r)c7.x, (neg)(r)r27.z
MESA: info: sel.b32 r47.x, r24.y, r46.y, r46.z
MESA: info: mul.f r45.w, r45.x, r45.x
MESA: info: sel.b32 r46.z, (last)r46.z, r46.y, r24.y
MESA: info: cmps.f.ge r47.y, (abs)r47.x, c43.x
MESA: info: mad.f32 r45.w, r45.y, r45.y, (last)r45.w
MESA: info: cmps.f.eq r46.w, (abs)r24.x, (abs)r24.y
MESA: info: sel.b32 r47.y, c42.w, r47.y, c42.z
MESA: info: mov.u32u32 r46.x, 0x7fffffff
MESA: info: sel.b32 r46.y, c42.y, r46.y, c38.y
MESA: info: mul.f r47.x, (last)r47.x, r47.y
MESA: info: rsq r45.w, (last)r45.w
MESA: info: (nop3) mul.f r46.z, (last)r46.z, (last)r47.y
MESA: info: nop
MESA: info: rcp r47.x, (last)r47.x
MESA: info: (ss)mul.f r46.z, (last)(abs)r46.z, (abs)r47.x
MESA: info: mul.f r45.z, (last)r45.z, r45.w
MESA: info: sel.b32 r46.w, c42.z, r46.w, (last)r46.z
MESA: info: min.f r47.x, r24.y, (last)r47.x
MESA: info: cmps.f.ge r47.z, (1.0), (abs)r45.z
MESA: info: cmps.f.ge r1.y, (1.0), r46.w
MESA: info: and.b r2.y, r46.w, c40.w
MESA: info: rcp r0.x, r45.z
MESA: info: and.b r47.w, r45.z, c40.w
MESA: info: rcp r1.w, r46.w
MESA: info: sel.b32 r2.x, c38.y, r1.y, c40.z
MESA: info: sel.b32 r0.w, c38.y, r47.z, c40.z
MESA: info: cmps.f.lt r47.x, (last)r47.x, (0.0)
MESA: info: mul.f r0.y, r45.y, r45.w
MESA: info: mul.f r0.z, r45.x, (last)r45.w
MESA: info: (ss)sel.b32 r46.w, (last)r46.w, r1.y, (last)r1.w
MESA: info: (nop1) sel.b32 r45.z, (last)r45.z, r47.z, (last)r0.x
MESA: info: mul.f r2.z, r46.w, r46.w
MESA: info: mul.f r1.x, r45.z, r45.z
MESA: info: absneg.f r46.w, (last)(abs)r46.w
MESA: info: mad.f32 r2.w, c39.x, r2.z, c39.y
MESA: info: mad.f32 r1.z, c39.x, r1.x, c39.y
MESA: info: absneg.f r45.z, (last)(abs)r45.z
MESA: info: mad.f32 r2.w, (last)r2.w, r2.z, c39.z
MESA: info: (nop1) mad.f32 r1.z, (last)r1.z, r1.x, c39.z
MESA: info: mad.f32 r2.w, (last)r2.w, r2.z, c39.w
MESA: info: (nop1) mad.f32 r1.z, (last)r1.z, r1.x, c39.w
MESA: info: mad.f32 r2.w, (last)r2.w, r2.z, c40.x
MESA: info: (nop1) mad.f32 r1.z, (last)r1.z, r1.x, c40.x
MESA: info: mad.f32 r2.w, (last)r2.w, r2.z, c40.y
MESA: info: (nop1) mad.f32 r1.z, (last)r1.z, r1.x, c40.y
MESA: info: mad.f32 r46.w, (last)r46.w, r2.w, (last)r2.x
MESA: info: (nop1) mad.f32 r45.z, (last)r45.z, r1.z, (last)r0.w
MESA: info: andg r46.w, (last)r46.w, r46.x, (last)r2.y
MESA: info: (nop1) andg r45.z, (last)r45.z, r46.x, (last)r47.w
MESA: info: add.f r46.y, (last)r46.y, (last)r46.w
MESA: info: (nop1) cmps.f.lt p0.y, r45.z, (last)r38.w
MESA: info: (nop2) absneg.f r3.x, (neg)r46.y
MESA: info: sel.b32 r3.x, (last)r3.x, r47.x, (last)r46.y
MESA: info: brao !p0.y, !p0.x, #l475
MESA: info: cmps.f.ge r3.y, (0.0), r45.x
MESA: info: absneg.f r3.z, (abs)r45.x
MESA: info: cmps.f.eq r45.x, (last)(abs)r45.x, (abs)r45.y
MESA: info: sel.b32 r3.w, r45.y, r3.y, r3.z
MESA: info: sel.b32 r3.z, (last)r3.z, r3.y, r45.y
MESA: info: sel.b32 r3.y, c42.y, r3.y, c38.y
MESA: info: cmps.f.ge r4.x, (abs)r3.w, c43.x
MESA: info: mul.f r4.y, c41.w, r38.y
MESA: info: mul.f r38.y, (0.5), (last)r38.y
MESA: info: sel.b32 r4.x, c42.w, r4.x, c42.z
MESA: info: mul.f r4.z, r0.y, r4.y
MESA: info: mul.f r0.y, (last)r0.y, r38.y
MESA: info: mul.f r3.w, (last)r3.w, r4.x
MESA: info: mul.f r3.z, (last)r3.z, r4.x
MESA: info: mul.f r4.y, (last)r4.y, r0.z
MESA: info: mul.f r38.y, (last)r38.y, (last)r0.z
MESA: info: cov.u32s16 hr47.x, (last)r23.z
MESA: info: mad.f32 r4.z, (neg)(last)r4.z, r26.y, r27.z
MESA: info: rcp r3.w, (last)r3.w
MESA: info: mad.f32 r0.y, (neg)(last)r0.y, r26.y, r27.z
MESA: info: mad.f32 r4.y, r26.y, r4.y, r27.w
MESA: info: mad.f32 r38.y, r26.y, r38.y, r27.w
MESA: info: mad.f32 r26.y, (last)r26.y, r38.z, r28.x
MESA: info: mull.u hr47.x, (last)hr47.x, h(3)
MESA: info: mov.u32u32 r17.y, r4.z
MESA: info: mov.u32u32 r17.z, r4.y
MESA: info: mov.u32u32 r17.w, r28.x
MESA: info: mov.u32u32 r18.x, r0.y
MESA: info: mov.u32u32 r18.y, r38.y
MESA: info: (ss)mul.f r3.z, (last)(abs)r3.z, (abs)r3.w
MESA: info: min.f r45.y, (last)r45.y, r3.w
MESA: info: sel.b32 r45.x, c42.z, r45.x, r3.z
MESA: info: mov.u32u32 r18.z, r28.x
MESA: info: cmps.f.lt r45.y, (last)r45.y, (0.0)
MESA: info: cmps.f.ge r4.w, (1.0), r45.x
MESA: info: and.b r5.y, r45.x, c40.w
MESA: info: mov.u32u32 r18.w, r4.z
MESA: info: rcp r5.x, r45.x
MESA: info: sel.b32 r5.z, c38.y, r4.w, c40.z
MESA: info: mov.u32u32 r19.x, r4.y
MESA: info: mov.u32u32 r19.y, r26.y
MESA: info: mov.u32u32 r19.z, (last)r0.y
MESA: info: mov.u32u32 r19.w, (last)r38.y
MESA: info: mov.u32u32 r20.x, r26.y
MESA: info: mov.u32u32 r10.y, (last)r29.y
MESA: info: mov.u32u32 r10.z, (last)r29.z
MESA: info: mov.u32u32 r10.w, (last)r29.w
MESA: info: mov.u32u32 r11.x, (last)r30.x
MESA: info: (ss)sel.b32 r45.x, (last)r45.x, r4.w, r5.x
MESA: info: mov.u32u32 r11.y, (last)r30.w
MESA: info: mov.u32u32 r11.z, (last)r31.x
MESA: info: mul.f r5.w, r45.x, r45.x
MESA: info: absneg.f r45.x, (last)(abs)r45.x
MESA: info: mov.u32u32 r11.w, (last)r31.y
MESA: info: mad.f32 r6.x, c39.x, r5.w, c39.y
MESA: info: mov.u32u32 r12.x, (last)r31.z
MESA: info: mov.u32u32 r12.y, (last)r31.w
MESA: info: mad.f32 r6.x, (last)r6.x, r5.w, c39.z
MESA: info: mov.u32u32 r12.z, (last)r32.x
MESA: info: mov.u32u32 r12.w, (last)r32.y
MESA: info: mad.f32 r6.x, (last)r6.x, r5.w, c39.w
MESA: info: mov.u32u32 r13.x, (last)r32.z
MESA: info: mov.u32u32 r13.y, (last)r33.x
MESA: info: mad.f32 r6.x, (last)r6.x, r5.w, c40.x
MESA: info: mov.u32u32 r13.z, (last)r33.y
MESA: info: mov.u32u32 r13.w, (last)r33.z
MESA: info: mad.f32 r6.x, (last)r6.x, r5.w, c40.y
MESA: info: mov.u32u32 r14.x, (last)r33.w
MESA: info: mov.u32u32 r14.y, (last)r34.y
MESA: info: mad.f32 r45.x, (last)r45.x, r6.x, r5.z
MESA: info: mov.u32u32 r14.z, (last)r34.z
MESA: info: mov.u32u32 r14.w, (last)r34.w
MESA: info: andg r45.x, (last)r45.x, r46.x, r5.y
MESA: info: mov.u32u32 r15.x, (last)r35.x
MESA: info: mov.u32u32 r15.y, (last)r35.w
MESA: info: add.f r3.y, (last)r3.y, (last)r45.x
MESA: info: mov.u32u32 r15.z, (last)r36.x
MESA: info: mov.u32u32 r15.w, (last)r36.y
MESA: info: absneg.f r6.y, (neg)r3.y
MESA: info: mov.u32u32 r16.x, (last)r36.z
MESA: info: mov.u32u32 r16.y, r36.w
MESA: info: sel.b32 r6.y, (last)r6.y, r45.y, r3.y
MESA: info: mov.u32u32 r16.z, r37.x
MESA: info: mov.u32u32 r16.w, r37.y
MESA: info: add.f r6.y, (last)r6.y, c43.y
MESA: info: mov.u32u32 r17.x, r37.z
MESA: info: nop
MESA: info: (nop2) add.f r6.y, (last)r6.y, (last)(neg)r3.x
MESA: info: (nop2) mad.f32 r6.y, c42.x, r6.y, c43.z
MESA: info: cov.f32s32 r6.y, (last)r6.y
MESA: info: (rpt1)nop
MESA: info: and.b r6.z, r6.y, c37.w
MESA: info: (nop1) shr.b r6.w, r6.y, 16
MESA: info: mull.u r8.x, r6.z, c41.z
MESA: info: mull.u r7.x, r6.z, c38.x
MESA: info: mull.u r7.y, r6.z, c41.y
MESA: info: mull.u r7.z, r6.w, c38.x
MESA: info: mull.u r7.w, r6.w, c41.y
MESA: info: madsh.m16 r20.w, r6.z, r20.w, r8.x
MESA: info: madsh.m16 r7.x, c38.x, r6.z, (last)r7.x
MESA: info: madsh.m16 r7.y, c41.y, r6.z, (last)r7.y
MESA: info: madsh.m16 r7.z, c38.x, r6.w, (last)r7.z
MESA: info: madsh.m16 r7.w, c41.y, r6.w, (last)r7.w
MESA: info: madsh.m16 r6.z, c41.z, r6.z, (last)r20.w
MESA: info: madsh.m16 r6.w, (last)r6.w, r22.z, c38.y
MESA: info: shr.b r7.y, (last)r7.y, 16
MESA: info: cmps.u.lt hr14.x, r6.z, r7.x
MESA: info: add.u r6.w, r6.z, (last)r6.w
MESA: info: shr.b r7.z, (last)r7.z, 16
MESA: info: cov.u16s32 r20.y, hr14.x
MESA: info: (nop1) cmps.u.lt hr13.z, r6.w, r6.z
MESA: info: sad.s32 r7.w, (last)r7.w, r20.y, r7.y
MESA: info: cov.u16s32 r20.z, hr13.z
MESA: info: (rpt1)nop
MESA: info: (nop2) sad.s32 r7.w, (last)r7.w, r20.z, r7.z
MESA: info: (nop2) shr.b r7.w, (last)r7.w, 2
MESA: info: (nop1) mull.u r20.w, r7.w, 6
MESA: info: (nop2) madsh.m16 r7.w, c43.w, r7.w, (last)r20.w
MESA: info: (nop2) sub.u r6.y, (last)r6.y, r7.w
MESA: info: cov.u32s16 hr12.z, r6.y
MESA: info: (rpt1)nop
MESA: info: (nop2) shl.b hr12.z, (last)hr12.z, h(2)
MESA: info: mova a0.x, hr12.z
MESA: info: (rpt4)nop
MESA: info: mov.u32u32 r21.x, r<a0.x + 41>
MESA: info: mov.u32u32 r21.y, r<a0.x + 42>
MESA: info: mov.u32u32 r21.z, r<a0.x + 43>
MESA: info: (ul)mov.u32u32 r21.w, r<a0.x + 44>
MESA: info: mova a0.x, (last)hr47.x
MESA: info: (rpt1)cmps.f.lt hr44.x, (r)r21.x, (r)r21.z
MESA: info: add.f r22.z, r21.z, (neg)r21.x
MESA: info: add.f r22.w, r21.w, (neg)r21.y
MESA: info: cmps.s.eq r22.y, (last)hr44.x, (last)hr44.y
MESA: info: mov.u32u32 r23.x, r<a0.x + 69>
MESA: info: mov.u32u32 r23.y, r<a0.x + 70>
MESA: info: sel.b32 r22.z, (last)r22.z, r22.y, c38.y
MESA: info: (ul)mov.u32u32 r17.y, r<a0.x + 71>
MESA: info: mul.f r23.z, c33.x, r23.y
MESA: info: mul.f r24.w, c33.y, r23.y
MESA: info: sel.b32 r22.y, c38.y, r22.y, (last)r22.w
MESA: info: mad.f32 r23.z, c32.x, r23.x, (last)r23.z
MESA: info: mad.f32 r24.w, c32.y, r23.x, (last)r24.w
MESA: info: mov.u32u32 r8.y, r21.x
MESA: info: mad.f32 r23.z, c34.x, r17.y, (last)r23.z
MESA: info: mad.f32 r24.w, c34.y, r17.y, (last)r24.w
MESA: info: add.f r21.x, (last)r21.x, r22.z
MESA: info: mov.u32u32 r8.z, r21.y
MESA: info: add.f r22.z, r21.z, (last)(neg)r22.z
MESA: info: add.f r21.y, (last)r21.y, r22.y
MESA: info: add.f r22.y, r21.w, (last)(neg)r22.y
MESA: info: (rpt1)mul.f r25.x, (r)c33.z, (last)r23.y
MESA: info: (rpt1)mad.f32 r25.x, (r)c32.z, r23.x, (r)(last)r25.x
MESA: info: (rpt1)mad.f32 r25.x, (r)c34.z, r17.y, (r)(last)r25.x
MESA: info: add.f r23.w, r23.z, c35.x
MESA: info: add.f r24.x, (last)r24.w, c35.y
MESA: info: mov.u32u32 r8.w, (last)r21.x
MESA: info: (rpt1)add.f r24.y, (last)(r)r25.x, (r)c35.z
MESA: info: mov.u32u32 r9.x, (last)r21.y
MESA: info: mov.u32u32 r9.y, (last)r22.z
MESA: info: mov.u32u32 r9.z, (last)r22.y
MESA: info: mov.u32u32 r9.w, (last)r21.z
MESA: info: mov.u32u32 r10.x, (last)r21.w
MESA: info: jump #l556
MESA: info: l475:
MESA: info: (jp)(nop3) cmps.f.ge p0.y, (last)r45.z, (last)r39.x
MESA: info: (rpt1)nop
MESA: info: brao !p0.y, p0.x, #l547
MESA: info: cov.u32s16 hr47.x, (last)r23.z
MESA: info: mul.f r25.z, r24.y, r39.z
MESA: info: mul.f r25.w, r24.y, r40.x
MESA: info: mull.u hr47.x, (last)hr47.x, h(3)
MESA: info: mul.f r39.z, (last)r39.z, r24.x
MESA: info: mul.f r40.x, (last)r40.x, r24.x
MESA: info: mad.f32 r26.z, r39.y, r24.x, (neg)r25.z
MESA: info: mad.f32 r26.w, r39.w, r24.x, (neg)(last)r25.z
MESA: info: mad.f32 r27.x, r39.y, r24.x, (neg)r25.w
MESA: info: mad.f32 r27.y, r39.w, r24.x, (neg)(last)r25.w
MESA: info: mad.f32 r28.y, r39.y, r24.y, r39.z
MESA: info: mad.f32 r28.z, r39.w, r24.y, (last)r39.z
MESA: info: mad.f32 r28.w, r39.y, r24.y, r40.x
MESA: info: mad.f32 r29.x, r39.w, r24.y, (last)r40.x
MESA: info: mad.f32 r39.y, (last)r39.y, r24.z, r41.z
MESA: info: mad.f32 r39.w, (last)r39.w, r24.z, (last)r41.z
MESA: info: mova a0.x, (last)hr47.x
MESA: info: (rpt1)mad.f32 r26.z, r26.y, (r)r26.z, r27.z
MESA: info: (rpt1)mad.f32 r27.x, r26.y, (r)r27.x, (last)r27.z
MESA: info: (rpt1)mad.f32 r28.y, r26.y, (r)r28.y, r27.w
MESA: info: (rpt1)mad.f32 r28.w, r26.y, (r)r28.w, (last)r27.w
MESA: info: mad.f32 r39.y, r26.y, r39.y, r28.x
MESA: info: mad.f32 r26.y, (last)r26.y, r39.w, (last)r28.x
MESA: info: (rpt1)cmps.f.lt hr16.z, (r)r36.w, (r)r37.y
MESA: info: mov.u32u32 r5.y, (last)r26.z
MESA: info: mov.u32u32 r5.z, (last)r28.y
MESA: info: mov.u32u32 r5.w, r39.y
MESA: info: mov.u32u32 r6.x, (last)r26.w
MESA: info: mov.u32u32 r6.y, (last)r28.z
MESA: info: mov.u32u32 r6.z, r26.y
MESA: info: mov.u32u32 r6.w, (last)r27.x
MESA: info: mov.u32u32 r7.x, (last)r28.w
MESA: info: mov.u32u32 r7.y, (last)r39.y
MESA: info: mov.u32u32 r7.z, (last)r27.y
MESA: info: mov.u32u32 r7.w, (last)r29.x
MESA: info: mov.u32u32 r8.x, (last)r26.y
MESA: info: add.f r8.w, r37.y, (neg)r36.w
MESA: info: cmps.s.eq r8.z, (last)hr16.z, (last)hr16.w
MESA: info: mov.u32u32 r9.y, r<a0.x + 21>
MESA: info: mov.u32u32 r9.z, r<a0.x + 22>
MESA: info: add.f r9.x, r37.z, (neg)r37.x
MESA: info: sel.b32 r8.w, (last)r8.w, r8.z, c38.y
MESA: info: mul.f r9.w, c33.x, r9.z
MESA: info: mul.f r10.x, c33.y, r9.z
MESA: info: (ul)mov.u32u32 r5.y, r<a0.x + 23>
MESA: info: sel.b32 r8.z, c38.y, r8.z, (last)r9.x
MESA: info: mad.f32 r9.w, c32.x, r9.y, (last)r9.w
MESA: info: mad.f32 r10.x, c32.y, r9.y, (last)r10.x
MESA: info: mov.u32u32 r3.y, r36.w
MESA: info: mad.f32 r9.w, c34.x, r5.y, (last)r9.w
MESA: info: mad.f32 r10.x, c34.y, r5.y, (last)r10.x
MESA: info: add.f r36.w, (last)r36.w, r8.w
MESA: info: mov.u32u32 r3.z, r37.x
MESA: info: add.f r8.w, r37.y, (last)(neg)r8.w
MESA: info: add.f r37.x, (last)r37.x, r8.z
MESA: info: add.f r8.z, r37.z, (last)(neg)r8.z
MESA: info: (rpt1)mul.f r10.y, (r)c33.z, (last)r9.z
MESA: info: (rpt1)mad.f32 r10.y, (r)c32.z, r9.y, (r)(last)r10.y
MESA: info: (rpt1)mad.f32 r10.y, (r)c34.z, r5.y, (r)(last)r10.y
MESA: info: add.f r23.w, (last)r9.w, c35.x
MESA: info: add.f r24.x, (last)r10.x, c35.y
MESA: info: mov.u32u32 r3.w, (last)r36.w
MESA: info: (rpt1)add.f r24.y, (last)(r)r10.y, (r)c35.z
MESA: info: mov.u32u32 r4.x, (last)r37.x
MESA: info: mov.u32u32 r4.y, (last)r8.w
MESA: info: mov.u32u32 r4.z, (last)r8.z
MESA: info: mov.u32u32 r4.w, (last)r37.y
MESA: info: mov.u32u32 r5.x, (last)r37.z
MESA: info: jump #l556
MESA: info: l547:
MESA: info: (jp)mov.u32u32 r24.z, 0
MESA: info: mov.u32u32 r23.w, 0
MESA: info: mov.u32u32 r24.x, 0
MESA: info: mov.u32u32 r24.y, 0
MESA: info: jump #l556
MESA: info: l552:
MESA: info: (jp)mov.u32u32 r24.z, 0
MESA: info: mov.u32u32 r23.w, 0
MESA: info: mov.u32u32 r24.x, 0
MESA: info: mov.u32u32 r24.y, 0
MESA: info: l556:
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r23.w (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=7,il=0,b=0) r1.z (VERT_ATTRIB_GENERIC2 slot=17 cm=7,il=0,b=0) r2.y (VERT_ATTRIB_GENERIC3 slot=18 cm=7,il=0,b=0) r3.x (SYSTEM_VALUE_VERTEX_ID slot=9 cm=1,il=0,b=0)
MESA: info: ; BVERT prog 124/4: 596 instr, 86 nops, 510 non-nops, 93 mov, 12 cov, 1122 dwords
MESA: info: ; BVERT prog 124/4: 0 last-baryf, 0 last-helper, 0 half, 48 full, 44 constlen
MESA: info: ; BVERT prog 124/4: 93 cat0, 105 cat1, 240 cat2, 135 cat3, 9 cat4, 2 cat5, 12 cat6, 0 cat7
MESA: info: ; BVERT prog 124/4: 25 sstall, 7 (ss), 98 systall, 2 (sy), 0 loops
MESA: info: ; BVERT prog 124/4: 4 max_waves, 0 double_threadsize
MESA: info: ; 56 preamble-instr, 1 early-preamble
MESA: info: ; pos: r23.w
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x98244d01, 0x24dcdd8d, 0xa01e3324, 0x5b68a1c3, 0x48b00c93, 0x72760aa9, 0x451e60d8, 0x113917a1}
MESA: info: inputs_read: 32-39
MESA: info: outputs_written: 4-5
MESA: info: system_values_read: 0x00000000'00000000'00000000'00800000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: uses_discard: true
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 8
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_VAR0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_VAR1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VARYING_SLOT_VAR2.xyzw, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #3 (VARYING_SLOT_VAR3.xyzw, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #4 (VARYING_SLOT_VAR4.xyzw, 4, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #5 (VARYING_SLOT_VAR5.xyzw, 5, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none float #6 (VARYING_SLOT_VAR6.x, 6, 0)
MESA: info: decl_var shader_in INTERP_MODE_FLAT none int #7 (VARYING_SLOT_VAR7.x, 7, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #8 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #9 (FRAG_RESULT_DATA1.xyzw, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #10
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:         // preds:
MESA: info:     con 1        %0 = @preamble_start_ir3
MESA: info:                       // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:         // preds: b0
MESA: info:         div 1        %1 = @elect_any_ir3
MESA: info:                           // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:         // preds: b1
MESA: info:             con 32       %3 = load_const (0x00000006 = 0.000000)
MESA: info:             con 32       %4 = @bindless_resource_ir3 (%3 (0x6)) (desc_set=1)
MESA: info:             con 32     %765 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32     %772 = load_const (0x00000009 = 0.000000)
MESA: info:             con 32     %767 = @load_ubo_vec4 (%4, %772 (0x9)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %773 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %770 = @load_ubo_vec4 (%4, %773 (0x0)) (access=speculatable, base=0, component=3)
MESA: info:             con 32       %8 = frcp %770
MESA: info:                               @store_const_ir3 (%8) (base=0)
MESA: info:             con 32x2   %984 = load_const (0x3e800000, 0x3fc00000) = (0.250000, 1.500000)
MESA: info:             con 32x2   %985 = fmul %8.xx, %984 (0.250000, 1.500000)
MESA: info:             con 32     %986 = mov %985.x
MESA: info:             con 32     %987 = mov %985.y
MESA: info:                               @store_const_ir3 (%986) (base=1)
MESA: info:                               @store_const_ir3 (%987) (base=2)
MESA: info:             con 32      %13 = frcp %767
MESA: info:                               @store_const_ir3 (%13) (base=3)
MESA: info:             con 32      %14 = load_const (0x00000008 = 0.000000)
MESA: info:             con 32      %15 = @bindless_resource_ir3 (%14 (0x8)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%15, %773 (0x0)) (base=16, range=68)
MESA: info:             con 32      %17 = load_const (0x00000007 = 0.000000)
MESA: info:             con 32      %18 = @bindless_resource_ir3 (%17 (0x7)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%18, %773 (0x0)) (base=288, range=4)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%4, %773 (0x0)) (base=304, range=12)
MESA: info:             con 32      %23 = load_const (0x00000005 = 0.000000)
MESA: info:             con 32      %24 = @bindless_resource_ir3 (%23 (0x5)) (desc_set=1)
MESA: info:             con 32      %25 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%24, %25 (0x10)) (base=352, range=8)
MESA: info:             con 32      %27 = @bindless_resource_ir3 (%772 (0x9)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%27, %773 (0x0)) (base=384, range=4)
MESA: info:             con 32      %29 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %30 = @bindless_resource_ir3 (%29 (0x2)) (desc_set=2)
MESA: info:             con 32      %31 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32      %32 = @bindless_resource_ir3 (%31 (0x3)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%30, %32)
MESA: info:             con 32      %34 = @bindless_resource_ir3 (%773 (0x0)) (desc_set=2)
MESA: info:             con 32      %35 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %36 = @bindless_resource_ir3 (%35 (0x1)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%34, %36)
MESA: info:             con 32      %38 = @bindless_resource_ir3 (%765 (0x4)) (desc_set=2)
MESA: info:             con 32      %40 = @bindless_resource_ir3 (%23 (0x5)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%38, %40)
MESA: info:             con 32      %42 = @bindless_resource_ir3 (%3 (0x6)) (desc_set=2)
MESA: info:             con 32      %44 = @bindless_resource_ir3 (%17 (0x7)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%42, %44)
MESA: info:             con 32      %50 = @bindless_resource_ir3 (%14 (0x8)) (desc_set=2)
MESA: info:             con 32      %52 = @bindless_resource_ir3 (%772 (0x9)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%50, %52)
MESA: info:             con 32      %57 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:             con 32      %58 = @bindless_resource_ir3 (%57 (0xa)) (desc_set=2)
MESA: info:             con 32      %59 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:             con 32      %60 = @bindless_resource_ir3 (%59 (0xb)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%58, %60)
MESA: info:                               @preamble_end_ir3
MESA: info:                               // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:         // preds: b4 b5
MESA: info:     con 32      %65 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32      %66 = @load_input (%65 (0x0)) (base=7, range=1, component=0, dest_type=int32, io location=VARYING_SLOT_VAR7 slots=1)
MESA: info:     div 32x2    %67 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x4    %68 = @load_interpolated_input (%67, %65 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     div 32x4    %69 = @load_interpolated_input (%67, %65 (0x0)) (base=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR1 slots=1)
MESA: info:     div 32x4    %70 = @load_interpolated_input (%67, %65 (0x0)) (base=2, component=0, dest_type=float32, io location=VARYING_SLOT_VAR2 slots=1)
MESA: info:     div 32x4    %71 = @load_interpolated_input (%67, %65 (0x0)) (base=3, component=0, dest_type=float32, io location=VARYING_SLOT_VAR3 slots=1)
MESA: info:     div 32x4    %72 = @load_interpolated_input (%67, %65 (0x0)) (base=4, component=0, dest_type=float32, io location=VARYING_SLOT_VAR4 slots=1)
MESA: info:     div 32x2    %73 = @load_interpolated_input (%67, %65 (0x0)) (base=5, component=0, dest_type=float32, io location=VARYING_SLOT_VAR5 slots=1)
MESA: info:     div 32x2    %74 = @load_barycentric_centroid (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x2    %75 = @load_interpolated_input (%74, %65 (0x0)) (base=5, component=2, dest_type=float32, io location=VARYING_SLOT_VAR5 slots=1)
MESA: info:     div 32      %76 = @load_interpolated_input (%74, %65 (0x0)) (base=6, component=0, dest_type=float32, io location=VARYING_SLOT_VAR6 slots=1)
MESA: info:     con 32      %77 = load_const (0x00000003 = 0.000000)
MESA: info:     con 32      %80 = load_const (0x00000002)
MESA: info:     con 32      %85 = @load_const_ir3 (%65 (0x0)) (base=144)
MESA: info:     div 1       %86 = flt! %76, %85
MESA: info:                       @demote_if (%86)
MESA: info:     div 32x2   %988 = fmul %69.zx, %70.xy
MESA: info:     div 32      %92 = fmul %69.y, %69.w
MESA: info:     div 32x2   %989 = fneg %988
MESA: info:     div 32     %939 = ffma %69.y, %70.y, %989.x
MESA: info:     div 32     %938 = ffma %69.z, %69.w, %989.y
MESA: info:     div 32      %97 = fneg %92
MESA: info:     div 32     %937 = ffma %69.x, %70.x, %97
MESA: info:     con 32      %99 = @bindless_resource_ir3 (%77 (0x3)) (desc_set=2)
MESA: info:     con 32     %100 = @bindless_resource_ir3 (%80 (0x2)) (desc_set=2)
MESA: info:     div 32x4   %101 = (float32)tex (pre-dispatchable) %100 (texture_handle), %99 (sampler_handle), %75 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32x2   %105 = @load_const_ir3 (%65 (0x0)) (base=276)
MESA: info:     div 1      %106 = fneu! %101.z, %65 (0.000000)
MESA: info:     con 32     %107 = load_const (0xbf008081 = -0.501961)
MESA: info:     div 32x3   %991 = fadd %101.xyz, %107 (-0.501961).xxx
MESA: info:     con 32     %111 = load_const (0x40008102 = 2.007874)
MESA: info:     div 32x3   %993 = fmul %111 (2.007874).xxx, %991
MESA: info:     div 32     %116 = fmul %993.x, %993.x
MESA: info:     div 32     %936 = ffma %993.y, %993.y, %116
MESA: info:     con 32     %118 = load_const (0x3f800000 = 1.000000)
MESA: info:     div 32     %935 = fsub %118 (1.000000), %936
MESA: info:     div 32     %121 = fsat %935
MESA: info:     div 32     %122 = fsqrt %121
MESA: info:     div 32     %123 = bcsel %106, %993.z, %122
MESA: info:     div 32x2   %994 = fmul %105.xx, %993.xy
MESA: info:     div 32     %127 = fmul %994.y, %994.y
MESA: info:     div 32     %934 = ffma %123, %123, %127
MESA: info:     div 32     %933 = ffma %994.x, %994.x, %934
MESA: info:     div 32     %131 = frsq %933
MESA: info:     div 32x2   %995 = fmul %994, %131.xx
MESA: info:     div 32     %134 = fmul %123, %131
MESA: info:     con 1      %135 = ine %105.y, %65 (0x0)
MESA: info:     div 32     %139 = fmul %939, %995.y
MESA: info:     div 32     %140 = fmul %938, %995.y
MESA: info:     div 32     %141 = fmul %937, %995.y
MESA: info:     div 32     %932 = ffma %69.w, %995.x, %139
MESA: info:     div 32     %931 = ffma %70.x, %995.x, %140
MESA: info:     div 32     %930 = ffma %70.y, %995.x, %141
MESA: info:     div 32     %929 = ffma %69.x, %134, %932
MESA: info:     div 32     %928 = ffma %69.y, %134, %931
MESA: info:     div 32     %927 = ffma %69.z, %134, %930
MESA: info:     div 32     %152 = fmul %928, %928
MESA: info:     div 32     %926 = ffma %927, %927, %152
MESA: info:     div 32     %925 = ffma %929, %929, %926
MESA: info:     div 32     %156 = frsq %925
MESA: info:     div 32     %157 = fmul %929, %156
MESA: info:     div 32     %158 = fmul %928, %156
MESA: info:     div 32     %159 = fmul %927, %156
MESA: info:     div 1      %160 = @load_front_face
MESA: info:     div 1      %161 = inot %160
MESA: info:     div 1      %162 = iand %161, %135
MESA: info:     div 32     %163 = fneg %157
MESA: info:     div 32     %164 = fneg %158
MESA: info:     div 32     %165 = fneg %159
MESA: info:     div 32     %166 = bcsel %162, %163, %157
MESA: info:     div 32     %167 = bcsel %162, %164, %158
MESA: info:     div 32     %168 = bcsel %162, %165, %159
MESA: info:     con 32     %169 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32     %170 = @bindless_resource_ir3 (%169 (0x1)) (desc_set=2)
MESA: info:     con 32     %171 = @bindless_resource_ir3 (%65 (0x0)) (desc_set=2)
MESA: info:     div 32x4   %172 = (float32)tex (pre-dispatchable) %171 (texture_handle), %170 (sampler_handle), %75 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 1      %173 = fge! %85, %172.w
MESA: info:                       @demote_if (%173)
MESA: info:     div 32     %182 = ishl %66, %80 (0x2)
MESA: info:     div 32     %183 = @load_const_ir3 (%182) (base=80)
MESA: info:     div 32     %184 = fmul %183, %172.w
MESA: info:     div 32     %185 = fmin %184, %118 (1.000000)
MESA: info:     con 32x4   %191 = @load_const_ir3 (%65 (0x0)) (base=288)
MESA: info:     con 32x4   %200 = @load_const_ir3 (%65 (0x0)) (base=292)
MESA: info:     con 32x4   %213 = @load_const_ir3 (%65 (0x0)) (base=296)
MESA: info:     con 32x4   %228 = @load_const_ir3 (%65 (0x0)) (base=300)
MESA: info:     div 32x4  %1002 = ffma %200, %68.zzzz, %228
MESA: info:     div 32x4  %1003 = ffma %191, %68.yyyy, %1002
MESA: info:     div 32x4  %1004 = ffma %213, %68.wwww, %1003
MESA: info:     div 32     %233 = frcp %1004.w
MESA: info:     div 32x2  %1005 = fmul %1004.xy, %233.xx
MESA: info:     div 32     %236 = fmin! %1005.y, %1005.x
MESA: info:     con 32     %237 = load_const (0xbf800000 = -1.000000)
MESA: info:     div 1      %238 = flt! %236, %237 (-1.000000)
MESA: info:     div 32     %239 = fmax! %1005.y, %1005.x
MESA: info:     div 1      %240 = flt! %118 (1.000000), %239
MESA: info:     div 1      %980 = inot %238
MESA: info:     div 1      %981 = inot %240
MESA: info:     div 1      %982 = iand %980, %981
MESA: info:                       // succs: b7 b8
MESA: info:     if %982 {
MESA: info:         div block b7:         // preds: b6
MESA: info:         con 32      %78 = load_const (0x00000005 = 0.000000)
MESA: info:         con 32     %174 = load_const (0x00000004 = 0.000000)
MESA: info:         con 32     %243 = load_const (0x3f000000 = 0.500000)
MESA: info:         div 32x2  %1006 = ffma %243 (0.500000).xx, %1005, %243 (0.500000).xx
MESA: info:         div 32     %914 = ffma %243 (0.500000), %1004.z, %243 (0.500000)
MESA: info:         con 32     %251 = @bindless_resource_ir3 (%78 (0x5)) (desc_set=2)
MESA: info:         con 32     %252 = @bindless_resource_ir3 (%174 (0x4)) (desc_set=2)
MESA: info:         div 32     %253 = (float32)tex %252 (texture_handle), %251 (sampler_handle), %1006 (coord), %914 (comparator), 0 (texture), 0 (sampler)
MESA: info:                           // succs: b9
MESA: info:     } else {
MESA: info:         div block b8:  // preds: b6, succs: b9
MESA: info:     }
MESA: info:     con block b9:         // preds: b7 b8
MESA: info:     div 32     %254 = phi b7: %253, b8: %118 (1.000000)
MESA: info:     div 32     %259 = @load_const_ir3 (%182) (base=212)
MESA: info:     con 32     %260 = load_const (0x3dcccccd = 0.100000)
MESA: info:     div 1      %261 = flt! %260 (0.100000), %69.z
MESA: info:                       // succs: b10 b11
MESA: info:     if %261 {
MESA: info:         div block b10:        // preds: b9
MESA: info:         con 32     %262 = load_const (0x40c90fdb = 6.283185)
MESA: info:         con 32     %263 = load_const (0x3e22f983 = 0.159155)
MESA: info:         con 32     %264 = load_const (0x3f000000 = 0.500000)
MESA: info:         div 32     %265 = ffma! %263 (0.159155), %71.x, %264 (0.500000)
MESA: info:         div 32     %266 = ffloor %265
MESA: info:         div 32     %913 = fsub %265, %266
MESA: info:         con 32     %269 = load_const (0xc0490fdb = -3.141593)
MESA: info:         div 32     %270 = ffma! %262 (6.283185), %913, %269 (-3.141593)
MESA: info:         div 32     %271 = fcos %270
MESA: info:         div 32     %272 = fsin %270
MESA: info:         con 32     %273 = load_const (0xbf000000 = -0.500000)
MESA: info:         div 32x2  %1007 = fadd %70.wz, %273 (-0.500000).xx
MESA: info:         con 32     %275 = load_const (0x40000000 = 2.000000)
MESA: info:         div 32x2  %1008 = fmul %1007, %275 (2.000000).xx
MESA: info:         div 32     %277 = frcp %259
MESA: info:         div 32x2  %1009 = fmul %1008, %277.xx
MESA: info:         div 32     %284 = fmul %272, %1009.x
MESA: info:         div 32     %285 = fmul %271, %1009.x
MESA: info:         div 32     %286 = fneg %284
MESA: info:         div 32     %912 = ffma %271, %1009.y, %286
MESA: info:         div 32     %911 = ffma %272, %1009.y, %285
MESA: info:         div 32     %290 = fmul %1009.x, %1009.x
MESA: info:         div 32     %910 = ffma %1009.y, %1009.y, %290
MESA: info:         div 32     %909 = fsub %118 (1.000000), %910
MESA: info:         div 32     %294 = fsat %909
MESA: info:         div 32     %295 = fsqrt %294
MESA: info:                           // succs: b12
MESA: info:     } else {
MESA: info:         div block b11:        // preds: b9
MESA: info:         div 32     %301 = @load_const_ir3 (%182) (base=151)
MESA: info:         div 1      %302 = flt! %301, %70.w
MESA: info:         div 32     %908 = fsub %70.w, %301
MESA: info:         div 32     %907 = fsub %118 (1.000000), %301
MESA: info:         div 32     %306 = frcp %907
MESA: info:         con 32     %307 = load_const (0x3fc90e56 = 1.570750)
MESA: info:         div 32     %308 = fmul %908, %307 (1.570750)
MESA: info:         div 32     %309 = fmul %308, %306
MESA: info:         div 32     %310 = frcp %301
MESA: info:         div 32     %311 = fmul %70.w, %307 (1.570750)
MESA: info:         con 32     %313 = load_const (0xbfc90e56 = -1.570750)
MESA: info:         div 32     %906 = ffma %311, %310, %313 (-1.570750)
MESA: info:         div 32     %315 = bcsel %302, %309, %906
MESA: info:         con 32     %316 = load_const (0xbf000000 = -0.500000)
MESA: info:         div 32     %317 = fadd %70.z, %316 (-0.500000)
MESA: info:         con 32     %318 = load_const (0x40c90e56 = 6.283000)
MESA: info:         div 32     %319 = fmul %318 (6.283000), %317
MESA: info:         con 32     %320 = load_const (0x40c90fdb = 6.283185)
MESA: info:         con 32     %321 = load_const (0x3e22f983 = 0.159155)
MESA: info:         con 32     %322 = load_const (0x3f000000 = 0.500000)
MESA: info:         div 32     %323 = ffma! %321 (0.159155), %319, %322 (0.500000)
MESA: info:         div 32     %324 = ffloor %323
MESA: info:         div 32     %905 = fsub %323, %324
MESA: info:         con 32     %327 = load_const (0xc0490fdb = -3.141593)
MESA: info:         div 32     %328 = ffma! %320 (6.283185), %905, %327 (-3.141593)
MESA: info:         div 32     %329 = fcos %328
MESA: info:         div 32     %330 = fsin %328
MESA: info:         div 32     %331 = ffma! %321 (0.159155), %315, %322 (0.500000)
MESA: info:         div 32     %332 = ffloor %331
MESA: info:         div 32     %904 = fsub %331, %332
MESA: info:         div 32     %335 = ffma! %320 (6.283185), %904, %327 (-3.141593)
MESA: info:         div 32     %336 = fcos %335
MESA: info:         div 32     %337 = fmul %329, %336
MESA: info:         div 32     %338 = fmul %330, %336
MESA: info:         div 32     %341 = fmul %338, %69.y
MESA: info:         div 32     %342 = fmul %337, %69.y
MESA: info:         div 32     %343 = fneg %341
MESA: info:         div 32     %903 = ffma %337, %69.x, %343
MESA: info:         div 32     %902 = ffma %338, %69.x, %342
MESA: info:         div 32     %346 = fsin %335
MESA: info:                           // succs: b12
MESA: info:     }
MESA: info:     con block b12:        // preds: b10 b11
MESA: info:     div 32     %347 = phi b10: %295, b11: %346
MESA: info:     div 32     %348 = phi b10: %911, b11: %902
MESA: info:     div 32     %349 = phi b10: %912, b11: %903
MESA: info:     con 32      %79 = load_const (0x00000008 = 0.000000)
MESA: info:     con 32     %187 = load_const (0x00000007 = 0.000000)
MESA: info:     con 32     %201 = load_const (0x00000006 = 0.000000)
MESA: info:     con 32     %214 = load_const (0x00000009 = 0.000000)
MESA: info:     div 32x3   %354 = @load_const_ir3 (%182) (base=148)
MESA: info:     con 32     %355 = load_const (0x41200000 = 10.000000)
MESA: info:     div 32     %356 = fmul %354.z, %355 (10.000000)
MESA: info:     div 32     %358 = fmul %348, %348
MESA: info:     div 32     %901 = ffma %347, %347, %358
MESA: info:     div 32     %900 = ffma %349, %349, %901
MESA: info:     div 32     %362 = frsq %900
MESA: info:     div 32     %363 = fmul %349, %362
MESA: info:     div 32     %364 = fmul %348, %362
MESA: info:     div 32     %365 = fmul %347, %362
MESA: info:     con 32x3   %369 = @load_const_ir3 (%65 (0x0)) (base=304)
MESA: info:     div 32     %371 = fmul %364, %369.y
MESA: info:     div 32     %899 = ffma %365, %369.z, %371
MESA: info:     div 32     %374 = fneg %899
MESA: info:     div 32     %897 = fneg %363
MESA: info:     div 32     %898 = ffma %897, %369.x, %374
MESA: info:     div 32     %377 = fsat %898
MESA: info:     con 32     %378 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32     %895 = fneg %377
MESA: info:     div 32     %896 = ffma %895, %378 (2.000000), %118 (1.000000)
MESA: info:     div 32     %382 = fmul %356, %896
MESA: info:     div 32     %383 = fabs %382
MESA: info:     div 1      %384 = fge! %118 (1.000000), %383
MESA: info:     div 32     %385 = frcp %382
MESA: info:     div 32     %386 = bcsel %384, %382, %385
MESA: info:     div 32     %387 = fmul %386, %386
MESA: info:     con 32     %388 = load_const (0xbc46c6a5 = -0.012132)
MESA: info:     con 32     %390 = load_const (0x3d5be101 = 0.053681)
MESA: info:     div 32     %894 = ffma %388 (-0.012132), %387, %390 (0.053681)
MESA: info:     con 32     %393 = load_const (0xbdf0555d = -0.117350)
MESA: info:     div 32     %893 = ffma %894, %387, %393 (-0.117350)
MESA: info:     con 32     %396 = load_const (0x3e468bc1 = 0.193892)
MESA: info:     div 32     %892 = ffma %893, %387, %396 (0.193892)
MESA: info:     con 32     %399 = load_const (0xbeaa5476 = -0.332676)
MESA: info:     div 32     %891 = ffma %892, %387, %399 (-0.332676)
MESA: info:     con 32     %402 = load_const (0x3f7ffea5 = 0.999979)
MESA: info:     div 32     %890 = ffma %891, %387, %402 (0.999979)
MESA: info:     con 32     %404 = load_const (0xbfc90fdb = -1.570796)
MESA: info:     div 32     %405 = bcsel %384, %65 (0x0), %404 (0xbfc90fdb)
MESA: info:     div 32     %406 = fabs %386
MESA: info:     div 32     %889 = ffma %406, %890, %405
MESA: info:     con 32     %409 = load_const (0x7fffffff = 2147483647)
MESA: info:     con 32     %411 = load_const (0x80000000 = -2147483648 = 2147483648)
MESA: info:     div 32     %412 = iand %382, %411 (0x80000000)
MESA: info:     div 32     %983 = andg_ir3 %889, %409 (0x7fffffff), %412
MESA: info:     con 32     %414 = load_const (0x3ea2f983 = 0.318310)
MESA: info:     con 32     %416 = load_const (0x3f000000 = 0.500000)
MESA: info:     div 32     %888 = ffma %983, %414 (0.318310), %416 (0.500000)
MESA: info:     div 32     %887 = fsub %354.y, %354.x
MESA: info:     div 32     %886 = ffma %888, %887, %354.x
MESA: info:     div 32     %422 = fsat %886
MESA: info:     div 32     %423 = fmul %254, %422
MESA: info:     div 32x3   %427 = @load_const_ir3 (%182) (base=16)
MESA: info:     div 32x3  %1011 = fmul %172.xyz, %427
MESA: info:     con 32     %431 = load_const (0x400ccccd = 2.200000)
MESA: info:     div 32x3  %1015 = flog2 %1011
MESA: info:     div 32x3  %1016 = fmul %1015, %431 (2.200000).xxx
MESA: info:     div 32x3  %1017 = fexp2 %1016
MESA: info:     div 32x3  %1019 = fsat %1017
MESA: info:     con 32x3   %448 = @load_const_ir3 (%65 (0x0)) (base=380)
MESA: info:     div 32x3  %1021 = fsub %68.yzw, %448
MESA: info:     div 32     %456 = fmul %167, %1021.y
MESA: info:     div 32     %882 = ffma %168, %1021.z, %456
MESA: info:     div 32     %881 = ffma %166, %1021.x, %882
MESA: info:     div 32     %460 = fmul %881, %378 (2.000000)
MESA: info:     div 32     %879 = fneg %460
MESA: info:     div 32     %880 = ffma %879, %166, %1021.x
MESA: info:     div 32     %878 = ffma %879, %167, %1021.y
MESA: info:     div 32     %876 = ffma %879, %168, %1021.z
MESA: info:     div 32     %471 = fmul %878, %878
MESA: info:     div 32     %874 = ffma %876, %876, %471
MESA: info:     div 32     %873 = ffma %880, %880, %874
MESA: info:     div 32     %475 = frsq %873
MESA: info:     div 32     %476 = fmul %880, %475
MESA: info:     div 32     %477 = fmul %878, %475
MESA: info:     div 32     %478 = fmul %876, %475
MESA: info:     con 32     %479 = load_const (0x3f7d70a4 = 0.990000)
MESA: info:     div 32x3  %1023 = fmul %1019, %479 (0.990000).xxx
MESA: info:     con 32x3   %486 = @load_const_ir3 (%65 (0x0)) (base=324)
MESA: info:     con 32x3   %493 = @load_const_ir3 (%65 (0x0)) (base=328)
MESA: info:     con 32x3   %503 = @load_const_ir3 (%65 (0x0)) (base=332)
MESA: info:     con 32x3   %513 = @load_const_ir3 (%65 (0x0)) (base=336)
MESA: info:     div 32x3  %1027 = ffma %493, %167.xxx, %513
MESA: info:     div 32x3  %1028 = ffma %486, %166.xxx, %1027
MESA: info:     div 32x3  %1029 = ffma %503, %168.xxx, %1028
MESA: info:     con 32     %518 = load_const (0x40c00000 = 6.000000)
MESA: info:     con 32     %519 = @bindless_resource_ir3 (%187 (0x7)) (desc_set=2)
MESA: info:     con 32     %520 = @bindless_resource_ir3 (%201 (0x6)) (desc_set=2)
MESA: info:     div 32x4   %521 = (float32)txl %520 (texture_handle), %519 (sampler_handle), %1029 (coord), %518 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %1059 = mov %521.yzx
MESA: info:     div 32x3  %1033 = ffma %493, %477.xxx, %513
MESA: info:     div 32x3  %1034 = ffma %486, %476.xxx, %1033
MESA: info:     div 32x3  %1035 = ffma %503, %478.xxx, %1034
MESA: info:     div 32x4   %541 = (float32)txl %520 (texture_handle), %519 (sampler_handle), %1035 (coord), %518 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %1053 = mov %541.yzx
MESA: info:     con 32     %542 = @bindless_resource_ir3 (%214 (0x9)) (desc_set=2)
MESA: info:     con 32     %543 = @bindless_resource_ir3 (%79 (0x8)) (desc_set=2)
MESA: info:     div 32x4   %544 = (float32)txl %543 (texture_handle), %542 (sampler_handle), %1029 (coord), %518 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %1056 = mov %544.yzx
MESA: info:     div 32x4   %545 = (float32)txl %543 (texture_handle), %542 (sampler_handle), %1035 (coord), %518 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %1050 = mov %545.yzx
MESA: info:     con 32     %549 = @load_const_ir3 (%65 (0x0)) (base=340)
MESA: info:     con 1      %550 = flt! %118 (1.000000), %549
MESA: info:                       // succs: b13 b14
MESA: info:     if %550 {
MESA: info:         con block b13:        // preds: b12
MESA: info:         con 32     %552 = @load_const_ir3 (%65 (0x0)) (base=0)
MESA: info:         con 32     %554 = @load_const_ir3 (%65 (0x0)) (base=1)
MESA: info:         con 32     %556 = @load_const_ir3 (%65 (0x0)) (base=2)
MESA: info:         div 32     %557 = fmax %168, %65 (0.000000)
MESA: info:         div 32     %558 = fadd %118 (1.000000), %557
MESA: info:         div 32     %559 = fmul %554, %558
MESA: info:         div 32x3  %1058 = mov %559.xxx
MESA: info:         div 32     %561 = fmul %167, %369.y
MESA: info:         div 32     %860 = ffma %168, %369.z, %561
MESA: info:         div 32     %859 = ffma %166, %369.x, %860
MESA: info:         div 32     %565 = fmax %859, %65 (0.000000)
MESA: info:         div 32     %566 = fadd %559, %565
MESA: info:         div 32     %567 = fmul %556, %566
MESA: info:         div 32x3  %1055 = mov %567.xxx
MESA: info:         con 32     %568 = fmul %260 (0.100000), %552
MESA: info:         con 32x3  %1052 = mov %568.xxx
MESA: info:         div 32     %570 = fmul %477, %369.y
MESA: info:         div 32     %858 = ffma %478, %369.z, %570
MESA: info:         div 32     %857 = ffma %476, %369.x, %858
MESA: info:         div 32     %574 = fmax %857, %65 (0.000000)
MESA: info:         div 32     %575 = fmul %552, %574
MESA: info:         div 32x3  %1049 = mov %575.xxx
MESA: info:                           // succs: b15
MESA: info:     } else {
MESA: info:         con block b14:  // preds: b12, succs: b15
MESA: info:     }
MESA: info:     con block b15:        // preds: b13 b14
MESA: info:     div 32x3  %1048 = phi b13: %1049, b14: %1050
MESA: info:     div 32x3  %1054 = phi b13: %1055, b14: %1056
MESA: info:     div 32x3  %1051 = phi b13: %1052, b14: %1053
MESA: info:     div 32x3  %1057 = phi b13: %1058, b14: %1059
MESA: info:     con 32     %215 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:     con 32     %216 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:     con 32     %602 = @load_const_ir3 (%65 (0x0)) (base=307)
MESA: info:     con 32     %607 = @load_const_ir3 (%65 (0x0)) (base=3)
MESA: info:     div 32     %608 = fmul %607, %423
MESA: info:     div 32x3  %1061 = fsub %1054.zxy, %1057.zxy
MESA: info:     div 32x3  %1063 = fmul %608.xxx, %1061
MESA: info:     div 32x3  %1065 = ffma %549.xxx, %1057.zxy, %1063
MESA: info:     div 32x3  %1067 = fmul %549.xxx, %1051.zxy
MESA: info:     div 32x3  %1070 = fneg %1067
MESA: info:     div 32x3  %1071 = ffma %607.xxx, %1048.zxy, %1070
MESA: info:     div 32x3  %1073 = fmul %423.xxx, %1071
MESA: info:     div 32x3  %1075 = ffma %549.xxx, %1051.zxy, %1073
MESA: info:     con 32     %642 = load_const (0x3c23d70a = 0.010000)
MESA: info:     div 32x3  %1077 = fmul %642 (0.010000).xxx, %1075
MESA: info:     div 32x3  %1079 = ffma %1023, %1065, %1077
MESA: info:     div 32x3  %1081 = fmul %602.xxx, %1079
MESA: info:     div 32     %840 = fneg %185
MESA: info:     div 32     %841 = ffma %840, %76, %118 (1.000000)
MESA: info:     con 32     %979 = load_const (0xbf7d70a4 = -0.990000)
MESA: info:     div 32     %839 = ffma %979 (-0.990000), %841, %118 (1.000000)
MESA: info:     div 32x3  %1083 = fsub %71.yzw, %448
MESA: info:     div 32     %661 = fmul %1083.y, %1083.y
MESA: info:     div 32     %834 = ffma %1083.z, %1083.z, %661
MESA: info:     div 32     %833 = ffma %1083.x, %1083.x, %834
MESA: info:     div 32     %665 = frsq %833
MESA: info:     div 32x3  %1085 = fmul %1083, %665.xxx
MESA: info:     div 32x3  %1089 = ffma %493, %1085.yyy, %513
MESA: info:     div 32x3  %1090 = ffma %486, %1085.xxx, %1089
MESA: info:     div 32x3  %1091 = ffma %503, %1085.zzz, %1090
MESA: info:     con 32     %688 = @bindless_resource_ir3 (%216 (0xb)) (desc_set=2)
MESA: info:     con 32     %689 = @bindless_resource_ir3 (%215 (0xa)) (desc_set=2)
MESA: info:     div 32x4   %690 = (float32)txl %689 (texture_handle), %688 (sampler_handle), %1091 (coord), %65 (0.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x4   %691 = (float32)txl %689 (texture_handle), %688 (sampler_handle), %1091 (coord), %518 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     con 32x3   %698 = @load_const_ir3 (%65 (0x0)) (base=388)
MESA: info:     div 32     %699 = fmul %698.x, %72.w
MESA: info:     div 32x2  %1092 = fmul %698.yz, %73
MESA: info:     div 32     %826 = ffma %1081.x, %72.x, %699
MESA: info:     div 32x2  %1093 = ffma %1081.yz, %72.yz, %1092
MESA: info:     con 32     %705 = load_const (0xbf4ccccd = -0.800000)
MESA: info:     div 32     %706 = fadd %68.x, %705 (-0.800000)
MESA: info:     con 32     %707 = load_const (0x40a00000 = 5.000000)
MESA: info:     div 32     %708 = fmul %706, %707 (5.000000)
MESA: info:     div 32     %709 = fsat %708
MESA: info:     div 32x3  %1095 = fsub %690.xyz, %691.xyz
MESA: info:     div 32x3  %1097 = ffma %709.xxx, %1095, %691.xyz
MESA: info:     div 32     %725 = fneg %826
MESA: info:     div 32     %817 = ffma %602, %1097.x, %725
MESA: info:     div 32     %816 = ffma %68.x, %817, %826
MESA: info:     div 32x2  %1098 = fneg %1093
MESA: info:     div 32x2  %1099 = ffma %602.xx, %1097.yz, %1098
MESA: info:     div 32x2  %1100 = ffma %68.xx, %1099, %1093
MESA: info:     con 32x3   %739 = @load_const_ir3 (%65 (0x0)) (base=352)
MESA: info:     con 32x3   %746 = @load_const_ir3 (%65 (0x0)) (base=356)
MESA: info:     div 32x3  %1102 = fmul %746, %167.xxx
MESA: info:     div 32x3  %1104 = ffma %739, %166.xxx, %1102
MESA: info:     con 32x3   %756 = @load_const_ir3 (%65 (0x0)) (base=360)
MESA: info:     div 32x3  %1106 = ffma %756, %168.xxx, %1104
MESA: info:     div 32x4   %763 = vec4 %816, %1100.x, %1100.y, %839
MESA: info:                       @store_output (%763, %65 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:     div 32x4   %764 = vec4 %1106.x, %1106.y, %1106.z, %118 (0x3f800000)
MESA: info:                       @store_output (%764, %65 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA1 slots=1, xfb(), xfb2())
MESA: info:                       // succs: b16
MESA: info:     block b16:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 1bc6859ed2ae1e1da6358ecd1444274e34acb697:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (96 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      5
MESA: info: ;   range[0]:
MESA: info: ;     block:          8
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           68 vec4 (0b -> 1088b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          7
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c72.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          6
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c76.x
MESA: info: ;     size:           12 vec4 (0b -> 192b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          5
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c88.x
MESA: info: ;     size:           8 vec4 (256b -> 384b)
MESA: info: ;   range[4]:
MESA: info: ;     block:          9
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c96.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.z)	in0 (wrmask=0x3)
MESA: info: @in(r0.x)	in1 (wrmask=0x3)
MESA: info: @in(hr2.x)	in2 (wrmask=0x1)
MESA: info: @tex(r1.y)	src=22, bindless=1, samp=3, tex=2, wrmask=0x7, opc=sam
MESA: info: @tex(r2.x)	src=22, bindless=1, samp=1, tex=0, wrmask=0xf, opc=sam
MESA: info: @const(c100.x)	0x3e800000, 0x3fc00000, 0xbf800000, 0x3dcccccd
MESA: info: @const(c101.x)	0xbf4ccccd, 0x40a00000, 0x400ccccd, 0x3f7d70a4
MESA: info: @const(c102.x)	0x40008102, 0xbf008081, 0x3f000000, 0x40c90fdb
MESA: info: @const(c103.x)	0x3e22f983, 0xc0490fdb, 0xbf000000, 0x40c90e56
MESA: info: @const(c104.x)	0x3fc90e56, 0xbfc90e56, 0x3f800000, 0x40000000
MESA: info: @const(c105.x)	0xbc46c6a5, 0x3d5be101, 0xbdf0555d, 0x3e468bc1
MESA: info: @const(c106.x)	0xbeaa5476, 0x3f7ffea5, 0x00000000, 0xbfc90fdb
MESA: info: @const(c107.x)	0x80000000, 0x3ea2f983, 0x3c23d70a, 0xbf7d70a4
MESA: info: shps #l34
MESA: info: getone #l34
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#3, t#2
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#5, t#4
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#7, t#6
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#9, t#8
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#11, t#10
MESA: info: (ss)nop
MESA: info: ldc.u.offset3.1.imm.base1 r48.x, 0, 6
MESA: info: ldc.u.offset0.1.imm.base1 r48.y, 9, 6
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)rcp r48.x, r48.x
MESA: info: rcp r48.y, r48.y
MESA: info: (ss)(rpt1)mul.f r48.z, r48.x, (r)c100.x
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[3], r48.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[1], r48.z, 1
MESA: info: stc.u32 c[2], r48.w, 1
MESA: info: ldc.68.k.imm.base1 c[a1.x], 0, 8
MESA: info: (ss)mova1 a1.x, (r)288
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 7
MESA: info: (ss)mova1 a1.x, (r)304
MESA: info: (ss)nop
MESA: info: ldc.12.k.imm.base1 c[a1.x], 0, 6
MESA: info: (ss)mova1 a1.x, (r)352
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 16, 5
MESA: info: (ss)mova1 a1.x, (r)384
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 9
MESA: info: (sy)(ss)shpe
MESA: info: l34:
MESA: info: (jp)bary.f r3.x, 4, r0.z
MESA: info: (rpt1)bary.f r3.z, (r)8, r0.z
MESA: info: bary.f r3.y, 6, r0.z
MESA: info: bary.f r4.x, 5, r0.z
MESA: info: bary.f r4.y, 7, r0.z
MESA: info: bary.f r4.w, 2, r0.z
MESA: info: bary.f r5.y, 1, r0.z
MESA: info: bary.f r0.x, 24, (last)r0.x
MESA: info: bary.f r5.x, 3, r0.z
MESA: info: flat.b r4.z, 28, 28
MESA: info: bary.f r6.z, 12, r0.z
MESA: info: bary.f r7.x, 11, r0.z
MESA: info: bary.f r7.y, 10, r0.z
MESA: info: (rpt2)bary.f r9.w, (r)13, r0.z
MESA: info: bary.f r10.z, 19, r0.z
MESA: info: (rpt1)bary.f r10.w, (r)20, r0.z
MESA: info: (rpt1)bary.f r11.y, (r)16, r0.z
MESA: info: bary.f r11.w, 0, r0.z
MESA: info: bary.f (ei)r0.z, 18, (last)r0.z
MESA: info: cmps.s.ne hr50.x, c69.y, 0
MESA: info: (sy)(rpt1)add.f r1.y, (last)(r)r1.y, c102.y
MESA: info: add.f r6.y, r1.w, c102.y
MESA: info: (rpt1)mul.f r1.y, c102.x, (last)(r)r1.y
MESA: info: mul.f r6.y, c102.x, (last)r6.y
MESA: info: mul.f r6.w, r1.y, r1.y
MESA: info: cmps.f.ne r1.w, (last)r1.w, (0.0)
MESA: info: mad.f32 r6.w, r1.z, r1.z, (last)r6.w
MESA: info: mul.f r1.z, c69.x, (last)r1.z
MESA: info: mul.f r1.y, c69.x, (last)r1.y
MESA: info: (sat)add.f r6.w, (1.0), (last)(neg)r6.w
MESA: info: mul.f r7.z, r1.z, r1.z
MESA: info: mul.f r5.w, r3.x, r3.w
MESA: info: mul.f r6.x, r4.x, r4.y
MESA: info: mad.f32 r5.w, r3.y, r4.y, (neg)(last)r5.w
MESA: info: mul.f r5.z, r3.y, r3.z
MESA: info: sqrt r6.w, (last)r6.w
MESA: info: mad.f32 r6.x, r3.x, r3.z, (neg)(last)r6.x
MESA: info: mad.f32 r5.z, r4.x, r3.w, (neg)(last)r5.z
MESA: info: mad.f32 r9.z, c73.w, r4.w, c75.w
MESA: info: shl.b r4.z, (last)r4.z, 2
MESA: info: mad.f32 r9.z, c72.w, r5.y, (last)r9.z
MESA: info: mad.f32 r8.x, c73.x, r4.w, c75.x
MESA: info: mad.f32 r9.z, c74.w, r5.x, (last)r9.z
MESA: info: cov.u32s16 hr15.z, r4.z
MESA: info: mad.f32 r9.x, c73.y, r4.w, c75.y
MESA: info: mad.f32 r8.x, c72.x, r5.y, (last)r8.x
MESA: info: (ss)sel.b32 r6.y, (last)r6.y, r1.w, (last)r6.w
MESA: info: mova a0.x, (last)hr15.z
MESA: info: rcp r9.z, (last)r9.z
MESA: info: cmps.s.eq hr2.x, (last)hr2.x, h(0)
MESA: info: mad.f32 r7.z, r6.y, r6.y, (last)r7.z
MESA: info: mad.f32 r9.x, c72.y, r5.y, (last)r9.x
MESA: info: mad.f32 r7.z, r1.y, r1.y, (last)r7.z
MESA: info: mad.f32 r8.z, c74.x, r5.x, (last)r8.x
MESA: info: cmps.f.ge p0.y, c36.x, r2.w
MESA: info: cmps.f.lt p0.z, r0.x, c36.x
MESA: info: mad.f32 r8.w, c74.y, r5.x, (last)r9.x
MESA: info: sub.u hr2.x, h(1), (last)hr2.x
MESA: info: rsq r7.z, (last)r7.z
MESA: info: mad.f32 r9.y, c73.z, r4.w, c75.z
MESA: info: (ul)mul.f r2.w, c<a0.x + 80>, (last)r2.w
MESA: info: and.b r8.y, (last)hr2.x, hr50.x
MESA: info: kill p0.z
MESA: info: kill p0.y
MESA: info: mad.f32 r9.y, c72.z, r5.y, (last)r9.y
MESA: info: min.f r2.w, (last)r2.w, (1.0)
MESA: info: mad.f32 r9.y, c74.z, r5.x, (last)r9.y
MESA: info: (ss)mul.f r1.z, (last)r1.z, r7.z
MESA: info: mul.f r1.y, (last)r1.y, r7.z
MESA: info: mul.f r6.y, (last)r6.y, (last)r7.z
MESA: info: mul.f r5.w, (last)r5.w, r1.z
MESA: info: mul.f r6.x, (last)r6.x, r1.z
MESA: info: mad.f32 r3.z, (last)r3.z, r1.y, (last)r5.w
MESA: info: mul.f r5.z, (last)r5.z, (last)r1.z
MESA: info: mad.f32 r3.w, (last)r3.w, r1.y, (last)r6.x
MESA: info: mad.f32 r3.z, r4.x, r6.y, (last)r3.z
MESA: info: mad.f32 r4.y, (last)r4.y, r1.y, (last)r5.z
MESA: info: mad.f32 r3.w, r3.y, r6.y, (last)r3.w
MESA: info: mul.f r0.y, r3.z, r3.z
MESA: info: mad.f32 r6.y, r3.x, r6.y, (last)r4.y
MESA: info: mad.f32 r0.y, r3.w, r3.w, (last)r0.y
MESA: info: (rpt1)mul.f r8.z, (last)(r)r8.z, (last)r9.z
MESA: info: (nop1) mad.f32 r0.y, r6.y, r6.y, (last)r0.y
MESA: info: min.f r0.w, r8.w, r8.z
MESA: info: (nop1) max.f r1.x, r8.w, r8.z
MESA: info: cmps.f.lt p0.y, (last)r0.w, c100.z
MESA: info: rsq r0.y, (last)r0.y
MESA: info: cmps.f.lt p0.z, (1.0), (last)r1.x
MESA: info: (ss)mul.f r6.y, (last)r6.y, r0.y
MESA: info: mul.f r3.z, (last)r3.z, r0.y
MESA: info: mul.f r3.w, (last)r3.w, (last)r0.y
MESA: info: absneg.f r1.y, (neg)r6.y
MESA: info: absneg.f r1.z, (neg)r3.z
MESA: info: absneg.f r1.w, (neg)r3.w
MESA: info: sel.b32 r1.y, (last)r1.y, r8.y, (last)r6.y
MESA: info: sel.b32 r1.z, (last)r1.z, r8.y, (last)r3.z
MESA: info: sel.b32 r1.w, (last)r1.w, r8.y, (last)r3.w
MESA: info: brao p0.y, p0.z, #l139
MESA: info: (rpt1)mad.f32 r8.z, c102.z, (r)r8.z, c102.z
MESA: info: (nop3) mad.f32 r9.y, c102.z, r9.y, c102.z
MESA: info: (rpt1)nop
MESA: info: alias.tex.b32.0 r9.x, r9.y
MESA: info: sam.s.base2 (f32)(x)r3.z, r8.z, s#5, t#4
MESA: info: (eq)nop
MESA: info: jump #l141
MESA: info: l139:
MESA: info: (eq)(jp)nop
MESA: info: mov.u32u32 r3.z, 0x3f800000
MESA: info: l141:
MESA: info: (jp)cov.u32s16 hr7.z, r4.z
MESA: info: (nop1) cmps.f.lt p0.x, c100.w, (last)r3.y
MESA: info: mova a0.x, (last)hr7.z
MESA: info: (rpt4)nop
MESA: info: (ul)mov.f32f32 r4.y, c<a0.x + 212>
MESA: info: predt
MESA: info: mad.f32 r6.z, c103.x, r6.z, c102.z
MESA: info: add.f r7.x, (last)r7.x, c103.z
MESA: info: add.f r7.y, (last)r7.y, c103.z
MESA: info: floor.f r6.x, r6.z
MESA: info: mul.f r5.z, r7.x, (2.0)
MESA: info: rcp r4.y, (last)r4.y
MESA: info: mul.f r5.w, r7.y, (2.0)
MESA: info: (nop2) add.f r6.z, (last)r6.z, (last)(neg)r6.x
MESA: info: (nop3) mad.f32 r6.z, c102.w, r6.z, c103.y
MESA: info: (rpt1)nop
MESA: info: sin r6.y, r6.z
MESA: info: (ss)cos r6.z, (last)r6.z
MESA: info: (rpt1)mul.f r5.z, (last)(r)r5.z, (last)r4.y
MESA: info: nop
MESA: info: (nop1) mul.f r6.w, r6.y, r5.z
MESA: info: (ss)mad.f32 r6.w, r6.z, r5.w, (neg)(last)r6.w
MESA: info: mul.f r6.z, (last)r6.z, r5.z
MESA: info: mul.f r5.z, (last)r5.z, r5.z
MESA: info: mad.f32 r6.y, (last)r6.y, r5.w, (last)r6.z
MESA: info: (nop2) mad.f32 r5.w, (last)r5.w, r5.w, (last)r5.z
MESA: info: (sat)(nop3) add.f r5.w, (1.0), (last)(neg)r5.w
MESA: info: (rpt1)nop
MESA: info: sqrt r5.w, (last)r5.w
MESA: info: predf
MESA: info: (rpt4)nop
MESA: info: cov.u32s16 hr15.x, r4.z
MESA: info: add.f r7.y, (last)r7.y, c103.z
MESA: info: mul.f r7.w, r7.x, c104.x
MESA: info: mova a0.x, (last)hr15.x
MESA: info: (nop2) mul.f r7.y, c103.w, (last)r7.y
MESA: info: (nop1) mad.f32 r7.y, c103.x, r7.y, c102.z
MESA: info: add.f r8.x, (1.0), (neg)c<a0.x + 151>
MESA: info: (ss)mov.f32f32 r8.z, c<a0.x + 151>
MESA: info: add.f r8.y, r7.x, (neg)c<a0.x + 151>
MESA: info: floor.f r8.w, r7.y
MESA: info: (ul)cmps.f.lt r7.x, c<a0.x + 151>, (last)r7.x
MESA: info: mul.f r8.y, (last)r8.y, c104.x
MESA: info: rcp r8.x, (last)r8.x
MESA: info: add.f r7.y, (last)r7.y, (last)(neg)r8.w
MESA: info: rcp r8.z, (last)r8.z
MESA: info: (rpt1)nop
MESA: info: mad.f32 r7.y, c102.w, r7.y, c103.y
MESA: info: (ss)mul.f r8.y, (last)r8.y, (last)r8.x
MESA: info: (nop1) mad.f32 r7.w, (last)r7.w, r8.z, c104.y
MESA: info: (nop1) sel.b32 r8.y, (last)r8.y, r7.x, (last)r7.w
MESA: info: cos r9.x, r7.y
MESA: info: nop
MESA: info: (nop2) mad.f32 r8.y, c103.x, r8.y, c102.z
MESA: info: (nop2) floor.f r9.y, r8.y
MESA: info: (nop2) add.f r8.y, (last)r8.y, (last)(neg)r9.y
MESA: info: mad.f32 r8.y, c102.w, r8.y, c103.y
MESA: info: (ss)sin r7.y, (last)r7.y
MESA: info: (rpt4)nop
MESA: info: cos r9.z, r8.y
MESA: info: sin r5.w, (last)r8.y
MESA: info: (ss)mul.f r7.y, (last)r7.y, r9.z
MESA: info: (nop1) mul.f r9.x, (last)r9.x, (last)r9.z
MESA: info: (nop1) mul.f r0.y, r7.y, r4.x
MESA: info: mad.f32 r6.w, r9.x, r3.x, (neg)(last)r0.y
MESA: info: (nop1) mul.f r9.x, (last)r9.x, (last)r4.x
MESA: info: mad.f32 r6.y, (last)r7.y, r3.x, (last)r9.x
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: cov.u32s16 hr9.x, (last)r4.z
MESA: info: mov.u32u32 r0.w, 0x41200000
MESA: info: mul.f r1.x, r6.y, r6.y
MESA: info: mova a0.x, (last)hr9.x
MESA: info: (rpt1)add.f r4.w, (last)(r)r4.w, (neg)(r)c95.y
MESA: info: add.f r5.y, (last)r5.y, (neg)c95.x
MESA: info: mul.f r4.y, r1.z, r4.w
MESA: info: mov.u32u32 r3.x, 0x7fffffff
MESA: info: mul.f r0.w, c<a0.x + 150>, (last)r0.w
MESA: info: mad.f32 r4.y, r1.w, r5.x, (last)r4.y
MESA: info: (ss)mad.f32 r1.x, r5.w, r5.w, (last)r1.x
MESA: info: mad.f32 r4.y, r1.y, r5.y, (last)r4.y
MESA: info: mad.f32 r1.x, r6.w, r6.w, (last)r1.x
MESA: info: mul.f r2.x, (last)r2.x, c<a0.x + 16>
MESA: info: mul.f r4.y, (last)r4.y, (2.0)
MESA: info: mul.f r2.y, (last)r2.y, c<a0.x + 17>
MESA: info: mul.f r2.z, (last)r2.z, c<a0.x + 18>
MESA: info: mad.f32 r4.w, (neg)r4.y, r1.z, (last)r4.w
MESA: info: rsq r1.x, (last)r1.x
MESA: info: mad.f32 r5.x, (neg)r4.y, r1.w, (last)r5.x
MESA: info: log2 r3.w, (last)r2.x
MESA: info: mad.f32 r4.y, (neg)(last)r4.y, r1.y, (last)r5.y
MESA: info: mad.f32 r7.y, c82.x, r1.z, c84.x
MESA: info: log2 r4.x, (last)r2.y
MESA: info: mad.f32 r7.z, c82.y, r1.z, c84.y
MESA: info: log2 r2.z, (last)r2.z
MESA: info: mad.f32 r7.w, c82.z, r1.z, c84.z
MESA: info: mov.f32f32 r3.y, c<a0.x + 148>
MESA: info: mad.f32 r7.y, c81.x, r1.y, (last)r7.y
MESA: info: mad.f32 r7.z, c81.y, r1.y, (last)r7.z
MESA: info: mad.f32 r7.w, c81.z, r1.y, (last)r7.w
MESA: info: mad.f32 r7.y, c83.x, r1.w, (last)r7.y
MESA: info: mad.f32 r7.z, c83.y, r1.w, (last)r7.z
MESA: info: mad.f32 r7.w, c83.z, r1.w, (last)r7.w
MESA: info: add.f r3.y, c<a0.x + 149>, (last)(neg)r3.y
MESA: info: cmps.f.lt p0.x, (1.0), c85.x
MESA: info: (ss)mul.f r6.y, (last)r6.y, r1.x
MESA: info: mul.f r5.w, (last)r5.w, r1.x
MESA: info: mul.f r6.w, (last)r6.w, (last)r1.x
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r8.y, r7.y, r40.x, s#7, t#6
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r9.x, r7.y, r40.x, s#9, t#8
MESA: info: mul.f r6.y, (last)r6.y, c76.y
MESA: info: (rpt1)mul.f r5.y, (last)(r)r3.w, c101.z
MESA: info: (nop1) mad.f32 r5.w, c76.z, r5.w, (last)r6.y
MESA: info: (sat)mad.f32 r6.w, c76.x, (neg)r6.w, (neg)(last)r5.w
MESA: info: (nop1) mul.f r5.w, (last)r2.z, c101.z
MESA: info: (nop1) mad.f32 r6.w, c104.w, (neg)r6.w, c104.z
MESA: info: (rpt2)exp2 r5.y, (last)(r)r5.y
MESA: info: nop
MESA: info: mul.f r0.w, (last)r0.w, (last)r6.w
MESA: info: (nop1) mul.f r6.w, r4.w, r4.w
MESA: info: mad.f32 r6.w, r5.x, r5.x, (last)r6.w
MESA: info: cmps.f.ge r6.x, (1.0), (abs)r0.w
MESA: info: mad.f32 r6.w, r4.y, r4.y, (last)r6.w
MESA: info: rcp r6.y, r0.w
MESA: info: and.b r6.z, r0.w, c107.x
MESA: info: (nop3) sel.b32 r7.x, c106.z, r6.x, c106.w
MESA: info: rsq r6.w, (last)r6.w
MESA: info: (ss)sel.b32 r0.w, (last)r0.w, r6.x, (last)r6.y
MESA: info: mul.f r4.w, (last)r4.w, r6.w
MESA: info: mul.f r4.y, (last)r4.y, r6.w
MESA: info: mul.f r8.x, r0.w, r0.w
MESA: info: absneg.f r0.w, (last)(abs)r0.w
MESA: info: mul.f r5.x, (last)r5.x, (last)r6.w
MESA: info: mad.f32 r1.x, c105.x, r8.x, c105.y
MESA: info: mad.f32 r0.y, c82.x, r4.w, c84.x
MESA: info: mad.f32 r2.x, c82.y, r4.w, c84.y
MESA: info: mad.f32 r1.x, (last)r1.x, r8.x, c105.z
MESA: info: mad.f32 r2.y, c82.z, r4.w, c84.z
MESA: info: mad.f32 r0.y, c81.x, r4.y, (last)r0.y
MESA: info: mad.f32 r1.x, (last)r1.x, r8.x, c105.w
MESA: info: mad.f32 r2.x, c81.y, r4.y, (last)r2.x
MESA: info: mad.f32 r2.y, c81.z, r4.y, (last)r2.y
MESA: info: mad.f32 r1.x, (last)r1.x, r8.x, c106.x
MESA: info: mad.f32 r0.y, c83.x, r5.x, (last)r0.y
MESA: info: mad.f32 r2.x, c83.y, r5.x, (last)r2.x
MESA: info: mad.f32 r1.x, (last)r1.x, r8.x, c106.y
MESA: info: mad.f32 r2.y, c83.z, r5.x, (last)r2.y
MESA: info: (sat)(rpt2)max.f r5.y, (last)(r)r5.y, (r)r5.y
MESA: info: mad.f32 r0.w, (last)r0.w, r1.x, (last)r7.x
MESA: info: (rpt2)mul.f r5.y, (last)(r)r5.y, c101.w
MESA: info: alias.tex.b32.1 r1.w, r0.y
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r6.w, r1.w, r40.x, s#9, t#8
MESA: info: andg r0.w, (last)r0.w, r3.x, (last)r6.z
MESA: info: alias.tex.b32.1 r1.w, r0.y
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r6.x, r1.w, r40.x, s#7, t#6
MESA: info: (rpt1)nop
MESA: info: (nop2) mad.f32 r0.w, c107.y, r0.w, c102.z
MESA: info: (sat)(nop2) (ul)mad.f32 r0.w, (last)r0.w, r3.y, c<a0.x + 148>
MESA: info: (sy)mul.f r3.z, (last)r3.z, (last)r0.w
MESA: info: br !p0.x, #l330
MESA: info: mov.u32u32 r49.y, c0.x
MESA: info: mul.f r49.y, c100.w, r49.y
MESA: info: max.f r7.z, r1.w, (0.0)
MESA: info: mul.f r7.w, r1.z, c76.y
MESA: info: mul.f r4.w, (last)r4.w, c76.y
MESA: info: mad.f32 r7.w, c76.z, r1.w, (last)r7.w
MESA: info: add.f r7.z, (1.0), (last)r7.z
MESA: info: mad.f32 r7.w, c76.x, r1.y, (last)r7.w
MESA: info: mad.f32 r5.x, c76.z, r5.x, (last)r4.w
MESA: info: mul.f r8.z, c0.y, (last)r7.z
MESA: info: max.f r7.w, (last)r7.w, (0.0)
MESA: info: mad.f32 r4.y, c76.x, r4.y, (last)r5.x
MESA: info: (ss)mov.u32u32 r6.y, r49.y
MESA: info: add.f r7.w, r8.z, (last)r7.w
MESA: info: max.f r4.y, (last)r4.y, (0.0)
MESA: info: mov.u32u32 r8.w, r8.z
MESA: info: mul.f r9.y, c0.z, (last)r7.w
MESA: info: mul.f r7.x, c0.x, (last)r4.y
MESA: info: mov.u32u32 r8.y, r8.z
MESA: info: mov.u32u32 r6.z, r6.y
MESA: info: mov.u32u32 r6.x, r6.y
MESA: info: mov.u32u32 r9.z, r9.y
MESA: info: mov.u32u32 r9.x, r9.y
MESA: info: mov.u32u32 r7.y, r7.x
MESA: info: mov.u32u32 r6.w, r7.x
MESA: info: l330:
MESA: info: (rpt1)add.f r10.x, (last)(r)r10.x, (neg)(r)c95.y
MESA: info: mad.f32 r2.w, (neg)(last)r2.w, r0.x, c104.z
MESA: info: add.f r9.w, (last)r9.w, (neg)c95.x
MESA: info: mul.f r0.x, r10.x, r10.x
MESA: info: add.f r9.x, (last)r9.x, (neg)r8.y
MESA: info: mad.f32 r0.x, r10.y, r10.y, (last)r0.x
MESA: info: mul.f r8.x, c0.w, r3.z
MESA: info: mad.f32 r0.x, r9.w, r9.w, (last)r0.x
MESA: info: (rpt1)add.f r9.y, (last)(r)r9.y, (neg)(r)r8.z
MESA: info: mul.f r9.x, r8.x, (last)r9.x
MESA: info: (rpt1)mul.f r9.y, (last)r8.x, (last)(r)r9.y
MESA: info: rsq r0.x, (last)r0.x
MESA: info: mad.f32 r8.y, c85.x, r8.y, (last)r9.x
MESA: info: (rpt1)mad.f32 r8.z, c85.x, (r)r8.z, (r)(last)r9.y
MESA: info: mul.f r9.x, c85.x, r6.x
MESA: info: mul.f r9.y, c85.x, r6.y
MESA: info: mul.f r9.z, c85.x, r6.z
MESA: info: mad.f32 r6.w, c0.w, r6.w, (neg)(last)r9.x
MESA: info: mad.f32 r7.x, c0.w, r7.x, (neg)(last)r9.y
MESA: info: mad.f32 r7.y, c0.w, r7.y, (neg)(last)r9.z
MESA: info: mul.f r6.w, r3.z, (last)r6.w
MESA: info: mul.f r7.x, r3.z, (last)r7.x
MESA: info: (ss)mul.f r10.x, (last)r10.x, r0.x
MESA: info: mul.f r9.w, (last)r9.w, r0.x
MESA: info: mul.f r3.z, (last)r3.z, (last)r7.y
MESA: info: mul.f r10.y, (last)r10.y, (last)r0.x
MESA: info: mad.f32 r6.y, c85.x, r6.y, (last)r7.x
MESA: info: mad.f32 r3.w, c82.x, r10.x, c84.x
MESA: info: mad.f32 r6.z, c85.x, r6.z, (last)r3.z
MESA: info: mad.f32 r3.w, c81.x, r9.w, (last)r3.w
MESA: info: (rpt1)mad.f32 r4.x, (r)c82.y, r10.x, (r)c84.y
MESA: info: mul.f r6.y, c107.z, (last)r6.y
MESA: info: mul.f r6.z, c107.z, (last)r6.z
MESA: info: mad.f32 r3.w, c83.x, r10.y, (last)r3.w
MESA: info: (rpt1)mad.f32 r4.x, (r)c81.y, r9.w, (r)(last)r4.x
MESA: info: (rpt1)mad.f32 r4.x, (r)c83.y, r10.y, (r)(last)r4.x
MESA: info: mad.f32 r5.z, (last)r5.z, r8.z, (last)r6.y
MESA: info: mad.f32 r5.w, (last)r5.w, r8.w, (last)r6.z
MESA: info: mad.f32 r6.x, c85.x, r6.x, (last)r6.w
MESA: info: mul.f r5.z, c76.w, (last)r5.z
MESA: info: mul.f r5.w, c76.w, (last)r5.w
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r6.y, r3.w, r40.x, s#11, t#10
MESA: info: mul.f r10.w, c97.y, (last)r10.w
MESA: info: mul.f r11.x, c97.z, (last)r11.x
MESA: info: mul.f r6.x, c107.z, (last)r6.x
MESA: info: mad.f32 r0.w, (last)r5.z, r11.z, (last)r10.w
MESA: info: mad.f32 r1.x, (last)r5.w, r0.z, (last)r11.x
MESA: info: mad.f32 r5.y, (last)r5.y, r8.y, (last)r6.x
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: saml.3d.base2 (f32)(xyz)r5.z, r3.w, r40.x, s#11, t#10
MESA: info: add.f r2.x, r11.w, c101.x
MESA: info: mul.f r10.z, c97.x, (last)r10.z
MESA: info: mul.f r5.y, c76.w, (last)r5.y
MESA: info: (sat)mul.f r2.x, (last)r2.x, c101.y
MESA: info: mul.f r2.y, c89.x, r1.z
MESA: info: mad.f32 r5.y, (last)r5.y, r11.y, (last)r10.z
MESA: info: mul.f r4.z, c89.y, r1.z
MESA: info: mad.f32 r3.x, c88.x, r1.y, (last)r2.y
MESA: info: mul.f r1.z, c89.z, (last)r1.z
MESA: info: mov.u32u32 r9.y, 0x3f800000
MESA: info: mad.f32 r8.y, c107.w, r2.w, c104.z
MESA: info: mad.f32 r3.y, c88.y, r1.y, (last)r4.z
MESA: info: mad.f32 r3.z, c88.z, r1.y, (last)r1.z
MESA: info: (rpt2)mad.f32 r8.z, (r)c90.x, r1.w, (r)(last)r3.x
MESA: info: (sy)add.f r5.z, (last)r5.z, (neg)r6.y
MESA: info: add.f r5.w, (last)r5.w, (neg)r6.z
MESA: info: add.f r6.x, (last)r6.x, (neg)r6.w
MESA: info: mad.f32 r5.z, r2.x, r5.z, (last)r6.y
MESA: info: mad.f32 r7.x, r2.x, r5.w, (last)r6.z
MESA: info: mad.f32 r7.y, (last)r2.x, r6.x, (last)r6.w
MESA: info: mad.f32 r5.z, c76.w, r5.z, (neg)r5.y
MESA: info: (rpt1)mad.f32 r7.x, c76.w, (r)r7.x, (neg)(r)r0.w
MESA: info: mad.f32 r7.z, r11.w, r5.z, (last)r5.y
MESA: info: (rpt1)mad.f32 r7.w, (last)r11.w, (r)r7.x, (r)(last)r0.w
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r7.z (FRAG_RESULT_DATA0) r8.z (FRAG_RESULT_DATA1)
MESA: info: ; FRAG: inputs: r11.w (VARYING_SLOT_VAR0 slot=32 cm=f,il=0,b=1) r3.x (VARYING_SLOT_VAR1 slot=33 cm=f,il=4,b=1) r3.z (VARYING_SLOT_VAR2 slot=34 cm=f,il=8,b=1) r6.z (VARYING_SLOT_VAR3 slot=35 cm=f,il=12,b=1) r11.y (VARYING_SLOT_VAR4 slot=36 cm=f,il=16,b=1) r10.w (VARYING_SLOT_VAR5 slot=37 cm=f,il=20,b=1) r0.x (VARYING_SLOT_VAR6 slot=38 cm=1,il=24,b=1) r4.z (VARYING_SLOT_VAR7 slot=39 cm=1,il=28,b=1) r0.z (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_CENTROID slot=58 cm=3,il=0,b=0) r2.x (SYSTEM_VALUE_FRONT_FACE slot=23 cm=1,il=0,b=0)
MESA: info: ; FRAG prog 125/1: 466 instr, 79 nops, 387 non-nops, 21 mov, 4 cov, 832 dwords
MESA: info: ; FRAG prog 125/1: 23 last-baryf, 120 last-helper, 0 half, 12 full, 108 constlen
MESA: info: ; FRAG prog 125/1: 88 cat0, 25 cat1, 179 cat2, 134 cat3, 24 cat4, 7 cat5, 0 cat6, 9 cat7
MESA: info: ; FRAG prog 125/1: 53 sstall, 14 (ss), 52 systall, 3 (sy), 0 loops
MESA: info: ; FRAG prog 125/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 35 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.z
MESA: info: ; pos (ij_centroid): r0.x
MESA: info: ; data0: r7.z
MESA: info: ; data1: r8.z
MESA: info: ; fragface: r2.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x98244d01, 0x24dcdd8d, 0xa01e3324, 0x5b68a1c3, 0x48b00c93, 0x72760aa9, 0x451e60d8, 0x113917a1}
MESA: info: inputs_read: 32-39
MESA: info: outputs_written: 4-5
MESA: info: system_values_read: 0x00000000'00000000'00000000'00800000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: uses_discard: true
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 8
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_VAR0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_VAR1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VARYING_SLOT_VAR2.xyzw, 2, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #3 (VARYING_SLOT_VAR3.xyzw, 3, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #4 (VARYING_SLOT_VAR4.xyzw, 4, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #5 (VARYING_SLOT_VAR5.xyzw, 5, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none float #6 (VARYING_SLOT_VAR6.x, 6, 0)
MESA: info: decl_var shader_in INTERP_MODE_FLAT none int #7 (VARYING_SLOT_VAR7.x, 7, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #8 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #9 (FRAG_RESULT_DATA1.xyzw, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #10
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:         // preds:
MESA: info:     con 1        %0 = @preamble_start_ir3
MESA: info:                       // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:         // preds: b0
MESA: info:         div 1        %1 = @elect_any_ir3
MESA: info:                           // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:         // preds: b1
MESA: info:             con 32       %3 = load_const (0x00000006 = 0.000000)
MESA: info:             con 32       %4 = @bindless_resource_ir3 (%3 (0x6)) (desc_set=1)
MESA: info:             con 32     %762 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32     %781 = load_const (0x00000009 = 0.000000)
MESA: info:             con 32     %764 = @load_ubo_vec4 (%4, %781 (0x9)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %782 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %767 = @load_ubo_vec4 (%4, %782 (0x0)) (access=speculatable, base=0, component=3)
MESA: info:             con 32       %8 = frcp %767
MESA: info:                               @store_const_ir3 (%8) (base=0)
MESA: info:             con 32x2   %990 = load_const (0x3e800000, 0x3fc00000) = (0.250000, 1.500000)
MESA: info:             con 32x2   %991 = fmul %8.xx, %990 (0.250000, 1.500000)
MESA: info:             con 32     %992 = mov %991.x
MESA: info:             con 32     %993 = mov %991.y
MESA: info:                               @store_const_ir3 (%992) (base=1)
MESA: info:                               @store_const_ir3 (%993) (base=2)
MESA: info:             con 32      %13 = frcp %764
MESA: info:                               @store_const_ir3 (%13) (base=3)
MESA: info:             con 32      %14 = load_const (0x00000008 = 0.000000)
MESA: info:             con 32      %15 = @bindless_resource_ir3 (%14 (0x8)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%15, %782 (0x0)) (base=16, range=68)
MESA: info:             con 32      %17 = load_const (0x00000007 = 0.000000)
MESA: info:             con 32      %18 = @bindless_resource_ir3 (%17 (0x7)) (desc_set=1)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%18, %782 (0x0)) (base=288, range=4)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%4, %782 (0x0)) (base=304, range=12)
MESA: info:             con 32      %23 = load_const (0x00000005 = 0.000000)
MESA: info:             con 32      %24 = @bindless_resource_ir3 (%23 (0x5)) (desc_set=1)
MESA: info:             con 32      %25 = load_const (0x00000014 = 0.000000 = 20)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%24, %25 (0x14)) (base=352, range=4)
MESA: info:             con 32      %26 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32      %27 = @bindless_resource_ir3 (%26 (0x2)) (desc_set=2)
MESA: info:             con 32      %28 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32      %29 = @bindless_resource_ir3 (%28 (0x3)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%27, %29)
MESA: info:             con 32      %31 = @bindless_resource_ir3 (%782 (0x0)) (desc_set=2)
MESA: info:             con 32      %32 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %33 = @bindless_resource_ir3 (%32 (0x1)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%31, %33)
MESA: info:             con 32      %35 = @bindless_resource_ir3 (%762 (0x4)) (desc_set=2)
MESA: info:             con 32      %37 = @bindless_resource_ir3 (%23 (0x5)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%35, %37)
MESA: info:             con 32      %39 = @bindless_resource_ir3 (%3 (0x6)) (desc_set=2)
MESA: info:             con 32      %41 = @bindless_resource_ir3 (%17 (0x7)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%39, %41)
MESA: info:             con 32      %47 = @bindless_resource_ir3 (%14 (0x8)) (desc_set=2)
MESA: info:             con 32      %49 = @bindless_resource_ir3 (%781 (0x9)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%47, %49)
MESA: info:             con 32      %54 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:             con 32      %55 = @bindless_resource_ir3 (%54 (0xa)) (desc_set=2)
MESA: info:             con 32      %56 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:             con 32      %57 = @bindless_resource_ir3 (%56 (0xb)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%55, %57)
MESA: info:             con 32      %63 = @bindless_resource_ir3 (%781 (0x9)) (desc_set=1)
MESA: info:                               @prefetch_ubo_ir3 (%63)
MESA: info:                               @prefetch_ubo_ir3 (%24)
MESA: info:                               @preamble_end_ir3
MESA: info:                               // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:         // preds: b4 b5
MESA: info:     con 32      %70 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32      %71 = @load_input (%70 (0x0)) (base=7, range=1, component=0, dest_type=int32, io location=VARYING_SLOT_VAR7 slots=1)
MESA: info:     div 32x2    %72 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x4    %73 = @load_interpolated_input (%72, %70 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     div 32x4    %74 = @load_interpolated_input (%72, %70 (0x0)) (base=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR1 slots=1)
MESA: info:     div 32x4    %75 = @load_interpolated_input (%72, %70 (0x0)) (base=2, component=0, dest_type=float32, io location=VARYING_SLOT_VAR2 slots=1)
MESA: info:     div 32x4    %76 = @load_interpolated_input (%72, %70 (0x0)) (base=3, component=0, dest_type=float32, io location=VARYING_SLOT_VAR3 slots=1)
MESA: info:     div 32x4    %77 = @load_interpolated_input (%72, %70 (0x0)) (base=4, component=0, dest_type=float32, io location=VARYING_SLOT_VAR4 slots=1)
MESA: info:     div 32x2    %78 = @load_interpolated_input (%72, %70 (0x0)) (base=5, component=0, dest_type=float32, io location=VARYING_SLOT_VAR5 slots=1)
MESA: info:     div 32x2    %79 = @load_barycentric_centroid (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x2    %80 = @load_interpolated_input (%79, %70 (0x0)) (base=5, component=2, dest_type=float32, io location=VARYING_SLOT_VAR5 slots=1)
MESA: info:     div 32      %81 = @load_interpolated_input (%79, %70 (0x0)) (base=6, component=0, dest_type=float32, io location=VARYING_SLOT_VAR6 slots=1)
MESA: info:     con 32      %82 = load_const (0x00000003 = 0.000000)
MESA: info:     con 32      %83 = load_const (0x00000005 = 0.000000)
MESA: info:     con 32      %85 = load_const (0x00000002)
MESA: info:     con 32      %90 = @load_const_ir3 (%70 (0x0)) (base=144)
MESA: info:     div 1       %91 = flt! %81, %90
MESA: info:                       @demote_if (%91)
MESA: info:     div 32x2   %994 = fmul %74.zx, %75.xy
MESA: info:     div 32      %97 = fmul %74.y, %74.w
MESA: info:     div 32x2   %995 = fneg %994
MESA: info:     div 32     %945 = ffma %74.y, %75.y, %995.x
MESA: info:     div 32     %944 = ffma %74.z, %74.w, %995.y
MESA: info:     div 32     %102 = fneg %97
MESA: info:     div 32     %943 = ffma %74.x, %75.x, %102
MESA: info:     con 32     %104 = @bindless_resource_ir3 (%82 (0x3)) (desc_set=2)
MESA: info:     con 32     %105 = @bindless_resource_ir3 (%85 (0x2)) (desc_set=2)
MESA: info:     div 32x4   %106 = (float32)tex (pre-dispatchable) %105 (texture_handle), %104 (sampler_handle), %80 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32x2   %110 = @load_const_ir3 (%70 (0x0)) (base=276)
MESA: info:     div 1      %111 = fneu! %106.z, %70 (0.000000)
MESA: info:     con 32     %112 = load_const (0xbf008081 = -0.501961)
MESA: info:     div 32x3   %997 = fadd %106.xyz, %112 (-0.501961).xxx
MESA: info:     con 32     %116 = load_const (0x40008102 = 2.007874)
MESA: info:     div 32x3   %999 = fmul %116 (2.007874).xxx, %997
MESA: info:     div 32     %121 = fmul %999.x, %999.x
MESA: info:     div 32     %942 = ffma %999.y, %999.y, %121
MESA: info:     con 32     %123 = load_const (0x3f800000 = 1.000000)
MESA: info:     div 32     %941 = fsub %123 (1.000000), %942
MESA: info:     div 32     %126 = fsat %941
MESA: info:     div 32     %127 = fsqrt %126
MESA: info:     div 32     %128 = bcsel %111, %999.z, %127
MESA: info:     div 32x2  %1000 = fmul %110.xx, %999.xy
MESA: info:     div 32     %132 = fmul %1000.y, %1000.y
MESA: info:     div 32     %940 = ffma %128, %128, %132
MESA: info:     div 32     %939 = ffma %1000.x, %1000.x, %940
MESA: info:     div 32     %136 = frsq %939
MESA: info:     div 32x2  %1001 = fmul %1000, %136.xx
MESA: info:     div 32     %139 = fmul %128, %136
MESA: info:     con 1      %140 = ine %110.y, %70 (0x0)
MESA: info:     div 32     %144 = fmul %945, %1001.y
MESA: info:     div 32     %145 = fmul %944, %1001.y
MESA: info:     div 32     %146 = fmul %943, %1001.y
MESA: info:     div 32     %938 = ffma %74.w, %1001.x, %144
MESA: info:     div 32     %937 = ffma %75.x, %1001.x, %145
MESA: info:     div 32     %936 = ffma %75.y, %1001.x, %146
MESA: info:     div 32     %935 = ffma %74.x, %139, %938
MESA: info:     div 32     %934 = ffma %74.y, %139, %937
MESA: info:     div 32     %933 = ffma %74.z, %139, %936
MESA: info:     div 32     %157 = fmul %934, %934
MESA: info:     div 32     %932 = ffma %933, %933, %157
MESA: info:     div 32     %931 = ffma %935, %935, %932
MESA: info:     div 32     %161 = frsq %931
MESA: info:     div 32     %162 = fmul %935, %161
MESA: info:     div 32     %163 = fmul %934, %161
MESA: info:     div 32     %164 = fmul %933, %161
MESA: info:     div 1      %165 = @load_front_face
MESA: info:     div 1      %166 = inot %165
MESA: info:     div 1      %167 = iand %166, %140
MESA: info:     div 32     %168 = fneg %162
MESA: info:     div 32     %169 = fneg %163
MESA: info:     div 32     %170 = fneg %164
MESA: info:     div 32     %171 = bcsel %167, %168, %162
MESA: info:     div 32     %172 = bcsel %167, %169, %163
MESA: info:     div 32     %173 = bcsel %167, %170, %164
MESA: info:     con 32     %174 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32     %175 = @bindless_resource_ir3 (%174 (0x1)) (desc_set=2)
MESA: info:     con 32     %176 = @bindless_resource_ir3 (%70 (0x0)) (desc_set=2)
MESA: info:     div 32x4   %177 = (float32)tex (pre-dispatchable) %176 (texture_handle), %175 (sampler_handle), %80 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 1      %178 = fge! %90, %177.w
MESA: info:                       @demote_if (%178)
MESA: info:     div 32     %187 = ishl %71, %85 (0x2)
MESA: info:     div 32     %188 = @load_const_ir3 (%187) (base=80)
MESA: info:     div 32     %189 = fmul %188, %177.w
MESA: info:     div 32     %190 = fmin %189, %123 (1.000000)
MESA: info:     con 32x4   %196 = @load_const_ir3 (%70 (0x0)) (base=288)
MESA: info:     con 32x4   %205 = @load_const_ir3 (%70 (0x0)) (base=292)
MESA: info:     con 32x4   %218 = @load_const_ir3 (%70 (0x0)) (base=296)
MESA: info:     con 32x4   %233 = @load_const_ir3 (%70 (0x0)) (base=300)
MESA: info:     div 32x4  %1008 = ffma %205, %73.zzzz, %233
MESA: info:     div 32x4  %1009 = ffma %196, %73.yyyy, %1008
MESA: info:     div 32x4  %1010 = ffma %218, %73.wwww, %1009
MESA: info:     div 32     %238 = frcp %1010.w
MESA: info:     div 32x2  %1011 = fmul %1010.xy, %238.xx
MESA: info:     div 32     %241 = fmin! %1011.y, %1011.x
MESA: info:     con 32     %242 = load_const (0xbf800000 = -1.000000)
MESA: info:     div 1      %243 = flt! %241, %242 (-1.000000)
MESA: info:     div 32     %244 = fmax! %1011.y, %1011.x
MESA: info:     div 1      %245 = flt! %123 (1.000000), %244
MESA: info:     div 1      %986 = inot %243
MESA: info:     div 1      %987 = inot %245
MESA: info:     div 1      %988 = iand %986, %987
MESA: info:                       // succs: b7 b8
MESA: info:     if %988 {
MESA: info:         div block b7:         // preds: b6
MESA: info:         con 32     %179 = load_const (0x00000004 = 0.000000)
MESA: info:         con 32     %248 = load_const (0x3f000000 = 0.500000)
MESA: info:         div 32x2  %1012 = ffma %248 (0.500000).xx, %1011, %248 (0.500000).xx
MESA: info:         div 32     %920 = ffma %248 (0.500000), %1010.z, %248 (0.500000)
MESA: info:         con 32     %256 = @bindless_resource_ir3 (%83 (0x5)) (desc_set=2)
MESA: info:         con 32     %257 = @bindless_resource_ir3 (%179 (0x4)) (desc_set=2)
MESA: info:         div 32     %258 = (float32)tex %257 (texture_handle), %256 (sampler_handle), %1012 (coord), %920 (comparator), 0 (texture), 0 (sampler)
MESA: info:                           // succs: b9
MESA: info:     } else {
MESA: info:         div block b8:  // preds: b6, succs: b9
MESA: info:     }
MESA: info:     con block b9:         // preds: b7 b8
MESA: info:     div 32     %259 = phi b7: %258, b8: %123 (1.000000)
MESA: info:     div 32     %264 = @load_const_ir3 (%187) (base=212)
MESA: info:     con 32     %265 = load_const (0x3dcccccd = 0.100000)
MESA: info:     div 1      %266 = flt! %265 (0.100000), %74.z
MESA: info:                       // succs: b10 b11
MESA: info:     if %266 {
MESA: info:         div block b10:        // preds: b9
MESA: info:         con 32     %267 = load_const (0x40c90fdb = 6.283185)
MESA: info:         con 32     %268 = load_const (0x3e22f983 = 0.159155)
MESA: info:         con 32     %269 = load_const (0x3f000000 = 0.500000)
MESA: info:         div 32     %270 = ffma! %268 (0.159155), %76.x, %269 (0.500000)
MESA: info:         div 32     %271 = ffloor %270
MESA: info:         div 32     %919 = fsub %270, %271
MESA: info:         con 32     %274 = load_const (0xc0490fdb = -3.141593)
MESA: info:         div 32     %275 = ffma! %267 (6.283185), %919, %274 (-3.141593)
MESA: info:         div 32     %276 = fcos %275
MESA: info:         div 32     %277 = fsin %275
MESA: info:         con 32     %278 = load_const (0xbf000000 = -0.500000)
MESA: info:         div 32x2  %1013 = fadd %75.wz, %278 (-0.500000).xx
MESA: info:         con 32     %280 = load_const (0x40000000 = 2.000000)
MESA: info:         div 32x2  %1014 = fmul %1013, %280 (2.000000).xx
MESA: info:         div 32     %282 = frcp %264
MESA: info:         div 32x2  %1015 = fmul %1014, %282.xx
MESA: info:         div 32     %289 = fmul %277, %1015.x
MESA: info:         div 32     %290 = fmul %276, %1015.x
MESA: info:         div 32     %291 = fneg %289
MESA: info:         div 32     %918 = ffma %276, %1015.y, %291
MESA: info:         div 32     %917 = ffma %277, %1015.y, %290
MESA: info:         div 32     %295 = fmul %1015.x, %1015.x
MESA: info:         div 32     %916 = ffma %1015.y, %1015.y, %295
MESA: info:         div 32     %915 = fsub %123 (1.000000), %916
MESA: info:         div 32     %299 = fsat %915
MESA: info:         div 32     %300 = fsqrt %299
MESA: info:                           // succs: b12
MESA: info:     } else {
MESA: info:         div block b11:        // preds: b9
MESA: info:         div 32     %306 = @load_const_ir3 (%187) (base=151)
MESA: info:         div 1      %307 = flt! %306, %75.w
MESA: info:         div 32     %914 = fsub %75.w, %306
MESA: info:         div 32     %913 = fsub %123 (1.000000), %306
MESA: info:         div 32     %311 = frcp %913
MESA: info:         con 32     %312 = load_const (0x3fc90e56 = 1.570750)
MESA: info:         div 32     %313 = fmul %914, %312 (1.570750)
MESA: info:         div 32     %314 = fmul %313, %311
MESA: info:         div 32     %315 = frcp %306
MESA: info:         div 32     %316 = fmul %75.w, %312 (1.570750)
MESA: info:         con 32     %318 = load_const (0xbfc90e56 = -1.570750)
MESA: info:         div 32     %912 = ffma %316, %315, %318 (-1.570750)
MESA: info:         div 32     %320 = bcsel %307, %314, %912
MESA: info:         con 32     %321 = load_const (0xbf000000 = -0.500000)
MESA: info:         div 32     %322 = fadd %75.z, %321 (-0.500000)
MESA: info:         con 32     %323 = load_const (0x40c90e56 = 6.283000)
MESA: info:         div 32     %324 = fmul %323 (6.283000), %322
MESA: info:         con 32     %325 = load_const (0x40c90fdb = 6.283185)
MESA: info:         con 32     %326 = load_const (0x3e22f983 = 0.159155)
MESA: info:         con 32     %327 = load_const (0x3f000000 = 0.500000)
MESA: info:         div 32     %328 = ffma! %326 (0.159155), %324, %327 (0.500000)
MESA: info:         div 32     %329 = ffloor %328
MESA: info:         div 32     %911 = fsub %328, %329
MESA: info:         con 32     %332 = load_const (0xc0490fdb = -3.141593)
MESA: info:         div 32     %333 = ffma! %325 (6.283185), %911, %332 (-3.141593)
MESA: info:         div 32     %334 = fcos %333
MESA: info:         div 32     %335 = fsin %333
MESA: info:         div 32     %336 = ffma! %326 (0.159155), %320, %327 (0.500000)
MESA: info:         div 32     %337 = ffloor %336
MESA: info:         div 32     %910 = fsub %336, %337
MESA: info:         div 32     %340 = ffma! %325 (6.283185), %910, %332 (-3.141593)
MESA: info:         div 32     %341 = fcos %340
MESA: info:         div 32     %342 = fmul %334, %341
MESA: info:         div 32     %343 = fmul %335, %341
MESA: info:         div 32     %346 = fmul %343, %74.y
MESA: info:         div 32     %347 = fmul %342, %74.y
MESA: info:         div 32     %348 = fneg %346
MESA: info:         div 32     %909 = ffma %342, %74.x, %348
MESA: info:         div 32     %908 = ffma %343, %74.x, %347
MESA: info:         div 32     %351 = fsin %340
MESA: info:                           // succs: b12
MESA: info:     }
MESA: info:     con block b12:        // preds: b10 b11
MESA: info:     div 32     %352 = phi b10: %300, b11: %351
MESA: info:     div 32     %353 = phi b10: %917, b11: %908
MESA: info:     div 32     %354 = phi b10: %918, b11: %909
MESA: info:     con 32      %84 = load_const (0x00000008 = 0.000000)
MESA: info:     con 32     %192 = load_const (0x00000007 = 0.000000)
MESA: info:     con 32     %206 = load_const (0x00000006 = 0.000000)
MESA: info:     con 32     %219 = load_const (0x00000009 = 0.000000)
MESA: info:     div 32x3   %359 = @load_const_ir3 (%187) (base=148)
MESA: info:     con 32     %360 = load_const (0x41200000 = 10.000000)
MESA: info:     div 32     %361 = fmul %359.z, %360 (10.000000)
MESA: info:     div 32     %363 = fmul %353, %353
MESA: info:     div 32     %907 = ffma %352, %352, %363
MESA: info:     div 32     %906 = ffma %354, %354, %907
MESA: info:     div 32     %367 = frsq %906
MESA: info:     div 32     %368 = fmul %354, %367
MESA: info:     div 32     %369 = fmul %353, %367
MESA: info:     div 32     %370 = fmul %352, %367
MESA: info:     con 32x3   %374 = @load_const_ir3 (%70 (0x0)) (base=304)
MESA: info:     div 32     %376 = fmul %369, %374.y
MESA: info:     div 32     %905 = ffma %370, %374.z, %376
MESA: info:     div 32     %379 = fneg %905
MESA: info:     div 32     %903 = fneg %368
MESA: info:     div 32     %904 = ffma %903, %374.x, %379
MESA: info:     div 32     %382 = fsat %904
MESA: info:     con 32     %383 = load_const (0x40000000 = 2.000000)
MESA: info:     div 32     %901 = fneg %382
MESA: info:     div 32     %902 = ffma %901, %383 (2.000000), %123 (1.000000)
MESA: info:     div 32     %387 = fmul %361, %902
MESA: info:     div 32     %388 = fabs %387
MESA: info:     div 1      %389 = fge! %123 (1.000000), %388
MESA: info:     div 32     %390 = frcp %387
MESA: info:     div 32     %391 = bcsel %389, %387, %390
MESA: info:     div 32     %392 = fmul %391, %391
MESA: info:     con 32     %393 = load_const (0xbc46c6a5 = -0.012132)
MESA: info:     con 32     %395 = load_const (0x3d5be101 = 0.053681)
MESA: info:     div 32     %900 = ffma %393 (-0.012132), %392, %395 (0.053681)
MESA: info:     con 32     %398 = load_const (0xbdf0555d = -0.117350)
MESA: info:     div 32     %899 = ffma %900, %392, %398 (-0.117350)
MESA: info:     con 32     %401 = load_const (0x3e468bc1 = 0.193892)
MESA: info:     div 32     %898 = ffma %899, %392, %401 (0.193892)
MESA: info:     con 32     %404 = load_const (0xbeaa5476 = -0.332676)
MESA: info:     div 32     %897 = ffma %898, %392, %404 (-0.332676)
MESA: info:     con 32     %407 = load_const (0x3f7ffea5 = 0.999979)
MESA: info:     div 32     %896 = ffma %897, %392, %407 (0.999979)
MESA: info:     con 32     %409 = load_const (0xbfc90fdb = -1.570796)
MESA: info:     div 32     %410 = bcsel %389, %70 (0x0), %409 (0xbfc90fdb)
MESA: info:     div 32     %411 = fabs %391
MESA: info:     div 32     %895 = ffma %411, %896, %410
MESA: info:     con 32     %414 = load_const (0x7fffffff = 2147483647)
MESA: info:     con 32     %416 = load_const (0x80000000 = -2147483648 = 2147483648)
MESA: info:     div 32     %417 = iand %387, %416 (0x80000000)
MESA: info:     div 32     %989 = andg_ir3 %895, %414 (0x7fffffff), %417
MESA: info:     con 32     %419 = load_const (0x3ea2f983 = 0.318310)
MESA: info:     con 32     %421 = load_const (0x3f000000 = 0.500000)
MESA: info:     div 32     %894 = ffma %989, %419 (0.318310), %421 (0.500000)
MESA: info:     div 32     %893 = fsub %359.y, %359.x
MESA: info:     div 32     %892 = ffma %894, %893, %359.x
MESA: info:     div 32     %427 = fsat %892
MESA: info:     div 32     %428 = fmul %259, %427
MESA: info:     div 32x3   %432 = @load_const_ir3 (%187) (base=16)
MESA: info:     div 32x3  %1017 = fmul %177.xyz, %432
MESA: info:     con 32     %436 = load_const (0x400ccccd = 2.200000)
MESA: info:     div 32x3  %1021 = flog2 %1017
MESA: info:     div 32x3  %1022 = fmul %1021, %436 (2.200000).xxx
MESA: info:     div 32x3  %1023 = fexp2 %1022
MESA: info:     div 32x3  %1025 = fsat %1023
MESA: info:     con 32     %450 = @bindless_resource_ir3 (%83 (0x5)) (desc_set=1)
MESA: info:     con 32x3   %453 = @load_const_ir3 (%70 (0x0)) (base=364)
MESA: info:     div 32x3  %1027 = fsub %73.yzw, %453
MESA: info:     div 32     %461 = fmul %172, %1027.y
MESA: info:     div 32     %888 = ffma %173, %1027.z, %461
MESA: info:     div 32     %887 = ffma %171, %1027.x, %888
MESA: info:     div 32     %465 = fmul %887, %383 (2.000000)
MESA: info:     div 32     %885 = fneg %465
MESA: info:     div 32     %886 = ffma %885, %171, %1027.x
MESA: info:     div 32     %884 = ffma %885, %172, %1027.y
MESA: info:     div 32     %882 = ffma %885, %173, %1027.z
MESA: info:     div 32     %476 = fmul %884, %884
MESA: info:     div 32     %880 = ffma %882, %882, %476
MESA: info:     div 32     %879 = ffma %886, %886, %880
MESA: info:     div 32     %480 = frsq %879
MESA: info:     div 32     %481 = fmul %886, %480
MESA: info:     div 32     %482 = fmul %884, %480
MESA: info:     div 32     %483 = fmul %882, %480
MESA: info:     con 32     %484 = load_const (0x3f7d70a4 = 0.990000)
MESA: info:     div 32x3  %1029 = fmul %1025, %484 (0.990000).xxx
MESA: info:     con 32x3   %491 = @load_const_ir3 (%70 (0x0)) (base=324)
MESA: info:     con 32x3   %498 = @load_const_ir3 (%70 (0x0)) (base=328)
MESA: info:     con 32x3   %508 = @load_const_ir3 (%70 (0x0)) (base=332)
MESA: info:     con 32x3   %518 = @load_const_ir3 (%70 (0x0)) (base=336)
MESA: info:     div 32x3  %1033 = ffma %498, %172.xxx, %518
MESA: info:     div 32x3  %1034 = ffma %491, %171.xxx, %1033
MESA: info:     div 32x3  %1035 = ffma %508, %173.xxx, %1034
MESA: info:     con 32     %523 = load_const (0x40c00000 = 6.000000)
MESA: info:     con 32     %524 = @bindless_resource_ir3 (%192 (0x7)) (desc_set=2)
MESA: info:     con 32     %525 = @bindless_resource_ir3 (%206 (0x6)) (desc_set=2)
MESA: info:     div 32x4   %526 = (float32)txl %525 (texture_handle), %524 (sampler_handle), %1035 (coord), %523 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %1065 = mov %526.yzx
MESA: info:     div 32x3  %1039 = ffma %498, %482.xxx, %518
MESA: info:     div 32x3  %1040 = ffma %491, %481.xxx, %1039
MESA: info:     div 32x3  %1041 = ffma %508, %483.xxx, %1040
MESA: info:     div 32x4   %546 = (float32)txl %525 (texture_handle), %524 (sampler_handle), %1041 (coord), %523 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %1059 = mov %546.yzx
MESA: info:     con 32     %547 = @bindless_resource_ir3 (%219 (0x9)) (desc_set=2)
MESA: info:     con 32     %548 = @bindless_resource_ir3 (%84 (0x8)) (desc_set=2)
MESA: info:     div 32x4   %549 = (float32)txl %548 (texture_handle), %547 (sampler_handle), %1035 (coord), %523 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %1062 = mov %549.yzx
MESA: info:     div 32x4   %550 = (float32)txl %548 (texture_handle), %547 (sampler_handle), %1041 (coord), %523 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %1056 = mov %550.yzx
MESA: info:     con 32     %554 = @load_const_ir3 (%70 (0x0)) (base=340)
MESA: info:     con 1      %555 = flt! %123 (1.000000), %554
MESA: info:                       // succs: b13 b14
MESA: info:     if %555 {
MESA: info:         con block b13:        // preds: b12
MESA: info:         con 32     %557 = @load_const_ir3 (%70 (0x0)) (base=0)
MESA: info:         con 32     %559 = @load_const_ir3 (%70 (0x0)) (base=1)
MESA: info:         con 32     %561 = @load_const_ir3 (%70 (0x0)) (base=2)
MESA: info:         div 32     %562 = fmax %173, %70 (0.000000)
MESA: info:         div 32     %563 = fadd %123 (1.000000), %562
MESA: info:         div 32     %564 = fmul %559, %563
MESA: info:         div 32x3  %1064 = mov %564.xxx
MESA: info:         div 32     %566 = fmul %172, %374.y
MESA: info:         div 32     %866 = ffma %173, %374.z, %566
MESA: info:         div 32     %865 = ffma %171, %374.x, %866
MESA: info:         div 32     %570 = fmax %865, %70 (0.000000)
MESA: info:         div 32     %571 = fadd %564, %570
MESA: info:         div 32     %572 = fmul %561, %571
MESA: info:         div 32x3  %1061 = mov %572.xxx
MESA: info:         con 32     %573 = fmul %265 (0.100000), %557
MESA: info:         con 32x3  %1058 = mov %573.xxx
MESA: info:         div 32     %575 = fmul %482, %374.y
MESA: info:         div 32     %864 = ffma %483, %374.z, %575
MESA: info:         div 32     %863 = ffma %481, %374.x, %864
MESA: info:         div 32     %579 = fmax %863, %70 (0.000000)
MESA: info:         div 32     %580 = fmul %557, %579
MESA: info:         div 32x3  %1055 = mov %580.xxx
MESA: info:                           // succs: b15
MESA: info:     } else {
MESA: info:         con block b14:  // preds: b12, succs: b15
MESA: info:     }
MESA: info:     con block b15:        // preds: b13 b14
MESA: info:     div 32x3  %1054 = phi b13: %1055, b14: %1056
MESA: info:     div 32x3  %1060 = phi b13: %1061, b14: %1062
MESA: info:     div 32x3  %1057 = phi b13: %1058, b14: %1059
MESA: info:     div 32x3  %1063 = phi b13: %1064, b14: %1065
MESA: info:     con 32     %220 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:     con 32     %221 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:     con 32     %607 = @load_const_ir3 (%70 (0x0)) (base=307)
MESA: info:     con 32     %612 = @load_const_ir3 (%70 (0x0)) (base=3)
MESA: info:     div 32     %613 = fmul %612, %428
MESA: info:     div 32x3  %1067 = fsub %1060.zxy, %1063.zxy
MESA: info:     div 32x3  %1069 = fmul %613.xxx, %1067
MESA: info:     div 32x3  %1071 = ffma %554.xxx, %1063.zxy, %1069
MESA: info:     div 32x3  %1073 = fmul %554.xxx, %1057.zxy
MESA: info:     div 32x3  %1076 = fneg %1073
MESA: info:     div 32x3  %1077 = ffma %612.xxx, %1054.zxy, %1076
MESA: info:     div 32x3  %1079 = fmul %428.xxx, %1077
MESA: info:     div 32x3  %1081 = ffma %554.xxx, %1057.zxy, %1079
MESA: info:     con 32     %647 = load_const (0x3c23d70a = 0.010000)
MESA: info:     div 32x3  %1083 = fmul %647 (0.010000).xxx, %1081
MESA: info:     div 32x3  %1085 = ffma %1029, %1071, %1083
MESA: info:     div 32x3  %1087 = fmul %607.xxx, %1085
MESA: info:     div 32     %846 = fneg %190
MESA: info:     div 32     %847 = ffma %846, %81, %123 (1.000000)
MESA: info:     con 32     %985 = load_const (0xbf7d70a4 = -0.990000)
MESA: info:     div 32     %845 = ffma %985 (-0.990000), %847, %123 (1.000000)
MESA: info:     div 32x3  %1089 = fsub %76.yzw, %453
MESA: info:     div 32     %666 = fmul %1089.y, %1089.y
MESA: info:     div 32     %840 = ffma %1089.z, %1089.z, %666
MESA: info:     div 32     %839 = ffma %1089.x, %1089.x, %840
MESA: info:     div 32     %670 = frsq %839
MESA: info:     div 32x3  %1091 = fmul %1089, %670.xxx
MESA: info:     div 32x3  %1095 = ffma %498, %1091.yyy, %518
MESA: info:     div 32x3  %1096 = ffma %491, %1091.xxx, %1095
MESA: info:     div 32x3  %1097 = ffma %508, %1091.zzz, %1096
MESA: info:     con 32     %693 = @bindless_resource_ir3 (%221 (0xb)) (desc_set=2)
MESA: info:     con 32     %694 = @bindless_resource_ir3 (%220 (0xa)) (desc_set=2)
MESA: info:     div 32x4   %695 = (float32)txl %694 (texture_handle), %693 (sampler_handle), %1097 (coord), %70 (0.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     div 32x4   %696 = (float32)txl %694 (texture_handle), %693 (sampler_handle), %1097 (coord), %523 (6.000000) (lod), 0 (texture), 0 (sampler)
MESA: info:     con 32     %700 = @bindless_resource_ir3 (%219 (0x9)) (desc_set=1)
MESA: info:     con 32x3   %770 = @load_ubo_vec4 (%700, %174 (0x1)) (access=speculatable, base=0, component=0)
MESA: info:     div 32     %702 = fmul %770.x, %77.w
MESA: info:     div 32x2  %1098 = fmul %770.yz, %78
MESA: info:     div 32     %832 = ffma %1087.x, %77.x, %702
MESA: info:     div 32x2  %1099 = ffma %1087.yz, %77.yz, %1098
MESA: info:     con 32     %708 = load_const (0xbf4ccccd = -0.800000)
MESA: info:     div 32     %709 = fadd %73.x, %708 (-0.800000)
MESA: info:     con 32     %710 = load_const (0x40a00000 = 5.000000)
MESA: info:     div 32     %711 = fmul %709, %710 (5.000000)
MESA: info:     div 32     %712 = fsat %711
MESA: info:     div 32x3  %1101 = fsub %695.xyz, %696.xyz
MESA: info:     div 32x3  %1103 = ffma %712.xxx, %1101, %696.xyz
MESA: info:     div 32     %728 = fneg %832
MESA: info:     div 32     %823 = ffma %607, %1103.x, %728
MESA: info:     div 32     %822 = ffma %73.x, %823, %832
MESA: info:     div 32x2  %1104 = fneg %1099
MESA: info:     div 32x2  %1105 = ffma %607.xx, %1103.yz, %1104
MESA: info:     div 32x2  %1106 = ffma %73.xx, %1105, %1099
MESA: info:     con 32     %797 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:     con 32x3   %773 = @load_ubo_vec4 (%450, %797 (0x10)) (access=speculatable, base=0, component=0)
MESA: info:     con 32     %798 = load_const (0x00000011 = 0.000000 = 17)
MESA: info:     con 32x3   %776 = @load_ubo_vec4 (%450, %798 (0x11)) (access=speculatable, base=0, component=0)
MESA: info:     div 32x3  %1108 = fmul %776, %172.xxx
MESA: info:     div 32x3  %1110 = ffma %773, %171.xxx, %1108
MESA: info:     con 32     %799 = load_const (0x00000012 = 0.000000 = 18)
MESA: info:     con 32x3   %779 = @load_ubo_vec4 (%450, %799 (0x12)) (access=speculatable, base=0, component=0)
MESA: info:     div 32x3  %1112 = ffma %779, %173.xxx, %1110
MESA: info:     div 32x4   %760 = vec4 %822, %1106.x, %1106.y, %845
MESA: info:                       @store_output (%760, %70 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:     div 32x4   %761 = vec4 %1112.x, %1112.y, %1112.z, %123 (0x3f800000)
MESA: info:                       @store_output (%761, %70 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA1 slots=1, xfb(), xfb2())
MESA: info:                       // succs: b16
MESA: info:     block b16:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 641af06e5798c9a960ae3645717d8df6ed70bddb:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (88 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      4
MESA: info: ;   range[0]:
MESA: info: ;     block:          8
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           68 vec4 (0b -> 1088b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          7
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c72.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          6
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c76.x
MESA: info: ;     size:           12 vec4 (0b -> 192b)
MESA: info: ;   range[3]:
MESA: info: ;     block:          5
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c88.x
MESA: info: ;     size:           4 vec4 (320b -> 384b)
MESA: info: @in(r0.z)	in0 (wrmask=0x3)
MESA: info: @in(r0.x)	in1 (wrmask=0x3)
MESA: info: @in(hr2.x)	in2 (wrmask=0x1)
MESA: info: @tex(r1.y)	src=22, bindless=1, samp=3, tex=2, wrmask=0x7, opc=sam
MESA: info: @tex(r2.x)	src=22, bindless=1, samp=1, tex=0, wrmask=0xf, opc=sam
MESA: info: @const(c92.x)	0x3e800000, 0x3fc00000, 0xbf800000, 0x3dcccccd
MESA: info: @const(c93.x)	0xbf4ccccd, 0x40a00000, 0x400ccccd, 0x3f7d70a4
MESA: info: @const(c94.x)	0x40008102, 0xbf008081, 0x3f000000, 0x40c90fdb
MESA: info: @const(c95.x)	0x3e22f983, 0xc0490fdb, 0xbf000000, 0x40c90e56
MESA: info: @const(c96.x)	0x3fc90e56, 0xbfc90e56, 0x3f800000, 0x40000000
MESA: info: @const(c97.x)	0xbc46c6a5, 0x3d5be101, 0xbdf0555d, 0x3e468bc1
MESA: info: @const(c98.x)	0xbeaa5476, 0x3f7ffea5, 0x00000000, 0xbfc90fdb
MESA: info: @const(c99.x)	0x80000000, 0x3ea2f983, 0x3c23d70a, 0xbf7d70a4
MESA: info: shps #l33
MESA: info: getone #l33
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#3, t#2
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#5, t#4
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#7, t#6
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#9, t#8
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#11, t#10
MESA: info: (ss)nop
MESA: info: ldc.u.offset3.1.imm.base1 r48.x, 0, 6
MESA: info: ldc.u.offset0.1.imm.base1 r48.y, 9, 6
MESA: info: mova1 a1.x, (r)16
MESA: info: ldc.offset0.1.imm.base1 r63.x, 0, 9
MESA: info: ldc.offset0.1.imm.base1 r63.x, 0, 5
MESA: info: (sy)(ss)rcp r48.x, r48.x
MESA: info: rcp r48.y, r48.y
MESA: info: (ss)(rpt1)mul.f r48.z, r48.x, (r)c92.x
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[3], r48.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[1], r48.z, 1
MESA: info: stc.u32 c[2], r48.w, 1
MESA: info: ldc.68.k.imm.base1 c[a1.x], 0, 8
MESA: info: (ss)mova1 a1.x, (r)288
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 7
MESA: info: (ss)mova1 a1.x, (r)304
MESA: info: (ss)nop
MESA: info: ldc.12.k.imm.base1 c[a1.x], 0, 6
MESA: info: (ss)mova1 a1.x, (r)352
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 20, 5
MESA: info: (sy)(ss)shpe
MESA: info: l33:
MESA: info: (jp)bary.f r3.x, 4, r0.z
MESA: info: (rpt1)bary.f r3.z, (r)8, r0.z
MESA: info: bary.f r3.y, 6, r0.z
MESA: info: bary.f r4.x, 5, r0.z
MESA: info: bary.f r4.y, 7, r0.z
MESA: info: bary.f r4.w, 2, r0.z
MESA: info: bary.f r5.y, 1, r0.z
MESA: info: bary.f r0.x, 24, (last)r0.x
MESA: info: bary.f r5.x, 3, r0.z
MESA: info: flat.b r4.z, 28, 28
MESA: info: bary.f r6.z, 12, r0.z
MESA: info: bary.f r7.x, 11, r0.z
MESA: info: bary.f r7.y, 10, r0.z
MESA: info: (rpt2)bary.f r9.w, (r)13, r0.z
MESA: info: bary.f r10.z, 19, r0.z
MESA: info: (rpt1)bary.f r10.w, (r)20, r0.z
MESA: info: (rpt1)bary.f r11.y, (r)16, r0.z
MESA: info: bary.f r11.w, 0, r0.z
MESA: info: bary.f (ei)r0.z, 18, (last)r0.z
MESA: info: cmps.s.ne hr50.x, c69.y, 0
MESA: info: (sy)(rpt1)add.f r1.y, (last)(r)r1.y, c94.y
MESA: info: add.f r6.y, r1.w, c94.y
MESA: info: (rpt1)mul.f r1.y, c94.x, (last)(r)r1.y
MESA: info: mul.f r6.y, c94.x, (last)r6.y
MESA: info: mul.f r6.w, r1.y, r1.y
MESA: info: cmps.f.ne r1.w, (last)r1.w, (0.0)
MESA: info: mad.f32 r6.w, r1.z, r1.z, (last)r6.w
MESA: info: mul.f r1.z, c69.x, (last)r1.z
MESA: info: mul.f r1.y, c69.x, (last)r1.y
MESA: info: (sat)add.f r6.w, (1.0), (last)(neg)r6.w
MESA: info: mul.f r7.z, r1.z, r1.z
MESA: info: mul.f r5.w, r3.x, r3.w
MESA: info: mul.f r6.x, r4.x, r4.y
MESA: info: mad.f32 r5.w, r3.y, r4.y, (neg)(last)r5.w
MESA: info: mul.f r5.z, r3.y, r3.z
MESA: info: sqrt r6.w, (last)r6.w
MESA: info: mad.f32 r6.x, r3.x, r3.z, (neg)(last)r6.x
MESA: info: mad.f32 r5.z, r4.x, r3.w, (neg)(last)r5.z
MESA: info: mad.f32 r9.z, c73.w, r4.w, c75.w
MESA: info: shl.b r4.z, (last)r4.z, 2
MESA: info: mad.f32 r9.z, c72.w, r5.y, (last)r9.z
MESA: info: mad.f32 r8.x, c73.x, r4.w, c75.x
MESA: info: mad.f32 r9.z, c74.w, r5.x, (last)r9.z
MESA: info: cov.u32s16 hr15.z, r4.z
MESA: info: mad.f32 r9.x, c73.y, r4.w, c75.y
MESA: info: mad.f32 r8.x, c72.x, r5.y, (last)r8.x
MESA: info: (ss)sel.b32 r6.y, (last)r6.y, r1.w, (last)r6.w
MESA: info: mova a0.x, (last)hr15.z
MESA: info: rcp r9.z, (last)r9.z
MESA: info: cmps.s.eq hr2.x, (last)hr2.x, h(0)
MESA: info: mad.f32 r7.z, r6.y, r6.y, (last)r7.z
MESA: info: mad.f32 r9.x, c72.y, r5.y, (last)r9.x
MESA: info: mad.f32 r7.z, r1.y, r1.y, (last)r7.z
MESA: info: mad.f32 r8.z, c74.x, r5.x, (last)r8.x
MESA: info: cmps.f.ge p0.y, c36.x, r2.w
MESA: info: cmps.f.lt p0.z, r0.x, c36.x
MESA: info: mad.f32 r8.w, c74.y, r5.x, (last)r9.x
MESA: info: sub.u hr2.x, h(1), (last)hr2.x
MESA: info: rsq r7.z, (last)r7.z
MESA: info: mad.f32 r9.y, c73.z, r4.w, c75.z
MESA: info: (ul)mul.f r2.w, c<a0.x + 80>, (last)r2.w
MESA: info: and.b r8.y, (last)hr2.x, hr50.x
MESA: info: kill p0.z
MESA: info: kill p0.y
MESA: info: mad.f32 r9.y, c72.z, r5.y, (last)r9.y
MESA: info: min.f r2.w, (last)r2.w, (1.0)
MESA: info: mad.f32 r9.y, c74.z, r5.x, (last)r9.y
MESA: info: (ss)mul.f r1.z, (last)r1.z, r7.z
MESA: info: mul.f r1.y, (last)r1.y, r7.z
MESA: info: mul.f r6.y, (last)r6.y, (last)r7.z
MESA: info: mul.f r5.w, (last)r5.w, r1.z
MESA: info: mul.f r6.x, (last)r6.x, r1.z
MESA: info: mad.f32 r3.z, (last)r3.z, r1.y, (last)r5.w
MESA: info: mul.f r5.z, (last)r5.z, (last)r1.z
MESA: info: mad.f32 r3.w, (last)r3.w, r1.y, (last)r6.x
MESA: info: mad.f32 r3.z, r4.x, r6.y, (last)r3.z
MESA: info: mad.f32 r4.y, (last)r4.y, r1.y, (last)r5.z
MESA: info: mad.f32 r3.w, r3.y, r6.y, (last)r3.w
MESA: info: mul.f r0.y, r3.z, r3.z
MESA: info: mad.f32 r6.y, r3.x, r6.y, (last)r4.y
MESA: info: mad.f32 r0.y, r3.w, r3.w, (last)r0.y
MESA: info: (rpt1)mul.f r8.z, (last)(r)r8.z, (last)r9.z
MESA: info: (nop1) mad.f32 r0.y, r6.y, r6.y, (last)r0.y
MESA: info: min.f r0.w, r8.w, r8.z
MESA: info: (nop1) max.f r1.x, r8.w, r8.z
MESA: info: cmps.f.lt p0.y, (last)r0.w, c92.z
MESA: info: rsq r0.y, (last)r0.y
MESA: info: cmps.f.lt p0.z, (1.0), (last)r1.x
MESA: info: (ss)mul.f r6.y, (last)r6.y, r0.y
MESA: info: mul.f r3.z, (last)r3.z, r0.y
MESA: info: mul.f r3.w, (last)r3.w, (last)r0.y
MESA: info: absneg.f r1.y, (neg)r6.y
MESA: info: absneg.f r1.z, (neg)r3.z
MESA: info: absneg.f r1.w, (neg)r3.w
MESA: info: sel.b32 r1.y, (last)r1.y, r8.y, (last)r6.y
MESA: info: sel.b32 r1.z, (last)r1.z, r8.y, (last)r3.z
MESA: info: sel.b32 r1.w, (last)r1.w, r8.y, (last)r3.w
MESA: info: brao p0.y, p0.z, #l138
MESA: info: (rpt1)mad.f32 r8.z, c94.z, (r)r8.z, c94.z
MESA: info: (nop3) mad.f32 r9.y, c94.z, r9.y, c94.z
MESA: info: (rpt1)nop
MESA: info: alias.tex.b32.0 r9.x, r9.y
MESA: info: sam.s.base2 (f32)(x)r3.z, r8.z, s#5, t#4
MESA: info: (eq)nop
MESA: info: jump #l140
MESA: info: l138:
MESA: info: (eq)(jp)nop
MESA: info: mov.u32u32 r3.z, 0x3f800000
MESA: info: l140:
MESA: info: (jp)cov.u32s16 hr7.z, r4.z
MESA: info: (nop1) cmps.f.lt p0.x, c92.w, (last)r3.y
MESA: info: mova a0.x, (last)hr7.z
MESA: info: (rpt4)nop
MESA: info: (ul)mov.f32f32 r4.y, c<a0.x + 212>
MESA: info: predt
MESA: info: mad.f32 r6.z, c95.x, r6.z, c94.z
MESA: info: add.f r7.x, (last)r7.x, c95.z
MESA: info: add.f r7.y, (last)r7.y, c95.z
MESA: info: floor.f r6.x, r6.z
MESA: info: mul.f r5.z, r7.x, (2.0)
MESA: info: rcp r4.y, (last)r4.y
MESA: info: mul.f r5.w, r7.y, (2.0)
MESA: info: (nop2) add.f r6.z, (last)r6.z, (last)(neg)r6.x
MESA: info: (nop3) mad.f32 r6.z, c94.w, r6.z, c95.y
MESA: info: (rpt1)nop
MESA: info: sin r6.y, r6.z
MESA: info: (ss)cos r6.z, (last)r6.z
MESA: info: (rpt1)mul.f r5.z, (last)(r)r5.z, (last)r4.y
MESA: info: nop
MESA: info: (nop1) mul.f r6.w, r6.y, r5.z
MESA: info: (ss)mad.f32 r6.w, r6.z, r5.w, (neg)(last)r6.w
MESA: info: mul.f r6.z, (last)r6.z, r5.z
MESA: info: mul.f r5.z, (last)r5.z, r5.z
MESA: info: mad.f32 r6.y, (last)r6.y, r5.w, (last)r6.z
MESA: info: (nop2) mad.f32 r5.w, (last)r5.w, r5.w, (last)r5.z
MESA: info: (sat)(nop3) add.f r5.w, (1.0), (last)(neg)r5.w
MESA: info: (rpt1)nop
MESA: info: sqrt r5.w, (last)r5.w
MESA: info: predf
MESA: info: (rpt4)nop
MESA: info: cov.u32s16 hr15.x, r4.z
MESA: info: add.f r7.y, (last)r7.y, c95.z
MESA: info: mul.f r7.w, r7.x, c96.x
MESA: info: mova a0.x, (last)hr15.x
MESA: info: (nop2) mul.f r7.y, c95.w, (last)r7.y
MESA: info: (nop1) mad.f32 r7.y, c95.x, r7.y, c94.z
MESA: info: add.f r8.x, (1.0), (neg)c<a0.x + 151>
MESA: info: (ss)mov.f32f32 r8.z, c<a0.x + 151>
MESA: info: add.f r8.y, r7.x, (neg)c<a0.x + 151>
MESA: info: floor.f r8.w, r7.y
MESA: info: (ul)cmps.f.lt r7.x, c<a0.x + 151>, (last)r7.x
MESA: info: mul.f r8.y, (last)r8.y, c96.x
MESA: info: rcp r8.x, (last)r8.x
MESA: info: add.f r7.y, (last)r7.y, (last)(neg)r8.w
MESA: info: rcp r8.z, (last)r8.z
MESA: info: (rpt1)nop
MESA: info: mad.f32 r7.y, c94.w, r7.y, c95.y
MESA: info: (ss)mul.f r8.y, (last)r8.y, (last)r8.x
MESA: info: (nop1) mad.f32 r7.w, (last)r7.w, r8.z, c96.y
MESA: info: (nop1) sel.b32 r8.y, (last)r8.y, r7.x, (last)r7.w
MESA: info: cos r9.x, r7.y
MESA: info: nop
MESA: info: (nop2) mad.f32 r8.y, c95.x, r8.y, c94.z
MESA: info: (nop2) floor.f r9.y, r8.y
MESA: info: (nop2) add.f r8.y, (last)r8.y, (last)(neg)r9.y
MESA: info: mad.f32 r8.y, c94.w, r8.y, c95.y
MESA: info: (ss)sin r7.y, (last)r7.y
MESA: info: (rpt4)nop
MESA: info: cos r9.z, r8.y
MESA: info: sin r5.w, (last)r8.y
MESA: info: (ss)mul.f r7.y, (last)r7.y, r9.z
MESA: info: (nop1) mul.f r9.x, (last)r9.x, (last)r9.z
MESA: info: (nop1) mul.f r0.y, r7.y, r4.x
MESA: info: mad.f32 r6.w, r9.x, r3.x, (neg)(last)r0.y
MESA: info: (nop1) mul.f r9.x, (last)r9.x, (last)r4.x
MESA: info: mad.f32 r6.y, (last)r7.y, r3.x, (last)r9.x
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: cov.u32s16 hr9.x, (last)r4.z
MESA: info: mov.u32u32 r0.w, 0x41200000
MESA: info: mul.f r1.x, r6.y, r6.y
MESA: info: mova a0.x, (last)hr9.x
MESA: info: (rpt1)add.f r4.w, (last)(r)r4.w, (neg)(r)c91.y
MESA: info: add.f r5.y, (last)r5.y, (neg)c91.x
MESA: info: mul.f r4.y, r1.z, r4.w
MESA: info: mov.u32u32 r3.x, 0x7fffffff
MESA: info: mul.f r0.w, c<a0.x + 150>, (last)r0.w
MESA: info: mad.f32 r4.y, r1.w, r5.x, (last)r4.y
MESA: info: (ss)mad.f32 r1.x, r5.w, r5.w, (last)r1.x
MESA: info: mad.f32 r4.y, r1.y, r5.y, (last)r4.y
MESA: info: mad.f32 r1.x, r6.w, r6.w, (last)r1.x
MESA: info: mul.f r2.x, (last)r2.x, c<a0.x + 16>
MESA: info: mul.f r4.y, (last)r4.y, (2.0)
MESA: info: mul.f r2.y, (last)r2.y, c<a0.x + 17>
MESA: info: mul.f r2.z, (last)r2.z, c<a0.x + 18>
MESA: info: mad.f32 r4.w, (neg)r4.y, r1.z, (last)r4.w
MESA: info: rsq r1.x, (last)r1.x
MESA: info: mad.f32 r5.x, (neg)r4.y, r1.w, (last)r5.x
MESA: info: log2 r3.w, (last)r2.x
MESA: info: mad.f32 r4.y, (neg)(last)r4.y, r1.y, (last)r5.y
MESA: info: mad.f32 r7.y, c82.x, r1.z, c84.x
MESA: info: log2 r4.x, (last)r2.y
MESA: info: mad.f32 r7.z, c82.y, r1.z, c84.y
MESA: info: log2 r2.z, (last)r2.z
MESA: info: mad.f32 r7.w, c82.z, r1.z, c84.z
MESA: info: mov.f32f32 r3.y, c<a0.x + 148>
MESA: info: mad.f32 r7.y, c81.x, r1.y, (last)r7.y
MESA: info: mad.f32 r7.z, c81.y, r1.y, (last)r7.z
MESA: info: mad.f32 r7.w, c81.z, r1.y, (last)r7.w
MESA: info: mad.f32 r7.y, c83.x, r1.w, (last)r7.y
MESA: info: mad.f32 r7.z, c83.y, r1.w, (last)r7.z
MESA: info: mad.f32 r7.w, c83.z, r1.w, (last)r7.w
MESA: info: add.f r3.y, c<a0.x + 149>, (last)(neg)r3.y
MESA: info: cmps.f.lt p0.x, (1.0), c85.x
MESA: info: (ss)mul.f r6.y, (last)r6.y, r1.x
MESA: info: mul.f r5.w, (last)r5.w, r1.x
MESA: info: mul.f r6.w, (last)r6.w, (last)r1.x
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r8.y, r7.y, r40.x, s#7, t#6
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r9.x, r7.y, r40.x, s#9, t#8
MESA: info: mul.f r6.y, (last)r6.y, c76.y
MESA: info: (rpt1)mul.f r5.y, (last)(r)r3.w, c93.z
MESA: info: (nop1) mad.f32 r5.w, c76.z, r5.w, (last)r6.y
MESA: info: (sat)mad.f32 r6.w, c76.x, (neg)r6.w, (neg)(last)r5.w
MESA: info: (nop1) mul.f r5.w, (last)r2.z, c93.z
MESA: info: (nop1) mad.f32 r6.w, c96.w, (neg)r6.w, c96.z
MESA: info: (rpt2)exp2 r5.y, (last)(r)r5.y
MESA: info: nop
MESA: info: mul.f r0.w, (last)r0.w, (last)r6.w
MESA: info: (nop1) mul.f r6.w, r4.w, r4.w
MESA: info: mad.f32 r6.w, r5.x, r5.x, (last)r6.w
MESA: info: cmps.f.ge r6.x, (1.0), (abs)r0.w
MESA: info: mad.f32 r6.w, r4.y, r4.y, (last)r6.w
MESA: info: rcp r6.y, r0.w
MESA: info: and.b r6.z, r0.w, c99.x
MESA: info: (nop3) sel.b32 r7.x, c98.z, r6.x, c98.w
MESA: info: rsq r6.w, (last)r6.w
MESA: info: (ss)sel.b32 r0.w, (last)r0.w, r6.x, (last)r6.y
MESA: info: mul.f r4.w, (last)r4.w, r6.w
MESA: info: mul.f r4.y, (last)r4.y, r6.w
MESA: info: mul.f r8.x, r0.w, r0.w
MESA: info: absneg.f r0.w, (last)(abs)r0.w
MESA: info: mul.f r5.x, (last)r5.x, (last)r6.w
MESA: info: mad.f32 r1.x, c97.x, r8.x, c97.y
MESA: info: mad.f32 r0.y, c82.x, r4.w, c84.x
MESA: info: mad.f32 r2.x, c82.y, r4.w, c84.y
MESA: info: mad.f32 r1.x, (last)r1.x, r8.x, c97.z
MESA: info: mad.f32 r2.y, c82.z, r4.w, c84.z
MESA: info: mad.f32 r0.y, c81.x, r4.y, (last)r0.y
MESA: info: mad.f32 r1.x, (last)r1.x, r8.x, c97.w
MESA: info: mad.f32 r2.x, c81.y, r4.y, (last)r2.x
MESA: info: mad.f32 r2.y, c81.z, r4.y, (last)r2.y
MESA: info: mad.f32 r1.x, (last)r1.x, r8.x, c98.x
MESA: info: mad.f32 r0.y, c83.x, r5.x, (last)r0.y
MESA: info: mad.f32 r2.x, c83.y, r5.x, (last)r2.x
MESA: info: mad.f32 r1.x, (last)r1.x, r8.x, c98.y
MESA: info: mad.f32 r2.y, c83.z, r5.x, (last)r2.y
MESA: info: (sat)(rpt2)max.f r5.y, (last)(r)r5.y, (r)r5.y
MESA: info: mad.f32 r0.w, (last)r0.w, r1.x, (last)r7.x
MESA: info: (rpt2)mul.f r5.y, (last)(r)r5.y, c93.w
MESA: info: alias.tex.b32.1 r1.w, r0.y
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r6.w, r1.w, r40.x, s#9, t#8
MESA: info: andg r0.w, (last)r0.w, r3.x, (last)r6.z
MESA: info: alias.tex.b32.1 r1.w, r0.y
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r6.x, r1.w, r40.x, s#7, t#6
MESA: info: (rpt1)nop
MESA: info: (nop2) mad.f32 r0.w, c99.y, r0.w, c94.z
MESA: info: (sat)(nop2) (ul)mad.f32 r0.w, (last)r0.w, r3.y, c<a0.x + 148>
MESA: info: (sy)mul.f r3.z, (last)r3.z, (last)r0.w
MESA: info: br !p0.x, #l329
MESA: info: mov.u32u32 r49.y, c0.x
MESA: info: mul.f r49.y, c92.w, r49.y
MESA: info: max.f r7.z, r1.w, (0.0)
MESA: info: mul.f r7.w, r1.z, c76.y
MESA: info: mul.f r4.w, (last)r4.w, c76.y
MESA: info: mad.f32 r7.w, c76.z, r1.w, (last)r7.w
MESA: info: add.f r7.z, (1.0), (last)r7.z
MESA: info: mad.f32 r7.w, c76.x, r1.y, (last)r7.w
MESA: info: mad.f32 r5.x, c76.z, r5.x, (last)r4.w
MESA: info: mul.f r8.z, c0.y, (last)r7.z
MESA: info: max.f r7.w, (last)r7.w, (0.0)
MESA: info: mad.f32 r4.y, c76.x, r4.y, (last)r5.x
MESA: info: (ss)mov.u32u32 r6.y, r49.y
MESA: info: add.f r7.w, r8.z, (last)r7.w
MESA: info: max.f r4.y, (last)r4.y, (0.0)
MESA: info: mov.u32u32 r8.y, r8.z
MESA: info: mul.f r9.y, c0.z, (last)r7.w
MESA: info: mul.f r7.x, c0.x, (last)r4.y
MESA: info: mov.u32u32 r8.w, r8.z
MESA: info: mov.u32u32 r6.x, r6.y
MESA: info: mov.u32u32 r6.z, r6.y
MESA: info: mov.u32u32 r9.x, r9.y
MESA: info: mov.u32u32 r9.z, r9.y
MESA: info: mov.u32u32 r6.w, r7.x
MESA: info: mov.u32u32 r7.y, r7.x
MESA: info: l329:
MESA: info: ldc.u.offset0.3.imm.base1 r49.z, 1, 9
MESA: info: ldc.u.offset0.3.imm.base1 r51.x, 17, 5
MESA: info: ldc.u.offset0.3.imm.base1 r50.y, 16, 5
MESA: info: ldc.u.offset0.3.imm.base1 r51.w, 18, 5
MESA: info: (rpt1)add.f r10.x, (last)(r)r10.x, (neg)(r)c91.y
MESA: info: mad.f32 r2.w, (neg)(last)r2.w, r0.x, c96.z
MESA: info: add.f r9.w, (last)r9.w, (neg)c91.x
MESA: info: mul.f r0.x, r10.x, r10.x
MESA: info: add.f r9.x, (last)r9.x, (neg)r8.y
MESA: info: mad.f32 r0.x, r10.y, r10.y, (last)r0.x
MESA: info: mul.f r8.x, c0.w, r3.z
MESA: info: mad.f32 r0.x, r9.w, r9.w, (last)r0.x
MESA: info: (rpt1)add.f r9.y, (last)(r)r9.y, (neg)(r)r8.z
MESA: info: mul.f r9.x, r8.x, (last)r9.x
MESA: info: (rpt1)mul.f r9.y, (last)r8.x, (last)(r)r9.y
MESA: info: rsq r0.x, (last)r0.x
MESA: info: mad.f32 r8.y, c85.x, r8.y, (last)r9.x
MESA: info: (rpt1)mad.f32 r8.z, c85.x, (r)r8.z, (r)(last)r9.y
MESA: info: mul.f r9.x, c85.x, r6.x
MESA: info: mul.f r9.y, c85.x, r6.y
MESA: info: mul.f r9.z, c85.x, r6.z
MESA: info: mad.f32 r6.w, c0.w, r6.w, (neg)(last)r9.x
MESA: info: mad.f32 r7.x, c0.w, r7.x, (neg)(last)r9.y
MESA: info: mad.f32 r7.y, c0.w, r7.y, (neg)(last)r9.z
MESA: info: mul.f r6.w, r3.z, (last)r6.w
MESA: info: mul.f r7.x, r3.z, (last)r7.x
MESA: info: (ss)mul.f r10.x, (last)r10.x, r0.x
MESA: info: mul.f r9.w, (last)r9.w, r0.x
MESA: info: mul.f r10.y, (last)r10.y, (last)r0.x
MESA: info: mad.f32 r0.w, c82.x, r10.x, c84.x
MESA: info: (rpt1)mad.f32 r2.x, (r)c82.y, r10.x, (r)c84.y
MESA: info: mad.f32 r0.w, c81.x, r9.w, (last)r0.w
MESA: info: (rpt1)mad.f32 r2.x, (r)c81.y, r9.w, (r)(last)r2.x
MESA: info: mad.f32 r0.w, c83.x, r10.y, (last)r0.w
MESA: info: (rpt1)mad.f32 r2.x, (r)c83.y, r10.y, (r)(last)r2.x
MESA: info: mul.f r3.z, (last)r3.z, (last)r7.y
MESA: info: mad.f32 r6.x, c85.x, r6.x, (last)r6.w
MESA: info: mad.f32 r6.z, c85.x, r6.z, (last)r3.z
MESA: info: mad.f32 r6.y, c85.x, r6.y, (last)r7.x
MESA: info: add.f r0.y, r11.w, c93.x
MESA: info: alias.tex.b32.1 r1.w, r0.w
MESA: info: alias.tex.b32.0 r40.x, (0x40c00000)
MESA: info: saml.3d.base2 (f32)(xyz)r3.w, r1.w, r40.x, s#11, t#10
MESA: info: alias.tex.b32.1 r1.w, r0.w
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: saml.3d.base2 (f32)(xyz)r3.x, r1.w, r40.x, s#11, t#10
MESA: info: mul.f r6.x, c99.z, (last)r6.x
MESA: info: mul.f r6.y, c99.z, (last)r6.y
MESA: info: mul.f r6.z, c99.z, (last)r6.z
MESA: info: mad.f32 r5.y, (last)r5.y, r8.y, (last)r6.x
MESA: info: mad.f32 r5.z, (last)r5.z, r8.z, (last)r6.y
MESA: info: (sat)mul.f r0.y, (last)r0.y, c93.y
MESA: info: mad.f32 r5.w, (last)r5.w, r8.w, (last)r6.z
MESA: info: mul.f r5.y, c76.w, (last)r5.y
MESA: info: mul.f r5.z, c76.w, (last)r5.z
MESA: info: mul.f r5.w, c76.w, (last)r5.w
MESA: info: mad.f32 r8.x, c99.w, r2.w, c96.z
MESA: info: mov.u32u32 r9.x, 0x3f800000
MESA: info: (sy)add.f r3.x, (last)r3.x, (neg)r3.w
MESA: info: add.f r3.y, (last)r3.y, (neg)r4.x
MESA: info: mul.f r10.z, r49.z, (last)r10.z
MESA: info: mul.f r10.w, r49.w, (last)r10.w
MESA: info: add.f r3.z, (last)r3.z, (neg)r4.y
MESA: info: mad.f32 r3.x, r0.y, r3.x, (last)r3.w
MESA: info: mul.f r11.x, r50.x, (last)r11.x
MESA: info: mad.f32 r5.y, (last)r5.y, r11.y, (last)r10.z
MESA: info: mad.f32 r4.z, (last)r5.z, r11.z, (last)r10.w
MESA: info: mad.f32 r5.z, r0.y, r3.y, (last)r4.x
MESA: info: mul.f r6.x, r51.x, r1.z
MESA: info: mad.f32 r4.w, (last)r5.w, r0.z, (last)r11.x
MESA: info: mad.f32 r3.x, c76.w, r3.x, (neg)r5.y
MESA: info: mad.f32 r5.w, (last)r0.y, r3.z, (last)r4.y
MESA: info: mul.f r7.x, r51.y, r1.z
MESA: info: mad.f32 r6.y, r50.y, r1.y, (last)r6.x
MESA: info: (rpt1)mad.f32 r5.z, c76.w, (r)r5.z, (neg)(r)r4.z
MESA: info: mul.f r1.z, r51.z, (last)r1.z
MESA: info: mad.f32 r7.y, r11.w, r3.x, (last)r5.y
MESA: info: mad.f32 r6.z, r50.z, r1.y, (last)r7.x
MESA: info: (rpt1)mad.f32 r7.z, (last)r11.w, (r)r5.z, (r)(last)r4.z
MESA: info: mad.f32 r6.w, r50.w, r1.y, (last)r1.z
MESA: info: (rpt2)mad.f32 r8.y, (r)r51.w, r1.w, (r)(last)r6.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r7.y (FRAG_RESULT_DATA0) r8.y (FRAG_RESULT_DATA1)
MESA: info: ; FRAG: inputs: r11.w (VARYING_SLOT_VAR0 slot=32 cm=f,il=0,b=1) r3.x (VARYING_SLOT_VAR1 slot=33 cm=f,il=4,b=1) r3.z (VARYING_SLOT_VAR2 slot=34 cm=f,il=8,b=1) r6.z (VARYING_SLOT_VAR3 slot=35 cm=f,il=12,b=1) r11.y (VARYING_SLOT_VAR4 slot=36 cm=f,il=16,b=1) r10.w (VARYING_SLOT_VAR5 slot=37 cm=f,il=20,b=1) r0.x (VARYING_SLOT_VAR6 slot=38 cm=1,il=24,b=1) r4.z (VARYING_SLOT_VAR7 slot=39 cm=1,il=28,b=1) r0.z (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_CENTROID slot=58 cm=3,il=0,b=0) r2.x (SYSTEM_VALUE_FRONT_FACE slot=23 cm=1,il=0,b=0)
MESA: info: ; FRAG prog 125/2: 472 instr, 79 nops, 393 non-nops, 21 mov, 4 cov, 832 dwords
MESA: info: ; FRAG prog 125/2: 23 last-baryf, 120 last-helper, 0 half, 12 full, 100 constlen
MESA: info: ; FRAG prog 125/2: 88 cat0, 25 cat1, 179 cat2, 134 cat3, 24 cat4, 7 cat5, 4 cat6, 11 cat7
MESA: info: ; FRAG prog 125/2: 53 sstall, 14 (ss), 56 systall, 3 (sy), 0 loops
MESA: info: ; FRAG prog 125/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 34 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.z
MESA: info: ; pos (ij_centroid): r0.x
MESA: info: ; data0: r7.y
MESA: info: ; data1: r8.y
MESA: info: ; fragface: r2.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x67be9a07, 0x145282e1, 0xf1364fbf, 0xf0db056a, 0xa1dfbb6f, 0xd21db3d3, 0x6a3130d0, 0x9cbe61bc}
MESA: info: inputs_read: 15
MESA: info: outputs_written: 0,32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 1
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #2 (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x4   %6 = @load_input (%5 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32x4  %10 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     con 32x4  %18 = @load_const_ir3 (%5 (0x0)) (base=4)
MESA: info:     div 32x4  %74 = fmul %18, %6.yyyy
MESA: info:     div 32x4  %77 = ffma %10, %6.xxxx, %74
MESA: info:     con 32x4  %30 = @load_const_ir3 (%5 (0x0)) (base=8)
MESA: info:     div 32x4  %80 = ffma %30, %6.zzzz, %77
MESA: info:     con 32x4  %42 = @load_const_ir3 (%5 (0x0)) (base=12)
MESA: info:     div 32x4  %83 = ffma %42, %6.wwww, %80
MESA: info:                     @store_output (%83, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x2  %52 = vec2 %6.x, %6.y
MESA: info:                     @store_output (%52, %5 (0x0)) (base=1, range=1, wrmask=xy, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 e0dd667ce9c1b0005aeccc32c88168d5b189c929:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)mul.f r1.x, c1.x, r0.y
MESA: info: mul.f r2.y, c1.y, r0.y
MESA: info: mul.f r2.z, c1.z, r0.y
MESA: info: mul.f r2.w, c1.w, r0.y
MESA: info: mad.f32 r1.x, c0.x, r0.x, (last)r1.x
MESA: info: mad.f32 r2.y, c0.y, r0.x, (last)r2.y
MESA: info: mad.f32 r2.z, c0.z, r0.x, (last)r2.z
MESA: info: mad.f32 r2.w, c0.w, r0.x, (last)r2.w
MESA: info: mad.f32 r1.y, c2.x, r0.z, (last)r1.x
MESA: info: mad.f32 r1.z, c2.y, r0.z, (last)r2.y
MESA: info: mad.f32 r1.w, c2.z, r0.z, (last)r2.z
MESA: info: mad.f32 r2.x, c2.w, r0.z, (last)r2.w
MESA: info: (rpt3)mad.f32 r3.x, (r)c3.x, r0.w, (r)(last)r1.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r3.x (VARYING_SLOT_POS) r0.x (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0)
MESA: info: ; VERT prog 126/1: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; VERT prog 126/1: 0 last-baryf, 0 last-helper, 0 half, 4 full, 8 constlen
MESA: info: ; VERT prog 126/1: 1 cat0, 0 cat1, 4 cat2, 12 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 126/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 126/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos: r3.x
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x67be9a07, 0x145282e1, 0xf1364fbf, 0xf0db056a, 0xa1dfbb6f, 0xd21db3d3, 0x6a3130d0, 0x9cbe61bc}
MESA: info: inputs_read: 15
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 1
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #2 (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x4   %6 = @load_input (%5 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32x4  %10 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     con 32x4  %18 = @load_const_ir3 (%5 (0x0)) (base=4)
MESA: info:     div 32x4  %74 = fmul %18, %6.yyyy
MESA: info:     div 32x4  %77 = ffma %10, %6.xxxx, %74
MESA: info:     con 32x4  %30 = @load_const_ir3 (%5 (0x0)) (base=8)
MESA: info:     div 32x4  %80 = ffma %30, %6.zzzz, %77
MESA: info:     con 32x4  %42 = @load_const_ir3 (%5 (0x0)) (base=12)
MESA: info:     div 32x4  %83 = ffma %42, %6.wwww, %80
MESA: info:                     @store_output (%83, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 f53df4f2509a8fcae820125c175eeebc8fa6954a:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)mul.f r1.x, c1.x, r0.y
MESA: info: mul.f r2.y, c1.y, r0.y
MESA: info: mad.f32 r1.x, c0.x, r0.x, (last)r1.x
MESA: info: mad.f32 r2.y, c0.y, r0.x, (last)r2.y
MESA: info: mad.f32 r1.y, c2.x, r0.z, (last)r1.x
MESA: info: (rpt1)mul.f r2.z, (r)c1.z, (last)r0.y
MESA: info: mad.f32 r1.z, c2.y, r0.z, (last)r2.y
MESA: info: (rpt1)mad.f32 r2.z, (r)c0.z, r0.x, (r)(last)r2.z
MESA: info: (rpt1)mad.f32 r1.w, (r)c2.z, r0.z, (r)(last)r2.z
MESA: info: (rpt3)mad.f32 r3.x, (r)c3.x, r0.w, (r)(last)r1.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r3.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0)
MESA: info: ; BVERT prog 126/2: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; BVERT prog 126/2: 0 last-baryf, 0 last-helper, 0 half, 4 full, 8 constlen
MESA: info: ; BVERT prog 126/2: 1 cat0, 0 cat1, 4 cat2, 12 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 126/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 126/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos: r3.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0xf1b871cf, 0x76ca91b9, 0x4f59ebd5, 0xddaf2287, 0xe5db1e77, 0x56d6cd04, 0x33467e6b, 0x83a69fd7}
MESA: info: inputs_read: 32
MESA: info: outputs_written: 4
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 1
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #0 (VARYING_SLOT_VAR0.xy, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #2
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%2 (0x1)) (desc_set=1)
MESA: info:             con 32    %397 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32x2  %399 = @load_ubo_vec4 (%4, %397 (0x4)) (access=speculatable, base=0, component=0)
MESA: info:             con 32      %6 = frcp %399.x
MESA: info:                              @store_const_ir3 (%6) (base=0)
MESA: info:             con 32      %7 = frcp %399.y
MESA: info:                              @store_const_ir3 (%7) (base=1)
MESA: info:             con 32    %411 = load_const (0x00000016 = 0.000000 = 22)
MESA: info:             con 32x2  %402 = @load_ubo_vec4 (%4, %411 (0x16)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %10 = load_const (0xc0000000 = -2.000000)
MESA: info:             con 32     %11 = fmul %10 (-2.000000), %402.x
MESA: info:             con 32     %12 = fmul %11, %402.y
MESA: info:                              @store_const_ir3 (%12) (base=2)
MESA: info:             con 32     %13 = fadd %402.y, %402.x
MESA: info:                              @store_const_ir3 (%13) (base=3)
MESA: info:             con 32    %495 = fsub %402.y, %402.x
MESA: info:                              @store_const_ir3 (%495) (base=4)
MESA: info:             con 32     %16 = frcp %495
MESA: info:                              @store_const_ir3 (%16) (base=5)
MESA: info:             con 32    %412 = load_const (0x00000015 = 0.000000 = 21)
MESA: info:             con 32x2  %405 = @load_ubo_vec4 (%4, %412 (0x15)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %19 = frcp %402.x
MESA: info:                              @store_const_ir3 (%19) (base=6)
MESA: info:             con 32    %408 = @load_ubo_vec4 (%4, %397 (0x4)) (access=speculatable, base=0, component=2)
MESA: info:             con 32     %22 = load_const (0x00000008)
MESA: info:             con 32     %23 = imin %408, %22 (0x8)
MESA: info:                              @store_const_ir3 (%23) (base=7)
MESA: info:             con 32     %24 = frcp %405.x
MESA: info:                              @store_const_ir3 (%24) (base=8)
MESA: info:             con 32     %25 = frcp %405.y
MESA: info:                              @store_const_ir3 (%25) (base=9)
MESA: info:             con 32     %26 = i2f32 %408
MESA: info:             con 32     %27 = frcp %26
MESA: info:                              @store_const_ir3 (%27) (base=10)
MESA: info:             con 32     %30 = load_const (0x00000000 = 0.000000)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %30 (0x0)) (base=16, range=28)
MESA: info:             con 32     %31 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32     %32 = @bindless_resource_ir3 (%31 (0x2)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%32, %30 (0x0)) (base=128, range=4)
MESA: info:             con 32     %35 = @bindless_resource_ir3 (%31 (0x2)) (desc_set=2)
MESA: info:             con 32     %36 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32     %37 = @bindless_resource_ir3 (%36 (0x3)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%35, %37)
MESA: info:             con 32     %39 = @bindless_resource_ir3 (%30 (0x0)) (desc_set=2)
MESA: info:             con 32     %41 = @bindless_resource_ir3 (%2 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%39, %41)
MESA: info:             con 32     %43 = @bindless_resource_ir3 (%397 (0x4)) (desc_set=2)
MESA: info:             con 32     %44 = load_const (0x00000005 = 0.000000)
MESA: info:             con 32     %45 = @bindless_resource_ir3 (%44 (0x5)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%43, %45)
MESA: info:             con 32     %50 = load_const (0x00000006 = 0.000000)
MESA: info:             con 32     %51 = @bindless_resource_ir3 (%50 (0x6)) (desc_set=2)
MESA: info:             con 32     %52 = load_const (0x00000007 = 0.000000)
MESA: info:             con 32     %53 = @bindless_resource_ir3 (%52 (0x7)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%51, %53)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %54 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x2   %55 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x2   %56 = @load_interpolated_input (%55, %54 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32     %57 = load_const (0x00000001)
MESA: info:     con 32     %58 = load_const (0x00000002)
MESA: info:     con 32x2   %63 = @load_const_ir3 (%54 (0x0)) (base=32)
MESA: info:     con 32     %65 = @load_const_ir3 (%54 (0x0)) (base=0)
MESA: info:     div 32     %66 = fmul %56.x, %65
MESA: info:     con 32     %68 = @load_const_ir3 (%54 (0x0)) (base=1)
MESA: info:     div 32     %69 = fmul %56.y, %68
MESA: info:     div 32     %70 = ffloor %66
MESA: info:     div 32     %71 = ffloor %69
MESA: info:     con 32     %72 = load_const (0x3f000000 = 0.500000)
MESA: info:     div 32     %73 = fadd %72 (0.500000), %70
MESA: info:     div 32     %74 = fadd %72 (0.500000), %71
MESA: info:     div 32     %75 = fmul %73, %63.x
MESA: info:     div 32     %76 = fmul %74, %63.y
MESA: info:     div 32x2   %77 = vec2 %75, %76
MESA: info:     con 32     %78 = load_const (0x00000003 = 0.000000)
MESA: info:     con 32     %79 = @bindless_resource_ir3 (%78 (0x3)) (desc_set=2)
MESA: info:     con 32     %80 = @bindless_resource_ir3 (%58 (0x2)) (desc_set=2)
MESA: info:     div 32x4   %81 = (float32)tex %80 (texture_handle), %79 (sampler_handle), %77 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32x2   %85 = @load_const_ir3 (%54 (0x0)) (base=104)
MESA: info:     con 32     %87 = @load_const_ir3 (%54 (0x0)) (base=2)
MESA: info:     con 32     %89 = @load_const_ir3 (%54 (0x0)) (base=3)
MESA: info:     con 32     %90 = load_const (0x40000000 = 2.000000)
MESA: info:     con 32     %92 = load_const (0xbf800000 = -1.000000)
MESA: info:     div 32    %494 = ffma %90 (2.000000), %81.x, %92 (-1.000000)
MESA: info:     con 32     %94 = fneg %85.x
MESA: info:     con 32     %96 = @load_const_ir3 (%54 (0x0)) (base=4)
MESA: info:     div 32    %492 = fneg %494
MESA: info:     div 32    %493 = ffma %492, %96, %89
MESA: info:     div 32    %100 = frcp %493
MESA: info:     con 32    %490 = fneg %87
MESA: info:     div 32    %491 = ffma %490, %100, %94
MESA: info:     con 32    %105 = @load_const_ir3 (%54 (0x0)) (base=5)
MESA: info:     div 32    %106 = fmul %491, %105
MESA: info:     con 32    %107 = load_const (0xbf000000 = -0.500000)
MESA: info:     div 32    %108 = fadd %75, %107 (-0.500000)
MESA: info:     div 32    %109 = fadd %76, %107 (-0.500000)
MESA: info:     div 32    %110 = fmul %108, %90 (2.000000)
MESA: info:     div 32    %111 = fmul %109, %90 (2.000000)
MESA: info:     con 32x4  %115 = @load_const_ir3 (%54 (0x0)) (base=100)
MESA: info:     div 32    %116 = fmul %110, %115.z
MESA: info:     div 32    %117 = fmul %111, %115.w
MESA: info:     div 32    %489 = ffma %106, %96, %85.x
MESA: info:     con 32    %121 = @load_const_ir3 (%54 (0x0)) (base=6)
MESA: info:     div 32    %122 = fmul %489, %121
MESA: info:     div 32    %123 = fmul %116, %122
MESA: info:     div 32    %124 = fmul %117, %122
MESA: info:     div 32    %125 = fmul %85.x, %122
MESA: info:     con 32    %126 = @bindless_resource_ir3 (%57 (0x1)) (desc_set=2)
MESA: info:     con 32    %127 = @bindless_resource_ir3 (%54 (0x0)) (desc_set=2)
MESA: info:     div 32x4  %128 = (float32)tex %127 (texture_handle), %126 (sampler_handle), %77 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32    %129 = fmul %75, %115.x
MESA: info:     div 32    %130 = fmul %76, %115.y
MESA: info:     div 32x2  %131 = vec2 %129, %130
MESA: info:     con 32    %132 = load_const (0x00000005 = 0.000000)
MESA: info:     con 32    %133 = @bindless_resource_ir3 (%132 (0x5)) (desc_set=2)
MESA: info:     con 32    %134 = load_const (0x00000004 = 0.000000)
MESA: info:     con 32    %135 = @bindless_resource_ir3 (%134 (0x4)) (desc_set=2)
MESA: info:     div 32x4  %136 = (float32)tex %135 (texture_handle), %133 (sampler_handle), %131 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %524 = ffma %136.xyz, %90 (2.000000).xxx, %92 (-1.000000).xxx
MESA: info:     div 32    %144 = fmul %524.y, %524.y
MESA: info:     div 32    %485 = ffma %524.z, %524.z, %144
MESA: info:     div 32    %484 = ffma %524.x, %524.x, %485
MESA: info:     div 32    %148 = frsq %484
MESA: info:     div 32x3  %526 = fmul %524, %148.xxx
MESA: info:     con 32    %152 = load_const (0x3ccccccd = 0.025000)
MESA: info:     div 32    %153 = fmul %125, %152 (0.025000)
MESA: info:     con 32    %154 = load_const (0x3f800000 = 1.000000)
MESA: info:     div 32    %155 = fsat %153
MESA: info:     con 32    %157 = load_const (0x3f400000 = 0.750000)
MESA: info:     div 32    %483 = ffma %155, %72 (0.500000), %157 (0.750000)
MESA: info:                      // succs: b7
MESA: info:     con loop {
MESA: info:         con block b7:        // preds: b6 b13
MESA: info:         div 32    %159 = phi b6: %54 (0x0), b13: %288
MESA: info:         con 32    %160 = phi b6: %54 (0x0), b13: %218
MESA: info:         con 32    %162 = @load_const_ir3 (%54 (0x0)) (base=7)
MESA: info:         con 1     %163 = ige %160, %162
MESA: info:                          // succs: b8 b9
MESA: info:         if %163 {
MESA: info:             con block b8:// preds: b7
MESA: info:             break
MESA: info:             // succs: b14
MESA: info:         } else {
MESA: info:             con block b9:  // preds: b7, succs: b10
MESA: info:         }
MESA: info:         con block b10:       // preds: b9
MESA: info:         con 32    %169 = ishl %160, %58 (0x2)
MESA: info:         con 32x3  %170 = @load_const_ir3 (%169) (base=36)
MESA: info:         div 32x3  %528 = fmul %170, %483.xxx
MESA: info:         div 32    %175 = fmul %526.y, %528.y
MESA: info:         div 32    %482 = ffma %526.z, %528.z, %175
MESA: info:         div 32    %481 = ffma %526.x, %528.x, %482
MESA: info:         div 32    %179 = fmul %481, %90 (2.000000)
MESA: info:         div 32    %479 = fneg %179
MESA: info:         div 32x3  %530 = ffma %479.xxx, %526, %528
MESA: info:         div 32    %189 = fadd %123, %530.x
MESA: info:         div 32    %190 = fadd %124, %530.y
MESA: info:         div 32    %474 = fsub %530.z, %125
MESA: info:         div 32    %193 = fneg %474
MESA: info:         div 32    %194 = frcp %193
MESA: info:         div 32    %195 = fmul %189, %72 (0.500000)
MESA: info:         div 32    %196 = fmul %195, %194
MESA: info:         div 32    %197 = fmul %196, %85.x
MESA: info:         div 32    %198 = fmul %190, %72 (0.500000)
MESA: info:         div 32    %199 = fmul %198, %194
MESA: info:         div 32    %200 = fmul %199, %85.x
MESA: info:         con 32    %202 = @load_const_ir3 (%54 (0x0)) (base=8)
MESA: info:         con 32    %205 = @load_const_ir3 (%54 (0x0)) (base=9)
MESA: info:         div 32    %473 = ffma %197, %202, %72 (0.500000)
MESA: info:         div 32    %472 = ffma %200, %205, %72 (0.500000)
MESA: info:         div 32    %471 = fsub %473, %56.x
MESA: info:         div 32    %211 = fabs %471
MESA: info:         div 1     %212 = flt! %211, %63.x
MESA: info:         div 32    %470 = fsub %472, %56.y
MESA: info:         div 32    %215 = fabs %470
MESA: info:         div 1     %216 = flt! %215, %63.y
MESA: info:         div 1     %520 = inot %212
MESA: info:         div 1     %521 = inot %216
MESA: info:         div 1     %522 = ior %520, %521
MESA: info:         con 32    %218 = iadd %160, %57 (0x1)
MESA: info:                          // succs: b11 b12
MESA: info:         if %522 {
MESA: info:             div block b11:       // preds: b10
MESA: info:             div 32    %220 = fmul %473, %65
MESA: info:             div 32    %221 = fmul %472, %68
MESA: info:             div 32    %222 = ffloor %220
MESA: info:             div 32    %223 = ffloor %221
MESA: info:             div 32    %224 = fadd %72 (0.500000), %222
MESA: info:             div 32    %225 = fadd %72 (0.500000), %223
MESA: info:             div 32    %226 = fmul %224, %63.x
MESA: info:             div 32    %227 = fmul %225, %63.y
MESA: info:             div 32x2  %228 = vec2 %226, %227
MESA: info:             div 32x4  %229 = (float32)tex %80 (texture_handle), %79 (sampler_handle), %228 (coord), 0 (texture), 0 (sampler)
MESA: info:             div 32    %469 = ffma %90 (2.000000), %229.x, %92 (-1.000000)
MESA: info:             div 32    %467 = fneg %469
MESA: info:             div 32    %468 = ffma %467, %96, %89
MESA: info:             div 32    %235 = frcp %468
MESA: info:             div 32    %466 = ffma %490, %235, %94
MESA: info:             div 32    %239 = fmul %466, %105
MESA: info:             div 32    %240 = fadd %226, %107 (-0.500000)
MESA: info:             div 32    %241 = fadd %227, %107 (-0.500000)
MESA: info:             div 32    %242 = fmul %240, %90 (2.000000)
MESA: info:             div 32    %243 = fmul %241, %90 (2.000000)
MESA: info:             div 32    %244 = fmul %242, %115.z
MESA: info:             div 32    %245 = fmul %243, %115.w
MESA: info:             div 32    %464 = ffma %239, %96, %85.x
MESA: info:             div 32    %248 = fmul %464, %121
MESA: info:             div 32    %252 = fneg %123
MESA: info:             div 32    %463 = ffma %244, %248, %252
MESA: info:             div 32    %254 = fneg %124
MESA: info:             div 32    %462 = ffma %245, %248, %254
MESA: info:             div 32    %461 = ffma %94, %248, %125
MESA: info:             div 32    %259 = fmul %462, %462
MESA: info:             div 32    %459 = ffma %461, %461, %259
MESA: info:             div 32    %458 = ffma %463, %463, %459
MESA: info:             div 32    %263 = fsqrt %458
MESA: info:             con 32    %264 = load_const (0x3c23d70a = 0.010000)
MESA: info:             div 1     %265 = flt! %263, %264 (0.010000)
MESA: info:             div 32    %266 = frsq %458
MESA: info:             div 32    %267 = fmul %463, %266
MESA: info:             div 32    %268 = fmul %462, %266
MESA: info:             div 32    %269 = fmul %461, %266
MESA: info:             con 32    %273 = load_const (0xbd4ccccd = -0.050000)
MESA: info:             div 32    %457 = ffma %269, %128.z, %273 (-0.050000)
MESA: info:             div 32    %456 = ffma %268, %128.y, %457
MESA: info:             div 32    %455 = ffma %267, %128.x, %456
MESA: info:             div 32    %277 = fmax %455, %54 (0.000000)
MESA: info:             con 32    %278 = load_const (0x3e800000 = 0.250000)
MESA: info:             div 32    %279 = fmul %278 (0.250000), %263
MESA: info:             div 32    %280 = frcp %483
MESA: info:             div 32    %453 = fneg %279
MESA: info:             div 32    %454 = ffma %453, %280, %154 (1.000000)
MESA: info:             div 32    %284 = fsat %454
MESA: info:             div 32    %285 = fmul %277, %284
MESA: info:             div 32    %286 = bcsel %265, %54 (0x0), %285
MESA: info:             div 32    %287 = fadd %159, %286
MESA: info:                              // succs: b13
MESA: info:         } else {
MESA: info:             div block b12:  // preds: b10, succs: b13
MESA: info:         }
MESA: info:         con block b13:       // preds: b11 b12
MESA: info:         div 32    %288 = phi b11: %287, b12: %159
MESA: info:                          // succs: b7
MESA: info:     }
MESA: info:     con block b14:       // preds: b8
MESA: info:     div 32    %548 = phi b8: %159
MESA: info:     con 32    %290 = @load_const_ir3 (%54 (0x0)) (base=10)
MESA: info:     con 32    %291 = load_const (0x40400000 = 3.000000)
MESA: info:     div 32    %292 = fmul %548, %291 (3.000000)
MESA: info:     div 32    %293 = fmul %292, %290
MESA: info:     div 32    %294 = fsat %293
MESA: info:     con 32x3  %297 = @load_const_ir3 (%54 (0x0)) (base=16)
MESA: info:     con 32x3  %304 = @load_const_ir3 (%54 (0x0)) (base=20)
MESA: info:     con 32x3  %315 = @load_const_ir3 (%54 (0x0)) (base=24)
MESA: info:     div 32    %448 = fneg %125
MESA: info:     con 32x3  %328 = @load_const_ir3 (%54 (0x0)) (base=28)
MESA: info:     div 32x3  %534 = ffma %304, %124.xxx, %328
MESA: info:     div 32x3  %535 = ffma %297, %123.xxx, %534
MESA: info:     div 32x3  %536 = ffma %448.xxx, %315, %535
MESA: info:     con 32x4  %335 = @load_const_ir3 (%54 (0x0)) (base=128)
MESA: info:     con 32x4  %342 = @load_const_ir3 (%54 (0x0)) (base=132)
MESA: info:     con 32x4  %354 = @load_const_ir3 (%54 (0x0)) (base=136)
MESA: info:     con 32x4  %365 = @load_const_ir3 (%54 (0x0)) (base=140)
MESA: info:     div 32x4  %543 = ffma %342, %536.yyyy, %365
MESA: info:     div 32x4  %544 = ffma %335, %536.xxxx, %543
MESA: info:     div 32x4  %545 = ffma %354, %536.zzzz, %544
MESA: info:     div 32    %370 = frcp %545.w
MESA: info:     div 32x2  %546 = fmul %545.xy, %370.xx
MESA: info:     div 32    %373 = fmin! %546.y, %546.x
MESA: info:     div 1     %374 = flt! %373, %92 (-1.000000)
MESA: info:     div 32    %375 = fmax! %546.y, %546.x
MESA: info:     div 1     %376 = flt! %154 (1.000000), %375
MESA: info:     div 1     %517 = inot %374
MESA: info:     div 1     %518 = inot %376
MESA: info:     div 1     %519 = iand %517, %518
MESA: info:                      // succs: b15 b16
MESA: info:     if %519 {
MESA: info:         div block b15:       // preds: b14
MESA: info:         con 32    %305 = load_const (0x00000006 = 0.000000)
MESA: info:         con 32    %343 = load_const (0x00000007 = 0.000000)
MESA: info:         div 32x2  %547 = ffma %72 (0.500000).xx, %546, %72 (0.500000).xx
MESA: info:         div 32    %433 = ffma %72 (0.500000), %545.z, %72 (0.500000)
MESA: info:         con 32    %386 = @bindless_resource_ir3 (%343 (0x7)) (desc_set=2)
MESA: info:         con 32    %387 = @bindless_resource_ir3 (%305 (0x6)) (desc_set=2)
MESA: info:         div 32    %388 = (float32)tex %387 (texture_handle), %386 (sampler_handle), %547 (coord), %433 (comparator), 0 (texture), 0 (sampler)
MESA: info:                          // succs: b17
MESA: info:     } else {
MESA: info:         div block b16:  // preds: b14, succs: b17
MESA: info:     }
MESA: info:     con block b17:       // preds: b15 b16
MESA: info:     div 32    %389 = phi b15: %388, b16: %154 (1.000000)
MESA: info:     con 32    %390 = load_const (0xbeb33334 = -0.350000)
MESA: info:     div 32    %432 = ffma %389, %390 (-0.350000), %154 (1.000000)
MESA: info:     div 32    %430 = fneg %294
MESA: info:     div 32    %431 = ffma %430, %432, %154 (1.000000)
MESA: info:     div 32x4  %396 = vec4 %431, %154 (0x3f800000), %154 (0x3f800000), %154 (0x3f800000)
MESA: info:                      @store_output (%396, %54 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b18
MESA: info:     block b18:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 3bb6c00672f20e4fa9a836aef147ed5feb15e547:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (32 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      2
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           28 vec4 (0b -> 448b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          2
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c32.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @const(c36.x)	0xc0000000, 0xbf000000, 0x40000000, 0xbf800000
MESA: info: @const(c37.x)	0x3ccccccd, 0x3f400000, 0x3f000000, 0x00000000
MESA: info: @const(c38.x)	0x3c23d70a, 0xbd4ccccd, 0x3e800000, 0x3f800000
MESA: info: @const(c39.x)	0x40400000, 0xbeb33334, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l42
MESA: info: getone #l42
MESA: info: ldc.u.offset0.2.imm.base1 r48.z, 22, 1
MESA: info: ldc.u.offset2.1.imm.base1 r50.x, 4, 1
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#3, t#2
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#5, t#4
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#7, t#6
MESA: info: ldc.u.offset2.2.imm.base1 r49.x, 21, 1
MESA: info: mova1 a1.x, (r)16
MESA: info: (ss)nop
MESA: info: ldc.u.offset0.2.imm.base1 r48.x, 4, 1
MESA: info: (sy)mul.f r49.z, c36.x, r48.z
MESA: info: add.f r49.w, r48.w, r48.z
MESA: info: min.s r50.y, r50.x, 8
MESA: info: mul.f r49.z, r49.z, r48.w
MESA: info: cov.s32f32 r50.x, r50.x
MESA: info: add.f r48.w, r48.w, (neg)r48.z
MESA: info: rcp r49.x, r49.x
MESA: info: rcp r49.y, r49.y
MESA: info: (ss)rcp r48.x, r48.x
MESA: info: rcp r48.y, r48.y
MESA: info: rcp r50.x, r50.x
MESA: info: rcp r48.z, r48.z
MESA: info: stc.u32 c[4], r48.w, 1
MESA: info: stc.u32 c[3], r49.w, 1
MESA: info: stc.u32 c[7], r50.y, 1
MESA: info: stc.u32 c[2], r49.z, 1
MESA: info: stc.u32 c[8], r49.x, 1
MESA: info: stc.u32 c[9], r49.y, 1
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[1], r48.y, 1
MESA: info: stc.u32 c[10], r50.x, 1
MESA: info: stc.u32 c[6], r48.z, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[5], r48.w, 1
MESA: info: ldc.28.k.imm.base1 c[a1.x], 0, 1
MESA: info: (ss)mova1 a1.x, (r)128
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 2
MESA: info: (sy)(ss)shpe
MESA: info: l42:
MESA: info: (jp)(rpt1)bary.f (ei)r0.z, (r)0, (last)r0.x
MESA: info: mov.u32u32 r50.z, 0
MESA: info: mov.u32u32 r5.x, 0
MESA: info: mul.f r1.x, r0.z, c0.x
MESA: info: (nop1) mul.f r1.y, r0.w, c0.y
MESA: info: floor.f r1.x, (last)r1.x
MESA: info: (nop1) floor.f r1.y, (last)r1.y
MESA: info: add.f r1.x, (0.5), (last)r1.x
MESA: info: (nop1) add.f r1.y, (0.5), (last)r1.y
MESA: info: mul.f r1.x, (last)r1.x, c8.x
MESA: info: (nop1) mul.f r1.y, (last)r1.y, c8.y
MESA: info: add.f r1.z, r1.x, c36.y
MESA: info: (nop1) add.f r2.x, r1.y, c36.y
MESA: info: mul.f r1.z, (last)r1.z, (2.0)
MESA: info: sam.base2 (f32)(x)r1.w, r1.x, s#3, t#2
MESA: info: sam.base2 (f32)(xyz)r2.y, r1.x, s#1, t#0
MESA: info: (ss)mul.f r1.x, (last)r1.x, c25.x
MESA: info: mul.f r1.y, (last)r1.y, c25.y
MESA: info: mul.f r2.x, (last)r2.x, (2.0)
MESA: info: (nop1) mul.f r1.z, (last)r1.z, c25.z
MESA: info: (nop1) mul.f r2.x, (last)r2.x, c25.w
MESA: info: sam.base2 (f32)(xyz)r3.x, r1.x, s#5, t#4
MESA: info: (sy)mad.f32 r1.w, c36.z, r1.w, c36.w
MESA: info: (rpt1)mad.f32 r4.x, c36.z, (r)r3.y, c36.w
MESA: info: mad.f32 r1.w, c1.x, (neg)r1.w, c0.w
MESA: info: mad.f32 r3.w, c36.z, r3.x, c36.w
MESA: info: (nop1) mul.f r4.z, r4.x, r4.x
MESA: info: (nop1) mad.f32 r4.z, r4.y, r4.y, (last)r4.z
MESA: info: rcp r1.w, (last)r1.w
MESA: info: mad.f32 r4.z, r3.w, r3.w, (last)r4.z
MESA: info: (ss)(nop2) mad.f32 r1.w, (neg)c0.z, r1.w, (neg)c26.x
MESA: info: (nop1) mul.f r1.w, (last)r1.w, c1.y
MESA: info: rsq r4.z, (last)r4.z
MESA: info: nop
MESA: info: (nop2) mad.f32 r1.w, c1.x, r1.w, c26.x
MESA: info: (nop2) mul.f r1.w, (last)r1.w, c1.z
MESA: info: mul.f r1.z, (last)r1.z, r1.w
MESA: info: mul.f r2.x, (last)r2.x, r1.w
MESA: info: (nop2) mul.f r1.w, c26.x, (last)r1.w
MESA: info: (sat)(nop2) mul.f r4.w, r1.w, c37.x
MESA: info: mad.f32 r4.w, c37.z, r4.w, c37.y
MESA: info: (ss)(rpt2)mul.f r3.w, (last)(r)r3.w, (last)r4.z
MESA: info: l84:
MESA: info: cmps.s.ge hr53.z, r50.z, c1.w
MESA: info: (ss)(nop3) cmps.s.ne p0.x, hr53.z, h(0)
MESA: info: (rpt1)nop
MESA: info: br p0.x, #l169
MESA: info: shl.b r5.y, r50.z, 2
MESA: info: (nop2) add.u r50.z, r50.z, 1
MESA: info: cov.u32s16 hr10.z, (last)r5.y
MESA: info: (rpt1)nop
MESA: info: mova a0.x, (last)hr10.z
MESA: info: (rpt4)nop
MESA: info: mul.f r5.w, c<a0.x + 37>, r4.w
MESA: info: mul.f r6.x, c<a0.x + 38>, r4.w
MESA: info: (ul)mul.f r5.z, c<a0.x + 36>, r4.w
MESA: info: (nop1) mul.f r6.y, r4.x, r5.w
MESA: info: (nop1) mad.f32 r6.y, r4.y, r6.x, (last)r6.y
MESA: info: (nop2) mad.f32 r6.y, r3.w, r5.z, (last)r6.y
MESA: info: (nop2) mul.f r6.y, (last)r6.y, (2.0)
MESA: info: mad.f32 r6.x, (neg)r6.y, r4.y, (last)r6.x
MESA: info: (rpt1)mad.f32 r5.z, (neg)(last)r6.y, (r)r3.w, (r)(last)r5.z
MESA: info: add.f r6.x, (last)r6.x, (neg)r1.w
MESA: info: add.f r5.z, r1.z, (last)r5.z
MESA: info: (nop1) add.f r5.w, r2.x, (last)r5.w
MESA: info: mul.f r5.z, (last)r5.z, (0.5)
MESA: info: mul.f r5.w, (last)r5.w, (0.5)
MESA: info: rcp r6.x, (last)(neg)r6.x
MESA: info: nop
MESA: info: (ss)mul.f r5.z, (last)r5.z, r6.x
MESA: info: (nop1) mul.f r5.w, (last)r5.w, (last)r6.x
MESA: info: mul.f r5.z, (last)r5.z, c26.x
MESA: info: (nop1) mul.f r5.w, (last)r5.w, c26.x
MESA: info: mad.f32 r5.z, c2.x, r5.z, c37.z
MESA: info: (nop1) mad.f32 r5.w, c2.y, r5.w, c37.z
MESA: info: add.f r6.z, r5.z, (neg)r0.z
MESA: info: (nop1) add.f r6.w, r5.w, (neg)r0.w
MESA: info: cmps.f.lt p0.x, (last)(abs)r6.z, c8.x
MESA: info: (nop3) cmps.f.lt p0.y, (last)(abs)r6.w, c8.y
MESA: info: (rpt1)nop
MESA: info: braa p0.x, p0.y, #l168
MESA: info: rcp r7.z, r4.w
MESA: info: mul.f r5.z, (last)r5.z, c0.x
MESA: info: (nop1) mul.f r5.w, (last)r5.w, c0.y
MESA: info: floor.f r5.z, (last)r5.z
MESA: info: (nop1) floor.f r5.w, (last)r5.w
MESA: info: add.f r5.z, (0.5), (last)r5.z
MESA: info: (nop1) add.f r5.w, (0.5), (last)r5.w
MESA: info: mul.f r5.z, (last)r5.z, c8.x
MESA: info: (nop1) mul.f r5.w, (last)r5.w, c8.y
MESA: info: (nop2) add.f r7.x, r5.z, c36.y
MESA: info: mul.f r7.x, (last)r7.x, (2.0)
MESA: info: sam.base2 (f32)(x)r7.y, r5.z, s#3, t#2
MESA: info: (ss)(nop1) add.f r5.w, (last)r5.w, c36.y
MESA: info: mul.f r7.x, (last)r7.x, c25.z
MESA: info: (nop2) mul.f r5.w, (last)r5.w, (2.0)
MESA: info: mul.f r5.w, (last)r5.w, c25.w
MESA: info: (sy)(nop2) mad.f32 r7.y, c36.z, r7.y, c36.w
MESA: info: (nop3) mad.f32 r7.y, c1.x, (neg)r7.y, c0.w
MESA: info: (rpt1)nop
MESA: info: rcp r7.y, (last)r7.y
MESA: info: (ss)(nop2) mad.f32 r7.y, (neg)c0.z, r7.y, (neg)c26.x
MESA: info: (nop2) mul.f r7.y, (last)r7.y, c1.y
MESA: info: (nop2) mad.f32 r7.y, c1.x, r7.y, c26.x
MESA: info: (nop2) mul.f r7.y, (last)r7.y, c1.z
MESA: info: mad.f32 r5.w, (last)r5.w, r7.y, (neg)r2.x
MESA: info: mad.f32 r7.x, (last)r7.x, r7.y, (neg)r1.z
MESA: info: mad.f32 r7.y, (neg)c26.x, r7.y, r1.w
MESA: info: (nop1) mul.f r7.w, r5.w, r5.w
MESA: info: (nop1) mad.f32 r7.w, r7.y, r7.y, (last)r7.w
MESA: info: (nop3) mad.f32 r7.w, r7.x, r7.x, (last)r7.w
MESA: info: (rpt1)nop
MESA: info: sqrt r8.x, r7.w
MESA: info: (ss)rsq r7.w, (last)r7.w
MESA: info: mul.f r8.y, c38.z, r8.x
MESA: info: (nop1) cmps.f.lt r8.x, (last)r8.x, c38.x
MESA: info: (sat)mad.f32 r8.y, (neg)(last)r8.y, r7.z, c38.w
MESA: info: (ss)mul.f r7.y, (last)r7.y, r7.w
MESA: info: mul.f r5.w, (last)r5.w, r7.w
MESA: info: mul.f r7.x, (last)r7.x, (last)r7.w
MESA: info: (nop1) mad.f32 r7.y, (last)r7.y, r2.w, c38.y
MESA: info: (nop1) mad.f32 r5.w, (last)r5.w, r2.z, (last)r7.y
MESA: info: (nop2) mad.f32 r7.x, (last)r7.x, r2.y, (last)r5.w
MESA: info: (nop2) max.f r7.x, (last)r7.x, (0.0)
MESA: info: (nop1) mul.f r7.x, (last)r7.x, (last)r8.y
MESA: info: (nop2) sel.b32 r8.x, c37.w, r8.x, (last)r7.x
MESA: info: add.f r5.x, (last)r5.x, (last)r8.x
MESA: info: l168:
MESA: info: (jp)jump #l84
MESA: info: l169:
MESA: info: mad.f32 r8.z, c5.x, r2.x, c7.x
MESA: info: mad.f32 r8.w, c5.y, r2.x, c7.y
MESA: info: mad.f32 r2.x, c5.z, r2.x, c7.z
MESA: info: mad.f32 r8.z, c4.x, r1.z, (last)r8.z
MESA: info: mad.f32 r8.w, c4.y, r1.z, (last)r8.w
MESA: info: mad.f32 r1.z, c4.z, r1.z, (last)r2.x
MESA: info: mad.f32 r8.z, c6.x, (neg)r1.w, (last)r8.z
MESA: info: mad.f32 r8.w, c6.y, (neg)r1.w, (last)r8.w
MESA: info: mad.f32 r1.w, c6.z, (neg)r1.w, (last)r1.z
MESA: info: mul.f r5.x, (last)r5.x, c39.x
MESA: info: (rpt1)mad.f32 r10.x, (r)c33.z, r8.w, (r)c35.z
MESA: info: (rpt1)mad.f32 r10.x, (r)c32.z, r8.z, (r)(last)r10.x
MESA: info: (rpt1)mad.f32 r10.x, (r)c34.z, r1.w, (r)(last)r10.x
MESA: info: mad.f32 r9.x, c33.x, r8.w, c35.x
MESA: info: mad.f32 r9.w, c33.y, r8.w, c35.y
MESA: info: mad.f32 r9.x, c32.x, r8.z, (last)r9.x
MESA: info: mad.f32 r9.w, c32.y, r8.z, (last)r9.w
MESA: info: mad.f32 r9.y, c34.x, r1.w, (last)r9.x
MESA: info: rcp r10.y, (last)r10.y
MESA: info: mad.f32 r9.z, c34.y, r1.w, (last)r9.w
MESA: info: (sat)mul.f r5.x, (last)r5.x, c2.z
MESA: info: (ss)(rpt1)mul.f r9.y, (last)(r)r9.y, (last)r10.y
MESA: info: (rpt1)nop
MESA: info: min.f r10.z, r9.z, r9.y
MESA: info: (nop1) max.f r10.w, r9.z, r9.y
MESA: info: cmps.f.lt p0.x, (last)r10.z, c36.w
MESA: info: (nop3) cmps.f.lt p0.y, (1.0), (last)r10.w
MESA: info: (rpt1)nop
MESA: info: brao p0.x, p0.y, #l205
MESA: info: (rpt1)mad.f32 r9.y, c37.z, (r)r9.y, c37.z
MESA: info: (nop3) mad.f32 r10.x, c37.z, r10.x, c37.z
MESA: info: (rpt1)nop
MESA: info: alias.tex.b32.0 r9.w, r10.x
MESA: info: sam.s.base2 (f32)(x)r11.x, r9.y, s#7, t#6
MESA: info: (eq)nop
MESA: info: jump #l207
MESA: info: l205:
MESA: info: (eq)(jp)nop
MESA: info: mov.u32u32 r11.x, 0x3f800000
MESA: info: l207:
MESA: info: (jp)mov.u32u32 r0.y, 0x3f800000
MESA: info: mov.u32u32 r0.z, 0x3f800000
MESA: info: mov.u32u32 r0.w, 0x3f800000
MESA: info: (sy)(nop2) mad.f32 r11.x, c39.y, r11.x, c38.w
MESA: info: mad.f32 r0.x, (neg)(last)r5.x, r11.x, c38.w
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r0.x (FRAG_RESULT_DATA0)
MESA: info: ; FRAG: inputs: r0.z (VARYING_SLOT_VAR0 slot=32 cm=3,il=0,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 127/1: 278 instr, 110 nops, 168 non-nops, 7 mov, 1 cov, 448 dwords
MESA: info: ; FRAG prog 127/1: 0 last-baryf, 268 last-helper, 0 half, 12 full, 40 constlen
MESA: info: ; FRAG prog 127/1: 116 cat0, 8 cat1, 83 cat2, 57 cat3, 8 cat4, 5 cat5, 0 cat6, 1 cat7
MESA: info: ; FRAG prog 127/1: 58 sstall, 10 (ss), 84 systall, 3 (sy), 1 loops
MESA: info: ; FRAG prog 127/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 42 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; data0: r0.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x67be9a07, 0x145282e1, 0xf1364fbf, 0xf0db056a, 0xa1dfbb6f, 0xd21db3d3, 0x6a3130d0, 0x9cbe61bc}
MESA: info: inputs_read: 15
MESA: info: outputs_written: 0,32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 1
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #2 (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x4   %6 = @load_input (%5 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32x4  %10 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     con 32x4  %18 = @load_const_ir3 (%5 (0x0)) (base=4)
MESA: info:     div 32x4  %74 = fmul %18, %6.yyyy
MESA: info:     div 32x4  %77 = ffma %10, %6.xxxx, %74
MESA: info:     con 32x4  %30 = @load_const_ir3 (%5 (0x0)) (base=8)
MESA: info:     div 32x4  %80 = ffma %30, %6.zzzz, %77
MESA: info:     con 32x4  %42 = @load_const_ir3 (%5 (0x0)) (base=12)
MESA: info:     div 32x4  %83 = ffma %42, %6.wwww, %80
MESA: info:                     @store_output (%83, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x2  %52 = vec2 %6.x, %6.y
MESA: info:                     @store_output (%52, %5 (0x0)) (base=1, range=1, wrmask=xy, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 e0dd667ce9c1b0005aeccc32c88168d5b189c929:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)mul.f r1.x, c1.x, r0.y
MESA: info: mul.f r2.y, c1.y, r0.y
MESA: info: mul.f r2.z, c1.z, r0.y
MESA: info: mul.f r2.w, c1.w, r0.y
MESA: info: mad.f32 r1.x, c0.x, r0.x, (last)r1.x
MESA: info: mad.f32 r2.y, c0.y, r0.x, (last)r2.y
MESA: info: mad.f32 r2.z, c0.z, r0.x, (last)r2.z
MESA: info: mad.f32 r2.w, c0.w, r0.x, (last)r2.w
MESA: info: mad.f32 r1.y, c2.x, r0.z, (last)r1.x
MESA: info: mad.f32 r1.z, c2.y, r0.z, (last)r2.y
MESA: info: mad.f32 r1.w, c2.z, r0.z, (last)r2.z
MESA: info: mad.f32 r2.x, c2.w, r0.z, (last)r2.w
MESA: info: (rpt3)mad.f32 r3.x, (r)c3.x, r0.w, (r)(last)r1.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r3.x (VARYING_SLOT_POS) r0.x (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0)
MESA: info: ; VERT prog 128/1: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; VERT prog 128/1: 0 last-baryf, 0 last-helper, 0 half, 4 full, 8 constlen
MESA: info: ; VERT prog 128/1: 1 cat0, 0 cat1, 4 cat2, 12 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 128/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 128/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos: r3.x
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x67be9a07, 0x145282e1, 0xf1364fbf, 0xf0db056a, 0xa1dfbb6f, 0xd21db3d3, 0x6a3130d0, 0x9cbe61bc}
MESA: info: inputs_read: 15
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 1
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #2 (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x4   %6 = @load_input (%5 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32x4  %10 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     con 32x4  %18 = @load_const_ir3 (%5 (0x0)) (base=4)
MESA: info:     div 32x4  %74 = fmul %18, %6.yyyy
MESA: info:     div 32x4  %77 = ffma %10, %6.xxxx, %74
MESA: info:     con 32x4  %30 = @load_const_ir3 (%5 (0x0)) (base=8)
MESA: info:     div 32x4  %80 = ffma %30, %6.zzzz, %77
MESA: info:     con 32x4  %42 = @load_const_ir3 (%5 (0x0)) (base=12)
MESA: info:     div 32x4  %83 = ffma %42, %6.wwww, %80
MESA: info:                     @store_output (%83, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 f53df4f2509a8fcae820125c175eeebc8fa6954a:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)mul.f r1.x, c1.x, r0.y
MESA: info: mul.f r2.y, c1.y, r0.y
MESA: info: mad.f32 r1.x, c0.x, r0.x, (last)r1.x
MESA: info: mad.f32 r2.y, c0.y, r0.x, (last)r2.y
MESA: info: mad.f32 r1.y, c2.x, r0.z, (last)r1.x
MESA: info: (rpt1)mul.f r2.z, (r)c1.z, (last)r0.y
MESA: info: mad.f32 r1.z, c2.y, r0.z, (last)r2.y
MESA: info: (rpt1)mad.f32 r2.z, (r)c0.z, r0.x, (r)(last)r2.z
MESA: info: (rpt1)mad.f32 r1.w, (r)c2.z, r0.z, (r)(last)r2.z
MESA: info: (rpt3)mad.f32 r3.x, (r)c3.x, r0.w, (r)(last)r1.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r3.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0)
MESA: info: ; BVERT prog 128/2: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; BVERT prog 128/2: 0 last-baryf, 0 last-helper, 0 half, 4 full, 8 constlen
MESA: info: ; BVERT prog 128/2: 1 cat0, 0 cat1, 4 cat2, 12 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 128/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 128/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos: r3.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0xdf1c023e, 0x218cf860, 0x0f58ed74, 0xcc828214, 0x22d11b3d, 0xe278f982, 0x4ffcac9b, 0xe53b0b81}
MESA: info: inputs_read: 32
MESA: info: outputs_written: 4
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 1
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #0 (VARYING_SLOT_VAR0.xy, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #2
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%3 (0x1)) (desc_set=1)
MESA: info:             con 32    %181 = @load_ubo_vec4 (%4, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %224 = load_const (0xc0800000, 0xc0400000, 0xc0000000, 0x40000000) = (-4.000000, -3.000000, -2.000000, 2.000000)
MESA: info:             con 32x4  %225 = fmul %181.xxxx, %224 (-4.000000, -3.000000, -2.000000, 2.000000)
MESA: info:             con 32    %226 = mov %225.w
MESA: info:             con 32    %223 = mov %225.z
MESA: info:             con 32    %219 = mov %225.x
MESA: info:             con 32    %220 = mov %225.y
MESA: info:                              @store_const_ir3 (%219) (base=0)
MESA: info:                              @store_const_ir3 (%220) (base=1)
MESA: info:                              @store_const_ir3 (%223) (base=2)
MESA: info:                              @store_const_ir3 (%226) (base=3)
MESA: info:             con 32x2  %227 = load_const (0x40400000, 0x40800000) = (3.000000, 4.000000)
MESA: info:             con 32x2  %228 = fmul %181.xx, %227 (3.000000, 4.000000)
MESA: info:             con 32    %229 = mov %228.x
MESA: info:             con 32    %230 = mov %228.y
MESA: info:                              @store_const_ir3 (%229) (base=4)
MESA: info:                              @store_const_ir3 (%230) (base=5)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=16, range=4)
MESA: info:             con 32     %22 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %24 = @bindless_resource_ir3 (%3 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%22, %24)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %57 = load_const (0x00000000)
MESA: info:     div 32x2   %58 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x2   %59 = @load_interpolated_input (%58, %57 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32     %60 = load_const (0x3b800000 = 0.003906)
MESA: info:     con 32     %61 = load_const (0x3d000000 = 0.031250)
MESA: info:     con 32     %62 = load_const (0x3de00000 = 0.109375)
MESA: info:     con 32     %63 = load_const (0x3e600000 = 0.218750)
MESA: info:     con 32     %64 = load_const (0x3e8c0000 = 0.273438)
MESA: info:     con 32     %65 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32     %69 = @load_const_ir3 (%57 (0x0)) (base=16)
MESA: info:     con 32     %71 = @load_const_ir3 (%57 (0x0)) (base=0)
MESA: info:     div 32     %72 = fadd %59.x, %71
MESA: info:     div 32x2   %73 = vec2 %72, %59.y
MESA: info:     con 32     %74 = @bindless_resource_ir3 (%65 (0x1)) (desc_set=2)
MESA: info:     con 32     %75 = @bindless_resource_ir3 (%57 (0x0)) (desc_set=2)
MESA: info:     div 32x4   %76 = (float32)tex %75 (texture_handle), %74 (sampler_handle), %73 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32     %82 = @load_const_ir3 (%57 (0x0)) (base=1)
MESA: info:     div 32     %83 = fadd %59.x, %82
MESA: info:     div 32x2   %84 = vec2 %83, %59.y
MESA: info:     div 32x4   %85 = (float32)tex %75 (texture_handle), %74 (sampler_handle), %84 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %233 = fmul %85, %61 (0.031250).xxxx
MESA: info:     div 32x4  %236 = ffma %76, %60 (0.003906).xxxx, %233
MESA: info:     con 32     %95 = @load_const_ir3 (%57 (0x0)) (base=2)
MESA: info:     div 32     %96 = fadd %59.x, %95
MESA: info:     div 32x2   %97 = vec2 %96, %59.y
MESA: info:     div 32x4   %98 = (float32)tex %75 (texture_handle), %74 (sampler_handle), %97 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %239 = ffma %98, %62 (0.109375).xxxx, %236
MESA: info:     div 32    %208 = fsub %59.x, %69
MESA: info:     div 32x2  %109 = vec2 %208, %59.y
MESA: info:     div 32x4  %110 = (float32)tex %75 (texture_handle), %74 (sampler_handle), %109 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %242 = ffma %110, %63 (0.218750).xxxx, %239
MESA: info:     div 32x4  %119 = (float32)tex (pre-dispatchable) %75 (texture_handle), %74 (sampler_handle), %59 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %245 = ffma %119, %64 (0.273438).xxxx, %242
MESA: info:     div 32    %128 = fadd %59.x, %69
MESA: info:     div 32x2  %129 = vec2 %128, %59.y
MESA: info:     div 32x4  %130 = (float32)tex %75 (texture_handle), %74 (sampler_handle), %129 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %248 = ffma %130, %63 (0.218750).xxxx, %245
MESA: info:     con 32    %140 = @load_const_ir3 (%57 (0x0)) (base=3)
MESA: info:     div 32    %141 = fadd %59.x, %140
MESA: info:     div 32x2  %142 = vec2 %141, %59.y
MESA: info:     div 32x4  %143 = (float32)tex %75 (texture_handle), %74 (sampler_handle), %142 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %251 = ffma %143, %62 (0.109375).xxxx, %248
MESA: info:     con 32    %153 = @load_const_ir3 (%57 (0x0)) (base=4)
MESA: info:     div 32    %154 = fadd %59.x, %153
MESA: info:     div 32x2  %155 = vec2 %154, %59.y
MESA: info:     div 32x4  %156 = (float32)tex %75 (texture_handle), %74 (sampler_handle), %155 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %254 = ffma %156, %61 (0.031250).xxxx, %251
MESA: info:     con 32    %166 = @load_const_ir3 (%57 (0x0)) (base=5)
MESA: info:     div 32    %167 = fadd %59.x, %166
MESA: info:     div 32x2  %168 = vec2 %167, %59.y
MESA: info:     div 32x4  %169 = (float32)tex %75 (texture_handle), %74 (sampler_handle), %168 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %257 = ffma %169, %60 (0.003906).xxxx, %254
MESA: info:                      @store_output (%257, %57 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 a24fb2fb1ed0820fc2fac288479caa66bdaebd4f:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (4 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @tex(r0.z)	src=0, bindless=1, samp=1, tex=0, wrmask=0xf, opc=sam
MESA: info: @const(c8.x)	0xc0800000, 0xc0400000, 0xc0000000, 0x40400000
MESA: info: @const(c9.x)	0x3d000000, 0x3b800000, 0x3de00000, 0x3e600000
MESA: info: @const(c10.x)	0x3e8c0000, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l20
MESA: info: getone #l20
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: (ss)nop
MESA: info: ldc.u.offset0.1.imm.base1 r48.x, 0, 1
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)mul.f r48.y, r48.x, c8.x
MESA: info: (rpt1)mul.f r48.z, r48.x, (r)c8.y
MESA: info: mul.f r49.x, r48.x, (2.0)
MESA: info: mul.f r49.y, r48.x, c8.w
MESA: info: mul.f r48.x, r48.x, (4.0)
MESA: info: (ss)nop
MESA: info: stc.u32 c[0], r48.y, 1
MESA: info: stc.u32 c[1], r48.z, 1
MESA: info: stc.u32 c[2], r48.w, 1
MESA: info: stc.u32 c[3], r49.x, 1
MESA: info: stc.u32 c[4], r49.y, 1
MESA: info: stc.u32 c[5], r48.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l20:
MESA: info: (jp)(rpt1)bary.f (ei)r1.z, (r)0, (last)r0.x
MESA: info: nop
MESA: info: add.f r2.y, r1.z, c0.y
MESA: info: add.f r2.x, r1.z, c0.x
MESA: info: add.f r2.z, r1.z, c0.z
MESA: info: add.f r2.w, r1.z, (neg)c4.x
MESA: info: add.f r3.x, r1.z, c4.x
MESA: info: add.f r3.y, r1.z, c0.w
MESA: info: alias.tex.b32.0 r2.z, r1.w
MESA: info: sam.base2 (f32)(xyzw)r4.w, r2.y, s#1, t#0
MESA: info: add.f r4.z, r1.z, c1.x
MESA: info: alias.tex.b32.0 r2.y, r1.w
MESA: info: sam.base2 (f32)(xyzw)r3.z, r2.x, s#1, t#0
MESA: info: add.f r1.z, (last)r1.z, c1.y
MESA: info: alias.tex.b32.0 r2.w, r1.w
MESA: info: sam.base2 (f32)(xyzw)r5.w, r2.z, s#1, t#0
MESA: info: nop
MESA: info: alias.tex.b32.0 r3.x, r1.w
MESA: info: sam.base2 (f32)(xyzw)r6.w, r2.w, s#1, t#0
MESA: info: nop
MESA: info: alias.tex.b32.0 r3.y, r1.w
MESA: info: sam.base2 (f32)(xyzw)r7.w, r3.x, s#1, t#0
MESA: info: nop
MESA: info: alias.tex.b32.0 r3.z, r1.w
MESA: info: sam.base2 (f32)(xyzw)r8.w, r3.y, s#1, t#0
MESA: info: nop
MESA: info: alias.tex.b32.0 r4.w, r1.w
MESA: info: sam.base2 (f32)(xyzw)r9.w, r4.z, s#1, t#0
MESA: info: nop
MESA: info: sam.base2 (f32)(xyzw)r10.w, r1.z, s#1, t#0
MESA: info: (sy)mul.f r4.w, (last)r4.w, c9.x
MESA: info: mul.f r5.x, (last)r5.x, c9.x
MESA: info: mul.f r5.y, (last)r5.y, c9.x
MESA: info: mul.f r5.z, (last)r5.z, c9.x
MESA: info: mad.f32 r3.z, c9.y, r3.z, (last)r4.w
MESA: info: mad.f32 r3.w, c9.y, r3.w, (last)r5.x
MESA: info: mad.f32 r4.x, c9.y, r4.x, (last)r5.y
MESA: info: mad.f32 r4.y, c9.y, r4.y, (last)r5.z
MESA: info: mad.f32 r5.w, c9.z, r5.w, (last)r3.z
MESA: info: mad.f32 r6.x, c9.z, r6.x, (last)r3.w
MESA: info: mad.f32 r6.y, c9.z, r6.y, (last)r4.x
MESA: info: mad.f32 r6.z, c9.z, r6.z, (last)r4.y
MESA: info: mad.f32 r6.w, c9.w, r6.w, (last)r5.w
MESA: info: mad.f32 r7.x, c9.w, r7.x, (last)r6.x
MESA: info: mad.f32 r7.y, c9.w, r7.y, (last)r6.y
MESA: info: mad.f32 r7.z, c9.w, r7.z, (last)r6.z
MESA: info: mad.f32 r0.z, c10.x, r0.z, (last)r6.w
MESA: info: mad.f32 r0.w, c10.x, r0.w, (last)r7.x
MESA: info: mad.f32 r1.x, c10.x, r1.x, (last)r7.y
MESA: info: mad.f32 r1.y, c10.x, r1.y, (last)r7.z
MESA: info: mad.f32 r7.w, c9.w, r7.w, (last)r0.z
MESA: info: mad.f32 r8.x, c9.w, r8.x, (last)r0.w
MESA: info: mad.f32 r8.y, c9.w, r8.y, (last)r1.x
MESA: info: mad.f32 r8.z, c9.w, r8.z, (last)r1.y
MESA: info: mad.f32 r8.w, c9.z, r8.w, (last)r7.w
MESA: info: mad.f32 r9.x, c9.z, r9.x, (last)r8.x
MESA: info: mad.f32 r9.y, c9.z, r9.y, (last)r8.y
MESA: info: mad.f32 r9.z, c9.z, r9.z, (last)r8.z
MESA: info: mad.f32 r1.z, c9.x, r9.w, (last)r8.w
MESA: info: mad.f32 r1.w, c9.x, r10.x, (last)r9.x
MESA: info: mad.f32 r2.x, c9.x, r10.y, (last)r9.y
MESA: info: mad.f32 r2.y, c9.x, r10.z, (last)r9.z
MESA: info: (rpt3)mad.f32 r2.z, c9.y, (r)r10.w, (r)(last)r1.z
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r2.z (FRAG_RESULT_DATA0)
MESA: info: ; FRAG: inputs: r1.z (VARYING_SLOT_VAR0 slot=32 cm=3,il=0,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 129/1: 68 instr, 6 nops, 62 non-nops, 0 mov, 0 cov, 192 dwords
MESA: info: ; FRAG prog 129/1: 0 last-baryf, 67 last-helper, 0 half, 12 full, 12 constlen
MESA: info: ; FRAG prog 129/1: 7 cat0, 0 cat1, 14 cat2, 32 cat3, 0 cat4, 8 cat5, 0 cat6, 7 cat7
MESA: info: ; FRAG prog 129/1: 0 sstall, 0 (ss), 39 systall, 1 (sy), 0 loops
MESA: info: ; FRAG prog 129/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 21 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; data0: r2.z
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x67be9a07, 0x145282e1, 0xf1364fbf, 0xf0db056a, 0xa1dfbb6f, 0xd21db3d3, 0x6a3130d0, 0x9cbe61bc}
MESA: info: inputs_read: 15
MESA: info: outputs_written: 0,32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 1
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #2 (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x4   %6 = @load_input (%5 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32x4  %10 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     con 32x4  %18 = @load_const_ir3 (%5 (0x0)) (base=4)
MESA: info:     div 32x4  %74 = fmul %18, %6.yyyy
MESA: info:     div 32x4  %77 = ffma %10, %6.xxxx, %74
MESA: info:     con 32x4  %30 = @load_const_ir3 (%5 (0x0)) (base=8)
MESA: info:     div 32x4  %80 = ffma %30, %6.zzzz, %77
MESA: info:     con 32x4  %42 = @load_const_ir3 (%5 (0x0)) (base=12)
MESA: info:     div 32x4  %83 = ffma %42, %6.wwww, %80
MESA: info:                     @store_output (%83, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x2  %52 = vec2 %6.x, %6.y
MESA: info:                     @store_output (%52, %5 (0x0)) (base=1, range=1, wrmask=xy, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 e0dd667ce9c1b0005aeccc32c88168d5b189c929:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)mul.f r1.x, c1.x, r0.y
MESA: info: mul.f r2.y, c1.y, r0.y
MESA: info: mul.f r2.z, c1.z, r0.y
MESA: info: mul.f r2.w, c1.w, r0.y
MESA: info: mad.f32 r1.x, c0.x, r0.x, (last)r1.x
MESA: info: mad.f32 r2.y, c0.y, r0.x, (last)r2.y
MESA: info: mad.f32 r2.z, c0.z, r0.x, (last)r2.z
MESA: info: mad.f32 r2.w, c0.w, r0.x, (last)r2.w
MESA: info: mad.f32 r1.y, c2.x, r0.z, (last)r1.x
MESA: info: mad.f32 r1.z, c2.y, r0.z, (last)r2.y
MESA: info: mad.f32 r1.w, c2.z, r0.z, (last)r2.z
MESA: info: mad.f32 r2.x, c2.w, r0.z, (last)r2.w
MESA: info: (rpt3)mad.f32 r3.x, (r)c3.x, r0.w, (r)(last)r1.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r3.x (VARYING_SLOT_POS) r0.x (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0)
MESA: info: ; VERT prog 130/1: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; VERT prog 130/1: 0 last-baryf, 0 last-helper, 0 half, 4 full, 8 constlen
MESA: info: ; VERT prog 130/1: 1 cat0, 0 cat1, 4 cat2, 12 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 130/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 130/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos: r3.x
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x67be9a07, 0x145282e1, 0xf1364fbf, 0xf0db056a, 0xa1dfbb6f, 0xd21db3d3, 0x6a3130d0, 0x9cbe61bc}
MESA: info: inputs_read: 15
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 1
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #2 (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x4   %6 = @load_input (%5 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32x4  %10 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     con 32x4  %18 = @load_const_ir3 (%5 (0x0)) (base=4)
MESA: info:     div 32x4  %74 = fmul %18, %6.yyyy
MESA: info:     div 32x4  %77 = ffma %10, %6.xxxx, %74
MESA: info:     con 32x4  %30 = @load_const_ir3 (%5 (0x0)) (base=8)
MESA: info:     div 32x4  %80 = ffma %30, %6.zzzz, %77
MESA: info:     con 32x4  %42 = @load_const_ir3 (%5 (0x0)) (base=12)
MESA: info:     div 32x4  %83 = ffma %42, %6.wwww, %80
MESA: info:                     @store_output (%83, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 f53df4f2509a8fcae820125c175eeebc8fa6954a:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)mul.f r1.x, c1.x, r0.y
MESA: info: mul.f r2.y, c1.y, r0.y
MESA: info: mad.f32 r1.x, c0.x, r0.x, (last)r1.x
MESA: info: mad.f32 r2.y, c0.y, r0.x, (last)r2.y
MESA: info: mad.f32 r1.y, c2.x, r0.z, (last)r1.x
MESA: info: (rpt1)mul.f r2.z, (r)c1.z, (last)r0.y
MESA: info: mad.f32 r1.z, c2.y, r0.z, (last)r2.y
MESA: info: (rpt1)mad.f32 r2.z, (r)c0.z, r0.x, (r)(last)r2.z
MESA: info: (rpt1)mad.f32 r1.w, (r)c2.z, r0.z, (r)(last)r2.z
MESA: info: (rpt3)mad.f32 r3.x, (r)c3.x, r0.w, (r)(last)r1.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r3.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0)
MESA: info: ; BVERT prog 130/2: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; BVERT prog 130/2: 0 last-baryf, 0 last-helper, 0 half, 4 full, 8 constlen
MESA: info: ; BVERT prog 130/2: 1 cat0, 0 cat1, 4 cat2, 12 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 130/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 130/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos: r3.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x4155195f, 0x2fae03b6, 0xff1e26a8, 0xc5a893d3, 0x7b168d58, 0x96855327, 0x8b6980ff, 0x5bb8f7e4}
MESA: info: inputs_read: 32
MESA: info: outputs_written: 4
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 1
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #0 (VARYING_SLOT_VAR0.xy, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #2
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %4 = @bindless_resource_ir3 (%3 (0x1)) (desc_set=1)
MESA: info:             con 32    %181 = @load_ubo_vec4 (%4, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %224 = load_const (0xc0800000, 0xc0400000, 0xc0000000, 0x40000000) = (-4.000000, -3.000000, -2.000000, 2.000000)
MESA: info:             con 32x4  %225 = fmul %181.xxxx, %224 (-4.000000, -3.000000, -2.000000, 2.000000)
MESA: info:             con 32    %226 = mov %225.w
MESA: info:             con 32    %223 = mov %225.z
MESA: info:             con 32    %219 = mov %225.x
MESA: info:             con 32    %220 = mov %225.y
MESA: info:                              @store_const_ir3 (%219) (base=0)
MESA: info:                              @store_const_ir3 (%220) (base=1)
MESA: info:                              @store_const_ir3 (%223) (base=2)
MESA: info:                              @store_const_ir3 (%226) (base=3)
MESA: info:             con 32x2  %227 = load_const (0x40400000, 0x40800000) = (3.000000, 4.000000)
MESA: info:             con 32x2  %228 = fmul %181.xx, %227 (3.000000, 4.000000)
MESA: info:             con 32    %229 = mov %228.x
MESA: info:             con 32    %230 = mov %228.y
MESA: info:                              @store_const_ir3 (%229) (base=4)
MESA: info:                              @store_const_ir3 (%230) (base=5)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%4, %2 (0x0)) (base=16, range=4)
MESA: info:             con 32     %22 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %24 = @bindless_resource_ir3 (%3 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%22, %24)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %57 = load_const (0x00000000)
MESA: info:     div 32x2   %58 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x2   %59 = @load_interpolated_input (%58, %57 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32     %60 = load_const (0x3b800000 = 0.003906)
MESA: info:     con 32     %61 = load_const (0x3d000000 = 0.031250)
MESA: info:     con 32     %62 = load_const (0x3de00000 = 0.109375)
MESA: info:     con 32     %63 = load_const (0x3e600000 = 0.218750)
MESA: info:     con 32     %64 = load_const (0x3e8c0000 = 0.273438)
MESA: info:     con 32     %65 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32     %69 = @load_const_ir3 (%57 (0x0)) (base=16)
MESA: info:     con 32     %71 = @load_const_ir3 (%57 (0x0)) (base=0)
MESA: info:     div 32     %72 = fadd %59.y, %71
MESA: info:     div 32x2   %73 = vec2 %59.x, %72
MESA: info:     con 32     %74 = @bindless_resource_ir3 (%65 (0x1)) (desc_set=2)
MESA: info:     con 32     %75 = @bindless_resource_ir3 (%57 (0x0)) (desc_set=2)
MESA: info:     div 32x4   %76 = (float32)tex %75 (texture_handle), %74 (sampler_handle), %73 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32     %82 = @load_const_ir3 (%57 (0x0)) (base=1)
MESA: info:     div 32     %83 = fadd %59.y, %82
MESA: info:     div 32x2   %84 = vec2 %59.x, %83
MESA: info:     div 32x4   %85 = (float32)tex %75 (texture_handle), %74 (sampler_handle), %84 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %233 = fmul %85, %61 (0.031250).xxxx
MESA: info:     div 32x4  %236 = ffma %76, %60 (0.003906).xxxx, %233
MESA: info:     con 32     %95 = @load_const_ir3 (%57 (0x0)) (base=2)
MESA: info:     div 32     %96 = fadd %59.y, %95
MESA: info:     div 32x2   %97 = vec2 %59.x, %96
MESA: info:     div 32x4   %98 = (float32)tex %75 (texture_handle), %74 (sampler_handle), %97 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %239 = ffma %98, %62 (0.109375).xxxx, %236
MESA: info:     div 32    %208 = fsub %59.y, %69
MESA: info:     div 32x2  %109 = vec2 %59.x, %208
MESA: info:     div 32x4  %110 = (float32)tex %75 (texture_handle), %74 (sampler_handle), %109 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %242 = ffma %110, %63 (0.218750).xxxx, %239
MESA: info:     div 32x4  %119 = (float32)tex (pre-dispatchable) %75 (texture_handle), %74 (sampler_handle), %59 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %245 = ffma %119, %64 (0.273438).xxxx, %242
MESA: info:     div 32    %128 = fadd %59.y, %69
MESA: info:     div 32x2  %129 = vec2 %59.x, %128
MESA: info:     div 32x4  %130 = (float32)tex %75 (texture_handle), %74 (sampler_handle), %129 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %248 = ffma %130, %63 (0.218750).xxxx, %245
MESA: info:     con 32    %140 = @load_const_ir3 (%57 (0x0)) (base=3)
MESA: info:     div 32    %141 = fadd %59.y, %140
MESA: info:     div 32x2  %142 = vec2 %59.x, %141
MESA: info:     div 32x4  %143 = (float32)tex %75 (texture_handle), %74 (sampler_handle), %142 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %251 = ffma %143, %62 (0.109375).xxxx, %248
MESA: info:     con 32    %153 = @load_const_ir3 (%57 (0x0)) (base=4)
MESA: info:     div 32    %154 = fadd %59.y, %153
MESA: info:     div 32x2  %155 = vec2 %59.x, %154
MESA: info:     div 32x4  %156 = (float32)tex %75 (texture_handle), %74 (sampler_handle), %155 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %254 = ffma %156, %61 (0.031250).xxxx, %251
MESA: info:     con 32    %166 = @load_const_ir3 (%57 (0x0)) (base=5)
MESA: info:     div 32    %167 = fadd %59.y, %166
MESA: info:     div 32x2  %168 = vec2 %59.x, %167
MESA: info:     div 32x4  %169 = (float32)tex %75 (texture_handle), %74 (sampler_handle), %168 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x4  %257 = ffma %169, %60 (0.003906).xxxx, %254
MESA: info:                      @store_output (%257, %57 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 c7c11ccc5d1c90469902221132050b1b3148da2a:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (4 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @tex(r0.z)	src=0, bindless=1, samp=1, tex=0, wrmask=0xf, opc=sam
MESA: info: @const(c8.x)	0xc0800000, 0xc0400000, 0xc0000000, 0x40400000
MESA: info: @const(c9.x)	0x3d000000, 0x3b800000, 0x3de00000, 0x3e600000
MESA: info: @const(c10.x)	0x3e8c0000, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l20
MESA: info: getone #l20
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: (ss)nop
MESA: info: ldc.u.offset0.1.imm.base1 r48.x, 0, 1
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)mul.f r48.y, r48.x, c8.x
MESA: info: (rpt1)mul.f r48.z, r48.x, (r)c8.y
MESA: info: mul.f r49.x, r48.x, (2.0)
MESA: info: mul.f r49.y, r48.x, c8.w
MESA: info: mul.f r48.x, r48.x, (4.0)
MESA: info: (ss)nop
MESA: info: stc.u32 c[0], r48.y, 1
MESA: info: stc.u32 c[1], r48.z, 1
MESA: info: stc.u32 c[2], r48.w, 1
MESA: info: stc.u32 c[3], r49.x, 1
MESA: info: stc.u32 c[4], r49.y, 1
MESA: info: stc.u32 c[5], r48.x, 1
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l20:
MESA: info: (jp)(rpt1)bary.f (ei)r1.z, (r)0, (last)r0.x
MESA: info: (rpt1)nop
MESA: info: add.f r2.y, r1.w, c0.y
MESA: info: add.f r2.x, r1.w, c0.x
MESA: info: add.f r2.z, r1.w, c0.z
MESA: info: add.f r2.w, r1.w, (neg)c4.x
MESA: info: add.f r3.x, r1.w, c4.x
MESA: info: add.f r3.y, r1.w, c0.w
MESA: info: alias.tex.b32.0 r1.w, r2.y
MESA: info: sam.base2 (f32)(xyzw)r4.w, r1.z, s#1, t#0
MESA: info: add.f r4.z, r1.w, c1.x
MESA: info: alias.tex.b32.0 r1.w, r2.x
MESA: info: sam.base2 (f32)(xyzw)r3.z, r1.z, s#1, t#0
MESA: info: add.f r1.w, (last)r1.w, c1.y
MESA: info: alias.tex.b32.0 r1.w, r2.z
MESA: info: sam.base2 (f32)(xyzw)r5.w, r1.z, s#1, t#0
MESA: info: nop
MESA: info: alias.tex.b32.0 r1.w, r2.w
MESA: info: sam.base2 (f32)(xyzw)r6.w, r1.z, s#1, t#0
MESA: info: nop
MESA: info: alias.tex.b32.0 r1.w, r3.x
MESA: info: sam.base2 (f32)(xyzw)r7.w, r1.z, s#1, t#0
MESA: info: nop
MESA: info: alias.tex.b32.0 r1.w, r3.y
MESA: info: sam.base2 (f32)(xyzw)r8.w, r1.z, s#1, t#0
MESA: info: nop
MESA: info: alias.tex.b32.0 r1.w, r4.z
MESA: info: sam.base2 (f32)(xyzw)r9.w, r1.z, s#1, t#0
MESA: info: nop
MESA: info: sam.base2 (f32)(xyzw)r10.w, r1.z, s#1, t#0
MESA: info: (sy)mul.f r4.w, (last)r4.w, c9.x
MESA: info: mul.f r5.x, (last)r5.x, c9.x
MESA: info: mul.f r5.y, (last)r5.y, c9.x
MESA: info: mul.f r5.z, (last)r5.z, c9.x
MESA: info: mad.f32 r3.z, c9.y, r3.z, (last)r4.w
MESA: info: mad.f32 r3.w, c9.y, r3.w, (last)r5.x
MESA: info: mad.f32 r4.x, c9.y, r4.x, (last)r5.y
MESA: info: mad.f32 r4.y, c9.y, r4.y, (last)r5.z
MESA: info: mad.f32 r5.w, c9.z, r5.w, (last)r3.z
MESA: info: mad.f32 r6.x, c9.z, r6.x, (last)r3.w
MESA: info: mad.f32 r6.y, c9.z, r6.y, (last)r4.x
MESA: info: mad.f32 r6.z, c9.z, r6.z, (last)r4.y
MESA: info: mad.f32 r6.w, c9.w, r6.w, (last)r5.w
MESA: info: mad.f32 r7.x, c9.w, r7.x, (last)r6.x
MESA: info: mad.f32 r7.y, c9.w, r7.y, (last)r6.y
MESA: info: mad.f32 r7.z, c9.w, r7.z, (last)r6.z
MESA: info: mad.f32 r0.z, c10.x, r0.z, (last)r6.w
MESA: info: mad.f32 r0.w, c10.x, r0.w, (last)r7.x
MESA: info: mad.f32 r1.x, c10.x, r1.x, (last)r7.y
MESA: info: mad.f32 r1.y, c10.x, r1.y, (last)r7.z
MESA: info: mad.f32 r7.w, c9.w, r7.w, (last)r0.z
MESA: info: mad.f32 r8.x, c9.w, r8.x, (last)r0.w
MESA: info: mad.f32 r8.y, c9.w, r8.y, (last)r1.x
MESA: info: mad.f32 r8.z, c9.w, r8.z, (last)r1.y
MESA: info: mad.f32 r8.w, c9.z, r8.w, (last)r7.w
MESA: info: mad.f32 r9.x, c9.z, r9.x, (last)r8.x
MESA: info: mad.f32 r9.y, c9.z, r9.y, (last)r8.y
MESA: info: mad.f32 r9.z, c9.z, r9.z, (last)r8.z
MESA: info: mad.f32 r1.z, c9.x, r9.w, (last)r8.w
MESA: info: mad.f32 r1.w, c9.x, r10.x, (last)r9.x
MESA: info: mad.f32 r2.x, c9.x, r10.y, (last)r9.y
MESA: info: mad.f32 r2.y, c9.x, r10.z, (last)r9.z
MESA: info: (rpt3)mad.f32 r2.z, c9.y, (r)r10.w, (r)(last)r1.z
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r2.z (FRAG_RESULT_DATA0)
MESA: info: ; FRAG: inputs: r1.z (VARYING_SLOT_VAR0 slot=32 cm=3,il=0,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 131/1: 69 instr, 7 nops, 62 non-nops, 0 mov, 0 cov, 192 dwords
MESA: info: ; FRAG prog 131/1: 0 last-baryf, 68 last-helper, 0 half, 12 full, 12 constlen
MESA: info: ; FRAG prog 131/1: 8 cat0, 0 cat1, 14 cat2, 32 cat3, 0 cat4, 8 cat5, 0 cat6, 7 cat7
MESA: info: ; FRAG prog 131/1: 0 sstall, 0 (ss), 39 systall, 1 (sy), 0 loops
MESA: info: ; FRAG prog 131/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 21 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; data0: r2.z
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x67be9a07, 0x145282e1, 0xf1364fbf, 0xf0db056a, 0xa1dfbb6f, 0xd21db3d3, 0x6a3130d0, 0x9cbe61bc}
MESA: info: inputs_read: 15
MESA: info: outputs_written: 0,32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 1
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #2 (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x4   %6 = @load_input (%5 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32x4  %10 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     con 32x4  %18 = @load_const_ir3 (%5 (0x0)) (base=4)
MESA: info:     div 32x4  %74 = fmul %18, %6.yyyy
MESA: info:     div 32x4  %77 = ffma %10, %6.xxxx, %74
MESA: info:     con 32x4  %30 = @load_const_ir3 (%5 (0x0)) (base=8)
MESA: info:     div 32x4  %80 = ffma %30, %6.zzzz, %77
MESA: info:     con 32x4  %42 = @load_const_ir3 (%5 (0x0)) (base=12)
MESA: info:     div 32x4  %83 = ffma %42, %6.wwww, %80
MESA: info:                     @store_output (%83, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x2  %52 = vec2 %6.x, %6.y
MESA: info:                     @store_output (%52, %5 (0x0)) (base=1, range=1, wrmask=xy, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 e0dd667ce9c1b0005aeccc32c88168d5b189c929:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)mul.f r1.x, c1.x, r0.y
MESA: info: mul.f r2.y, c1.y, r0.y
MESA: info: mul.f r2.z, c1.z, r0.y
MESA: info: mul.f r2.w, c1.w, r0.y
MESA: info: mad.f32 r1.x, c0.x, r0.x, (last)r1.x
MESA: info: mad.f32 r2.y, c0.y, r0.x, (last)r2.y
MESA: info: mad.f32 r2.z, c0.z, r0.x, (last)r2.z
MESA: info: mad.f32 r2.w, c0.w, r0.x, (last)r2.w
MESA: info: mad.f32 r1.y, c2.x, r0.z, (last)r1.x
MESA: info: mad.f32 r1.z, c2.y, r0.z, (last)r2.y
MESA: info: mad.f32 r1.w, c2.z, r0.z, (last)r2.z
MESA: info: mad.f32 r2.x, c2.w, r0.z, (last)r2.w
MESA: info: (rpt3)mad.f32 r3.x, (r)c3.x, r0.w, (r)(last)r1.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r3.x (VARYING_SLOT_POS) r0.x (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0)
MESA: info: ; VERT prog 132/1: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; VERT prog 132/1: 0 last-baryf, 0 last-helper, 0 half, 4 full, 8 constlen
MESA: info: ; VERT prog 132/1: 1 cat0, 0 cat1, 4 cat2, 12 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 132/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 132/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos: r3.x
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x67be9a07, 0x145282e1, 0xf1364fbf, 0xf0db056a, 0xa1dfbb6f, 0xd21db3d3, 0x6a3130d0, 0x9cbe61bc}
MESA: info: inputs_read: 15
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 1
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #2 (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x4   %6 = @load_input (%5 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32x4  %10 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     con 32x4  %18 = @load_const_ir3 (%5 (0x0)) (base=4)
MESA: info:     div 32x4  %74 = fmul %18, %6.yyyy
MESA: info:     div 32x4  %77 = ffma %10, %6.xxxx, %74
MESA: info:     con 32x4  %30 = @load_const_ir3 (%5 (0x0)) (base=8)
MESA: info:     div 32x4  %80 = ffma %30, %6.zzzz, %77
MESA: info:     con 32x4  %42 = @load_const_ir3 (%5 (0x0)) (base=12)
MESA: info:     div 32x4  %83 = ffma %42, %6.wwww, %80
MESA: info:                     @store_output (%83, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 f53df4f2509a8fcae820125c175eeebc8fa6954a:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)mul.f r1.x, c1.x, r0.y
MESA: info: mul.f r2.y, c1.y, r0.y
MESA: info: mad.f32 r1.x, c0.x, r0.x, (last)r1.x
MESA: info: mad.f32 r2.y, c0.y, r0.x, (last)r2.y
MESA: info: mad.f32 r1.y, c2.x, r0.z, (last)r1.x
MESA: info: (rpt1)mul.f r2.z, (r)c1.z, (last)r0.y
MESA: info: mad.f32 r1.z, c2.y, r0.z, (last)r2.y
MESA: info: (rpt1)mad.f32 r2.z, (r)c0.z, r0.x, (r)(last)r2.z
MESA: info: (rpt1)mad.f32 r1.w, (r)c2.z, r0.z, (r)(last)r2.z
MESA: info: (rpt3)mad.f32 r3.x, (r)c3.x, r0.w, (r)(last)r1.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r3.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0)
MESA: info: ; BVERT prog 132/2: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; BVERT prog 132/2: 0 last-baryf, 0 last-helper, 0 half, 4 full, 8 constlen
MESA: info: ; BVERT prog 132/2: 1 cat0, 0 cat1, 4 cat2, 12 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 132/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 132/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos: r3.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0xe2b7bab2, 0x4e42c8ea, 0x5112f2c3, 0x7e5b2e10, 0xbb02c461, 0x9b412d31, 0xf11a71ac, 0x4a9055bb}
MESA: info: inputs_read: 32
MESA: info: outputs_written: 4
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 1
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #0 (VARYING_SLOT_VAR0.xy, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #2
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x2)) (desc_set=2)
MESA: info:             con 32     %4 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32     %5 = @bindless_resource_ir3 (%4 (0x3)) (desc_set=2)
MESA: info:                             @prefetch_sam_ir3 (%3, %5)
MESA: info:             con 32     %6 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %7 = @bindless_resource_ir3 (%6 (0x0)) (desc_set=2)
MESA: info:             con 32     %8 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %9 = @bindless_resource_ir3 (%8 (0x1)) (desc_set=2)
MESA: info:                             @prefetch_sam_ir3 (%7, %9)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32    %10 = load_const (0x00000000)
MESA: info:     div 32x2  %11 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x2  %12 = @load_interpolated_input (%11, %10 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32    %13 = load_const (0x00000003 = 0.000000)
MESA: info:     con 32    %14 = @bindless_resource_ir3 (%13 (0x3)) (desc_set=2)
MESA: info:     con 32    %15 = load_const (0x00000002 = 0.000000)
MESA: info:     con 32    %16 = @bindless_resource_ir3 (%15 (0x2)) (desc_set=2)
MESA: info:     div 32x4  %17 = (float32)tex (pre-dispatchable) %16 (texture_handle), %14 (sampler_handle), %12 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32    %18 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32    %19 = @bindless_resource_ir3 (%18 (0x1)) (desc_set=2)
MESA: info:     con 32    %20 = @bindless_resource_ir3 (%10 (0x0)) (desc_set=2)
MESA: info:     div 32x4  %21 = (float32)tex (pre-dispatchable) %20 (texture_handle), %19 (sampler_handle), %12 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %28 = fmul %17.xxx, %21.xyz
MESA: info:     con 32    %25 = load_const (0x3f800000 = 1.000000)
MESA: info:     div 32x4  %26 = vec4 %28.x, %28.y, %28.z, %25 (0x3f800000)
MESA: info:                     @store_output (%26, %10 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 48e69ac2cda86a3361d173285c04bfb4216033af:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @tex(r0.z)	src=0, bindless=1, samp=3, tex=2, wrmask=0x1, opc=sam
MESA: info: @tex(r0.w)	src=0, bindless=1, samp=1, tex=0, wrmask=0x7, opc=sam
MESA: info: shps #l5
MESA: info: getone #l5
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#3, t#2
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: (sy)(ss)shpe
MESA: info: l5:
MESA: info: (jp)bary.f (ei)r63.x, 0, (last)r0.x
MESA: info: (sy)(rpt2)mul.f r1.z, (last)r0.z, (last)(r)r0.w
MESA: info: mov.u32u32 r2.y, 0x3f800000
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r1.z (FRAG_RESULT_DATA0)
MESA: info: ; FRAG: inputs: r63.x (VARYING_SLOT_VAR0 slot=32 cm=3,il=0,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 133/1: 6 instr, 0 nops, 6 non-nops, 1 mov, 0 cov, 32 dwords
MESA: info: ; FRAG prog 133/1: 0 last-baryf, 0 last-helper, 0 half, 3 full, 4 constlen
MESA: info: ; FRAG prog 133/1: 1 cat0, 1 cat1, 4 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; FRAG prog 133/1: 0 sstall, 0 (ss), 0 systall, 1 (sy), 0 loops
MESA: info: ; FRAG prog 133/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 5 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; data0: r1.z
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x0d001f4f, 0xb9ac15d3, 0x228bc9fe, 0x94bda326, 0xcd4e6f6f, 0xf3a7eb78, 0x533132c5, 0x04ac29a9}
MESA: info: inputs_read: 15-16
MESA: info: outputs_written: 0,32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 2
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #1 (VERT_ATTRIB_GENERIC1.xy, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #2 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #3 (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #4
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x3   %6 = @load_input (%5 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x2   %7 = @load_input (%5 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     con 32x4  %11 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     con 32x4  %19 = @load_const_ir3 (%5 (0x0)) (base=4)
MESA: info:     div 32x4  %66 = fmul %19, %6.yyyy
MESA: info:     div 32x4  %69 = ffma %11, %6.xxxx, %66
MESA: info:     con 32x4  %31 = @load_const_ir3 (%5 (0x0)) (base=8)
MESA: info:     div 32x4  %72 = ffma %31, %6.zzzz, %69
MESA: info:     con 32x4  %43 = @load_const_ir3 (%5 (0x0)) (base=12)
MESA: info:     div 32x4  %75 = fadd %72, %43
MESA: info:                     @store_output (%75, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                     @store_output (%7, %5 (0x0)) (base=1, range=1, wrmask=xy, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 da8d7a0d645704e94663a08fa94f79dd360315aa:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x3)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)mul.f r1.y, c1.x, r0.y
MESA: info: mul.f r2.z, c1.y, r0.y
MESA: info: mad.f32 r1.y, c0.x, r0.x, (last)r1.y
MESA: info: mad.f32 r2.z, c0.y, r0.x, (last)r2.z
MESA: info: mad.f32 r1.z, c2.x, r0.z, (last)r1.y
MESA: info: mad.f32 r1.w, c2.y, r0.z, (last)r2.z
MESA: info: (rpt1)mul.f r2.w, (r)c1.z, (last)r0.y
MESA: info: (rpt1)mad.f32 r2.w, (r)c0.z, r0.x, (r)(last)r2.w
MESA: info: (rpt1)mad.f32 r2.x, (r)c2.z, r0.z, (r)(last)r2.w
MESA: info: (rpt3)add.f r3.y, (last)(r)r1.z, (r)c3.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r3.y (VARYING_SLOT_POS) r0.w (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=3,il=0,b=0)
MESA: info: ; VERT prog 134/1: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; VERT prog 134/1: 0 last-baryf, 0 last-helper, 0 half, 5 full, 8 constlen
MESA: info: ; VERT prog 134/1: 1 cat0, 0 cat1, 8 cat2, 8 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 134/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 134/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos: r3.y
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x0d001f4f, 0xb9ac15d3, 0x228bc9fe, 0x94bda326, 0xcd4e6f6f, 0xf3a7eb78, 0x533132c5, 0x04ac29a9}
MESA: info: inputs_read: 15-16
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 2
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #1 (VERT_ATTRIB_GENERIC1.xy, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #2 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #3 (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #4
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x3   %6 = @load_input (%5 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32x4  %11 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     con 32x4  %19 = @load_const_ir3 (%5 (0x0)) (base=4)
MESA: info:     div 32x4  %66 = fmul %19, %6.yyyy
MESA: info:     div 32x4  %69 = ffma %11, %6.xxxx, %66
MESA: info:     con 32x4  %31 = @load_const_ir3 (%5 (0x0)) (base=8)
MESA: info:     div 32x4  %72 = ffma %31, %6.zzzz, %69
MESA: info:     con 32x4  %43 = @load_const_ir3 (%5 (0x0)) (base=12)
MESA: info:     div 32x4  %75 = fadd %72, %43
MESA: info:                     @store_output (%75, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 23e7bb942a00af4c828419fb3590fa9c389e3a7c:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)mul.f r0.w, c1.x, r0.y
MESA: info: mul.f r2.x, c1.y, r0.y
MESA: info: mad.f32 r0.w, c0.x, r0.x, (last)r0.w
MESA: info: mad.f32 r2.x, c0.y, r0.x, (last)r2.x
MESA: info: mad.f32 r1.x, c2.x, r0.z, (last)r0.w
MESA: info: mad.f32 r1.y, c2.y, r0.z, (last)r2.x
MESA: info: (rpt1)mul.f r2.y, (r)c1.z, (last)r0.y
MESA: info: (rpt1)mad.f32 r2.y, (r)c0.z, r0.x, (r)(last)r2.y
MESA: info: (rpt1)mad.f32 r1.z, (r)c2.z, r0.z, (r)(last)r2.y
MESA: info: (rpt3)add.f r2.w, (last)(r)r1.x, (r)c3.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r2.w (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0)
MESA: info: ; BVERT prog 134/2: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; BVERT prog 134/2: 0 last-baryf, 0 last-helper, 0 half, 4 full, 8 constlen
MESA: info: ; BVERT prog 134/2: 1 cat0, 0 cat1, 8 cat2, 8 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 134/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 134/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos: r2.w
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0xa5c8e1d3, 0xe01e3179, 0x0922eb88, 0xcb06ae74, 0xa0f8082e, 0x1b3c127d, 0x0aa2e8f5, 0x790a7b22}
MESA: info: inputs_read: 32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: uses_discard: true
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #0 (VARYING_SLOT_VAR0.xy, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #1
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x1)) (desc_set=1)
MESA: info:             con 32     %4 = load_const (0x00000000 = 0.000000)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %4 (0x0)) (base=0, range=4)
MESA: info:             con 32     %6 = @bindless_resource_ir3 (%4 (0x0)) (desc_set=2)
MESA: info:             con 32     %8 = @bindless_resource_ir3 (%2 (0x1)) (desc_set=2)
MESA: info:                             @prefetch_sam_ir3 (%6, %8)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %9 = load_const (0x00000000)
MESA: info:     div 32x2  %10 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x2  %11 = @load_interpolated_input (%10, %9 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32    %12 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32    %13 = @bindless_resource_ir3 (%12 (0x1)) (desc_set=2)
MESA: info:     con 32    %14 = @bindless_resource_ir3 (%9 (0x0)) (desc_set=2)
MESA: info:     div 32x4  %15 = (float32)tex (pre-dispatchable) %14 (texture_handle), %13 (sampler_handle), %11 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32    %16 = load_const (0x3d93dd98 = 0.072200)
MESA: info:     con 32    %17 = load_const (0x3f371759 = 0.715200)
MESA: info:     con 32    %18 = load_const (0x3e59b3d0 = 0.212600)
MESA: info:     div 32    %20 = fmul %17 (0.715200), %15.y
MESA: info:     div 32    %33 = ffma %16 (0.072200), %15.z, %20
MESA: info:     div 32    %32 = ffma %18 (0.212600), %15.x, %33
MESA: info:     con 32x2  %27 = @load_const_ir3 (%9 (0x0)) (base=0)
MESA: info:     div 1     %28 = flt! %32, %27.x
MESA: info:     div 1     %29 = fge! %32, %27.y
MESA: info:     div 1     %30 = ior %28, %29
MESA: info:                     @demote_if (%30)
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 c49e75036b58aa93f51b84b97f18a3cebaedd02b:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @tex(r0.z)	src=0, bindless=1, samp=1, tex=0, wrmask=0x7, opc=sam
MESA: info: @const(c4.x)	0x3e59b3d0, 0x3d93dd98, 0x3f371759, 0xd0d0d0d0
MESA: info: shps #l7
MESA: info: getone #l7
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l7:
MESA: info: (jp)bary.f (ei)r63.x, 0, (last)r0.x
MESA: info: (sy)(nop1) mul.f r0.w, c4.z, (last)r0.w
MESA: info: (nop1) mad.f32 r1.x, c4.y, r1.x, (last)r0.w
MESA: info: (nop2) mad.f32 r0.z, c4.x, r0.z, (last)r1.x
MESA: info: cmps.f.lt hr2.z, r0.z, c0.x
MESA: info: (nop2) cmps.f.ge hr1.x, (last)r0.z, c0.y
MESA: info: (nop3) or.b p0.x, (last)hr2.z, (last)hr1.x
MESA: info: (rpt1)nop
MESA: info: kill p0.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs:
MESA: info: ; FRAG: inputs: r63.x (VARYING_SLOT_VAR0 slot=32 cm=3,il=0,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 135/1: 20 instr, 11 nops, 9 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; FRAG prog 135/1: 0 last-baryf, 0 last-helper, 0 half, 2 full, 8 constlen
MESA: info: ; FRAG prog 135/1: 13 cat0, 0 cat1, 5 cat2, 2 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; FRAG prog 135/1: 0 sstall, 0 (ss), 0 systall, 1 (sy), 0 loops
MESA: info: ; FRAG prog 135/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 7 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x67be9a07, 0x145282e1, 0xf1364fbf, 0xf0db056a, 0xa1dfbb6f, 0xd21db3d3, 0x6a3130d0, 0x9cbe61bc}
MESA: info: inputs_read: 15
MESA: info: outputs_written: 0,32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 1
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #2 (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x4   %6 = @load_input (%5 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32x4  %10 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     con 32x4  %18 = @load_const_ir3 (%5 (0x0)) (base=4)
MESA: info:     div 32x4  %74 = fmul %18, %6.yyyy
MESA: info:     div 32x4  %77 = ffma %10, %6.xxxx, %74
MESA: info:     con 32x4  %30 = @load_const_ir3 (%5 (0x0)) (base=8)
MESA: info:     div 32x4  %80 = ffma %30, %6.zzzz, %77
MESA: info:     con 32x4  %42 = @load_const_ir3 (%5 (0x0)) (base=12)
MESA: info:     div 32x4  %83 = ffma %42, %6.wwww, %80
MESA: info:                     @store_output (%83, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x2  %52 = vec2 %6.x, %6.y
MESA: info:                     @store_output (%52, %5 (0x0)) (base=1, range=1, wrmask=xy, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 e0dd667ce9c1b0005aeccc32c88168d5b189c929:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)mul.f r1.x, c1.x, r0.y
MESA: info: mul.f r2.y, c1.y, r0.y
MESA: info: mul.f r2.z, c1.z, r0.y
MESA: info: mul.f r2.w, c1.w, r0.y
MESA: info: mad.f32 r1.x, c0.x, r0.x, (last)r1.x
MESA: info: mad.f32 r2.y, c0.y, r0.x, (last)r2.y
MESA: info: mad.f32 r2.z, c0.z, r0.x, (last)r2.z
MESA: info: mad.f32 r2.w, c0.w, r0.x, (last)r2.w
MESA: info: mad.f32 r1.y, c2.x, r0.z, (last)r1.x
MESA: info: mad.f32 r1.z, c2.y, r0.z, (last)r2.y
MESA: info: mad.f32 r1.w, c2.z, r0.z, (last)r2.z
MESA: info: mad.f32 r2.x, c2.w, r0.z, (last)r2.w
MESA: info: (rpt3)mad.f32 r3.x, (r)c3.x, r0.w, (r)(last)r1.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r3.x (VARYING_SLOT_POS) r0.x (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0)
MESA: info: ; VERT prog 136/1: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; VERT prog 136/1: 0 last-baryf, 0 last-helper, 0 half, 4 full, 8 constlen
MESA: info: ; VERT prog 136/1: 1 cat0, 0 cat1, 4 cat2, 12 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 136/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 136/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos: r3.x
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x67be9a07, 0x145282e1, 0xf1364fbf, 0xf0db056a, 0xa1dfbb6f, 0xd21db3d3, 0x6a3130d0, 0x9cbe61bc}
MESA: info: inputs_read: 15
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 1
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #2 (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x4   %6 = @load_input (%5 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32x4  %10 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     con 32x4  %18 = @load_const_ir3 (%5 (0x0)) (base=4)
MESA: info:     div 32x4  %74 = fmul %18, %6.yyyy
MESA: info:     div 32x4  %77 = ffma %10, %6.xxxx, %74
MESA: info:     con 32x4  %30 = @load_const_ir3 (%5 (0x0)) (base=8)
MESA: info:     div 32x4  %80 = ffma %30, %6.zzzz, %77
MESA: info:     con 32x4  %42 = @load_const_ir3 (%5 (0x0)) (base=12)
MESA: info:     div 32x4  %83 = ffma %42, %6.wwww, %80
MESA: info:                     @store_output (%83, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 f53df4f2509a8fcae820125c175eeebc8fa6954a:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)mul.f r1.x, c1.x, r0.y
MESA: info: mul.f r2.y, c1.y, r0.y
MESA: info: mad.f32 r1.x, c0.x, r0.x, (last)r1.x
MESA: info: mad.f32 r2.y, c0.y, r0.x, (last)r2.y
MESA: info: mad.f32 r1.y, c2.x, r0.z, (last)r1.x
MESA: info: (rpt1)mul.f r2.z, (r)c1.z, (last)r0.y
MESA: info: mad.f32 r1.z, c2.y, r0.z, (last)r2.y
MESA: info: (rpt1)mad.f32 r2.z, (r)c0.z, r0.x, (r)(last)r2.z
MESA: info: (rpt1)mad.f32 r1.w, (r)c2.z, r0.z, (r)(last)r2.z
MESA: info: (rpt3)mad.f32 r3.x, (r)c3.x, r0.w, (r)(last)r1.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r3.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0)
MESA: info: ; BVERT prog 136/2: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; BVERT prog 136/2: 0 last-baryf, 0 last-helper, 0 half, 4 full, 8 constlen
MESA: info: ; BVERT prog 136/2: 1 cat0, 0 cat1, 4 cat2, 12 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 136/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 136/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos: r3.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0xba15e555, 0xd4211bc0, 0xb5799ad0, 0x4597b577, 0xce7249f6, 0x81b51a80, 0x29c1e3e2, 0x332e8a58}
MESA: info: inputs_read: 32
MESA: info: outputs_written: 4
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 1
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #0 (VARYING_SLOT_VAR0.xy, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec3 #1 (FRAG_RESULT_DATA0.xyz, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #2
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x1)) (desc_set=1)
MESA: info:             con 32     %4 = load_const (0x00000000 = 0.000000)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %4 (0x0)) (base=0, range=4)
MESA: info:             con 32     %6 = @bindless_resource_ir3 (%4 (0x0)) (desc_set=2)
MESA: info:             con 32     %8 = @bindless_resource_ir3 (%2 (0x1)) (desc_set=2)
MESA: info:                             @prefetch_sam_ir3 (%6, %8)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %9 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x2  %10 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x2  %11 = @load_interpolated_input (%10, %9 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32    %12 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32    %13 = @bindless_resource_ir3 (%12 (0x1)) (desc_set=2)
MESA: info:     con 32    %14 = @bindless_resource_ir3 (%9 (0x0)) (desc_set=2)
MESA: info:     div 32x4  %15 = (float32)tex (pre-dispatchable) %14 (texture_handle), %13 (sampler_handle), %11 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x3  %46 = fmax %15.xyz, %9 (0.000000).xxx
MESA: info:     div 32    %19 = fmin %46.y, %46.z
MESA: info:     div 32    %20 = fmin %46.x, %19
MESA: info:     div 32    %21 = fmax %46.y, %46.z
MESA: info:     div 32    %22 = fmax %46.x, %21
MESA: info:     div 32    %23 = fadd %20, %22
MESA: info:     con 32    %24 = load_const (0x3f000000 = 0.500000)
MESA: info:     div 32    %25 = fmul %24 (0.500000), %23
MESA: info:     con 32    %29 = @load_const_ir3 (%9 (0x0)) (base=0)
MESA: info:     div 1     %30 = flt! %25, %29
MESA: info:     div 32    %44 = fsub %25, %29
MESA: info:     div 32    %33 = fsqrt %44
MESA: info:     div 32    %34 = frcp %25
MESA: info:     div 32    %35 = fmul %33, %34
MESA: info:     div 32x3  %48 = fmul %35.xxx, %46
MESA: info:     div 32x3  %50 = bcsel %30.xxx, %9 (0x0).xxx, %48
MESA: info:                     @store_output (%50, %9 (0x0)) (base=0, range=1, wrmask=xyz, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 526b2517e7b4bf0943a4d1788a08569f68d9a445:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @tex(r0.z)	src=0, bindless=1, samp=1, tex=0, wrmask=0x7, opc=sam
MESA: info: @const(c4.x)	0x00000000, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l7
MESA: info: getone #l7
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l7:
MESA: info: (jp)bary.f (ei)r63.x, 0, (last)r0.x
MESA: info: (sy)(rpt1)max.f r1.z, (last)(r)r0.w, (0.0)
MESA: info: (nop1) max.f r1.y, (last)r0.z, (0.0)
MESA: info: min.f r2.x, r1.z, r1.w
MESA: info: (nop1) max.f r2.y, r1.z, r1.w
MESA: info: min.f r2.x, r1.y, (last)r2.x
MESA: info: (nop2) max.f r2.y, r1.y, (last)r2.y
MESA: info: (nop2) add.f r2.x, (last)r2.x, (last)r2.y
MESA: info: (nop2) mul.f r2.x, (0.5), (last)r2.x
MESA: info: (nop2) add.f r2.z, r2.x, (neg)c0.x
MESA: info: rcp r2.w, r2.x
MESA: info: (rpt2)nop
MESA: info: sqrt r2.z, (last)r2.z
MESA: info: (ss)cmps.f.lt r2.x, (last)r2.x, c0.x
MESA: info: (nop2) mul.f r2.z, (last)r2.z, (last)r2.w
MESA: info: (rpt2)mul.f r1.y, (last)r2.z, (last)(r)r1.y
MESA: info: (rpt2)sel.b32 r3.x, c4.x, r2.x, (r)(last)r1.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r3.x (FRAG_RESULT_DATA0)
MESA: info: ; FRAG: inputs: r63.x (VARYING_SLOT_VAR0 slot=32 cm=3,il=0,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 137/1: 37 instr, 15 nops, 22 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; FRAG prog 137/1: 0 last-baryf, 0 last-helper, 0 half, 4 full, 8 constlen
MESA: info: ; FRAG prog 137/1: 16 cat0, 0 cat1, 16 cat2, 3 cat3, 2 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; FRAG prog 137/1: 10 sstall, 1 (ss), 0 systall, 1 (sy), 0 loops
MESA: info: ; FRAG prog 137/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 7 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; data0: r3.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x67be9a07, 0x145282e1, 0xf1364fbf, 0xf0db056a, 0xa1dfbb6f, 0xd21db3d3, 0x6a3130d0, 0x9cbe61bc}
MESA: info: inputs_read: 15
MESA: info: outputs_written: 0,32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 1
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #2 (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x4   %6 = @load_input (%5 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32x4  %10 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     con 32x4  %18 = @load_const_ir3 (%5 (0x0)) (base=4)
MESA: info:     div 32x4  %74 = fmul %18, %6.yyyy
MESA: info:     div 32x4  %77 = ffma %10, %6.xxxx, %74
MESA: info:     con 32x4  %30 = @load_const_ir3 (%5 (0x0)) (base=8)
MESA: info:     div 32x4  %80 = ffma %30, %6.zzzz, %77
MESA: info:     con 32x4  %42 = @load_const_ir3 (%5 (0x0)) (base=12)
MESA: info:     div 32x4  %83 = ffma %42, %6.wwww, %80
MESA: info:                     @store_output (%83, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x2  %52 = vec2 %6.x, %6.y
MESA: info:                     @store_output (%52, %5 (0x0)) (base=1, range=1, wrmask=xy, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 e0dd667ce9c1b0005aeccc32c88168d5b189c929:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)mul.f r1.x, c1.x, r0.y
MESA: info: mul.f r2.y, c1.y, r0.y
MESA: info: mul.f r2.z, c1.z, r0.y
MESA: info: mul.f r2.w, c1.w, r0.y
MESA: info: mad.f32 r1.x, c0.x, r0.x, (last)r1.x
MESA: info: mad.f32 r2.y, c0.y, r0.x, (last)r2.y
MESA: info: mad.f32 r2.z, c0.z, r0.x, (last)r2.z
MESA: info: mad.f32 r2.w, c0.w, r0.x, (last)r2.w
MESA: info: mad.f32 r1.y, c2.x, r0.z, (last)r1.x
MESA: info: mad.f32 r1.z, c2.y, r0.z, (last)r2.y
MESA: info: mad.f32 r1.w, c2.z, r0.z, (last)r2.z
MESA: info: mad.f32 r2.x, c2.w, r0.z, (last)r2.w
MESA: info: (rpt3)mad.f32 r3.x, (r)c3.x, r0.w, (r)(last)r1.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r3.x (VARYING_SLOT_POS) r0.x (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0)
MESA: info: ; VERT prog 138/1: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; VERT prog 138/1: 0 last-baryf, 0 last-helper, 0 half, 4 full, 8 constlen
MESA: info: ; VERT prog 138/1: 1 cat0, 0 cat1, 4 cat2, 12 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 138/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 138/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos: r3.x
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x67be9a07, 0x145282e1, 0xf1364fbf, 0xf0db056a, 0xa1dfbb6f, 0xd21db3d3, 0x6a3130d0, 0x9cbe61bc}
MESA: info: inputs_read: 15
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 1
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #2 (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x4   %6 = @load_input (%5 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32x4  %10 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     con 32x4  %18 = @load_const_ir3 (%5 (0x0)) (base=4)
MESA: info:     div 32x4  %74 = fmul %18, %6.yyyy
MESA: info:     div 32x4  %77 = ffma %10, %6.xxxx, %74
MESA: info:     con 32x4  %30 = @load_const_ir3 (%5 (0x0)) (base=8)
MESA: info:     div 32x4  %80 = ffma %30, %6.zzzz, %77
MESA: info:     con 32x4  %42 = @load_const_ir3 (%5 (0x0)) (base=12)
MESA: info:     div 32x4  %83 = ffma %42, %6.wwww, %80
MESA: info:                     @store_output (%83, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 f53df4f2509a8fcae820125c175eeebc8fa6954a:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)mul.f r1.x, c1.x, r0.y
MESA: info: mul.f r2.y, c1.y, r0.y
MESA: info: mad.f32 r1.x, c0.x, r0.x, (last)r1.x
MESA: info: mad.f32 r2.y, c0.y, r0.x, (last)r2.y
MESA: info: mad.f32 r1.y, c2.x, r0.z, (last)r1.x
MESA: info: (rpt1)mul.f r2.z, (r)c1.z, (last)r0.y
MESA: info: mad.f32 r1.z, c2.y, r0.z, (last)r2.y
MESA: info: (rpt1)mad.f32 r2.z, (r)c0.z, r0.x, (r)(last)r2.z
MESA: info: (rpt1)mad.f32 r1.w, (r)c2.z, r0.z, (r)(last)r2.z
MESA: info: (rpt3)mad.f32 r3.x, (r)c3.x, r0.w, (r)(last)r1.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r3.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0)
MESA: info: ; BVERT prog 138/2: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; BVERT prog 138/2: 0 last-baryf, 0 last-helper, 0 half, 4 full, 8 constlen
MESA: info: ; BVERT prog 138/2: 1 cat0, 0 cat1, 4 cat2, 12 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 138/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 138/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos: r3.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0xf7c9923b, 0x0b9bd5d4, 0xadaa1ae7, 0x2ab5a21e, 0xa61af19d, 0x59337fd3, 0x2ecd6c30, 0x52aed15b}
MESA: info: inputs_read: 32
MESA: info: outputs_written: 4
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_int: 0x20
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 1
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #0 (VARYING_SLOT_VAR0.xy, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #2
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %4 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %5 = @bindless_resource_ir3 (%4 (0x1)) (desc_set=2)
MESA: info:                             @prefetch_sam_ir3 (%3, %5)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %6 = load_const (0x00000000)
MESA: info:     div 32x2   %7 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x2   %8 = @load_interpolated_input (%7, %6 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32     %9 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32    %10 = @bindless_resource_ir3 (%9 (0x1)) (desc_set=2)
MESA: info:     con 32    %11 = @bindless_resource_ir3 (%6 (0x0)) (desc_set=2)
MESA: info:     div 32x4  %12 = (float32)tex (pre-dispatchable) %11 (texture_handle), %10 (sampler_handle), %8 (coord), 0 (texture), 0 (sampler)
MESA: info:                     @store_output (%12, %6 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 25cece341625384c167feca9c8d4fabda18d77e5:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @tex(r0.z)	src=0, bindless=1, samp=1, tex=0, wrmask=0xf, opc=sam
MESA: info: shps #l4
MESA: info: getone #l4
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: (sy)(ss)shpe
MESA: info: l4:
MESA: info: (jp)bary.f (ei)r63.x, 0, (last)r0.x
MESA: info: (sy)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r0.z (FRAG_RESULT_DATA0)
MESA: info: ; FRAG: inputs: r63.x (VARYING_SLOT_VAR0 slot=32 cm=3,il=0,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 139/1: 2 instr, 0 nops, 2 non-nops, 0 mov, 0 cov, 32 dwords
MESA: info: ; FRAG prog 139/1: 0 last-baryf, 0 last-helper, 0 half, 2 full, 4 constlen
MESA: info: ; FRAG prog 139/1: 1 cat0, 0 cat1, 1 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; FRAG prog 139/1: 0 sstall, 0 (ss), 0 systall, 1 (sy), 0 loops
MESA: info: ; FRAG prog 139/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 4 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; data0: r0.z
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x67be9a07, 0x145282e1, 0xf1364fbf, 0xf0db056a, 0xa1dfbb6f, 0xd21db3d3, 0x6a3130d0, 0x9cbe61bc}
MESA: info: inputs_read: 15
MESA: info: outputs_written: 0,32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 1
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #2 (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x4   %6 = @load_input (%5 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32x4  %10 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     con 32x4  %18 = @load_const_ir3 (%5 (0x0)) (base=4)
MESA: info:     div 32x4  %74 = fmul %18, %6.yyyy
MESA: info:     div 32x4  %77 = ffma %10, %6.xxxx, %74
MESA: info:     con 32x4  %30 = @load_const_ir3 (%5 (0x0)) (base=8)
MESA: info:     div 32x4  %80 = ffma %30, %6.zzzz, %77
MESA: info:     con 32x4  %42 = @load_const_ir3 (%5 (0x0)) (base=12)
MESA: info:     div 32x4  %83 = ffma %42, %6.wwww, %80
MESA: info:                     @store_output (%83, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x2  %52 = vec2 %6.x, %6.y
MESA: info:                     @store_output (%52, %5 (0x0)) (base=1, range=1, wrmask=xy, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 e0dd667ce9c1b0005aeccc32c88168d5b189c929:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)mul.f r1.x, c1.x, r0.y
MESA: info: mul.f r2.y, c1.y, r0.y
MESA: info: mul.f r2.z, c1.z, r0.y
MESA: info: mul.f r2.w, c1.w, r0.y
MESA: info: mad.f32 r1.x, c0.x, r0.x, (last)r1.x
MESA: info: mad.f32 r2.y, c0.y, r0.x, (last)r2.y
MESA: info: mad.f32 r2.z, c0.z, r0.x, (last)r2.z
MESA: info: mad.f32 r2.w, c0.w, r0.x, (last)r2.w
MESA: info: mad.f32 r1.y, c2.x, r0.z, (last)r1.x
MESA: info: mad.f32 r1.z, c2.y, r0.z, (last)r2.y
MESA: info: mad.f32 r1.w, c2.z, r0.z, (last)r2.z
MESA: info: mad.f32 r2.x, c2.w, r0.z, (last)r2.w
MESA: info: (rpt3)mad.f32 r3.x, (r)c3.x, r0.w, (r)(last)r1.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r3.x (VARYING_SLOT_POS) r0.x (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0)
MESA: info: ; VERT prog 140/1: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; VERT prog 140/1: 0 last-baryf, 0 last-helper, 0 half, 4 full, 8 constlen
MESA: info: ; VERT prog 140/1: 1 cat0, 0 cat1, 4 cat2, 12 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 140/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 140/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos: r3.x
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x67be9a07, 0x145282e1, 0xf1364fbf, 0xf0db056a, 0xa1dfbb6f, 0xd21db3d3, 0x6a3130d0, 0x9cbe61bc}
MESA: info: inputs_read: 15
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 1
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #2 (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x4   %6 = @load_input (%5 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32x4  %10 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     con 32x4  %18 = @load_const_ir3 (%5 (0x0)) (base=4)
MESA: info:     div 32x4  %74 = fmul %18, %6.yyyy
MESA: info:     div 32x4  %77 = ffma %10, %6.xxxx, %74
MESA: info:     con 32x4  %30 = @load_const_ir3 (%5 (0x0)) (base=8)
MESA: info:     div 32x4  %80 = ffma %30, %6.zzzz, %77
MESA: info:     con 32x4  %42 = @load_const_ir3 (%5 (0x0)) (base=12)
MESA: info:     div 32x4  %83 = ffma %42, %6.wwww, %80
MESA: info:                     @store_output (%83, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 f53df4f2509a8fcae820125c175eeebc8fa6954a:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)mul.f r1.x, c1.x, r0.y
MESA: info: mul.f r2.y, c1.y, r0.y
MESA: info: mad.f32 r1.x, c0.x, r0.x, (last)r1.x
MESA: info: mad.f32 r2.y, c0.y, r0.x, (last)r2.y
MESA: info: mad.f32 r1.y, c2.x, r0.z, (last)r1.x
MESA: info: (rpt1)mul.f r2.z, (r)c1.z, (last)r0.y
MESA: info: mad.f32 r1.z, c2.y, r0.z, (last)r2.y
MESA: info: (rpt1)mad.f32 r2.z, (r)c0.z, r0.x, (r)(last)r2.z
MESA: info: (rpt1)mad.f32 r1.w, (r)c2.z, r0.z, (r)(last)r2.z
MESA: info: (rpt3)mad.f32 r3.x, (r)c3.x, r0.w, (r)(last)r1.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r3.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0)
MESA: info: ; BVERT prog 140/2: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; BVERT prog 140/2: 0 last-baryf, 0 last-helper, 0 half, 4 full, 8 constlen
MESA: info: ; BVERT prog 140/2: 1 cat0, 0 cat1, 4 cat2, 12 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 140/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 140/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos: r3.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0xe1dd81b6, 0xcd918ff7, 0x558a78d3, 0x4bab084e, 0xa8d9a3c9, 0x529026d0, 0x42000282, 0xa54cf2da}
MESA: info: inputs_read: 32
MESA: info: outputs_written: 4
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 1
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #0 (VARYING_SLOT_VAR0.xy, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #2
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %4 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %5 = @bindless_resource_ir3 (%4 (0x1)) (desc_set=2)
MESA: info:                             @prefetch_sam_ir3 (%3, %5)
MESA: info:             con 32     %6 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32     %7 = @bindless_resource_ir3 (%6 (0x2)) (desc_set=2)
MESA: info:             con 32     %8 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32     %9 = @bindless_resource_ir3 (%8 (0x3)) (desc_set=2)
MESA: info:                             @prefetch_sam_ir3 (%7, %9)
MESA: info:             con 32    %10 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32    %11 = @bindless_resource_ir3 (%10 (0x4)) (desc_set=2)
MESA: info:             con 32    %12 = load_const (0x00000005 = 0.000000)
MESA: info:             con 32    %13 = @bindless_resource_ir3 (%12 (0x5)) (desc_set=2)
MESA: info:                             @prefetch_sam_ir3 (%11, %13)
MESA: info:             con 32    %14 = load_const (0x00000006 = 0.000000)
MESA: info:             con 32    %15 = @bindless_resource_ir3 (%14 (0x6)) (desc_set=2)
MESA: info:             con 32    %16 = load_const (0x00000007 = 0.000000)
MESA: info:             con 32    %17 = @bindless_resource_ir3 (%16 (0x7)) (desc_set=2)
MESA: info:                             @prefetch_sam_ir3 (%15, %17)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32    %18 = load_const (0x00000000)
MESA: info:     div 32x2  %19 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x2  %20 = @load_interpolated_input (%19, %18 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32    %21 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32    %22 = @bindless_resource_ir3 (%21 (0x1)) (desc_set=2)
MESA: info:     con 32    %23 = @bindless_resource_ir3 (%18 (0x0)) (desc_set=2)
MESA: info:     div 32x4  %24 = (float32)tex (pre-dispatchable) %23 (texture_handle), %22 (sampler_handle), %20 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32    %25 = load_const (0x00000003 = 0.000000)
MESA: info:     con 32    %26 = @bindless_resource_ir3 (%25 (0x3)) (desc_set=2)
MESA: info:     con 32    %27 = load_const (0x00000002 = 0.000000)
MESA: info:     con 32    %28 = @bindless_resource_ir3 (%27 (0x2)) (desc_set=2)
MESA: info:     div 32x4  %29 = (float32)tex (pre-dispatchable) %28 (texture_handle), %26 (sampler_handle), %20 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32    %30 = load_const (0x00000005 = 0.000000)
MESA: info:     con 32    %31 = @bindless_resource_ir3 (%30 (0x5)) (desc_set=2)
MESA: info:     con 32    %32 = load_const (0x00000004 = 0.000000)
MESA: info:     con 32    %33 = @bindless_resource_ir3 (%32 (0x4)) (desc_set=2)
MESA: info:     div 32x4  %34 = (float32)tex (pre-dispatchable) %33 (texture_handle), %31 (sampler_handle), %20 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32    %35 = load_const (0x00000007 = 0.000000)
MESA: info:     con 32    %36 = @bindless_resource_ir3 (%35 (0x7)) (desc_set=2)
MESA: info:     con 32    %37 = load_const (0x00000006 = 0.000000)
MESA: info:     con 32    %38 = @bindless_resource_ir3 (%37 (0x6)) (desc_set=2)
MESA: info:     div 32x4  %39 = (float32)tex (pre-dispatchable) %38 (texture_handle), %36 (sampler_handle), %20 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32    %40 = load_const (0x3e1024e7 = 0.140766)
MESA: info:     con 32    %41 = load_const (0x3e49cd42 = 0.197072)
MESA: info:     con 32    %42 = load_const (0x3e8d42e2 = 0.275901)
MESA: info:     con 32    %43 = load_const (0x3ec5c409 = 0.386261)
MESA: info:     div 32x4  %87 = fmul %41 (0.197072).xxxx, %29
MESA: info:     div 32x4  %90 = ffma %40 (0.140766).xxxx, %24, %87
MESA: info:     div 32x4  %93 = ffma %42 (0.275901).xxxx, %34, %90
MESA: info:     div 32x4  %96 = ffma %43 (0.386261).xxxx, %39, %93
MESA: info:                     @store_output (%96, %18 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 832a04b3711a7dfd4ed0a07dc5a6bfa613c61ce2:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @tex(r0.z)	src=0, bindless=1, samp=1, tex=0, wrmask=0xf, opc=sam
MESA: info: @tex(r1.z)	src=0, bindless=1, samp=3, tex=2, wrmask=0xf, opc=sam
MESA: info: @tex(r2.z)	src=0, bindless=1, samp=5, tex=4, wrmask=0xf, opc=sam
MESA: info: @const(c0.x)	0x3ec5c409, 0x3e8d42e2, 0x3e1024e7, 0x3e49cd42
MESA: info: shps #l7
MESA: info: getone #l7
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#3, t#2
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#5, t#4
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#7, t#6
MESA: info: (sy)(ss)shpe
MESA: info: l7:
MESA: info: (jp)(rpt1)bary.f (ei)r4.z, (r)0, (last)r0.x
MESA: info: (sy)mul.f r1.z, c0.w, (last)r1.z
MESA: info: mul.f r1.w, c0.w, (last)r1.w
MESA: info: mul.f r2.x, c0.w, (last)r2.x
MESA: info: mul.f r2.y, c0.w, (last)r2.y
MESA: info: mad.f32 r0.z, c0.z, r0.z, (last)r1.z
MESA: info: sam.base2 (f32)(xyzw)r5.x, r4.z, s#7, t#6
MESA: info: mad.f32 r0.w, c0.z, r0.w, (last)r1.w
MESA: info: mad.f32 r1.x, c0.z, r1.x, (last)r2.x
MESA: info: mad.f32 r1.y, c0.z, r1.y, (last)r2.y
MESA: info: mad.f32 r3.z, c0.y, r2.z, (last)r0.z
MESA: info: mad.f32 r3.w, c0.y, r2.w, (last)r0.w
MESA: info: mad.f32 r4.x, c0.y, r3.x, (last)r1.x
MESA: info: mad.f32 r4.y, c0.y, r3.y, (last)r1.y
MESA: info: (sy)(rpt3)mad.f32 r6.x, c0.x, (r)r5.x, (r)(last)r3.z
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r6.x (FRAG_RESULT_DATA0)
MESA: info: ; FRAG: inputs: r4.z (VARYING_SLOT_VAR0 slot=32 cm=3,il=0,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 141/1: 20 instr, 0 nops, 20 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; FRAG prog 141/1: 0 last-baryf, 19 last-helper, 0 half, 7 full, 4 constlen
MESA: info: ; FRAG prog 141/1: 1 cat0, 0 cat1, 6 cat2, 12 cat3, 0 cat4, 1 cat5, 0 cat6, 0 cat7
MESA: info: ; FRAG prog 141/1: 0 sstall, 0 (ss), 32 systall, 2 (sy), 0 loops
MESA: info: ; FRAG prog 141/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 7 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; data0: r6.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x0d001f4f, 0xb9ac15d3, 0x228bc9fe, 0x94bda326, 0xcd4e6f6f, 0xf3a7eb78, 0x533132c5, 0x04ac29a9}
MESA: info: inputs_read: 15-16
MESA: info: outputs_written: 0,32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 2
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #1 (VERT_ATTRIB_GENERIC1.xy, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #2 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #3 (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #4
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x3   %6 = @load_input (%5 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x2   %7 = @load_input (%5 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     con 32x4  %11 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     con 32x4  %19 = @load_const_ir3 (%5 (0x0)) (base=4)
MESA: info:     div 32x4  %66 = fmul %19, %6.yyyy
MESA: info:     div 32x4  %69 = ffma %11, %6.xxxx, %66
MESA: info:     con 32x4  %31 = @load_const_ir3 (%5 (0x0)) (base=8)
MESA: info:     div 32x4  %72 = ffma %31, %6.zzzz, %69
MESA: info:     con 32x4  %43 = @load_const_ir3 (%5 (0x0)) (base=12)
MESA: info:     div 32x4  %75 = fadd %72, %43
MESA: info:                     @store_output (%75, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                     @store_output (%7, %5 (0x0)) (base=1, range=1, wrmask=xy, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 da8d7a0d645704e94663a08fa94f79dd360315aa:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0x3)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)mul.f r1.y, c1.x, r0.y
MESA: info: mul.f r2.z, c1.y, r0.y
MESA: info: mad.f32 r1.y, c0.x, r0.x, (last)r1.y
MESA: info: mad.f32 r2.z, c0.y, r0.x, (last)r2.z
MESA: info: mad.f32 r1.z, c2.x, r0.z, (last)r1.y
MESA: info: mad.f32 r1.w, c2.y, r0.z, (last)r2.z
MESA: info: (rpt1)mul.f r2.w, (r)c1.z, (last)r0.y
MESA: info: (rpt1)mad.f32 r2.w, (r)c0.z, r0.x, (r)(last)r2.w
MESA: info: (rpt1)mad.f32 r2.x, (r)c2.z, r0.z, (r)(last)r2.w
MESA: info: (rpt3)add.f r3.y, (last)(r)r1.z, (r)c3.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r3.y (VARYING_SLOT_POS) r0.w (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=3,il=0,b=0)
MESA: info: ; VERT prog 142/1: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; VERT prog 142/1: 0 last-baryf, 0 last-helper, 0 half, 5 full, 8 constlen
MESA: info: ; VERT prog 142/1: 1 cat0, 0 cat1, 8 cat2, 8 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 142/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 142/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos: r3.y
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x0d001f4f, 0xb9ac15d3, 0x228bc9fe, 0x94bda326, 0xcd4e6f6f, 0xf3a7eb78, 0x533132c5, 0x04ac29a9}
MESA: info: inputs_read: 15-16
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 2
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #1 (VERT_ATTRIB_GENERIC1.xy, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #2 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #3 (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #4
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x3   %6 = @load_input (%5 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32x4  %11 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     con 32x4  %19 = @load_const_ir3 (%5 (0x0)) (base=4)
MESA: info:     div 32x4  %66 = fmul %19, %6.yyyy
MESA: info:     div 32x4  %69 = ffma %11, %6.xxxx, %66
MESA: info:     con 32x4  %31 = @load_const_ir3 (%5 (0x0)) (base=8)
MESA: info:     div 32x4  %72 = ffma %31, %6.zzzz, %69
MESA: info:     con 32x4  %43 = @load_const_ir3 (%5 (0x0)) (base=12)
MESA: info:     div 32x4  %75 = fadd %72, %43
MESA: info:                     @store_output (%75, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 23e7bb942a00af4c828419fb3590fa9c389e3a7c:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)mul.f r0.w, c1.x, r0.y
MESA: info: mul.f r2.x, c1.y, r0.y
MESA: info: mad.f32 r0.w, c0.x, r0.x, (last)r0.w
MESA: info: mad.f32 r2.x, c0.y, r0.x, (last)r2.x
MESA: info: mad.f32 r1.x, c2.x, r0.z, (last)r0.w
MESA: info: mad.f32 r1.y, c2.y, r0.z, (last)r2.x
MESA: info: (rpt1)mul.f r2.y, (r)c1.z, (last)r0.y
MESA: info: (rpt1)mad.f32 r2.y, (r)c0.z, r0.x, (r)(last)r2.y
MESA: info: (rpt1)mad.f32 r1.z, (r)c2.z, r0.z, (r)(last)r2.y
MESA: info: (rpt3)add.f r2.w, (last)(r)r1.x, (r)c3.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r2.w (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0)
MESA: info: ; BVERT prog 142/2: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; BVERT prog 142/2: 0 last-baryf, 0 last-helper, 0 half, 4 full, 8 constlen
MESA: info: ; BVERT prog 142/2: 1 cat0, 0 cat1, 8 cat2, 8 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 142/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 142/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos: r2.w
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x46a0c322, 0xcce406ed, 0x513f9a8a, 0x93a82efd, 0xdbc41bc5, 0x891a8e6f, 0xa2b375e5, 0x2883f1a4}
MESA: info: inputs_read: 32
MESA: info: outputs_written: 4
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 1
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #0 (VARYING_SLOT_VAR0.xy, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec3 #1 (FRAG_RESULT_DATA0.xyz, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #2
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %3 = @bindless_resource_ir3 (%2 (0x1)) (desc_set=1)
MESA: info:             con 32      %4 = load_const (0x00000000 = 0.000000)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%3, %4 (0x0)) (base=0, range=4)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%4 (0x0)) (desc_set=2)
MESA: info:             con 32      %8 = @bindless_resource_ir3 (%2 (0x1)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%6, %8)
MESA: info:             con 32      %9 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32     %10 = @bindless_resource_ir3 (%9 (0x2)) (desc_set=2)
MESA: info:             con 32     %11 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32     %12 = @bindless_resource_ir3 (%11 (0x3)) (desc_set=2)
MESA: info:                              @prefetch_sam_ir3 (%10, %12)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %13 = load_const (0x00000000 = 0.000000)
MESA: info:     div 32x2   %14 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x2   %15 = @load_interpolated_input (%14, %13 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32     %16 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32     %17 = @bindless_resource_ir3 (%16 (0x1)) (desc_set=2)
MESA: info:     con 32     %18 = @bindless_resource_ir3 (%13 (0x0)) (desc_set=2)
MESA: info:     div 32x4   %19 = (float32)tex (pre-dispatchable) %18 (texture_handle), %17 (sampler_handle), %15 (coord), 0 (texture), 0 (sampler)
MESA: info:     con 32     %25 = @load_const_ir3 (%13 (0x0)) (base=1)
MESA: info:     con 1      %26 = feq! %25, %13 (0.000000)
MESA: info:                      // succs: b7 b11
MESA: info:     if %26 {
MESA: info:         con block b7:        // preds: b6
MESA: info:         con 32     %30 = @load_const_ir3 (%13 (0x0)) (base=2)
MESA: info:         con 32     %31 = load_const (0x3f800000 = 1.000000)
MESA: info:         con 1      %32 = flt! %30, %31 (1.000000)
MESA: info:                          // succs: b8 b9
MESA: info:         if %32 {
MESA: info:             con block b8:        // preds: b7
MESA: info:             con 32     %33 = load_const (0x3ee8ba2e = 0.454545)
MESA: info:             div 32x3  %196 = flog2 %19.xyz
MESA: info:             div 32x3  %197 = fmul %196, %33 (0.454545).xxx
MESA: info:             div 32x3  %198 = fexp2 %197
MESA: info:             div 32    %199 = mov %198.z
MESA: info:             div 32    %194 = mov %198.x
MESA: info:             div 32    %195 = mov %198.y
MESA: info:                              // succs: b10
MESA: info:         } else {
MESA: info:             con block b9:        // preds: b7
MESA: info:             con 32     %45 = @load_const_ir3 (%13 (0x0)) (base=0)
MESA: info:             div 32x3  %201 = fmul %19.xyz, %45.xxx
MESA: info:             con 32     %49 = load_const (0x40c66666 = 6.200000)
MESA: info:             con 32     %54 = load_const (0x3fd9999a = 1.700000)
MESA: info:             con 32x4  %204 = load_const (0x3f000000, 0x3f000000, 0x3f000000, 0x3fd9999a) = (0.500000, 0.500000, 0.500000, 1.700000)
MESA: info:             div 32x4  %205 = ffma %49 (6.200000).xxxx, %201.xyzx, %204 (0.500000, 0.500000, 0.500000, 1.700000)
MESA: info:             div 32x3  %207 = fmul %201, %205.xyz
MESA: info:             div 32x2  %208 = ffma %49 (6.200000).xx, %201.yz, %54 (1.700000).xx
MESA: info:             con 32     %67 = load_const (0x3d75c28f = 0.060000)
MESA: info:             div 32    %184 = ffma %201.x, %205.w, %67 (0.060000)
MESA: info:             div 32x2  %209 = ffma %201.yz, %208, %67 (0.060000).xx
MESA: info:             div 32     %71 = frcp %184
MESA: info:             div 32     %72 = fmul %207.x, %71
MESA: info:             div 32     %73 = frcp %209.x
MESA: info:             div 32     %74 = fmul %207.y, %73
MESA: info:             div 32     %75 = frcp %209.y
MESA: info:             div 32     %76 = fmul %207.z, %75
MESA: info:                              // succs: b10
MESA: info:         }
MESA: info:         con block b10:       // preds: b8 b9
MESA: info:         div 32     %77 = phi b8: %199, b9: %76
MESA: info:         div 32     %78 = phi b8: %195, b9: %74
MESA: info:         div 32     %79 = phi b8: %194, b9: %72
MESA: info:                          // succs: b15
MESA: info:     } else {
MESA: info:         con block b11:       // preds: b6
MESA: info:         con 32     %20 = load_const (0x00000002 = 0.000000)
MESA: info:         con 32     %80 = load_const (0x00000003 = 0.000000)
MESA: info:         con 32     %81 = @bindless_resource_ir3 (%80 (0x3)) (desc_set=2)
MESA: info:         con 32     %82 = @bindless_resource_ir3 (%20 (0x2)) (desc_set=2)
MESA: info:         div 32x4   %83 = (float32)tex %82 (texture_handle), %81 (sampler_handle), %15 (coord), 0 (texture), 0 (sampler)
MESA: info:         con 32     %87 = @load_const_ir3 (%13 (0x0)) (base=2)
MESA: info:         con 32     %88 = load_const (0x3f800000 = 1.000000)
MESA: info:         con 1      %89 = flt! %87, %88 (1.000000)
MESA: info:                          // succs: b12 b13
MESA: info:         if %89 {
MESA: info:             con block b12:       // preds: b11
MESA: info:             con 32     %90 = load_const (0x3ee8ba2e = 0.454545)
MESA: info:             div 32x3  %215 = flog2 %19.xyz
MESA: info:             div 32x3  %216 = fmul %215, %90 (0.454545).xxx
MESA: info:             div 32x3  %217 = fexp2 %216
MESA: info:             div 32    %218 = mov %217.z
MESA: info:             div 32    %213 = mov %217.x
MESA: info:             div 32    %214 = mov %217.y
MESA: info:                              // succs: b14
MESA: info:         } else {
MESA: info:             con block b13:       // preds: b11
MESA: info:             div 32x3  %220 = ffma %25.xxx, %83.xyz, %19.xyz
MESA: info:             con 32    %108 = @load_const_ir3 (%13 (0x0)) (base=0)
MESA: info:             div 32x3  %222 = fmul %220, %108.xxx
MESA: info:             con 32    %112 = load_const (0x40c66666 = 6.200000)
MESA: info:             con 32    %117 = load_const (0x3fd9999a = 1.700000)
MESA: info:             con 32x4  %225 = load_const (0x3f000000, 0x3f000000, 0x3f000000, 0x3fd9999a) = (0.500000, 0.500000, 0.500000, 1.700000)
MESA: info:             div 32x4  %226 = ffma %112 (6.200000).xxxx, %222.xyzx, %225 (0.500000, 0.500000, 0.500000, 1.700000)
MESA: info:             div 32x3  %228 = fmul %222, %226.xyz
MESA: info:             div 32x2  %229 = ffma %112 (6.200000).xx, %222.yz, %117 (1.700000).xx
MESA: info:             con 32    %130 = load_const (0x3d75c28f = 0.060000)
MESA: info:             div 32    %172 = ffma %222.x, %226.w, %130 (0.060000)
MESA: info:             div 32x2  %230 = ffma %222.yz, %229, %130 (0.060000).xx
MESA: info:             div 32    %134 = frcp %172
MESA: info:             div 32    %135 = fmul %228.x, %134
MESA: info:             div 32    %136 = frcp %230.x
MESA: info:             div 32    %137 = fmul %228.y, %136
MESA: info:             div 32    %138 = frcp %230.y
MESA: info:             div 32    %139 = fmul %228.z, %138
MESA: info:                              // succs: b14
MESA: info:         }
MESA: info:         con block b14:       // preds: b12 b13
MESA: info:         div 32    %140 = phi b12: %218, b13: %139
MESA: info:         div 32    %141 = phi b12: %214, b13: %137
MESA: info:         div 32    %142 = phi b12: %213, b13: %135
MESA: info:                          // succs: b15
MESA: info:     }
MESA: info:     con block b15:       // preds: b10 b14
MESA: info:     div 32    %143 = phi b10: %77, b14: %140
MESA: info:     div 32    %144 = phi b10: %78, b14: %141
MESA: info:     div 32    %145 = phi b10: %79, b14: %142
MESA: info:     con 32    %149 = @load_const_ir3 (%13 (0x0)) (base=2)
MESA: info:     con 32    %150 = load_const (0x3f800000 = 1.000000)
MESA: info:     con 1     %151 = feq! %149, %150 (1.000000)
MESA: info:     con 32    %152 = load_const (0x3f9b6db7 = 1.214286)
MESA: info:     div 32    %153 = fmul %145, %152 (1.214286)
MESA: info:     div 32    %154 = fmul %144, %152 (1.214286)
MESA: info:     div 32    %155 = fmul %143, %152 (1.214286)
MESA: info:     div 32    %156 = bcsel %151, %153, %145
MESA: info:     div 32    %157 = bcsel %151, %154, %144
MESA: info:     div 32    %158 = bcsel %151, %155, %143
MESA: info:     div 32x3  %159 = vec3 %156, %157, %158
MESA: info:                      @store_output (%159, %13 (0x0)) (base=0, range=1, wrmask=xyz, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b16
MESA: info:     block b16:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 1c606c5cbe82290a55aa6088249ce5f621bb318d:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @tex(r0.z)	src=0, bindless=1, samp=1, tex=0, wrmask=0x7, opc=sam
MESA: info: @const(c4.x)	0x3ee8ba2e, 0x40c66666, 0x3f000000, 0x3fd9999a
MESA: info: @const(c5.x)	0x3d75c28f, 0x3f9b6db7, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l8
MESA: info: getone #l8
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#3, t#2
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (sy)(ss)shpe
MESA: info: l8:
MESA: info: (jp)(rpt1)bary.f (ei)r1.y, (r)0, (last)r0.x
MESA: info: (nop3) cmps.f.eq p0.x, c0.y, (0.0)
MESA: info: (rpt1)nop
MESA: info: br !p0.x, #l42
MESA: info: (nop3) cmps.f.lt p0.x, c0.z, (1.0)
MESA: info: (eq)(rpt1)nop
MESA: info: br !p0.x, #l20
MESA: info: (sy)(rpt2)log2 r0.z, (last)(r)r0.z
MESA: info: (ss)(rpt2)mul.f r0.z, (last)(r)r0.z, c4.x
MESA: info: (rpt2)nop
MESA: info: (rpt2)exp2 r1.w, (r)r0.z
MESA: info: jump #l77
MESA: info: l20:
MESA: info: (sy)(rpt2)mul.f r0.z, (last)(r)r0.z, c0.x
MESA: info: mad.f32 r2.z, c4.y, r0.z, c4.z
MESA: info: mad.f32 r2.w, c4.y, r0.w, c4.z
MESA: info: mad.f32 r3.x, c4.y, r1.x, c4.z
MESA: info: mad.f32 r3.y, c4.y, r0.z, c4.w
MESA: info: mad.f32 r3.z, c4.y, r0.w, c4.w
MESA: info: mad.f32 r3.w, c4.y, r1.x, c4.w
MESA: info: mul.f r2.z, r0.z, (last)r2.z
MESA: info: mul.f r2.w, r0.w, (last)r2.w
MESA: info: mul.f r3.x, r1.x, (last)r3.x
MESA: info: mad.f32 r0.z, (last)r0.z, r3.y, c5.x
MESA: info: mad.f32 r0.w, (last)r0.w, r3.z, c5.x
MESA: info: (nop3) mad.f32 r1.x, (last)r1.x, r3.w, c5.x
MESA: info: rcp r0.z, (last)r0.z
MESA: info: nop
MESA: info: rcp r0.w, (last)r0.w
MESA: info: nop
MESA: info: rcp r1.x, (last)r1.x
MESA: info: (ss)mul.f r1.w, (last)r2.z, r0.z
MESA: info: mul.f r2.x, (last)r2.w, r0.w
MESA: info: mul.f r2.y, (last)r3.x, r1.x
MESA: info: jump #l77
MESA: info: l42:
MESA: info: cmps.f.lt p0.x, c0.z, (1.0)
MESA: info: sam.base2 (f32)(xyz)r4.x, r1.y, s#3, t#2
MESA: info: (eq)(rpt4)nop
MESA: info: br !p0.x, #l51
MESA: info: (sy)(rpt2)log2 r0.z, (last)(r)r0.z
MESA: info: (ss)(rpt2)mul.f r0.z, (last)(r)r0.z, c4.x
MESA: info: (rpt2)nop
MESA: info: (rpt2)exp2 r1.w, (r)r0.z
MESA: info: jump #l77
MESA: info: l51:
MESA: info: (sy)mad.f32 r4.x, c0.y, r4.x, (last)r0.z
MESA: info: mad.f32 r4.y, c0.y, r4.y, (last)r0.w
MESA: info: mad.f32 r4.z, c0.y, r4.z, (last)r1.x
MESA: info: mul.f r4.x, (last)r4.x, c0.x
MESA: info: mul.f r4.y, (last)r4.y, c0.x
MESA: info: mul.f r4.z, (last)r4.z, c0.x
MESA: info: mad.f32 r4.w, c4.y, r4.x, c4.z
MESA: info: mad.f32 r5.z, c4.y, r4.x, c4.w
MESA: info: mad.f32 r5.x, c4.y, r4.y, c4.z
MESA: info: mad.f32 r5.w, c4.y, r4.y, c4.w
MESA: info: mad.f32 r5.y, c4.y, r4.z, c4.z
MESA: info: mad.f32 r6.x, c4.y, r4.z, c4.w
MESA: info: mul.f r4.w, r4.x, (last)r4.w
MESA: info: mul.f r5.x, r4.y, (last)r5.x
MESA: info: mul.f r5.y, r4.z, (last)r5.y
MESA: info: mad.f32 r4.x, (last)r4.x, r5.z, c5.x
MESA: info: mad.f32 r4.y, (last)r4.y, r5.w, c5.x
MESA: info: (nop3) mad.f32 r4.z, (last)r4.z, r6.x, c5.x
MESA: info: rcp r4.x, (last)r4.x
MESA: info: nop
MESA: info: rcp r4.y, (last)r4.y
MESA: info: nop
MESA: info: rcp r4.z, (last)r4.z
MESA: info: (ss)mul.f r1.w, (last)r4.w, (last)r4.x
MESA: info: mul.f r2.x, (last)r5.x, (last)r4.y
MESA: info: mul.f r2.y, (last)r5.y, (last)r4.z
MESA: info: l77:
MESA: info: cmps.f.eq r6.y, c0.z, (1.0)
MESA: info: (ss)mul.f r6.z, r1.w, c5.y
MESA: info: mul.f r6.w, r2.x, c5.y
MESA: info: mul.f r7.x, r2.y, c5.y
MESA: info: sel.b32 r7.y, (last)r6.z, r6.y, (last)r1.w
MESA: info: sel.b32 r7.z, (last)r6.w, r6.y, (last)r2.x
MESA: info: sel.b32 r7.w, (last)r7.x, r6.y, (last)r2.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r7.y (FRAG_RESULT_DATA0)
MESA: info: ; FRAG: inputs: r1.y (VARYING_SLOT_VAR0 slot=32 cm=3,il=0,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 143/1: 114 instr, 31 nops, 83 non-nops, 0 mov, 0 cov, 192 dwords
MESA: info: ; FRAG prog 143/1: 0 last-baryf, 58 last-helper, 0 half, 8 full, 8 constlen
MESA: info: ; FRAG prog 143/1: 38 cat0, 0 cat1, 33 cat2, 24 cat3, 18 cat4, 1 cat5, 0 cat6, 0 cat7
MESA: info: ; FRAG prog 143/1: 48 sstall, 5 (ss), 64 systall, 4 (sy), 0 loops
MESA: info: ; FRAG prog 143/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 8 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; data0: r7.y
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x8778bc63, 0x854c3873, 0x6cdf8636, 0xebf57197, 0xf26539df, 0x9f978893, 0x2ea5c3e2, 0xb7bd634e}
MESA: info: inputs_read: 15-16
MESA: info: outputs_written: 0,32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 2
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec4 #2 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec2 #3 (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #4
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:      // preds:
MESA: info:     con 32    %0 = load_const (0x00000000)
MESA: info:     div 32x4  %1 = @load_input (%0 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x2  %2 = @load_input (%0 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:                    @store_output (%1, %0 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                    @store_output (%2, %0 (0x0)) (base=1, range=1, wrmask=xy, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                    // succs: b1
MESA: info:     block b1:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 fc642ddb2e23c72482fa9b890816653b77ec0f6a:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   primitive_param            c0.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: @in(r1.x)	in1 (wrmask=0x3)
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r0.x (VARYING_SLOT_POS) r1.x (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r1.x (VERT_ATTRIB_GENERIC1 slot=16 cm=3,il=0,b=0)
MESA: info: ; VERT prog 144/1: 1 instr, 0 nops, 1 non-nops, 0 mov, 0 cov, 32 dwords
MESA: info: ; VERT prog 144/1: 0 last-baryf, 0 last-helper, 0 half, 2 full, 8 constlen
MESA: info: ; VERT prog 144/1: 1 cat0, 0 cat1, 0 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 144/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 144/1: 16 max_waves, 0 double_threadsize
MESA: info: ; pos: r0.x
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x8778bc63, 0x854c3873, 0x6cdf8636, 0xebf57197, 0xf26539df, 0x9f978893, 0x2ea5c3e2, 0xb7bd634e}
MESA: info: inputs_read: 15-16
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: inputs: 2
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec4 #2 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec2 #3 (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #4
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:      // preds:
MESA: info:     con 32    %0 = load_const (0x00000000)
MESA: info:     div 32x4  %1 = @load_input (%0 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:                    @store_output (%1, %0 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                    // succs: b1
MESA: info:     block b1:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 fc642ddb2e23c72482fa9b890816653b77ec0f6a:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   primitive_param            c0.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r0.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0)
MESA: info: ; BVERT prog 144/2: 1 instr, 0 nops, 1 non-nops, 0 mov, 0 cov, 32 dwords
MESA: info: ; BVERT prog 144/2: 0 last-baryf, 0 last-helper, 0 half, 1 full, 8 constlen
MESA: info: ; BVERT prog 144/2: 1 cat0, 0 cat1, 0 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 144/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 144/2: 16 max_waves, 0 double_threadsize
MESA: info: ; pos: r0.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x68be3eb7, 0x81e497b9, 0x00619544, 0xc545abc7, 0x9b5810ff, 0xf3b0e68b, 0xe2f4028d, 0xf7ad6b79}
MESA: info: inputs_read: 32
MESA: info: outputs_written: 4
MESA: info: subgroup_size: 0
MESA: info: uses_resource_info_query: true
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: origin_upper_left: true
MESA: info: inputs: 1
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NOPERSPECTIVE none vec2 #0 (VARYING_SLOT_VAR0.xy, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #2
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000)
MESA: info:             con 32     %3 = load_const (0xffffffff = -1 = 4294967295)
MESA: info:             con 32     %4 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32x2   %5 = (int32)txs %4 (texture_handle), %2 (0x0) (lod), 0 (texture)
MESA: info:             con 32x2  %42 = iadd %5, %3 (0xffffffff).xx
MESA: info:             con 32    %43 = mov %42.x
MESA: info:             con 32    %44 = mov %42.y
MESA: info:                             @store_const_ir3 (%43) (base=0)
MESA: info:                             @store_const_ir3 (%44) (base=1)
MESA: info:                             @prefetch_tex_ir3 (%4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32    %12 = load_const (0x00000000)
MESA: info:     div 32x2  %13 = @load_barycentric_pixel (interp_mode=INTERP_MODE_NOPERSPECTIVE)
MESA: info:     div 32x2  %14 = @load_interpolated_input (%13, %12 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     div 32x2  %45 = ffloor %14
MESA: info:     div 32x2  %46 = f2i32 %45
MESA: info:     div 32x2  %47 = imax %46, %12 (0x0).xx
MESA: info:     con 32    %21 = @bindless_resource_ir3 (%12 (0x0)) (desc_set=2)
MESA: info:     con 32    %23 = @load_const_ir3 (%12 (0x0)) (base=0)
MESA: info:     con 32    %25 = @load_const_ir3 (%12 (0x0)) (base=1)
MESA: info:     div 32    %26 = imin %47.x, %23
MESA: info:     div 32    %27 = imin %47.y, %25
MESA: info:     div 32x2  %28 = vec2 %26, %27
MESA: info:     div 32x4  %29 = (float32)txf_ms %21 (texture_handle), %28 (coord), %12 (0x0) (ms_index), 0 (texture)
MESA: info:     con 32    %30 = load_const (0x00000001)
MESA: info:     div 32x4  %31 = (float32)txf_ms %21 (texture_handle), %28 (coord), %30 (0x1) (ms_index), 0 (texture)
MESA: info:     div 32x4  %50 = fadd %29, %31
MESA: info:     con 32    %36 = load_const (0x3f000000 = 0.500000)
MESA: info:     div 32x4  %53 = fmul %50, %36 (0.500000).xxxx
MESA: info:                     @store_output (%53, %12 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 d2bd0327aa0f39c797e284d84f2455b6b1d719dd:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in1 (wrmask=0x3)
MESA: info: shps #l13
MESA: info: getone #l13
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: getsize.base2 (s32)(xy)r0.z, r40.x, t#0
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)mov.u32u32 r48.x, (last)r0.z
MESA: info: mov.u32u32 r48.y, (last)r0.w
MESA: info: (ss)add.u r48.x, r48.x, -1
MESA: info: add.u r48.y, r48.y, -1
MESA: info: (ss)nop
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: stc.u32 c[1], r48.y, 1
MESA: info: (sy)(ss)shpe
MESA: info: l13:
MESA: info: (jp)(rpt1)bary.f (ei)r1.x, (r)0, (last)r0.x
MESA: info: nop
MESA: info: (rpt1)floor.f r1.x, (last)(r)r1.x
MESA: info: nop
MESA: info: (rpt1)cov.f32s32 r1.x, (last)(r)r1.x
MESA: info: nop
MESA: info: (rpt1)max.s r1.x, (last)(r)r1.x, 0
MESA: info: nop
MESA: info: min.s r1.x, (last)r1.x, c0.x
MESA: info: (nop3) min.s r1.y, (last)r1.y, c0.y
MESA: info: (rpt1)nop
MESA: info: alias.tex.b32.0 r1.z, (0x0)
MESA: info: isamm.base2 (f32)(xyzw)r1.z, r1.x, s#0, t#0
MESA: info: alias.tex.b32.0 r1.z, (0x1)
MESA: info: isamm.base2 (f32)(xyzw)r2.z, r1.x, s#0, t#0
MESA: info: (sy)(rpt3)add.f r1.z, (last)(r)r1.z, (last)(r)r2.z
MESA: info: (rpt3)mul.f r3.z, (last)(r)r1.z, (0.5)
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r3.z (FRAG_RESULT_DATA0)
MESA: info: ; FRAG: inputs: r1.x (VARYING_SLOT_VAR0 slot=32 cm=3,il=0,b=1) r1.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0) r0.x (SYSTEM_VALUE_BARYCENTRIC_LINEAR_PIXEL slot=60 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 145/1: 32 instr, 9 nops, 23 non-nops, 0 mov, 2 cov, 70 dwords
MESA: info: ; FRAG prog 145/1: 0 last-baryf, 0 last-helper, 0 half, 5 full, 4 constlen
MESA: info: ; FRAG prog 145/1: 10 cat0, 2 cat1, 16 cat2, 0 cat3, 0 cat4, 2 cat5, 0 cat6, 2 cat7
MESA: info: ; FRAG prog 145/1: 0 sstall, 0 (ss), 39 systall, 1 (sy), 0 loops
MESA: info: ; FRAG prog 145/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 13 preamble-instr, 0 early-preamble
MESA: info: ; data0: r3.z
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x4c8826cf, 0x36cc43b8, 0x29b0a8c5, 0x21d2882f, 0x3b010d3f, 0xe653265c, 0x6782740c, 0x89c41796}
MESA: info: inputs_read: 15-17
MESA: info: outputs_written: 0,32-33
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 3
MESA: info: outputs: 3
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VERT_ATTRIB_GENERIC2.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #3 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #4 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #5 (VARYING_SLOT_VAR1.xy, 2, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #6
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %3 = @bindless_resource_ir3 (%2 (0x1)) (desc_set=1)
MESA: info:             con 32      %4 = load_const (0x00000000 = 0.000000)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%3, %4 (0x0)) (base=0, range=4)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%4 (0x0)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %4 (0x0)) (base=16, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32      %8 = load_const (0x00000000)
MESA: info:     div 32x4    %9 = @load_input (%8 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x4   %10 = @load_input (%8 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x4   %11 = @load_input (%8 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     con 32x4   %16 = @load_const_ir3 (%8 (0x0)) (base=0)
MESA: info:     con 32x4   %24 = @load_const_ir3 (%8 (0x0)) (base=4)
MESA: info:     div 32x4  %117 = fmul %24, %9.yyyy
MESA: info:     div 32x4  %120 = ffma %16, %9.xxxx, %117
MESA: info:     con 32x4   %36 = @load_const_ir3 (%8 (0x0)) (base=8)
MESA: info:     div 32x4  %123 = ffma %36, %9.zzzz, %120
MESA: info:     con 32x4   %48 = @load_const_ir3 (%8 (0x0)) (base=12)
MESA: info:     div 32x4  %126 = ffma %48, %9.wwww, %123
MESA: info:     con 32x2   %60 = @load_const_ir3 (%8 (0x0)) (base=16)
MESA: info:     con 32x2   %65 = @load_const_ir3 (%8 (0x0)) (base=20)
MESA: info:     div 32x2  %127 = fmul %65, %10.yy
MESA: info:     div 32x2  %128 = ffma %60, %10.xx, %127
MESA: info:     con 32x2   %72 = @load_const_ir3 (%8 (0x0)) (base=24)
MESA: info:     div 32x2  %129 = ffma %72, %10.zz, %128
MESA: info:     con 32x2   %79 = @load_const_ir3 (%8 (0x0)) (base=28)
MESA: info:     div 32x2  %130 = ffma %79, %10.ww, %129
MESA: info:                      @store_output (%126, %8 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x4   %85 = vec4 %130.x, %130.y, %11.x, %11.y
MESA: info:                      @store_output (%85, %8 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:     div 32x2   %86 = vec2 %11.z, %11.w
MESA: info:                      @store_output (%86, %8 (0x0)) (base=2, range=1, wrmask=xy, component=0, src_type=float32, io location=VARYING_SLOT_VAR1 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 25e13b581fca35c4d80ac014ef1379ff4ce6a780:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (8 vec4)
MESA: info: ;   primitive_param            c8.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      2
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: @in(r1.x)	in1 (wrmask=0xf)
MESA: info: @in(r2.z)	in2 (wrmask=0xf)
MESA: info: shps #l9
MESA: info: getone #l9
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (ss)mova1 a1.x, (r)16
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l9:
MESA: info: (jp)mul.f r3.z, c1.x, r0.y
MESA: info: mul.f r4.w, c1.y, r0.y
MESA: info: mad.f32 r3.z, c0.x, r0.x, (last)r3.z
MESA: info: mad.f32 r4.w, c0.y, r0.x, (last)r4.w
MESA: info: mad.f32 r3.w, c2.x, r0.z, (last)r3.z
MESA: info: (rpt1)mul.f r5.x, (r)c1.z, (last)r0.y
MESA: info: (rpt1)mul.f r5.z, (r)c5.x, (last)r1.y
MESA: info: mad.f32 r4.x, c2.y, r0.z, (last)r4.w
MESA: info: (rpt1)mad.f32 r5.x, (r)c0.z, r0.x, (r)(last)r5.x
MESA: info: (rpt1)mad.f32 r5.z, (r)c4.x, r1.x, (r)(last)r5.z
MESA: info: (rpt1)mad.f32 r4.y, (r)c2.z, r0.z, (r)(last)r5.x
MESA: info: (rpt1)mad.f32 r5.z, (r)c6.x, r1.z, (r)(last)r5.z
MESA: info: (rpt3)mad.f32 r6.x, (r)c3.x, r0.w, (r)(last)r3.w
MESA: info: (rpt1)mad.f32 r2.x, (r)c7.x, r1.w, (r)(last)r5.z
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r6.x (VARYING_SLOT_POS) r2.x (VARYING_SLOT_VAR0) r3.x (VARYING_SLOT_VAR1)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r1.x (VERT_ATTRIB_GENERIC1 slot=16 cm=f,il=0,b=0) r2.z (VERT_ATTRIB_GENERIC2 slot=17 cm=f,il=0,b=0)
MESA: info: ; VERT prog 146/1: 25 instr, 0 nops, 25 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; VERT prog 146/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 8 constlen
MESA: info: ; VERT prog 146/1: 1 cat0, 0 cat1, 6 cat2, 18 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 146/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 146/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 9 preamble-instr, 1 early-preamble
MESA: info: ; pos: r6.x
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x4c8826cf, 0x36cc43b8, 0x29b0a8c5, 0x21d2882f, 0x3b010d3f, 0xe653265c, 0x6782740c, 0x89c41796}
MESA: info: inputs_read: 15-17
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 3
MESA: info: outputs: 3
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VERT_ATTRIB_GENERIC2.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #3 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #4 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #5 (VARYING_SLOT_VAR1.xy, 2, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #6
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %3 = @bindless_resource_ir3 (%2 (0x1)) (desc_set=1)
MESA: info:             con 32      %4 = load_const (0x00000000 = 0.000000)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%3, %4 (0x0)) (base=0, range=4)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%4 (0x0)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %4 (0x0)) (base=16, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32      %8 = load_const (0x00000000)
MESA: info:     div 32x4    %9 = @load_input (%8 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32x4   %16 = @load_const_ir3 (%8 (0x0)) (base=0)
MESA: info:     con 32x4   %24 = @load_const_ir3 (%8 (0x0)) (base=4)
MESA: info:     div 32x4  %108 = fmul %24, %9.yyyy
MESA: info:     div 32x4  %111 = ffma %16, %9.xxxx, %108
MESA: info:     con 32x4   %36 = @load_const_ir3 (%8 (0x0)) (base=8)
MESA: info:     div 32x4  %114 = ffma %36, %9.zzzz, %111
MESA: info:     con 32x4   %48 = @load_const_ir3 (%8 (0x0)) (base=12)
MESA: info:     div 32x4  %117 = ffma %48, %9.wwww, %114
MESA: info:                      @store_output (%117, %8 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                      // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 c76be0f9763002b17d9f148bedcb2b580d921194:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (8 vec4)
MESA: info: ;   primitive_param            c8.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      2
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: shps #l9
MESA: info: getone #l9
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (ss)mova1 a1.x, (r)16
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l9:
MESA: info: (jp)mul.f r1.x, c1.x, r0.y
MESA: info: mul.f r2.y, c1.y, r0.y
MESA: info: mad.f32 r1.x, c0.x, r0.x, (last)r1.x
MESA: info: mad.f32 r2.y, c0.y, r0.x, (last)r2.y
MESA: info: mad.f32 r1.y, c2.x, r0.z, (last)r1.x
MESA: info: (rpt1)mul.f r2.z, (r)c1.z, (last)r0.y
MESA: info: mad.f32 r1.z, c2.y, r0.z, (last)r2.y
MESA: info: (rpt1)mad.f32 r2.z, (r)c0.z, r0.x, (r)(last)r2.z
MESA: info: (rpt1)mad.f32 r1.w, (r)c2.z, r0.z, (r)(last)r2.z
MESA: info: (rpt3)mad.f32 r3.x, (r)c3.x, r0.w, (r)(last)r1.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r3.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0)
MESA: info: ; BVERT prog 146/2: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; BVERT prog 146/2: 0 last-baryf, 0 last-helper, 0 half, 4 full, 8 constlen
MESA: info: ; BVERT prog 146/2: 1 cat0, 0 cat1, 4 cat2, 12 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 146/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 146/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 9 preamble-instr, 1 early-preamble
MESA: info: ; pos: r3.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x086555eb, 0x8c3faa99, 0x9993999a, 0x6a55ddc5, 0xd2457b1c, 0x1b31cb3f, 0x2592272a, 0x0e36499f}
MESA: info: inputs_read: 32-33
MESA: info: outputs_written: 4
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 2
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_VAR0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #1 (VARYING_SLOT_VAR1.xy, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #2 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %4 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %5 = @bindless_resource_ir3 (%4 (0x1)) (desc_set=2)
MESA: info:                             @prefetch_sam_ir3 (%3, %5)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %6 = load_const (0x00000000)
MESA: info:     div 32x2   %7 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x4   %8 = @load_interpolated_input (%7, %6 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     div 32x2   %9 = @load_interpolated_input (%7, %6 (0x0)) (base=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR1 slots=1)
MESA: info:     div 32x2  %10 = vec2 %8.x, %8.y
MESA: info:     con 32    %11 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32    %12 = @bindless_resource_ir3 (%11 (0x1)) (desc_set=2)
MESA: info:     con 32    %13 = @bindless_resource_ir3 (%6 (0x0)) (desc_set=2)
MESA: info:     div 32x4  %14 = (float32)tex (pre-dispatchable) %13 (texture_handle), %12 (sampler_handle), %10 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32x2  %20 = fmul %8.zw, %14.xy
MESA: info:     div 32x2  %21 = fmul %9, %14.zw
MESA: info:     div 32x4  %19 = vec4 %20.x, %20.y, %21.x, %21.y
MESA: info:                     @store_output (%19, %6 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 09ba7b1f0038e72df87da276681c8889ce609fec:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @tex(r0.z)	src=0, bindless=1, samp=1, tex=0, wrmask=0xf, opc=sam
MESA: info: shps #l4
MESA: info: getone #l4
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: (sy)(ss)shpe
MESA: info: l4:
MESA: info: (jp)(rpt1)bary.f r1.z, (r)2, r0.x
MESA: info: (rpt1)bary.f (ei)r2.x, (r)4, (last)r0.x
MESA: info: (sy)(rpt1)mul.f r2.z, (last)(r)r1.z, (last)(r)r0.z
MESA: info: (rpt1)mul.f r3.x, (last)(r)r2.x, (last)(r)r1.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r2.z (FRAG_RESULT_DATA0)
MESA: info: ; FRAG: inputs: r1.z (VARYING_SLOT_VAR0 slot=32 cm=f,il=0,b=1) r2.x (VARYING_SLOT_VAR1 slot=33 cm=3,il=4,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 147/1: 9 instr, 0 nops, 9 non-nops, 0 mov, 0 cov, 32 dwords
MESA: info: ; FRAG prog 147/1: 2 last-baryf, 0 last-helper, 0 half, 4 full, 4 constlen
MESA: info: ; FRAG prog 147/1: 1 cat0, 0 cat1, 8 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; FRAG prog 147/1: 0 sstall, 0 (ss), 0 systall, 1 (sy), 0 loops
MESA: info: ; FRAG prog 147/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 4 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; data0: r2.z
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x8778bc63, 0x854c3873, 0x6cdf8636, 0xebf57197, 0xf26539df, 0x9f978893, 0x2ea5c3e2, 0xb7bd634e}
MESA: info: inputs_read: 15-16
MESA: info: outputs_written: 0,32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 2
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec4 #2 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec3 #3 (VARYING_SLOT_VAR0.xyz, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #4
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:      // preds:
MESA: info:     con 32    %0 = load_const (0x00000000)
MESA: info:     div 32x4  %1 = @load_input (%0 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x4  %2 = @load_input (%0 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:                    @store_output (%1, %0 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x3  %3 = vec3 %2.x, %2.y, %2.w
MESA: info:                    @store_output (%3, %0 (0x0)) (base=1, range=1, wrmask=xyz, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                    // succs: b1
MESA: info:     block b1:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 fe070b2d9a5011d589521183ac3a7e5c5e4e8e34:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   primitive_param            c0.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: @in(r1.x)	in1 (wrmask=0xf)
MESA: info: mov.u32u32 r1.z, (last)r1.w
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r0.x (VARYING_SLOT_POS) r1.x (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r1.x (VERT_ATTRIB_GENERIC1 slot=16 cm=f,il=0,b=0)
MESA: info: ; VERT prog 148/1: 2 instr, 0 nops, 2 non-nops, 1 mov, 0 cov, 32 dwords
MESA: info: ; VERT prog 148/1: 0 last-baryf, 0 last-helper, 0 half, 2 full, 8 constlen
MESA: info: ; VERT prog 148/1: 1 cat0, 1 cat1, 0 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 148/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 148/1: 16 max_waves, 0 double_threadsize
MESA: info: ; pos: r0.x
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x8778bc63, 0x854c3873, 0x6cdf8636, 0xebf57197, 0xf26539df, 0x9f978893, 0x2ea5c3e2, 0xb7bd634e}
MESA: info: inputs_read: 15-16
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 2
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec4 #2 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec3 #3 (VARYING_SLOT_VAR0.xyz, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #4
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:      // preds:
MESA: info:     con 32    %0 = load_const (0x00000000)
MESA: info:     div 32x4  %1 = @load_input (%0 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:                    @store_output (%1, %0 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                    // succs: b1
MESA: info:     block b1:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 fc642ddb2e23c72482fa9b890816653b77ec0f6a:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   primitive_param            c0.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r0.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0)
MESA: info: ; BVERT prog 148/2: 1 instr, 0 nops, 1 non-nops, 0 mov, 0 cov, 32 dwords
MESA: info: ; BVERT prog 148/2: 0 last-baryf, 0 last-helper, 0 half, 1 full, 8 constlen
MESA: info: ; BVERT prog 148/2: 1 cat0, 0 cat1, 0 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 148/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 148/2: 16 max_waves, 0 double_threadsize
MESA: info: ; pos: r0.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x5e126c8d, 0xf447f5f8, 0xd6437b78, 0xb53335ce, 0x60026e46, 0xe89407a8, 0x4b44e262, 0xddcd28c2}
MESA: info: inputs_read: 32
MESA: info: outputs_written: 4
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: origin_upper_left: true
MESA: info: inputs: 1
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NOPERSPECTIVE none vec3 #0 (VARYING_SLOT_VAR0.xyz, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #2
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                             @prefetch_tex_ir3 (%3)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %4 = load_const (0x00000000)
MESA: info:     div 32x2   %5 = @load_barycentric_pixel (interp_mode=INTERP_MODE_NOPERSPECTIVE)
MESA: info:     div 32x3   %6 = @load_interpolated_input (%5, %4 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     div 32x3  %14 = f2i32 %6
MESA: info:     div 32    %15 = mov %14.z
MESA: info:     div 32x2  %10 = vec2 %14.x, %14.y
MESA: info:     con 32    %11 = @bindless_resource_ir3 (%4 (0x0)) (desc_set=2)
MESA: info:     div 32x4  %12 = (float32)txf %11 (texture_handle), %10 (coord), %15 (lod), 0 (texture)
MESA: info:                     @store_output (%12, %4 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 e36ad90b385709989dd17355bb4b812116deb8ae:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in1 (wrmask=0x3)
MESA: info: shps #l4
MESA: info: getone #l4
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)shpe
MESA: info: l4:
MESA: info: (jp)bary.f r0.z, 0, r0.x
MESA: info: (rpt1)bary.f (ei)r0.w, (r)1, (last)r0.x
MESA: info: cov.f32s32 r0.z, (last)r0.z
MESA: info: (rpt1)cov.f32s32 r0.w, (last)(r)r0.w
MESA: info: (rpt4)nop
MESA: info: isaml.base2 (f32)(xyzw)r1.y, r0.z, r1.x, s#0, t#0
MESA: info: (sy)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r1.y (FRAG_RESULT_DATA0)
MESA: info: ; FRAG: inputs: r0.z (VARYING_SLOT_VAR0 slot=32 cm=7,il=0,b=1) r0.z (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0) r0.x (SYSTEM_VALUE_BARYCENTRIC_LINEAR_PIXEL slot=60 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 149/1: 13 instr, 5 nops, 8 non-nops, 0 mov, 3 cov, 32 dwords
MESA: info: ; FRAG prog 149/1: 1 last-baryf, 0 last-helper, 0 half, 3 full, 4 constlen
MESA: info: ; FRAG prog 149/1: 6 cat0, 3 cat1, 3 cat2, 0 cat3, 0 cat4, 1 cat5, 0 cat6, 0 cat7
MESA: info: ; FRAG prog 149/1: 0 sstall, 0 (ss), 39 systall, 1 (sy), 0 loops
MESA: info: ; FRAG prog 149/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 4 preamble-instr, 1 early-preamble
MESA: info: ; data0: r1.y
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x4c8826cf, 0x36cc43b8, 0x29b0a8c5, 0x21d2882f, 0x3b010d3f, 0xe653265c, 0x6782740c, 0x89c41796}
MESA: info: inputs_read: 15-17
MESA: info: outputs_written: 0,32-33
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 3
MESA: info: outputs: 3
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VERT_ATTRIB_GENERIC2.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #3 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #4 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #5 (VARYING_SLOT_VAR1.xy, 2, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #6
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %3 = @bindless_resource_ir3 (%2 (0x1)) (desc_set=1)
MESA: info:             con 32      %4 = load_const (0x00000000 = 0.000000)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%3, %4 (0x0)) (base=0, range=4)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%4 (0x0)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %4 (0x0)) (base=16, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32      %8 = load_const (0x00000000)
MESA: info:     div 32x4    %9 = @load_input (%8 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x4   %10 = @load_input (%8 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     div 32x4   %11 = @load_input (%8 (0x0)) (base=2, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC2 slots=1)
MESA: info:     con 32x4   %16 = @load_const_ir3 (%8 (0x0)) (base=0)
MESA: info:     con 32x4   %24 = @load_const_ir3 (%8 (0x0)) (base=4)
MESA: info:     div 32x4  %117 = fmul %24, %9.yyyy
MESA: info:     div 32x4  %120 = ffma %16, %9.xxxx, %117
MESA: info:     con 32x4   %36 = @load_const_ir3 (%8 (0x0)) (base=8)
MESA: info:     div 32x4  %123 = ffma %36, %9.zzzz, %120
MESA: info:     con 32x4   %48 = @load_const_ir3 (%8 (0x0)) (base=12)
MESA: info:     div 32x4  %126 = ffma %48, %9.wwww, %123
MESA: info:     con 32x2   %60 = @load_const_ir3 (%8 (0x0)) (base=16)
MESA: info:     con 32x2   %65 = @load_const_ir3 (%8 (0x0)) (base=20)
MESA: info:     div 32x2  %127 = fmul %65, %10.yy
MESA: info:     div 32x2  %128 = ffma %60, %10.xx, %127
MESA: info:     con 32x2   %72 = @load_const_ir3 (%8 (0x0)) (base=24)
MESA: info:     div 32x2  %129 = ffma %72, %10.zz, %128
MESA: info:     con 32x2   %79 = @load_const_ir3 (%8 (0x0)) (base=28)
MESA: info:     div 32x2  %130 = ffma %79, %10.ww, %129
MESA: info:                      @store_output (%126, %8 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x4   %85 = vec4 %130.x, %130.y, %11.x, %11.y
MESA: info:                      @store_output (%85, %8 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:     div 32x2   %86 = vec2 %11.z, %11.w
MESA: info:                      @store_output (%86, %8 (0x0)) (base=2, range=1, wrmask=xy, component=0, src_type=float32, io location=VARYING_SLOT_VAR1 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 25e13b581fca35c4d80ac014ef1379ff4ce6a780:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (8 vec4)
MESA: info: ;   primitive_param            c8.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      2
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: @in(r1.x)	in1 (wrmask=0xf)
MESA: info: @in(r2.z)	in2 (wrmask=0xf)
MESA: info: shps #l9
MESA: info: getone #l9
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (ss)mova1 a1.x, (r)16
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l9:
MESA: info: (jp)mul.f r3.z, c1.x, r0.y
MESA: info: mul.f r4.w, c1.y, r0.y
MESA: info: mad.f32 r3.z, c0.x, r0.x, (last)r3.z
MESA: info: mad.f32 r4.w, c0.y, r0.x, (last)r4.w
MESA: info: mad.f32 r3.w, c2.x, r0.z, (last)r3.z
MESA: info: (rpt1)mul.f r5.x, (r)c1.z, (last)r0.y
MESA: info: (rpt1)mul.f r5.z, (r)c5.x, (last)r1.y
MESA: info: mad.f32 r4.x, c2.y, r0.z, (last)r4.w
MESA: info: (rpt1)mad.f32 r5.x, (r)c0.z, r0.x, (r)(last)r5.x
MESA: info: (rpt1)mad.f32 r5.z, (r)c4.x, r1.x, (r)(last)r5.z
MESA: info: (rpt1)mad.f32 r4.y, (r)c2.z, r0.z, (r)(last)r5.x
MESA: info: (rpt1)mad.f32 r5.z, (r)c6.x, r1.z, (r)(last)r5.z
MESA: info: (rpt3)mad.f32 r6.x, (r)c3.x, r0.w, (r)(last)r3.w
MESA: info: (rpt1)mad.f32 r2.x, (r)c7.x, r1.w, (r)(last)r5.z
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r6.x (VARYING_SLOT_POS) r2.x (VARYING_SLOT_VAR0) r3.x (VARYING_SLOT_VAR1)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r1.x (VERT_ATTRIB_GENERIC1 slot=16 cm=f,il=0,b=0) r2.z (VERT_ATTRIB_GENERIC2 slot=17 cm=f,il=0,b=0)
MESA: info: ; VERT prog 150/1: 25 instr, 0 nops, 25 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; VERT prog 150/1: 0 last-baryf, 0 last-helper, 0 half, 7 full, 8 constlen
MESA: info: ; VERT prog 150/1: 1 cat0, 0 cat1, 6 cat2, 18 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 150/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 150/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 9 preamble-instr, 1 early-preamble
MESA: info: ; pos: r6.x
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x4c8826cf, 0x36cc43b8, 0x29b0a8c5, 0x21d2882f, 0x3b010d3f, 0xe653265c, 0x6782740c, 0x89c41796}
MESA: info: inputs_read: 15-17
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 3
MESA: info: outputs: 3
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #2 (VERT_ATTRIB_GENERIC2.xyzw, 2, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #3 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #4 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec2 #5 (VARYING_SLOT_VAR1.xy, 2, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #6
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32      %3 = @bindless_resource_ir3 (%2 (0x1)) (desc_set=1)
MESA: info:             con 32      %4 = load_const (0x00000000 = 0.000000)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%3, %4 (0x0)) (base=0, range=4)
MESA: info:             con 32      %6 = @bindless_resource_ir3 (%4 (0x0)) (desc_set=1)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%6, %4 (0x0)) (base=16, range=4)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32      %8 = load_const (0x00000000)
MESA: info:     div 32x4    %9 = @load_input (%8 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32x4   %16 = @load_const_ir3 (%8 (0x0)) (base=0)
MESA: info:     con 32x4   %24 = @load_const_ir3 (%8 (0x0)) (base=4)
MESA: info:     div 32x4  %108 = fmul %24, %9.yyyy
MESA: info:     div 32x4  %111 = ffma %16, %9.xxxx, %108
MESA: info:     con 32x4   %36 = @load_const_ir3 (%8 (0x0)) (base=8)
MESA: info:     div 32x4  %114 = ffma %36, %9.zzzz, %111
MESA: info:     con 32x4   %48 = @load_const_ir3 (%8 (0x0)) (base=12)
MESA: info:     div 32x4  %117 = ffma %48, %9.wwww, %114
MESA: info:                      @store_output (%117, %8 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                      // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 c76be0f9763002b17d9f148bedcb2b580d921194:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (8 vec4)
MESA: info: ;   primitive_param            c8.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      2
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: shps #l9
MESA: info: getone #l9
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 1
MESA: info: (ss)mova1 a1.x, (r)16
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l9:
MESA: info: (jp)mul.f r1.x, c1.x, r0.y
MESA: info: mul.f r2.y, c1.y, r0.y
MESA: info: mad.f32 r1.x, c0.x, r0.x, (last)r1.x
MESA: info: mad.f32 r2.y, c0.y, r0.x, (last)r2.y
MESA: info: mad.f32 r1.y, c2.x, r0.z, (last)r1.x
MESA: info: (rpt1)mul.f r2.z, (r)c1.z, (last)r0.y
MESA: info: mad.f32 r1.z, c2.y, r0.z, (last)r2.y
MESA: info: (rpt1)mad.f32 r2.z, (r)c0.z, r0.x, (r)(last)r2.z
MESA: info: (rpt1)mad.f32 r1.w, (r)c2.z, r0.z, (r)(last)r2.z
MESA: info: (rpt3)mad.f32 r3.x, (r)c3.x, r0.w, (r)(last)r1.y
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r3.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0)
MESA: info: ; BVERT prog 150/2: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; BVERT prog 150/2: 0 last-baryf, 0 last-helper, 0 half, 4 full, 8 constlen
MESA: info: ; BVERT prog 150/2: 1 cat0, 0 cat1, 4 cat2, 12 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 150/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 150/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 9 preamble-instr, 1 early-preamble
MESA: info: ; pos: r3.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x2d2624d2, 0x90f96260, 0x0d65d39d, 0x3b0b349a, 0x7b018a89, 0x41fa83c7, 0x4d107cb6, 0x91d421e0}
MESA: info: inputs_read: 32-33
MESA: info: outputs_written: 4
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: needs_coarse_quad_helper_invocations: true
MESA: info: origin_upper_left: true
MESA: info: inputs: 2
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_VAR0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec2 #1 (VARYING_SLOT_VAR1.xy, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #2 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #3
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000002 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x2)) (desc_set=1)
MESA: info:             con 32     %4 = load_const (0x00000004 = 0.000000)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %4 (0x4)) (base=0, range=4)
MESA: info:             con 32     %5 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %6 = @bindless_resource_ir3 (%5 (0x0)) (desc_set=2)
MESA: info:             con 32     %7 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %8 = @bindless_resource_ir3 (%7 (0x1)) (desc_set=2)
MESA: info:                             @prefetch_sam_ir3 (%6, %8)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %9 = load_const (0x00000000)
MESA: info:     div 32x2  %10 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x4  %11 = @load_interpolated_input (%10, %9 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     div 32x2  %12 = @load_interpolated_input (%10, %9 (0x0)) (base=1, component=0, dest_type=float32, io location=VARYING_SLOT_VAR1 slots=1)
MESA: info:     con 32    %20 = @load_const_ir3 (%9 (0x0)) (base=0)
MESA: info:     div 32    %21 = fmul %20, %12.y
MESA: info:     div 32x2  %22 = vec2 %11.x, %11.y
MESA: info:     con 32    %23 = load_const (0x00000001 = 0.000000)
MESA: info:     con 32    %24 = @bindless_resource_ir3 (%23 (0x1)) (desc_set=2)
MESA: info:     con 32    %25 = @bindless_resource_ir3 (%9 (0x0)) (desc_set=2)
MESA: info:     div 32x4  %26 = (float32)tex (pre-dispatchable) %25 (texture_handle), %24 (sampler_handle), %22 (coord), 0 (texture), 0 (sampler)
MESA: info:     div 32    %27 = fmul %21, %26.x
MESA: info:     div 32x4  %28 = vec4 %11.z, %11.w, %12.x, %27
MESA: info:                     @store_output (%28, %9 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 5a859a9a8cf3f8aba17c64990de0409665bbd041:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          2
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (64b -> 128b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: @tex(r0.z)	src=0, bindless=1, samp=1, tex=0, wrmask=0x1, opc=sam
MESA: info: shps #l7
MESA: info: getone #l7
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 4, 2
MESA: info: (sy)(ss)shpe
MESA: info: l7:
MESA: info: (jp)bary.f r0.w, 5, r0.x
MESA: info: bary.f r1.x, 2, r0.x
MESA: info: bary.f r1.y, 3, r0.x
MESA: info: bary.f (ei)r1.z, 4, (last)r0.x
MESA: info: (nop2) mul.f r0.w, c0.x, (last)r0.w
MESA: info: (sy)mul.f r1.w, (last)r0.w, (last)r0.z
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r1.x (FRAG_RESULT_DATA0)
MESA: info: ; FRAG: inputs: r1.x (VARYING_SLOT_VAR0 slot=32 cm=f,il=0,b=1) r1.z (VARYING_SLOT_VAR1 slot=33 cm=3,il=4,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 151/1: 9 instr, 2 nops, 7 non-nops, 0 mov, 0 cov, 36 dwords
MESA: info: ; FRAG prog 151/1: 3 last-baryf, 0 last-helper, 0 half, 2 full, 4 constlen
MESA: info: ; FRAG prog 151/1: 3 cat0, 0 cat1, 6 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; FRAG prog 151/1: 0 sstall, 0 (ss), 0 systall, 1 (sy), 0 loops
MESA: info: ; FRAG prog 151/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 7 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; data0: r1.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x4169df20, 0x5eb0d64d, 0xd68f2f5c, 0xc56d730d, 0x56bb65c3, 0x1662b100, 0x5b579d40, 0xcfc64053}
MESA: info: inputs_read: 15-16
MESA: info: outputs_written: 0,32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 2
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #2 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #3 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #4
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x3   %6 = @load_input (%5 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x4   %7 = @load_input (%5 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:     con 32x4  %11 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     con 32x4  %19 = @load_const_ir3 (%5 (0x0)) (base=4)
MESA: info:     div 32x4  %66 = fmul %19, %6.yyyy
MESA: info:     div 32x4  %69 = ffma %11, %6.xxxx, %66
MESA: info:     con 32x4  %31 = @load_const_ir3 (%5 (0x0)) (base=8)
MESA: info:     div 32x4  %72 = ffma %31, %6.zzzz, %69
MESA: info:     con 32x4  %43 = @load_const_ir3 (%5 (0x0)) (base=12)
MESA: info:     div 32x4  %75 = fadd %72, %43
MESA: info:                     @store_output (%75, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                     @store_output (%7, %5 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 6246f40cd4aac9f67ddbcc8f65afa198b6b54163:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: @in(r0.w)	in1 (wrmask=0xf)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)mul.f r1.w, c1.x, r0.y
MESA: info: mul.f r3.x, c1.y, r0.y
MESA: info: mad.f32 r1.w, c0.x, r0.x, (last)r1.w
MESA: info: mad.f32 r3.x, c0.y, r0.x, (last)r3.x
MESA: info: mad.f32 r2.x, c2.x, r0.z, (last)r1.w
MESA: info: mad.f32 r2.y, c2.y, r0.z, (last)r3.x
MESA: info: (rpt1)mul.f r3.y, (r)c1.z, (last)r0.y
MESA: info: (rpt1)mad.f32 r3.y, (r)c0.z, r0.x, (r)(last)r3.y
MESA: info: (rpt1)mad.f32 r2.z, (r)c2.z, r0.z, (r)(last)r3.y
MESA: info: (rpt3)add.f r3.w, (last)(r)r2.x, (r)c3.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r3.w (VARYING_SLOT_POS) r0.w (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r0.w (VERT_ATTRIB_GENERIC1 slot=16 cm=f,il=0,b=0)
MESA: info: ; VERT prog 152/1: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; VERT prog 152/1: 0 last-baryf, 0 last-helper, 0 half, 5 full, 8 constlen
MESA: info: ; VERT prog 152/1: 1 cat0, 0 cat1, 8 cat2, 8 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 152/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 152/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos: r3.w
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x4169df20, 0x5eb0d64d, 0xd68f2f5c, 0xc56d730d, 0x56bb65c3, 0x1662b100, 0x5b579d40, 0xcfc64053}
MESA: info: inputs_read: 15-16
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 2
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec3 #0 (VERT_ATTRIB_GENERIC0.xyz, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #2 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #3 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #4
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x3   %6 = @load_input (%5 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     con 32x4  %11 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     con 32x4  %19 = @load_const_ir3 (%5 (0x0)) (base=4)
MESA: info:     div 32x4  %66 = fmul %19, %6.yyyy
MESA: info:     div 32x4  %69 = ffma %11, %6.xxxx, %66
MESA: info:     con 32x4  %31 = @load_const_ir3 (%5 (0x0)) (base=8)
MESA: info:     div 32x4  %72 = ffma %31, %6.zzzz, %69
MESA: info:     con 32x4  %43 = @load_const_ir3 (%5 (0x0)) (base=12)
MESA: info:     div 32x4  %75 = fadd %72, %43
MESA: info:                     @store_output (%75, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 23e7bb942a00af4c828419fb3590fa9c389e3a7c:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x7)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)mul.f r0.w, c1.x, r0.y
MESA: info: mul.f r2.x, c1.y, r0.y
MESA: info: mad.f32 r0.w, c0.x, r0.x, (last)r0.w
MESA: info: mad.f32 r2.x, c0.y, r0.x, (last)r2.x
MESA: info: mad.f32 r1.x, c2.x, r0.z, (last)r0.w
MESA: info: mad.f32 r1.y, c2.y, r0.z, (last)r2.x
MESA: info: (rpt1)mul.f r2.y, (r)c1.z, (last)r0.y
MESA: info: (rpt1)mad.f32 r2.y, (r)c0.z, r0.x, (r)(last)r2.y
MESA: info: (rpt1)mad.f32 r1.z, (r)c2.z, r0.z, (r)(last)r2.y
MESA: info: (rpt3)add.f r2.w, (last)(r)r1.x, (r)c3.x
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r2.w (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=7,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0)
MESA: info: ; BVERT prog 152/2: 17 instr, 0 nops, 17 non-nops, 0 mov, 0 cov, 64 dwords
MESA: info: ; BVERT prog 152/2: 0 last-baryf, 0 last-helper, 0 half, 4 full, 8 constlen
MESA: info: ; BVERT prog 152/2: 1 cat0, 0 cat1, 8 cat2, 8 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 152/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 152/2: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos: r2.w
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x1790a85b, 0x70fd8949, 0x62505625, 0x382459f7, 0x74b1ddaf, 0x35ece734, 0xe5b6812c, 0x7fbff96c}
MESA: info: inputs_read: 32
MESA: info: outputs_written: 4
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: origin_upper_left: true
MESA: info: inputs: 1
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_VAR0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #2
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000001 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x1)) (desc_set=1)
MESA: info:             con 32     %4 = load_const (0x00000004 = 0.000000)
MESA: info:                             @copy_ubo_to_uniform_ir3 (%3, %4 (0x4)) (base=0, range=4)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %5 = load_const (0x00000000)
MESA: info:     div 32x2   %6 = @load_barycentric_pixel (interp_mode=INTERP_MODE_SMOOTH)
MESA: info:     div 32x4   %7 = @load_interpolated_input (%6, %5 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     con 32    %15 = @load_const_ir3 (%5 (0x0)) (base=0)
MESA: info:     div 32    %16 = fmul %15, %7.w
MESA: info:     div 32x4  %17 = vec4 %7.x, %7.y, %7.z, %16
MESA: info:                     @store_output (%17, %5 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 e8953758a5afd2aaed3a4eb3a7e9a73424f3e5b4:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (64b -> 128b)
MESA: info: @in(r0.x)	in0 (wrmask=0x3)
MESA: info: shps #l6
MESA: info: getone #l6
MESA: info: mova1 a1.x, (r)0
MESA: info: (ss)nop
MESA: info: ldc.4.k.imm.base1 c[a1.x], 4, 1
MESA: info: (sy)(ss)shpe
MESA: info: l6:
MESA: info: (jp)bary.f r0.z, 3, r0.x
MESA: info: bary.f r0.w, 0, r0.x
MESA: info: (rpt1)bary.f (ei)r1.x, (r)1, (last)r0.x
MESA: info: mul.f r1.z, c0.x, (last)r0.z
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r0.w (FRAG_RESULT_DATA0)
MESA: info: ; FRAG: inputs: r0.w (VARYING_SLOT_VAR0 slot=32 cm=f,il=0,b=1) r0.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 153/1: 6 instr, 0 nops, 6 non-nops, 0 mov, 0 cov, 32 dwords
MESA: info: ; FRAG prog 153/1: 2 last-baryf, 0 last-helper, 0 half, 2 full, 4 constlen
MESA: info: ; FRAG prog 153/1: 1 cat0, 0 cat1, 5 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; FRAG prog 153/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; FRAG prog 153/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 6 preamble-instr, 1 early-preamble
MESA: info: ; pos (ij_pixel): r0.x
MESA: info: ; data0: r0.w
MESA: info: 
Mesa: error: GL_INVALID_OPERATION in glGetAttribLocation(program not linked)
Mesa: error: 15 similar GL_INVALID_OPERATION errors
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_OPERATION in glGetAttribLocation(program not linked)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_OPERATION in glGetAttribLocation(program not linked)
Mesa: error: 1 similar GL_INVALID_OPERATION errors
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_OPERATION in glDrawArraysInstanced
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xbd27cc16, 0xf2637676, 0x34f065f4, 0x845177e0, 0xa284b61e, 0x91eb3186, 0x38d042a2, 0x7f35a23f}
MESA: info: num_ubos: 2
MESA: info: outputs_written: 0
MESA: info: system_values_read: 0x00000000'00000000'00000000'00000200
MESA: info: subgroup_size: 0
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: constants: 64
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var ubo INTERP_MODE_NONE none uint[] $consts (0, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #1
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 32     %1 = load_const (0x00000000)
MESA: info:     div 32    %13 = @load_vertex_id
MESA: info:     con 32    %27 = load_const (0x00000002)
MESA: info:     div 32    %25 = ishl %13, %27 (0x2)
MESA: info:     div 32x4  %26 = @load_const_ir3 (%25) (base=0)
MESA: info:                     @store_output (%26, %1 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                     // succs: b1
MESA: info:     block b1:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 5f38d0492a163fe26dbb03498984d46fa680bfc5:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x1)
MESA: info: (nop2) shl.b r0.x, (last)r0.x, 2
MESA: info: cov.u32s16 hr0.x, (last)r0.x
MESA: info: (rpt1)nop
MESA: info: mova a0.x, (last)hr0.x
MESA: info: (rpt4)nop
MESA: info: mov.f32f32 r0.y, c<a0.x>
MESA: info: mov.f32f32 r0.z, c<a0.x + 1>
MESA: info: mov.f32f32 r0.w, c<a0.x + 2>
MESA: info: (ul)mov.f32f32 r1.x, c<a0.x + 3>
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r0.y (VARYING_SLOT_POS)
MESA: info: ; VERT: inputs: r0.x (SYSTEM_VALUE_VERTEX_ID slot=9 cm=1,il=0,b=0)
MESA: info: ; VERT prog 154/1: 17 instr, 9 nops, 8 non-nops, 5 mov, 1 cov, 32 dwords
MESA: info: ; VERT prog 154/1: 0 last-baryf, 0 last-helper, 0 half, 2 full, 8 constlen
MESA: info: ; VERT prog 154/1: 10 cat0, 6 cat1, 1 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 154/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 154/1: 16 max_waves, 0 double_threadsize
MESA: info: ; pos: r0.y
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xbd27cc16, 0xf2637676, 0x34f065f4, 0x845177e0, 0xa284b61e, 0x91eb3186, 0x38d042a2, 0x7f35a23f}
MESA: info: num_ubos: 2
MESA: info: outputs_written: 0
MESA: info: system_values_read: 0x00000000'00000000'00000000'00000200
MESA: info: subgroup_size: 0
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: constants: 64
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var ubo INTERP_MODE_NONE none uint[] $consts (0, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #1
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 32     %1 = load_const (0x00000000)
MESA: info:     div 32    %13 = @load_vertex_id
MESA: info:     con 32    %27 = load_const (0x00000002)
MESA: info:     div 32    %25 = ishl %13, %27 (0x2)
MESA: info:     div 32x4  %26 = @load_const_ir3 (%25) (base=0)
MESA: info:                     @store_output (%26, %1 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                     // succs: b1
MESA: info:     block b1:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 5f38d0492a163fe26dbb03498984d46fa680bfc5:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x1)
MESA: info: (nop2) shl.b r0.x, (last)r0.x, 2
MESA: info: cov.u32s16 hr0.x, (last)r0.x
MESA: info: (rpt1)nop
MESA: info: mova a0.x, (last)hr0.x
MESA: info: (rpt4)nop
MESA: info: mov.f32f32 r0.y, c<a0.x>
MESA: info: mov.f32f32 r0.z, c<a0.x + 1>
MESA: info: mov.f32f32 r0.w, c<a0.x + 2>
MESA: info: (ul)mov.f32f32 r1.x, c<a0.x + 3>
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r0.y (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (SYSTEM_VALUE_VERTEX_ID slot=9 cm=1,il=0,b=0)
MESA: info: ; BVERT prog 154/2: 17 instr, 9 nops, 8 non-nops, 5 mov, 1 cov, 32 dwords
MESA: info: ; BVERT prog 154/2: 0 last-baryf, 0 last-helper, 0 half, 2 full, 8 constlen
MESA: info: ; BVERT prog 154/2: 10 cat0, 6 cat1, 1 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 154/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 154/2: 16 max_waves, 0 double_threadsize
MESA: info: ; pos: r0.y
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x8029a07b, 0xf0b11cde, 0x9935a86c, 0x7775ab8c, 0x5ca12684, 0x9c1a4728, 0x578c9d85, 0x419330f2}
MESA: info: outputs_written: 4
MESA: info: system_values_read: 0x00000000'00000000'00000000'00080000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: origin_upper_left: true
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #0 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #1
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:        // preds:
MESA: info:     con 1       %0 = @preamble_start_ir3
MESA: info:                      // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:        // preds: b0
MESA: info:         div 1       %1 = @elect_any_ir3
MESA: info:                          // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:        // preds: b1
MESA: info:             con 32      %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32      %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %111 = load_const (0x00000004 = 0.000000)
MESA: info:             con 32x2  %113 = @load_ubo_vec4 (%3, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32    %116 = @load_ubo_vec4 (%3, %111 (0x4)) (access=speculatable, base=0, component=1)
MESA: info:             con 32x2  %147 = fsub %113, %116.xx
MESA: info:             con 32    %148 = mov %147.x
MESA: info:             con 32    %149 = mov %147.y
MESA: info:                              @store_const_ir3 (%148) (base=0)
MESA: info:                              @store_const_ir3 (%149) (base=1)
MESA: info:             con 32    %119 = @load_ubo_vec4 (%3, %111 (0x4)) (access=speculatable, base=0, component=0)
MESA: info:             con 32     %12 = load_const (0x40000000 = 2.000000)
MESA: info:             con 32     %13 = fmul %119, %12 (2.000000)
MESA: info:                              @store_const_ir3 (%13) (base=2)
MESA: info:             con 32     %14 = frcp %13
MESA: info:                              @store_const_ir3 (%14) (base=3)
MESA: info:             con 32     %16 = @bindless_resource_ir3 (%111 (0x4)) (desc_set=0)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%16, %2 (0x0)) (base=16, range=4)
MESA: info:                              @copy_ubo_to_uniform_ir3 (%3, %2 (0x0)) (base=32, range=8)
MESA: info:                              @preamble_end_ir3
MESA: info:                              // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:        // preds: b4 b5
MESA: info:     con 32     %21 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32x2   %26 = @load_const_ir3 (%21 (0x0)) (base=16)
MESA: info:     div 32x4   %27 = @load_frag_coord
MESA: info:     div 32    %144 = ffma %27.y, %26.x, %26.y
MESA: info:     con 32x4   %33 = @load_const_ir3 (%21 (0x0)) (base=32)
MESA: info:     div 32    %143 = fsub %27.x, %33.x
MESA: info:     div 32    %142 = fsub %144, %33.y
MESA: info:     con 32     %41 = @load_const_ir3 (%21 (0x0)) (base=49)
MESA: info:     con 1      %42 = fge! %41, %21 (0.000000)
MESA: info:     div 1      %43 = fge! %143, %41
MESA: info:     con 32     %45 = @load_const_ir3 (%21 (0x0)) (base=0)
MESA: info:     con 32     %47 = @load_const_ir3 (%21 (0x0)) (base=1)
MESA: info:     div 1      %48 = fge! %45, %143
MESA: info:     div 1      %49 = iand %43, %48
MESA: info:     div 1      %50 = fge! %142, %41
MESA: info:     div 1      %51 = iand %49, %50
MESA: info:     div 1      %52 = fge! %47, %142
MESA: info:     div 1      %53 = iand %51, %52
MESA: info:     div 1      %54 = iand %42, %53
MESA: info:                      // succs: b7 b8
MESA: info:     if %54 {
MESA: info:         div block b7:        // preds: b6
MESA: info:         con 32x4   %58 = @load_const_ir3 (%21 (0x0)) (base=44)
MESA: info:         con 32x4  %164 = mov %58.wzyx
MESA: info:                          // succs: b9
MESA: info:     } else {
MESA: info:         div block b8:        // preds: b6
MESA: info:         con 32     %66 = @load_const_ir3 (%21 (0x0)) (base=48)
MESA: info:         con 32     %68 = @load_const_ir3 (%21 (0x0)) (base=2)
MESA: info:         con 32     %70 = @load_const_ir3 (%21 (0x0)) (base=3)
MESA: info:         div 32     %71 = fmul %143, %70
MESA: info:         div 32     %72 = ffloor %71
MESA: info:         con 32    %140 = fneg %68
MESA: info:         div 32    %141 = ffma %140, %72, %143
MESA: info:         div 32     %76 = fmul %142, %70
MESA: info:         div 32     %77 = ffloor %76
MESA: info:         div 32    %139 = ffma %140, %77, %142
MESA: info:         div 32     %81 = fmax %141, %139
MESA: info:         div 1      %82 = flt! %81, %66
MESA: info:         div 32     %83 = fmin %141, %139
MESA: info:         div 1      %84 = flt! %66, %83
MESA: info:         div 1      %85 = ior %82, %84
MESA: info:         con 32x4   %89 = @load_const_ir3 (%21 (0x0)) (base=36)
MESA: info:         con 32x4   %97 = @load_const_ir3 (%21 (0x0)) (base=40)
MESA: info:         div 32x4  %155 = bcsel %85.xxxx, %89.wzyx, %97.wzyx
MESA: info:                          // succs: b9
MESA: info:     }
MESA: info:     con block b9:        // preds: b7 b8
MESA: info:     div 32x4  %163 = phi b7: %164, b8: %155
MESA: info:     div 32x4  %110 = vec4 %163.w, %163.z, %163.y, %163.x
MESA: info:                      @store_output (%110, %21 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:                      // succs: b10
MESA: info:     block b10:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 85577d8112bc648f08b63a8c7676a65359a10298:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c4.x (12 vec4)
MESA: info: ;   preamble                   c0.x (4 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      2
MESA: info: ;   range[0]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  0
MESA: info: ;     offset:         c4.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c8.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: @in(r0.x)	in1 (wrmask=0xf)
MESA: info: @const(c16.x)	0x3d800000, 0xd0d0d0d0, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l20
MESA: info: getone #l20
MESA: info: ldc.u.offset0.1.imm.base1 r48.w, 4, 0
MESA: info: ldc.u.offset2.2.imm.base1 r48.x, 0, 0
MESA: info: ldc.u.offset1.1.imm.base1 r48.z, 4, 0
MESA: info: mova1 a1.x, (r)16
MESA: info: (sy)(ss)mul.f r48.w, r48.w, (2.0)
MESA: info: (rpt1)add.f r49.x, (r)r48.x, (neg)r48.z
MESA: info: (ss)nop
MESA: info: stc.u32 c[2], r48.w, 1
MESA: info: (ss)rcp r48.w, r48.w
MESA: info: stc.u32 c[0], r49.x, 1
MESA: info: stc.u32 c[1], r49.y, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[3], r48.w, 1
MESA: info: ldc.4.k.imm.base0 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)32
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l20:
MESA: info: (jp)(rpt1)cov.u32f32 r0.x, (last)(r)r0.x
MESA: info: cmps.f.ge p0.x, c12.y, (0.0)
MESA: info: (rpt1)mul.f r0.x, (last)(r)r0.x, c16.x
MESA: info: nop
MESA: info: add.f r0.x, (last)r0.x, (neg)c8.x
MESA: info: (nop1) mad.f32 r0.y, c4.x, r0.y, c4.y
MESA: info: cmps.f.ge hr2.x, r0.x, c12.y
MESA: info: cmps.f.ge hr2.y, c0.x, r0.x
MESA: info: (nop1) add.f r0.y, (last)r0.y, (neg)c8.y
MESA: info: and.b hr2.x, (last)hr2.x, (last)hr2.y
MESA: info: cmps.f.ge hr2.z, r0.y, c12.y
MESA: info: (nop1) cmps.f.ge hr2.w, c0.y, r0.y
MESA: info: (nop2) and.b hr2.x, (last)hr2.x, (last)hr2.z
MESA: info: (nop3) and.b p0.y, (last)hr2.x, (last)hr2.w
MESA: info: (rpt1)nop
MESA: info: brao !p0.x, !p0.y, #l41
MESA: info: mov.u32u32 r3.y, c11.w
MESA: info: mov.u32u32 r2.z, c11.x
MESA: info: mov.u32u32 r2.w, c11.y
MESA: info: mov.u32u32 r3.x, c11.z
MESA: info: jump #l56
MESA: info: l41:
MESA: info: (jp)mul.f r1.z, r0.x, c0.w
MESA: info: (nop1) mul.f r1.w, r0.y, c0.w
MESA: info: floor.f r1.z, (last)r1.z
MESA: info: (nop1) floor.f r1.w, (last)r1.w
MESA: info: mad.f32 r1.z, (neg)c0.z, r1.z, (last)r0.x
MESA: info: (nop2) mad.f32 r1.w, (neg)c0.z, r1.w, (last)r0.y
MESA: info: max.f r2.x, r1.z, r1.w
MESA: info: (nop1) min.f r1.z, (last)r1.z, (last)r1.w
MESA: info: cmps.f.lt hr4.x, (last)r2.x, c12.x
MESA: info: (nop2) cmps.f.lt hr3.x, c12.x, (last)r1.z
MESA: info: (nop2) or.b r2.y, (last)hr4.x, (last)hr3.x
MESA: info: sel.b32 r3.y, c9.w, r2.y, c10.w
MESA: info: sel.b32 r3.x, c9.z, r2.y, c10.z
MESA: info: sel.b32 r2.w, c9.y, r2.y, c10.y
MESA: info: sel.b32 r2.z, c9.x, r2.y, c10.x
MESA: info: l56:
MESA: info: (jp)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r2.z (FRAG_RESULT_DATA0)
MESA: info: ; FRAG: inputs: r63.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0) r0.x (SYSTEM_VALUE_FRAG_COORD slot=19 cm=f,il=0,b=0)
MESA: info: ; FRAG prog 155/1: 57 instr, 20 nops, 37 non-nops, 4 mov, 2 cov, 128 dwords
MESA: info: ; FRAG prog 155/1: 0 last-baryf, 0 last-helper, 0 half, 4 full, 20 constlen
MESA: info: ; FRAG prog 155/1: 23 cat0, 6 cat1, 21 cat2, 7 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; FRAG prog 155/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; FRAG prog 155/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 21 preamble-instr, 1 early-preamble
MESA: info: ; data0: r2.z
MESA: info: ; fragcoord: r0.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x8778bc63, 0x854c3873, 0x6cdf8636, 0xebf57197, 0xf26539df, 0x9f978893, 0x2ea5c3e2, 0xb7bd634e}
MESA: info: inputs_read: 15-16
MESA: info: outputs_written: 0,32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 2
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec4 #2 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec3 #3 (VARYING_SLOT_VAR0.xyz, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #4
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:      // preds:
MESA: info:     con 32    %0 = load_const (0x00000000)
MESA: info:     div 32x4  %1 = @load_input (%0 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x4  %2 = @load_input (%0 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:                    @store_output (%1, %0 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x3  %3 = vec3 %2.x, %2.y, %2.w
MESA: info:                    @store_output (%3, %0 (0x0)) (base=1, range=1, wrmask=xyz, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                    // succs: b1
MESA: info:     block b1:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 fe070b2d9a5011d589521183ac3a7e5c5e4e8e34:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   primitive_param            c0.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: @in(r1.x)	in1 (wrmask=0xf)
MESA: info: mov.u32u32 r1.z, (last)r1.w
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r0.x (VARYING_SLOT_POS) r1.x (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r1.x (VERT_ATTRIB_GENERIC1 slot=16 cm=f,il=0,b=0)
MESA: info: ; VERT prog 156/1: 2 instr, 0 nops, 2 non-nops, 1 mov, 0 cov, 32 dwords
MESA: info: ; VERT prog 156/1: 0 last-baryf, 0 last-helper, 0 half, 2 full, 8 constlen
MESA: info: ; VERT prog 156/1: 1 cat0, 1 cat1, 0 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 156/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 156/1: 16 max_waves, 0 double_threadsize
MESA: info: ; pos: r0.x
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x8778bc63, 0x854c3873, 0x6cdf8636, 0xebf57197, 0xf26539df, 0x9f978893, 0x2ea5c3e2, 0xb7bd634e}
MESA: info: inputs_read: 15-16
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 2
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec4 #2 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec3 #3 (VARYING_SLOT_VAR0.xyz, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #4
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:      // preds:
MESA: info:     con 32    %0 = load_const (0x00000000)
MESA: info:     div 32x4  %1 = @load_input (%0 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:                    @store_output (%1, %0 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                    // succs: b1
MESA: info:     block b1:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 fc642ddb2e23c72482fa9b890816653b77ec0f6a:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   primitive_param            c0.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r0.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0)
MESA: info: ; BVERT prog 156/2: 1 instr, 0 nops, 1 non-nops, 0 mov, 0 cov, 32 dwords
MESA: info: ; BVERT prog 156/2: 0 last-baryf, 0 last-helper, 0 half, 1 full, 8 constlen
MESA: info: ; BVERT prog 156/2: 1 cat0, 0 cat1, 0 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 156/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 156/2: 16 max_waves, 0 double_threadsize
MESA: info: ; pos: r0.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x5e126c8d, 0xf447f5f8, 0xd6437b78, 0xb53335ce, 0x60026e46, 0xe89407a8, 0x4b44e262, 0xddcd28c2}
MESA: info: inputs_read: 32
MESA: info: outputs_written: 4
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: origin_upper_left: true
MESA: info: inputs: 1
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NOPERSPECTIVE none vec3 #0 (VARYING_SLOT_VAR0.xyz, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #2
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                             @prefetch_tex_ir3 (%3)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %4 = load_const (0x00000000)
MESA: info:     div 32x2   %5 = @load_barycentric_pixel (interp_mode=INTERP_MODE_NOPERSPECTIVE)
MESA: info:     div 32x3   %6 = @load_interpolated_input (%5, %4 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     div 32x3  %14 = f2i32 %6
MESA: info:     div 32    %15 = mov %14.z
MESA: info:     div 32x2  %10 = vec2 %14.x, %14.y
MESA: info:     con 32    %11 = @bindless_resource_ir3 (%4 (0x0)) (desc_set=2)
MESA: info:     div 32x4  %12 = (float32)txf %11 (texture_handle), %10 (coord), %15 (lod), 0 (texture)
MESA: info:                     @store_output (%12, %4 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 e36ad90b385709989dd17355bb4b812116deb8ae:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in1 (wrmask=0x3)
MESA: info: shps #l4
MESA: info: getone #l4
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)shpe
MESA: info: l4:
MESA: info: (jp)bary.f r0.z, 0, r0.x
MESA: info: (rpt1)bary.f (ei)r0.w, (r)1, (last)r0.x
MESA: info: cov.f32s32 r0.z, (last)r0.z
MESA: info: (rpt1)cov.f32s32 r0.w, (last)(r)r0.w
MESA: info: (rpt4)nop
MESA: info: isaml.base2 (f32)(xyzw)r1.y, r0.z, r1.x, s#0, t#0
MESA: info: (sy)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r1.y (FRAG_RESULT_DATA0)
MESA: info: ; FRAG: inputs: r0.z (VARYING_SLOT_VAR0 slot=32 cm=7,il=0,b=1) r0.z (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0) r0.x (SYSTEM_VALUE_BARYCENTRIC_LINEAR_PIXEL slot=60 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 157/1: 13 instr, 5 nops, 8 non-nops, 0 mov, 3 cov, 32 dwords
MESA: info: ; FRAG prog 157/1: 1 last-baryf, 0 last-helper, 0 half, 3 full, 4 constlen
MESA: info: ; FRAG prog 157/1: 6 cat0, 3 cat1, 3 cat2, 0 cat3, 0 cat4, 1 cat5, 0 cat6, 0 cat7
MESA: info: ; FRAG prog 157/1: 0 sstall, 0 (ss), 39 systall, 1 (sy), 0 loops
MESA: info: ; FRAG prog 157/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 4 preamble-instr, 1 early-preamble
MESA: info: ; data0: r1.y
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x8778bc63, 0x854c3873, 0x6cdf8636, 0xebf57197, 0xf26539df, 0x9f978893, 0x2ea5c3e2, 0xb7bd634e}
MESA: info: inputs_read: 15-16
MESA: info: outputs_written: 0,32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 2
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec4 #2 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec4 #3 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #4
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:      // preds:
MESA: info:     con 32    %0 = load_const (0x00000000)
MESA: info:     div 32x4  %1 = @load_input (%0 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x4  %2 = @load_input (%0 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:                    @store_output (%1, %0 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                    @store_output (%2, %0 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                    // succs: b1
MESA: info:     block b1:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 fc642ddb2e23c72482fa9b890816653b77ec0f6a:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   primitive_param            c0.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: @in(r1.x)	in1 (wrmask=0xf)
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r0.x (VARYING_SLOT_POS) r1.x (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r1.x (VERT_ATTRIB_GENERIC1 slot=16 cm=f,il=0,b=0)
MESA: info: ; VERT prog 158/1: 1 instr, 0 nops, 1 non-nops, 0 mov, 0 cov, 32 dwords
MESA: info: ; VERT prog 158/1: 0 last-baryf, 0 last-helper, 0 half, 2 full, 8 constlen
MESA: info: ; VERT prog 158/1: 1 cat0, 0 cat1, 0 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 158/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 158/1: 16 max_waves, 0 double_threadsize
MESA: info: ; pos: r0.x
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x8778bc63, 0x854c3873, 0x6cdf8636, 0xebf57197, 0xf26539df, 0x9f978893, 0x2ea5c3e2, 0xb7bd634e}
MESA: info: inputs_read: 15-16
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: inputs: 2
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec4 #2 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec4 #3 (VARYING_SLOT_VAR0.xyzw, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #4
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:      // preds:
MESA: info:     con 32    %0 = load_const (0x00000000)
MESA: info:     div 32x4  %1 = @load_input (%0 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:                    @store_output (%1, %0 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                    // succs: b1
MESA: info:     block b1:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 fc642ddb2e23c72482fa9b890816653b77ec0f6a:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   primitive_param            c0.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r0.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0)
MESA: info: ; BVERT prog 158/2: 1 instr, 0 nops, 1 non-nops, 0 mov, 0 cov, 32 dwords
MESA: info: ; BVERT prog 158/2: 0 last-baryf, 0 last-helper, 0 half, 1 full, 8 constlen
MESA: info: ; BVERT prog 158/2: 1 cat0, 0 cat1, 0 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 158/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 158/2: 16 max_waves, 0 double_threadsize
MESA: info: ; pos: r0.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x18f4d813, 0x3ac25f92, 0x755f2d30, 0xa16c457d, 0x9f15da04, 0xab020d1d, 0xee46246a, 0x0c349961}
MESA: info: inputs_read: 32
MESA: info: outputs_written: 4
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: origin_upper_left: true
MESA: info: inputs: 1
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NOPERSPECTIVE none vec4 #0 (VARYING_SLOT_VAR0.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #2
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                             @prefetch_tex_ir3 (%3)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %4 = load_const (0x00000000)
MESA: info:     div 32x2   %5 = @load_barycentric_pixel (interp_mode=INTERP_MODE_NOPERSPECTIVE)
MESA: info:     div 32x4   %6 = @load_interpolated_input (%5, %4 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     div 32x4  %16 = f2i32 %6
MESA: info:     div 32    %17 = mov %16.w
MESA: info:     div 32x3  %11 = vec3 %16.x, %16.y, %16.z
MESA: info:     con 32    %12 = @bindless_resource_ir3 (%4 (0x0)) (desc_set=2)
MESA: info:     div 32x4  %13 = (float32)txf %12 (texture_handle), %11 (coord), %17 (lod), 0 (texture)
MESA: info:                     @store_output (%13, %4 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 8d444c8fff1a82b557ce96a72abdb340ee231c57:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in1 (wrmask=0x3)
MESA: info: shps #l4
MESA: info: getone #l4
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)shpe
MESA: info: l4:
MESA: info: (jp)bary.f r0.z, 0, r0.x
MESA: info: bary.f r0.w, 1, r0.x
MESA: info: (rpt1)bary.f (ei)r1.x, (r)2, (last)r0.x
MESA: info: cov.f32s32 r0.z, (last)r0.z
MESA: info: cov.f32s32 r0.w, (last)r0.w
MESA: info: (rpt1)cov.f32s32 r1.x, (last)(r)r1.x
MESA: info: (rpt4)nop
MESA: info: isaml.a.base2 (f32)(xyzw)r1.z, r0.z, r1.y, s#0, t#0
MESA: info: (sy)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r1.z (FRAG_RESULT_DATA0)
MESA: info: ; FRAG: inputs: r0.z (VARYING_SLOT_VAR0 slot=32 cm=f,il=0,b=1) r0.z (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0) r0.x (SYSTEM_VALUE_BARYCENTRIC_LINEAR_PIXEL slot=60 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 159/1: 15 instr, 5 nops, 10 non-nops, 0 mov, 4 cov, 34 dwords
MESA: info: ; FRAG prog 159/1: 2 last-baryf, 0 last-helper, 0 half, 3 full, 4 constlen
MESA: info: ; FRAG prog 159/1: 6 cat0, 4 cat1, 4 cat2, 0 cat3, 0 cat4, 1 cat5, 0 cat6, 0 cat7
MESA: info: ; FRAG prog 159/1: 0 sstall, 0 (ss), 39 systall, 1 (sy), 0 loops
MESA: info: ; FRAG prog 159/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 4 preamble-instr, 1 early-preamble
MESA: info: ; data0: r1.z
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xbd27cc16, 0xf2637676, 0x34f065f4, 0x845177e0, 0xa284b61e, 0x91eb3186, 0x38d042a2, 0x7f35a23f}
MESA: info: num_ubos: 2
MESA: info: outputs_written: 0
MESA: info: system_values_read: 0x00000000'00000000'00000000'00000200
MESA: info: subgroup_size: 0
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: constants: 64
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var ubo INTERP_MODE_NONE none uint[] $consts (0, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #1
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 32     %1 = load_const (0x00000000)
MESA: info:     div 32    %13 = @load_vertex_id
MESA: info:     con 32    %27 = load_const (0x00000002)
MESA: info:     div 32    %25 = ishl %13, %27 (0x2)
MESA: info:     div 32x4  %26 = @load_const_ir3 (%25) (base=0)
MESA: info:                     @store_output (%26, %1 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                     // succs: b1
MESA: info:     block b1:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 5f38d0492a163fe26dbb03498984d46fa680bfc5:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x1)
MESA: info: (nop2) shl.b r0.x, (last)r0.x, 2
MESA: info: cov.u32s16 hr0.x, (last)r0.x
MESA: info: (rpt1)nop
MESA: info: mova a0.x, (last)hr0.x
MESA: info: (rpt4)nop
MESA: info: mov.f32f32 r0.y, c<a0.x>
MESA: info: mov.f32f32 r0.z, c<a0.x + 1>
MESA: info: mov.f32f32 r0.w, c<a0.x + 2>
MESA: info: (ul)mov.f32f32 r1.x, c<a0.x + 3>
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r0.y (VARYING_SLOT_POS)
MESA: info: ; VERT: inputs: r0.x (SYSTEM_VALUE_VERTEX_ID slot=9 cm=1,il=0,b=0)
MESA: info: ; VERT prog 160/1: 17 instr, 9 nops, 8 non-nops, 5 mov, 1 cov, 32 dwords
MESA: info: ; VERT prog 160/1: 0 last-baryf, 0 last-helper, 0 half, 2 full, 8 constlen
MESA: info: ; VERT prog 160/1: 10 cat0, 6 cat1, 1 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 160/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 160/1: 16 max_waves, 0 double_threadsize
MESA: info: ; pos: r0.y
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0xbd27cc16, 0xf2637676, 0x34f065f4, 0x845177e0, 0xa284b61e, 0x91eb3186, 0x38d042a2, 0x7f35a23f}
MESA: info: num_ubos: 2
MESA: info: outputs_written: 0
MESA: info: system_values_read: 0x00000000'00000000'00000000'00000200
MESA: info: subgroup_size: 0
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: constants: 64
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #0 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var ubo INTERP_MODE_NONE none uint[] $consts (0, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #1
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 32     %1 = load_const (0x00000000)
MESA: info:     div 32    %13 = @load_vertex_id
MESA: info:     con 32    %27 = load_const (0x00000002)
MESA: info:     div 32    %25 = ishl %13, %27 (0x2)
MESA: info:     div 32x4  %26 = @load_const_ir3 (%25) (base=0)
MESA: info:                     @store_output (%26, %1 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                     // succs: b1
MESA: info:     block b1:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 5f38d0492a163fe26dbb03498984d46fa680bfc5:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c0.x (4 vec4)
MESA: info: ;   primitive_param            c4.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      1
MESA: info: ;   range[0]:
MESA: info: ;     block:          1
MESA: info: ;     offset:         c0.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: @in(r0.x)	in0 (wrmask=0x1)
MESA: info: (nop2) shl.b r0.x, (last)r0.x, 2
MESA: info: cov.u32s16 hr0.x, (last)r0.x
MESA: info: (rpt1)nop
MESA: info: mova a0.x, (last)hr0.x
MESA: info: (rpt4)nop
MESA: info: mov.f32f32 r0.y, c<a0.x>
MESA: info: mov.f32f32 r0.z, c<a0.x + 1>
MESA: info: mov.f32f32 r0.w, c<a0.x + 2>
MESA: info: (ul)mov.f32f32 r1.x, c<a0.x + 3>
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r0.y (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (SYSTEM_VALUE_VERTEX_ID slot=9 cm=1,il=0,b=0)
MESA: info: ; BVERT prog 160/2: 17 instr, 9 nops, 8 non-nops, 5 mov, 1 cov, 32 dwords
MESA: info: ; BVERT prog 160/2: 0 last-baryf, 0 last-helper, 0 half, 2 full, 8 constlen
MESA: info: ; BVERT prog 160/2: 10 cat0, 6 cat1, 1 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 160/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 160/2: 16 max_waves, 0 double_threadsize
MESA: info: ; pos: r0.y
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0xc55c8d76, 0xceafe14b, 0xfcce439d, 0xaff79d8d, 0x65ac4a16, 0x322a7017, 0x62d1a148, 0xba02c959}
MESA: info: outputs_written: 4
MESA: info: system_values_read: 0x00000000'00000000'00000000'00080000
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x21
MESA: info: uses_discard: true
MESA: info: origin_upper_left: true
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #0 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #1
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:         // preds:
MESA: info:     con 1        %0 = @preamble_start_ir3
MESA: info:                       // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:         // preds: b0
MESA: info:         div 1        %1 = @elect_any_ir3
MESA: info:                           // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:         // preds: b1
MESA: info:             con 32       %2 = load_const (0x00000000)
MESA: info:             con 32       %3 = load_const (0x00000004)
MESA: info:             con 32       %4 = load_const (0x00000002)
MESA: info:             con 32       %5 = load_const (0x00000001)
MESA: info:             con 32       %7 = @bindless_resource_ir3 (%5 (0x1)) (desc_set=1)
MESA: info:             con 32    %1459 = load_const (0x00000003 = 0.000000)
MESA: info:             con 32x4  %1437 = @load_ubo_vec4 (%7, %1459 (0x3)) (access=speculatable, base=0, component=0)
MESA: info:             con 32x4  %1631 = load_const (0x0000000f, 0x00000080, 0x00000100, 0x00000200) = (15, 128, 256, 512)
MESA: info:             con 32x4  %1632 = iand %1437.wwww, %1631 (0xf, 0x80, 0x100, 0x200)
MESA: info:             con 32    %1440 = @load_ubo_vec4 (%7, %2 (0x0)) (access=speculatable, base=0, component=2)
MESA: info:             con 32      %18 = frcp %1437.x
MESA: info:                               @store_const_ir3 (%18) (base=0)
MESA: info:             con 32      %19 = frcp %1437.y
MESA: info:                               @store_const_ir3 (%19) (base=1)
MESA: info:             con 32      %20 = load_const (0x00000008 = 0.000000)
MESA: info:             con 32      %21 = frcp %1440
MESA: info:                               @store_const_ir3 (%21) (base=2)
MESA: info:             con 32    %1460 = load_const (0x00000005 = 0.000000)
MESA: info:             con 32    %1443 = @load_ubo_vec4 (%7, %1460 (0x5)) (access=speculatable, base=0, component=1)
MESA: info:             con 32      %24 = frcp %1443
MESA: info:                               @store_const_ir3 (%24) (base=3)
MESA: info:             con 32      %25 = load_const (0x00000009 = 0.000000)
MESA: info:             con 32x4  %1642 = load_const (0x00000001, 0x00000009, 0x00000005, 0x00000002)
MESA: info:             con 1x4   %1643 = ieq %1632.xxxx, %1642 (0x1, 0x9, 0x5, 0x2)
MESA: info:             con 32x4  %1644 = b2i32 %1643
MESA: info:             con 32    %1645 = mov %1644.w
MESA: info:             con 32    %1641 = mov %1644.z
MESA: info:             con 32    %1636 = mov %1644.x
MESA: info:             con 32    %1637 = mov %1644.y
MESA: info:                               @store_const_ir3 (%1636) (base=4)
MESA: info:                               @store_const_ir3 (%1637) (base=5)
MESA: info:                               @store_const_ir3 (%1641) (base=6)
MESA: info:                               @store_const_ir3 (%1645) (base=7)
MESA: info:             con 1       %35 = ior %1643.x, %1643.y
MESA: info:             con 1       %36 = ior %35, %1643.z
MESA: info:             con 32      %37 = b2i32 %36
MESA: info:                               @store_const_ir3 (%37) (base=8)
MESA: info:             con 32      %38 = load_const (0x3f800000 = 1.000000)
MESA: info:             con 32      %39 = load_const (0x0000000b = 0.000000 = 11)
MESA: info:             con 32    %1446 = @load_ubo_vec4 (%7, %3 (0x4)) (access=speculatable, base=0, component=3)
MESA: info:             con 32      %42 = load_const (0x0000000a = 0.000000 = 10)
MESA: info:             con 32      %43 = load_const (0x00000006)
MESA: info:             con 32x4  %1655 = load_const (0x00000008, 0x0000000a, 0x0000000b, 0x00000006) = (8, 10, 11, 6)
MESA: info:             con 1x4   %1656 = ieq %1632.xxxx, %1655 (0x8, 0xa, 0xb, 0x6)
MESA: info:             con 32x4  %1657 = b2i32 %1656
MESA: info:             con 32    %1658 = mov %1657.w
MESA: info:             con 32    %1654 = mov %1657.z
MESA: info:             con 32    %1649 = mov %1657.x
MESA: info:             con 32    %1650 = mov %1657.y
MESA: info:                               @store_const_ir3 (%1649) (base=9)
MESA: info:                               @store_const_ir3 (%1650) (base=10)
MESA: info:                               @store_const_ir3 (%1654) (base=11)
MESA: info:                               @store_const_ir3 (%1658) (base=12)
MESA: info:             con 32x2  %1659 = load_const (0x00000003, 0x00000004)
MESA: info:             con 1x2   %1660 = ieq %1632.xx, %1659 (0x3, 0x4)
MESA: info:             con 32x2  %1661 = b2i32 %1660
MESA: info:             con 32    %1662 = mov %1661.x
MESA: info:             con 32    %1663 = mov %1661.y
MESA: info:                               @store_const_ir3 (%1662) (base=13)
MESA: info:                               @store_const_ir3 (%1663) (base=14)
MESA: info:             con 32      %57 = frcp %1437.z
MESA: info:             con 32      %58 = fmul %1446, %57
MESA: info:                               @store_const_ir3 (%58) (base=15)
MESA: info:             con 32      %59 = f2i32 %1446
MESA: info:             con 32      %60 = load_const (0xbf000000 = -0.500000 = -1090519040 = 3204448256)
MESA: info:             con 32x4  %1673 = load_const (0x00000000, 0x00000001, 0x00000002, 0x00000003)
MESA: info:             con 1x4   %1674 = ieq %59.xxxx, %1673 (0x0, 0x1, 0x2, 0x3)
MESA: info:             con 32x4  %1675 = b2i32 %1674
MESA: info:             con 32    %1676 = mov %1675.w
MESA: info:             con 32    %1672 = mov %1675.z
MESA: info:             con 32    %1667 = mov %1675.x
MESA: info:             con 32    %1668 = mov %1675.y
MESA: info:                               @store_const_ir3 (%1667) (base=16)
MESA: info:                               @store_const_ir3 (%1668) (base=17)
MESA: info:                               @store_const_ir3 (%1672) (base=18)
MESA: info:                               @store_const_ir3 (%1676) (base=19)
MESA: info:             con 32      %69 = load_const (0x3f000000 = 0.500000)
MESA: info:             con 1       %70 = ieq %59, %3 (0x4)
MESA: info:             con 32      %71 = bcsel %70, %69 (0x3f000000), %60 (0xbf000000)
MESA: info:                               @store_const_ir3 (%71) (base=20)
MESA: info:             con 1       %72 = ior %1674.z, %1674.w
MESA: info:             con 1       %73 = ior %72, %70
MESA: info:             con 32      %74 = b2i32 %73
MESA: info:                               @store_const_ir3 (%74) (base=21)
MESA: info:             con 1       %75 = uge %5 (0x1), %59
MESA: info:             con 32      %76 = b2i32 %75
MESA: info:                               @store_const_ir3 (%76) (base=22)
MESA: info:             con 32      %78 = load_const (0x00000010 = 16)
MESA: info:             con 32      %79 = load_const (0x0000ffff = 65535)
MESA: info:             con 32      %80 = iand %59, %79 (0xffff)
MESA: info:             con 32      %82 = ushr %59, %78 (0x10)
MESA: info:             con 32x3  %1685 = load_const (0x0000aaab, 0x0000aaaa, 0xaaaaaaab) = (+43691, +43690, -1431655765) = (43691, 43690, 2863311531)
MESA: info:             con 32x3  %1686 = umul_low %80.xxx, %1685 (0xaaab, 0xaaaa, 0xaaaaaaab)
MESA: info:             con 32x2  %1679 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             con 32x2  %1680 = imadsh_mix16 %1679 (0xaaab, 0xaaaa), %80.xx, %1686.xy
MESA: info:             con 32x2  %1681 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             con 32x2  %1682 = umul_low %82.xx, %1681 (0xaaab, 0xaaaa)
MESA: info:             con 32x2  %1683 = load_const (0x0000aaab, 0x0000aaaa) = (43691, 43690)
MESA: info:             con 32x2  %1684 = imadsh_mix16 %1683 (0xaaab, 0xaaaa), %82.xx, %1682
MESA: info:             con 32      %88 = load_const (0xaaaaaaab = -1431655765 = 2863311531)
MESA: info:             con 32    %1557 = imadsh_mix16 %80, %88 (0xaaaaaaab), %1686.z
MESA: info:             con 32    %1558 = imadsh_mix16 %88 (0xaaaaaaab), %80, %1557
MESA: info:             con 1       %90 = ult %1558, %1680.x
MESA: info:             con 32      %91 = b2i32 %90
MESA: info:             con 32      %93 = ushr %1680.y, %78 (0x10)
MESA: info:             con 32    %1530 = iadd3 %1684.y, %91, %93
MESA: info:             con 32      %95 = load_const (0xaaab0000 = -1431633920 = 2863333376)
MESA: info:             con 32    %1604 = load_const (0x00000000)
MESA: info:             con 32    %1554 = imadsh_mix16 %82, %95 (0xaaab0000), %1604 (0x0)
MESA: info:             con 32      %97 = iadd %1558, %1554
MESA: info:             con 1       %98 = ult %97, %1558
MESA: info:             con 32      %99 = b2i32 %98
MESA: info:             con 32     %101 = ushr %1684.x, %78 (0x10)
MESA: info:             con 32    %1529 = iadd3 %1530, %99, %101
MESA: info:             con 32     %103 = ushr %1529, %4 (0x2)
MESA: info:             con 32    %1550 = umul_low %103, %43 (0x6)
MESA: info:             con 32    %1552 = imadsh_mix16 %43 (0x6), %103, %1550
MESA: info:             con 32    %1620 = isub %59, %1552
MESA: info:             con 32x4  %1696 = load_const (0x00000000, 0x00000001, 0x00000002, 0x00000003)
MESA: info:             con 1x4   %1697 = ieq %1620.xxxx, %1696 (0x0, 0x1, 0x2, 0x3)
MESA: info:             con 32x4  %1698 = b2i32 %1697
MESA: info:             con 32    %1699 = mov %1698.w
MESA: info:             con 32    %1695 = mov %1698.z
MESA: info:             con 32    %1690 = mov %1698.x
MESA: info:             con 32    %1691 = mov %1698.y
MESA: info:                               @store_const_ir3 (%1690) (base=23)
MESA: info:                               @store_const_ir3 (%1691) (base=24)
MESA: info:                               @store_const_ir3 (%1695) (base=25)
MESA: info:                               @store_const_ir3 (%1699) (base=26)
MESA: info:             con 1      %117 = ieq %1620, %3 (0x4)
MESA: info:             con 32     %118 = bcsel %117, %69 (0x3f000000), %60 (0xbf000000)
MESA: info:                               @store_const_ir3 (%118) (base=27)
MESA: info:             con 1      %119 = ior %1697.z, %1697.w
MESA: info:             con 1      %120 = ior %119, %117
MESA: info:             con 32     %121 = b2i32 %120
MESA: info:                               @store_const_ir3 (%121) (base=28)
MESA: info:             con 1      %122 = uge %5 (0x1), %1620
MESA: info:             con 32     %123 = b2i32 %122
MESA: info:                               @store_const_ir3 (%123) (base=29)
MESA: info:             con 1      %124 = ilt %59, %2 (0x0)
MESA: info:             con 32     %125 = iabs %59
MESA: info:             con 32     %126 = iand %125, %79 (0xffff)
MESA: info:             con 32     %127 = ushr %125, %78 (0x10)
MESA: info:             con 32x3  %1708 = load_const (0x0000aaab, 0x00002aaa, 0x2aaaaaab) = (43691, 10922, 715827883)
MESA: info:             con 32x3  %1709 = umul_low %126.xxx, %1708 (0xaaab, 0x2aaa, 0x2aaaaaab)
MESA: info:             con 32x2  %1702 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:             con 32x2  %1703 = imadsh_mix16 %1702 (0xaaab, 0x2aaa), %126.xx, %1709.xy
MESA: info:             con 32x2  %1704 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:             con 32x2  %1705 = umul_low %127.xx, %1704 (0xaaab, 0x2aaa)
MESA: info:             con 32x2  %1706 = load_const (0x0000aaab, 0x00002aaa) = (43691, 10922)
MESA: info:             con 32x2  %1707 = imadsh_mix16 %1706 (0xaaab, 0x2aaa), %127.xx, %1705
MESA: info:             con 32     %133 = load_const (0x2aaaaaab = 715827883)
MESA: info:             con 32    %1536 = imadsh_mix16 %126, %133 (0x2aaaaaab), %1709.z
MESA: info:             con 32    %1537 = imadsh_mix16 %133 (0x2aaaaaab), %126, %1536
MESA: info:             con 1      %135 = ult %1537, %1703.x
MESA: info:             con 32     %136 = b2i32 %135
MESA: info:             con 32     %138 = ushr %1703.y, %78 (0x10)
MESA: info:             con 32    %1527 = iadd3 %1707.y, %136, %138
MESA: info:             con 32    %1601 = load_const (0x00000000)
MESA: info:             con 32    %1533 = imadsh_mix16 %127, %95 (0xaaab0000), %1601 (0x0)
MESA: info:             con 32     %141 = iadd %1537, %1533
MESA: info:             con 1      %142 = ult %141, %1537
MESA: info:             con 32     %143 = b2i32 %142
MESA: info:             con 32     %145 = ushr %1707.x, %78 (0x10)
MESA: info:             con 32    %1526 = iadd3 %1527, %143, %145
MESA: info:             con 32     %147 = inot %1526
MESA: info:             con 32     %148 = inot %141
MESA: info:             con 32     %149 = iadd %148, %5 (0x1)
MESA: info:             con 1      %150 = ult %149, %148
MESA: info:             con 32     %151 = b2i32 %150
MESA: info:             con 32     %152 = iadd %147, %151
MESA: info:             con 32     %153 = bcsel %124, %152, %1526
MESA: info:             con 32     %154 = load_const (0x0000001f = 31)
MESA: info:             con 32     %155 = ushr %153, %154 (0x1f)
MESA: info:             con 32     %156 = iadd %153, %155
MESA: info:             con 32     %157 = i2f32 %156
MESA: info:             con 32     %158 = fadd %157, %69 (0.500000)
MESA: info:                               @store_const_ir3 (%158) (base=30)
MESA: info:             con 32     %159 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=1)
MESA: info:             con 32    %1449 = @load_ubo_vec4 (%159, %2 (0x0)) (access=speculatable, base=0, component=0)
MESA: info:             con 1      %161 = ine %1449, %2 (0x0)
MESA: info:             con 32x2  %1710 = load_const (0x00000001, 0x00000002)
MESA: info:             con 1x2   %1711 = ieq %1449.xx, %1710 (0x1, 0x2)
MESA: info:             con 1     %1457 = ior %1711.x, %1711.y
MESA: info:             con 1     %1456 = iand %161, %1457
MESA: info:             con 1      %168 = inot %1456
MESA: info:             con 32     %169 = b2i32 %168
MESA: info:                               @store_const_ir3 (%169) (base=31)
MESA: info:             con 32x4  %1452 = @load_ubo_vec4 (%7, %5 (0x1)) (access=speculatable, base=0, component=0)
MESA: info:             con 1x3   %1716 = ilt %2 (0x0).xxx, %1632.yzw
MESA: info:             con 32x3  %1717 = b2i32 %1716
MESA: info:             con 32    %1718 = mov %1717.z
MESA: info:             con 32    %1714 = mov %1717.x
MESA: info:             con 32    %1715 = mov %1717.y
MESA: info:                               @store_const_ir3 (%1714) (base=32)
MESA: info:                               @store_const_ir3 (%1715) (base=33)
MESA: info:                               @store_const_ir3 (%1718) (base=34)
MESA: info:             con 32     %178 = fadd %1452.w, %1452.z
MESA: info:             con 32     %179 = fadd %178, %1452.y
MESA: info:             con 32     %180 = fadd %179, %1452.x
MESA: info:             con 1      %181 = feq! %180, %38 (1.000000)
MESA: info:             con 32     %182 = b2i32 %181
MESA: info:                               @store_const_ir3 (%182) (base=35)
MESA: info:             con 32     %184 = @bindless_resource_ir3 (%3 (0x4)) (desc_set=0)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%184, %2 (0x0)) (base=48, range=4)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%7, %2 (0x0)) (base=64, range=8)
MESA: info:                               @copy_ubo_to_uniform_ir3 (%159, %2 (0x0)) (base=96, range=28)
MESA: info:             con 32     %193 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:             con 32     %195 = @bindless_resource_ir3 (%5 (0x1)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%193, %195)
MESA: info:             con 32     %197 = @bindless_resource_ir3 (%20 (0x8)) (desc_set=2)
MESA: info:             con 32     %199 = @bindless_resource_ir3 (%25 (0x9)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%197, %199)
MESA: info:             con 32     %201 = @bindless_resource_ir3 (%4 (0x2)) (desc_set=2)
MESA: info:             con 32     %203 = @bindless_resource_ir3 (%1459 (0x3)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%201, %203)
MESA: info:             con 32     %204 = load_const (0x0000000e = 0.000000 = 14)
MESA: info:             con 32     %205 = @bindless_resource_ir3 (%204 (0xe)) (desc_set=2)
MESA: info:                               @prefetch_tex_ir3 (%205)
MESA: info:             con 32     %207 = @bindless_resource_ir3 (%78 (0x10)) (desc_set=2)
MESA: info:                               @prefetch_tex_ir3 (%207)
MESA: info:             con 32     %208 = load_const (0x00000011 = 0.000000 = 17)
MESA: info:             con 32     %209 = @bindless_resource_ir3 (%208 (0x11)) (desc_set=2)
MESA: info:                               @prefetch_tex_ir3 (%209)
MESA: info:             con 32     %270 = load_const (0x00000013 = 0.000000 = 19)
MESA: info:             con 32     %271 = @bindless_resource_ir3 (%270 (0x13)) (desc_set=2)
MESA: info:                               @prefetch_tex_ir3 (%271)
MESA: info:             con 32     %333 = @bindless_resource_ir3 (%42 (0xa)) (desc_set=2)
MESA: info:             con 32     %335 = @bindless_resource_ir3 (%39 (0xb)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%333, %335)
MESA: info:             con 32     %337 = @bindless_resource_ir3 (%3 (0x4)) (desc_set=2)
MESA: info:             con 32     %339 = @bindless_resource_ir3 (%1460 (0x5)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%337, %339)
MESA: info:             con 32     %341 = @bindless_resource_ir3 (%43 (0x6)) (desc_set=2)
MESA: info:             con 32     %342 = load_const (0x00000007 = 0.000000)
MESA: info:             con 32     %343 = @bindless_resource_ir3 (%342 (0x7)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%341, %343)
MESA: info:             con 32     %344 = load_const (0x0000000c = 0.000000 = 12)
MESA: info:             con 32     %345 = @bindless_resource_ir3 (%344 (0xc)) (desc_set=2)
MESA: info:             con 32     %346 = load_const (0x0000000d = 0.000000 = 13)
MESA: info:             con 32     %347 = @bindless_resource_ir3 (%346 (0xd)) (desc_set=2)
MESA: info:                               @prefetch_sam_ir3 (%345, %347)
MESA: info:                               @preamble_end_ir3
MESA: info:                               // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:         // preds: b4 b5
MESA: info:     con 32     %348 = load_const (0x00000000 = 0.000000)
MESA: info:     con 32x2   %354 = @load_const_ir3 (%348 (0x0)) (base=48)
MESA: info:     con 32x4   %361 = @load_const_ir3 (%348 (0x0)) (base=76)
MESA: info:     div 32x4   %362 = @load_frag_coord
MESA: info:     div 32    %1619 = ffma %362.y, %354.x, %354.y
MESA: info:     con 32     %369 = @load_const_ir3 (%348 (0x0)) (base=81)
MESA: info:     div 32    %1618 = fsub %369, %1619
MESA: info:     con 32x3   %374 = @load_const_ir3 (%348 (0x0)) (base=64)
MESA: info:     div 32    %1617 = fsub %362.x, %374.x
MESA: info:     div 32    %1616 = fsub %1618, %374.y
MESA: info:     con 32     %383 = @load_const_ir3 (%348 (0x0)) (base=0)
MESA: info:     div 32     %384 = fmul %1617, %383
MESA: info:     con 32     %386 = @load_const_ir3 (%348 (0x0)) (base=1)
MESA: info:     div 32     %387 = fmul %1616, %386
MESA: info:     con 32     %390 = @load_const_ir3 (%348 (0x0)) (base=2)
MESA: info:     div 32     %391 = fmul %384, %390
MESA: info:     div 32     %392 = fmul %387, %390
MESA: info:     con 32     %395 = @load_const_ir3 (%348 (0x0)) (base=3)
MESA: info:     div 32     %396 = fmul %391, %395
MESA: info:     div 32     %397 = fmul %392, %395
MESA: info:     con 32     %401 = @load_const_ir3 (%348 (0x0)) (base=4)
MESA: info:     con 1      %403 = ine %401, %348 (0x0)
MESA: info:     con 32     %405 = @load_const_ir3 (%348 (0x0)) (base=5)
MESA: info:     con 1      %407 = ine %405, %348 (0x0)
MESA: info:     con 32     %409 = @load_const_ir3 (%348 (0x0)) (base=6)
MESA: info:     con 1      %411 = ine %409, %348 (0x0)
MESA: info:     con 32     %413 = @load_const_ir3 (%348 (0x0)) (base=7)
MESA: info:     con 1      %415 = ine %413, %348 (0x0)
MESA: info:     con 32     %417 = @load_const_ir3 (%348 (0x0)) (base=8)
MESA: info:     con 1      %419 = ine %417, %348 (0x0)
MESA: info:     con 32     %420 = load_const (0x3f800000 = 1.000000 = 1065353216)
MESA: info:     div 1      %421 = flt! %420 (1.000000), %396
MESA: info:     div 32     %422 = fmin! %396, %397
MESA: info:     div 1      %423 = flt! %422, %348 (0.000000)
MESA: info:     div 1      %424 = ior %423, %421
MESA: info:     con 32     %425 = load_const (0x42c80000 = 100.000000)
MESA: info:     div 1      %426 = flt! %425 (100.000000), %397
MESA: info:     div 1      %427 = ior %424, %426
MESA: info:     div 32     %428 = fmax! %396, %397
MESA: info:     div 1      %429 = flt! %420 (1.000000), %428
MESA: info:     div 1      %430 = ior %429, %423
MESA: info:     div 1      %431 = bcsel %419, %427, %430
MESA: info:     div 1      %432 = inot %431
MESA: info:                       // succs: b7 b101
MESA: info:     if %432 {
MESA: info:         div block b7:         // preds: b6
MESA: info:         con 32     %350 = load_const (0x00000002)
MESA: info:         con 32     %355 = load_const (0x00000001)
MESA: info:         con 32x2   %438 = @load_const_ir3 (%348 (0x0)) (base=74)
MESA: info:         con 1      %439 = ine %438.y, %355 (0x1)
MESA: info:         div 32    %1615 = fsub %420 (1.000000), %397
MESA: info:         div 32     %442 = bcsel %439, %1615, %397
MESA: info:         div 32x2   %443 = vec2 %396, %442
MESA: info:         con 32     %448 = @load_const_ir3 (%348 (0x0)) (base=83)
MESA: info:         con 32     %453 = @load_const_ir3 (%348 (0x0)) (base=84)
MESA: info:                           // succs: b8 b9
MESA: info:         if %403 {
MESA: info:             div block b8:         // preds: b7
MESA: info:             con 32     %454 = i2f32 %438.x
MESA: info:             con 32     %455 = @bindless_resource_ir3 (%355 (0x1)) (desc_set=2)
MESA: info:             con 32     %456 = @bindless_resource_ir3 (%348 (0x0)) (desc_set=2)
MESA: info:             div 32x4   %457 = (float32)txl %456 (texture_handle), %455 (sampler_handle), %396 (coord), %454 (lod), 0 (texture), 0 (sampler)
MESA: info:             div 32x4  %2154 = mov %457.wzyx
MESA: info:                               // succs: b67
MESA: info:         } else {
MESA: info:             div block b9:         // preds: b7
MESA: info:             con 32     %388 = load_const (0x00000008)
MESA: info:             con 32     %398 = load_const (0x00000009)
MESA: info:                               // succs: b10 b11
MESA: info:             if %411 {
MESA: info:                 div block b10:        // preds: b9
MESA: info:                 con 32     %462 = i2f32 %438.x
MESA: info:                 con 32     %463 = @bindless_resource_ir3 (%398 (0x9)) (desc_set=2)
MESA: info:                 con 32     %464 = @bindless_resource_ir3 (%388 (0x8)) (desc_set=2)
MESA: info:                 con 32     %465 = load_const (0x3f000000 = 0.500000)
MESA: info:                 con 32     %466 = fadd %448, %465 (0.500000)
MESA: info:                 div 32x2   %467 = vec2 %396, %466
MESA: info:                 div 32x4   %468 = (float32)txl %464 (texture_handle), %463 (sampler_handle), %467 (coord), %462 (lod), 0 (texture), 0 (sampler)
MESA: info:                 div 32x4  %2142 = mov %468.wzyx
MESA: info:                                   // succs: b66
MESA: info:             } else {
MESA: info:                 div block b11:  // preds: b9, succs: b12 b13
MESA: info:                 if %415 {
MESA: info:                     div block b12:        // preds: b11
MESA: info:                     con 32     %473 = i2f32 %438.x
MESA: info:                     con 32     %474 = load_const (0x00000003 = 0.000000)
MESA: info:                     con 32     %475 = @bindless_resource_ir3 (%474 (0x3)) (desc_set=2)
MESA: info:                     con 32     %476 = @bindless_resource_ir3 (%350 (0x2)) (desc_set=2)
MESA: info:                     div 32x4   %477 = (float32)txl %476 (texture_handle), %475 (sampler_handle), %443 (coord), %473 (lod), 0 (texture), 0 (sampler)
MESA: info:                     div 32x4  %2130 = mov %477.wzyx
MESA: info:                                       // succs: b65
MESA: info:                 } else {
MESA: info:                     div block b13:        // preds: b11
MESA: info:                     con 32     %381 = load_const (0x0000000e = 14)
MESA: info:                     con 32     %484 = @load_const_ir3 (%348 (0x0)) (base=9)
MESA: info:                     con 1      %486 = ine %484, %348 (0x0)
MESA: info:                     con 32     %488 = @load_const_ir3 (%348 (0x0)) (base=10)
MESA: info:                     con 1      %490 = ine %488, %348 (0x0)
MESA: info:                     con 32     %492 = @load_const_ir3 (%348 (0x0)) (base=11)
MESA: info:                     con 1      %494 = ine %492, %348 (0x0)
MESA: info:                     con 32     %496 = @load_const_ir3 (%348 (0x0)) (base=12)
MESA: info:                     con 1      %498 = ine %496, %348 (0x0)
MESA: info:                                       // succs: b14 b15
MESA: info:                     if %486 {
MESA: info:                         div block b14:        // preds: b13
MESA: info:                         div 32     %499 = fmul %396, %361.x
MESA: info:                         div 32     %500 = fmul %442, %361.y
MESA: info:                         div 32     %501 = f2i32 %499
MESA: info:                         div 32     %502 = f2i32 %500
MESA: info:                         div 32x2   %503 = vec2 %501, %502
MESA: info:                         con 32     %504 = @bindless_resource_ir3 (%381 (0xe)) (desc_set=2)
MESA: info:                         div 32x4   %505 = (float32)txf %504 (texture_handle), %503 (coord), %348 (0x0) (lod), 0 (texture)
MESA: info:                         div 32x4  %2118 = mov %505.wzyx
MESA: info:                                           // succs: b64
MESA: info:                     } else {
MESA: info:                         div block b15:  // preds: b13, succs: b16 b17
MESA: info:                         if %407 {
MESA: info:                             div block b16:        // preds: b15
MESA: info:                             div 32     %510 = fmul %396, %361.x
MESA: info:                             div 32     %511 = f2i32 %510
MESA: info:                             con 32     %512 = load_const (0x00000010 = 0.000000 = 16)
MESA: info:                             con 32     %513 = @bindless_resource_ir3 (%512 (0x10)) (desc_set=2)
MESA: info:                             div 32x4   %514 = (float32)txf %513 (texture_handle), %511 (coord), %348 (0x0) (lod), 0 (texture)
MESA: info:                             div 32x4  %2106 = mov %514.wzyx
MESA: info:                                               // succs: b63
MESA: info:                         } else {
MESA: info:                             div block b17:        // preds: b15
MESA: info:                             con 32     %349 = load_const (0x00000004)
MESA: info:                             con 32     %356 = load_const (0x0000000f = 15)
MESA: info:                             con 32     %379 = load_const (0x0000000c = 12)
MESA: info:                             con 32     %380 = load_const (0x0000000d = 13)
MESA: info:                             con 32     %399 = load_const (0x00000005)
MESA: info:                             con 32     %433 = load_const (0x0000000b = 11)
MESA: info:                             con 32     %449 = load_const (0x0000000a = 10)
MESA: info:                             con 32     %482 = load_const (0x00000006)
MESA: info:                                               // succs: b18 b34
MESA: info:                             if %490 {
MESA: info:                                 div block b18:        // preds: b17
MESA: info:                                 con 32     %365 = load_const (0x00000011 = 0.000000 = 17)
MESA: info:                                 con 1      %519 = ilt %453, %348 (0x0)
MESA: info:                                                   // succs: b19 b32
MESA: info:                                 if %519 {
MESA: info:                                     div block b19:        // preds: b18
MESA: info:                                     con 32x4  %1726 = load_const (0xfffffffe, 0xfffffffc, 0xfffffff8, 0xfffffff0) = (-2, -4, -8, -16) = (4294967294, 4294967292, 4294967288, 4294967280)
MESA: info:                                     con 1x4   %1727 = ieq %453.xxxx, %1726 (0xfffffffe, 0xfffffffc, 0xfffffff8, 0xfffffff0)
MESA: info:                                     con 1     %1728 = mov %1727.w
MESA: info:                                     con 1     %1725 = mov %1727.z
MESA: info:                                     con 1     %1721 = mov %1727.x
MESA: info:                                     con 1     %1722 = mov %1727.y
MESA: info:                                                       // succs: b20 b21
MESA: info:                                     if %1721 {
MESA: info:                                         div block b20:        // preds: b19
MESA: info:                                         div 32     %527 = fmul %396, %361.x
MESA: info:                                         div 32     %528 = fmul %442, %361.y
MESA: info:                                         div 32     %529 = f2i32 %527
MESA: info:                                         div 32     %530 = f2i32 %528
MESA: info:                                         div 32x2   %531 = vec2 %529, %530
MESA: info:                                         con 32     %532 = @bindless_resource_ir3 (%365 (0x11)) (desc_set=2)
MESA: info:                                         div 32x4   %533 = (float32)txf_ms %532 (texture_handle), %531 (coord), %348 (0x0) (ms_index), 0 (texture)
MESA: info:                                         div 32x4   %534 = (float32)txf_ms %532 (texture_handle), %531 (coord), %355 (0x1) (ms_index), 0 (texture)
MESA: info:                                         div 32x4  %1731 = fadd %533, %534
MESA: info:                                         con 32     %539 = load_const (0x3f000000 = 0.500000)
MESA: info:                                         div 32x4  %1737 = fmul %539 (0.500000).xxxx, %1731
MESA: info:                                         div 32x4  %1882 = mov %1737.wzyx
MESA: info:                                                           // succs: b31
MESA: info:                                     } else {
MESA: info:                                         div block b21:  // preds: b19, succs: b22 b23
MESA: info:                                         if %1722 {
MESA: info:                                             div block b22:        // preds: b21
MESA: info:                                             div 32     %544 = fmul %396, %361.x
MESA: info:                                             div 32     %545 = fmul %442, %361.y
MESA: info:                                             div 32     %546 = f2i32 %544
MESA: info:                                             div 32     %547 = f2i32 %545
MESA: info:                                             div 32x2   %548 = vec2 %546, %547
MESA: info:                                             con 32     %549 = @bindless_resource_ir3 (%365 (0x11)) (desc_set=2)
MESA: info:                                             div 32x4   %550 = (float32)txf_ms %549 (texture_handle), %548 (coord), %348 (0x0) (ms_index), 0 (texture)
MESA: info:                                             div 32x4   %551 = (float32)txf_ms %549 (texture_handle), %548 (coord), %355 (0x1) (ms_index), 0 (texture)
MESA: info:                                             div 32x4  %1741 = fadd %550, %551
MESA: info:                                             div 32x4   %556 = (float32)txf_ms %549 (texture_handle), %548 (coord), %350 (0x2) (ms_index), 0 (texture)
MESA: info:                                             div 32x4  %1744 = fadd %1741, %556
MESA: info:                                             con 32     %561 = load_const (0x00000003)
MESA: info:                                             div 32x4   %562 = (float32)txf_ms %549 (texture_handle), %548 (coord), %561 (0x3) (ms_index), 0 (texture)
MESA: info:                                             div 32x4  %1747 = fadd %1744, %562
MESA: info:                                             con 32     %567 = load_const (0x3e800000 = 0.250000)
MESA: info:                                             div 32x4  %1753 = fmul %567 (0.250000).xxxx, %1747
MESA: info:                                             div 32x4  %1870 = mov %1753.wzyx
MESA: info:                                                               // succs: b30
MESA: info:                                         } else {
MESA: info:                                             div block b23:  // preds: b21, succs: b24 b25
MESA: info:                                             if %1725 {
MESA: info:                                                 div block b24:        // preds: b23
MESA: info:                                                 div 32     %572 = fmul %396, %361.x
MESA: info:                                                 div 32     %573 = fmul %442, %361.y
MESA: info:                                                 div 32     %574 = f2i32 %572
MESA: info:                                                 div 32     %575 = f2i32 %573
MESA: info:                                                 div 32x2   %576 = vec2 %574, %575
MESA: info:                                                 con 32     %577 = @bindless_resource_ir3 (%365 (0x11)) (desc_set=2)
MESA: info:                                                 div 32x4   %578 = (float32)txf_ms %577 (texture_handle), %576 (coord), %348 (0x0) (ms_index), 0 (texture)
MESA: info:                                                 div 32x4   %579 = (float32)txf_ms %577 (texture_handle), %576 (coord), %355 (0x1) (ms_index), 0 (texture)
MESA: info:                                                 div 32x4  %1757 = fadd %578, %579
MESA: info:                                                 div 32x4   %584 = (float32)txf_ms %577 (texture_handle), %576 (coord), %350 (0x2) (ms_index), 0 (texture)
MESA: info:                                                 div 32x4  %1760 = fadd %1757, %584
MESA: info:                                                 con 32     %589 = load_const (0x00000003)
MESA: info:                                                 div 32x4   %590 = (float32)txf_ms %577 (texture_handle), %576 (coord), %589 (0x3) (ms_index), 0 (texture)
MESA: info:                                                 div 32x4  %1763 = fadd %1760, %590
MESA: info:                                                 div 32x4   %595 = (float32)txf_ms %577 (texture_handle), %576 (coord), %349 (0x4) (ms_index), 0 (texture)
MESA: info:                                                 div 32x4  %1766 = fadd %1763, %595
MESA: info:                                                 div 32x4   %600 = (float32)txf_ms %577 (texture_handle), %576 (coord), %399 (0x5) (ms_index), 0 (texture)
MESA: info:                                                 div 32x4  %1769 = fadd %1766, %600
MESA: info:                                                 div 32x4   %605 = (float32)txf_ms %577 (texture_handle), %576 (coord), %482 (0x6) (ms_index), 0 (texture)
MESA: info:                                                 div 32x4  %1772 = fadd %1769, %605
MESA: info:                                                 con 32     %610 = load_const (0x00000007)
MESA: info:                                                 div 32x4   %611 = (float32)txf_ms %577 (texture_handle), %576 (coord), %610 (0x7) (ms_index), 0 (texture)
MESA: info:                                                 div 32x4  %1775 = fadd %1772, %611
MESA: info:                                                 con 32     %616 = load_const (0x3e000000 = 0.125000)
MESA: info:                                                 div 32x4  %1781 = fmul %616 (0.125000).xxxx, %1775
MESA: info:                                                 div 32x4  %1858 = mov %1781.wzyx
MESA: info:                                                                   // succs: b29
MESA: info:                                             } else {
MESA: info:                                                 div block b25:  // preds: b23, succs: b26 b27
MESA: info:                                                 if %1728 {
MESA: info:                                                     div block b26:        // preds: b25
MESA: info:                                                     div 32     %621 = fmul %396, %361.x
MESA: info:                                                     div 32     %622 = fmul %442, %361.y
MESA: info:                                                     div 32     %623 = f2i32 %621
MESA: info:                                                     div 32     %624 = f2i32 %622
MESA: info:                                                     div 32x2   %625 = vec2 %623, %624
MESA: info:                                                     con 32     %626 = @bindless_resource_ir3 (%365 (0x11)) (desc_set=2)
MESA: info:                                                     div 32x4   %627 = (float32)txf_ms %626 (texture_handle), %625 (coord), %348 (0x0) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4   %628 = (float32)txf_ms %626 (texture_handle), %625 (coord), %355 (0x1) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1785 = fadd %627, %628
MESA: info:                                                     div 32x4   %633 = (float32)txf_ms %626 (texture_handle), %625 (coord), %350 (0x2) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1788 = fadd %1785, %633
MESA: info:                                                     con 32     %638 = load_const (0x00000003)
MESA: info:                                                     div 32x4   %639 = (float32)txf_ms %626 (texture_handle), %625 (coord), %638 (0x3) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1791 = fadd %1788, %639
MESA: info:                                                     div 32x4   %644 = (float32)txf_ms %626 (texture_handle), %625 (coord), %349 (0x4) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1794 = fadd %1791, %644
MESA: info:                                                     div 32x4   %649 = (float32)txf_ms %626 (texture_handle), %625 (coord), %399 (0x5) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1797 = fadd %1794, %649
MESA: info:                                                     div 32x4   %654 = (float32)txf_ms %626 (texture_handle), %625 (coord), %482 (0x6) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1800 = fadd %1797, %654
MESA: info:                                                     con 32     %659 = load_const (0x00000007)
MESA: info:                                                     div 32x4   %660 = (float32)txf_ms %626 (texture_handle), %625 (coord), %659 (0x7) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1803 = fadd %1800, %660
MESA: info:                                                     div 32x4   %665 = (float32)txf_ms %626 (texture_handle), %625 (coord), %388 (0x8) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1806 = fadd %1803, %665
MESA: info:                                                     div 32x4   %670 = (float32)txf_ms %626 (texture_handle), %625 (coord), %398 (0x9) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1809 = fadd %1806, %670
MESA: info:                                                     div 32x4   %675 = (float32)txf_ms %626 (texture_handle), %625 (coord), %449 (0xa) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1812 = fadd %1809, %675
MESA: info:                                                     div 32x4   %680 = (float32)txf_ms %626 (texture_handle), %625 (coord), %433 (0xb) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1815 = fadd %1812, %680
MESA: info:                                                     div 32x4   %685 = (float32)txf_ms %626 (texture_handle), %625 (coord), %379 (0xc) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1818 = fadd %1815, %685
MESA: info:                                                     div 32x4   %690 = (float32)txf_ms %626 (texture_handle), %625 (coord), %380 (0xd) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1821 = fadd %1818, %690
MESA: info:                                                     div 32x4   %695 = (float32)txf_ms %626 (texture_handle), %625 (coord), %381 (0xe) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1824 = fadd %1821, %695
MESA: info:                                                     div 32x4   %700 = (float32)txf_ms %626 (texture_handle), %625 (coord), %356 (0xf) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1827 = fadd %1824, %700
MESA: info:                                                     con 32     %705 = load_const (0x3d800000 = 0.062500)
MESA: info:                                                     div 32x4  %1833 = fmul %705 (0.062500).xxxx, %1827
MESA: info:                                                     div 32x4  %1845 = mov %1833.wzyx
MESA: info:                                                                       // succs: b28
MESA: info:                                                 } else {
MESA: info:                                                     div block b27:        // preds: b25
MESA: info:                                                     con 32x4  %1846 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                                                                       // succs: b28
MESA: info:                                                 }
MESA: info:                                                 div block b28:        // preds: b26 b27
MESA: info:                                                 div 32x4  %1844 = phi b26: %1845, b27: %1846 (0x0, 0x0, 0x0, 0x0)
MESA: info:                                                                   // succs: b29
MESA: info:                                             }
MESA: info:                                             div block b29:        // preds: b24 b28
MESA: info:                                             div 32x4  %1857 = phi b24: %1858, b28: %1844
MESA: info:                                                               // succs: b30
MESA: info:                                         }
MESA: info:                                         div block b30:        // preds: b22 b29
MESA: info:                                         div 32x4  %1869 = phi b22: %1870, b29: %1857
MESA: info:                                                           // succs: b31
MESA: info:                                     }
MESA: info:                                     div block b31:        // preds: b20 b30
MESA: info:                                     div 32x4  %1881 = phi b20: %1882, b30: %1869
MESA: info:                                                       // succs: b33
MESA: info:                                 } else {
MESA: info:                                     div block b32:        // preds: b18
MESA: info:                                     div 32     %726 = fmul %396, %361.x
MESA: info:                                     div 32     %727 = fmul %442, %361.y
MESA: info:                                     div 32     %728 = f2i32 %726
MESA: info:                                     div 32     %729 = f2i32 %727
MESA: info:                                     div 32x2   %730 = vec2 %728, %729
MESA: info:                                     con 32     %731 = @bindless_resource_ir3 (%365 (0x11)) (desc_set=2)
MESA: info:                                     div 32x4   %732 = (float32)txf_ms %731 (texture_handle), %730 (coord), %453 (ms_index), 0 (texture)
MESA: info:                                     div 32x4  %1894 = mov %732.wzyx
MESA: info:                                                       // succs: b33
MESA: info:                                 }
MESA: info:                                 div block b33:        // preds: b31 b32
MESA: info:                                 div 32x4  %1893 = phi b31: %1881, b32: %1894
MESA: info:                                                   // succs: b62
MESA: info:                             } else {
MESA: info:                                 div block b34:  // preds: b17, succs: b35 b51
MESA: info:                                 if %494 {
MESA: info:                                     div block b35:        // preds: b34
MESA: info:                                     con 32     %444 = load_const (0x00000013 = 0.000000 = 19)
MESA: info:                                     con 1      %741 = ilt %453, %348 (0x0)
MESA: info:                                                       // succs: b36 b49
MESA: info:                                     if %741 {
MESA: info:                                         div block b36:        // preds: b35
MESA: info:                                         con 32x4  %1903 = load_const (0xfffffffe, 0xfffffffc, 0xfffffff8, 0xfffffff0) = (-2, -4, -8, -16) = (4294967294, 4294967292, 4294967288, 4294967280)
MESA: info:                                         con 1x4   %1904 = ieq %453.xxxx, %1903 (0xfffffffe, 0xfffffffc, 0xfffffff8, 0xfffffff0)
MESA: info:                                         con 1     %1905 = mov %1904.w
MESA: info:                                         con 1     %1902 = mov %1904.z
MESA: info:                                         con 1     %1898 = mov %1904.x
MESA: info:                                         con 1     %1899 = mov %1904.y
MESA: info:                                                           // succs: b37 b38
MESA: info:                                         if %1898 {
MESA: info:                                             div block b37:        // preds: b36
MESA: info:                                             div 32     %749 = fmul %396, %361.x
MESA: info:                                             div 32     %750 = fmul %442, %361.y
MESA: info:                                             div 32     %751 = f2i32 %749
MESA: info:                                             div 32     %752 = f2i32 %750
MESA: info:                                             con 32     %753 = f2i32 %448
MESA: info:                                             div 32x3   %754 = vec3 %751, %752, %753
MESA: info:                                             con 32     %755 = @bindless_resource_ir3 (%444 (0x13)) (desc_set=2)
MESA: info:                                             div 32x4   %756 = (float32)txf_ms %755 (texture_handle), %754 (coord), %348 (0x0) (ms_index), 0 (texture)
MESA: info:                                             div 32x4   %757 = (float32)txf_ms %755 (texture_handle), %754 (coord), %355 (0x1) (ms_index), 0 (texture)
MESA: info:                                             div 32x4  %1908 = fadd %756, %757
MESA: info:                                             con 32     %762 = load_const (0x3f000000 = 0.500000)
MESA: info:                                             div 32x4  %1914 = fmul %762 (0.500000).xxxx, %1908
MESA: info:                                             div 32x4  %2059 = mov %1914.wzyx
MESA: info:                                                               // succs: b48
MESA: info:                                         } else {
MESA: info:                                             div block b38:  // preds: b36, succs: b39 b40
MESA: info:                                             if %1899 {
MESA: info:                                                 div block b39:        // preds: b38
MESA: info:                                                 div 32     %767 = fmul %396, %361.x
MESA: info:                                                 div 32     %768 = fmul %442, %361.y
MESA: info:                                                 div 32     %769 = f2i32 %767
MESA: info:                                                 div 32     %770 = f2i32 %768
MESA: info:                                                 con 32     %771 = f2i32 %448
MESA: info:                                                 div 32x3   %772 = vec3 %769, %770, %771
MESA: info:                                                 con 32     %773 = @bindless_resource_ir3 (%444 (0x13)) (desc_set=2)
MESA: info:                                                 div 32x4   %774 = (float32)txf_ms %773 (texture_handle), %772 (coord), %348 (0x0) (ms_index), 0 (texture)
MESA: info:                                                 div 32x4   %775 = (float32)txf_ms %773 (texture_handle), %772 (coord), %355 (0x1) (ms_index), 0 (texture)
MESA: info:                                                 div 32x4  %1918 = fadd %774, %775
MESA: info:                                                 div 32x4   %780 = (float32)txf_ms %773 (texture_handle), %772 (coord), %350 (0x2) (ms_index), 0 (texture)
MESA: info:                                                 div 32x4  %1921 = fadd %1918, %780
MESA: info:                                                 con 32     %785 = load_const (0x00000003)
MESA: info:                                                 div 32x4   %786 = (float32)txf_ms %773 (texture_handle), %772 (coord), %785 (0x3) (ms_index), 0 (texture)
MESA: info:                                                 div 32x4  %1924 = fadd %1921, %786
MESA: info:                                                 con 32     %791 = load_const (0x3e800000 = 0.250000)
MESA: info:                                                 div 32x4  %1930 = fmul %791 (0.250000).xxxx, %1924
MESA: info:                                                 div 32x4  %2047 = mov %1930.wzyx
MESA: info:                                                                   // succs: b47
MESA: info:                                             } else {
MESA: info:                                                 div block b40:  // preds: b38, succs: b41 b42
MESA: info:                                                 if %1902 {
MESA: info:                                                     div block b41:        // preds: b40
MESA: info:                                                     div 32     %796 = fmul %396, %361.x
MESA: info:                                                     div 32     %797 = fmul %442, %361.y
MESA: info:                                                     div 32     %798 = f2i32 %796
MESA: info:                                                     div 32     %799 = f2i32 %797
MESA: info:                                                     con 32     %800 = f2i32 %448
MESA: info:                                                     div 32x3   %801 = vec3 %798, %799, %800
MESA: info:                                                     con 32     %802 = @bindless_resource_ir3 (%444 (0x13)) (desc_set=2)
MESA: info:                                                     div 32x4   %803 = (float32)txf_ms %802 (texture_handle), %801 (coord), %348 (0x0) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4   %804 = (float32)txf_ms %802 (texture_handle), %801 (coord), %355 (0x1) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1934 = fadd %803, %804
MESA: info:                                                     div 32x4   %809 = (float32)txf_ms %802 (texture_handle), %801 (coord), %350 (0x2) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1937 = fadd %1934, %809
MESA: info:                                                     con 32     %814 = load_const (0x00000003)
MESA: info:                                                     div 32x4   %815 = (float32)txf_ms %802 (texture_handle), %801 (coord), %814 (0x3) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1940 = fadd %1937, %815
MESA: info:                                                     div 32x4   %820 = (float32)txf_ms %802 (texture_handle), %801 (coord), %349 (0x4) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1943 = fadd %1940, %820
MESA: info:                                                     div 32x4   %825 = (float32)txf_ms %802 (texture_handle), %801 (coord), %399 (0x5) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1946 = fadd %1943, %825
MESA: info:                                                     div 32x4   %830 = (float32)txf_ms %802 (texture_handle), %801 (coord), %482 (0x6) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1949 = fadd %1946, %830
MESA: info:                                                     con 32     %835 = load_const (0x00000007)
MESA: info:                                                     div 32x4   %836 = (float32)txf_ms %802 (texture_handle), %801 (coord), %835 (0x7) (ms_index), 0 (texture)
MESA: info:                                                     div 32x4  %1952 = fadd %1949, %836
MESA: info:                                                     con 32     %841 = load_const (0x3e000000 = 0.125000)
MESA: info:                                                     div 32x4  %1958 = fmul %841 (0.125000).xxxx, %1952
MESA: info:                                                     div 32x4  %2035 = mov %1958.wzyx
MESA: info:                                                                       // succs: b46
MESA: info:                                                 } else {
MESA: info:                                                     div block b42:  // preds: b40, succs: b43 b44
MESA: info:                                                     if %1905 {
MESA: info:                                                         div block b43:        // preds: b42
MESA: info:                                                         div 32     %846 = fmul %396, %361.x
MESA: info:                                                         div 32     %847 = fmul %442, %361.y
MESA: info:                                                         div 32     %848 = f2i32 %846
MESA: info:                                                         div 32     %849 = f2i32 %847
MESA: info:                                                         con 32     %850 = f2i32 %448
MESA: info:                                                         div 32x3   %851 = vec3 %848, %849, %850
MESA: info:                                                         con 32     %852 = @bindless_resource_ir3 (%444 (0x13)) (desc_set=2)
MESA: info:                                                         div 32x4   %853 = (float32)txf_ms %852 (texture_handle), %851 (coord), %348 (0x0) (ms_index), 0 (texture)
MESA: info:                                                         div 32x4   %854 = (float32)txf_ms %852 (texture_handle), %851 (coord), %355 (0x1) (ms_index), 0 (texture)
MESA: info:                                                         div 32x4  %1962 = fadd %853, %854
MESA: info:                                                         div 32x4   %859 = (float32)txf_ms %852 (texture_handle), %851 (coord), %350 (0x2) (ms_index), 0 (texture)
MESA: info:                                                         div 32x4  %1965 = fadd %1962, %859
MESA: info:                                                         con 32     %864 = load_const (0x00000003)
MESA: info:                                                         div 32x4   %865 = (float32)txf_ms %852 (texture_handle), %851 (coord), %864 (0x3) (ms_index), 0 (texture)
MESA: info:                                                         div 32x4  %1968 = fadd %1965, %865
MESA: info:                                                         div 32x4   %870 = (float32)txf_ms %852 (texture_handle), %851 (coord), %349 (0x4) (ms_index), 0 (texture)
MESA: info:                                                         div 32x4  %1971 = fadd %1968, %870
MESA: info:                                                         div 32x4   %875 = (float32)txf_ms %852 (texture_handle), %851 (coord), %399 (0x5) (ms_index), 0 (texture)
MESA: info:                                                         div 32x4  %1974 = fadd %1971, %875
MESA: info:                                                         div 32x4   %880 = (float32)txf_ms %852 (texture_handle), %851 (coord), %482 (0x6) (ms_index), 0 (texture)
MESA: info:                                                         div 32x4  %1977 = fadd %1974, %880
MESA: info:                                                         con 32     %885 = load_const (0x00000007)
MESA: info:                                                         div 32x4   %886 = (float32)txf_ms %852 (texture_handle), %851 (coord), %885 (0x7) (ms_index), 0 (texture)
MESA: info:                                                         div 32x4  %1980 = fadd %1977, %886
MESA: info:                                                         div 32x4   %891 = (float32)txf_ms %852 (texture_handle), %851 (coord), %388 (0x8) (ms_index), 0 (texture)
MESA: info:                                                         div 32x4  %1983 = fadd %1980, %891
MESA: info:                                                         div 32x4   %896 = (float32)txf_ms %852 (texture_handle), %851 (coord), %398 (0x9) (ms_index), 0 (texture)
MESA: info:                                                         div 32x4  %1986 = fadd %1983, %896
MESA: info:                                                         div 32x4   %901 = (float32)txf_ms %852 (texture_handle), %851 (coord), %449 (0xa) (ms_index), 0 (texture)
MESA: info:                                                         div 32x4  %1989 = fadd %1986, %901
MESA: info:                                                         div 32x4   %906 = (float32)txf_ms %852 (texture_handle), %851 (coord), %433 (0xb) (ms_index), 0 (texture)
MESA: info:                                                         div 32x4  %1992 = fadd %1989, %906
MESA: info:                                                         div 32x4   %911 = (float32)txf_ms %852 (texture_handle), %851 (coord), %379 (0xc) (ms_index), 0 (texture)
MESA: info:                                                         div 32x4  %1995 = fadd %1992, %911
MESA: info:                                                         div 32x4   %916 = (float32)txf_ms %852 (texture_handle), %851 (coord), %380 (0xd) (ms_index), 0 (texture)
MESA: info:                                                         div 32x4  %1998 = fadd %1995, %916
MESA: info:                                                         div 32x4   %921 = (float32)txf_ms %852 (texture_handle), %851 (coord), %381 (0xe) (ms_index), 0 (texture)
MESA: info:                                                         div 32x4  %2001 = fadd %1998, %921
MESA: info:                                                         div 32x4   %926 = (float32)txf_ms %852 (texture_handle), %851 (coord), %356 (0xf) (ms_index), 0 (texture)
MESA: info:                                                         div 32x4  %2004 = fadd %2001, %926
MESA: info:                                                         con 32     %931 = load_const (0x3d800000 = 0.062500)
MESA: info:                                                         div 32x4  %2010 = fmul %931 (0.062500).xxxx, %2004
MESA: info:                                                         div 32x4  %2022 = mov %2010.wzyx
MESA: info:                                                                           // succs: b45
MESA: info:                                                     } else {
MESA: info:                                                         div block b44:        // preds: b42
MESA: info:                                                         con 32x4  %2023 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                                                                           // succs: b45
MESA: info:                                                     }
MESA: info:                                                     div block b45:        // preds: b43 b44
MESA: info:                                                     div 32x4  %2021 = phi b43: %2022, b44: %2023 (0x0, 0x0, 0x0, 0x0)
MESA: info:                                                                       // succs: b46
MESA: info:                                                 }
MESA: info:                                                 div block b46:        // preds: b41 b45
MESA: info:                                                 div 32x4  %2034 = phi b41: %2035, b45: %2021
MESA: info:                                                                   // succs: b47
MESA: info:                                             }
MESA: info:                                             div block b47:        // preds: b39 b46
MESA: info:                                             div 32x4  %2046 = phi b39: %2047, b46: %2034
MESA: info:                                                               // succs: b48
MESA: info:                                         }
MESA: info:                                         div block b48:        // preds: b37 b47
MESA: info:                                         div 32x4  %2058 = phi b37: %2059, b47: %2046
MESA: info:                                                           // succs: b50
MESA: info:                                     } else {
MESA: info:                                         div block b49:        // preds: b35
MESA: info:                                         div 32     %952 = fmul %396, %361.x
MESA: info:                                         div 32     %953 = fmul %442, %361.y
MESA: info:                                         div 32     %954 = f2i32 %952
MESA: info:                                         div 32     %955 = f2i32 %953
MESA: info:                                         con 32     %956 = f2i32 %448
MESA: info:                                         div 32x3   %957 = vec3 %954, %955, %956
MESA: info:                                         con 32     %958 = @bindless_resource_ir3 (%444 (0x13)) (desc_set=2)
MESA: info:                                         div 32x4   %959 = (float32)txf_ms %958 (texture_handle), %957 (coord), %453 (ms_index), 0 (texture)
MESA: info:                                         div 32x4  %2071 = mov %959.wzyx
MESA: info:                                                           // succs: b50
MESA: info:                                     }
MESA: info:                                     div block b50:        // preds: b48 b49
MESA: info:                                     div 32x4  %2070 = phi b48: %2058, b49: %2071
MESA: info:                                                       // succs: b61
MESA: info:                                 } else {
MESA: info:                                     div block b51:  // preds: b34, succs: b52 b53
MESA: info:                                     if %498 {
MESA: info:                                         div block b52:        // preds: b51
MESA: info:                                         con 32     %968 = i2f32 %438.x
MESA: info:                                         con 32     %969 = @bindless_resource_ir3 (%433 (0xb)) (desc_set=2)
MESA: info:                                         con 32     %970 = @bindless_resource_ir3 (%449 (0xa)) (desc_set=2)
MESA: info:                                         con 32     %971 = load_const (0x3f000000 = 0.500000)
MESA: info:                                         con 32     %972 = fadd %448, %971 (0.500000)
MESA: info:                                         div 32x3   %973 = vec3 %396, %442, %972
MESA: info:                                         div 32x4   %974 = (float32)txl %970 (texture_handle), %969 (sampler_handle), %973 (coord), %968 (lod), 0 (texture), 0 (sampler)
MESA: info:                                                           // succs: b60
MESA: info:                                     } else {
MESA: info:                                         div block b53:        // preds: b51
MESA: info:                                         con 32     %976 = @load_const_ir3 (%348 (0x0)) (base=13)
MESA: info:                                         con 1      %978 = ine %976, %348 (0x0)
MESA: info:                                         con 32     %980 = @load_const_ir3 (%348 (0x0)) (base=14)
MESA: info:                                         con 1      %982 = ine %980, %348 (0x0)
MESA: info:                                                           // succs: b54 b55
MESA: info:                                         if %978 {
MESA: info:                                             div block b54:        // preds: b53
MESA: info:                                             con 32     %984 = @load_const_ir3 (%348 (0x0)) (base=15)
MESA: info:                                             div 32x3   %985 = vec3 %396, %442, %984
MESA: info:                                             con 32     %986 = i2f32 %438.x
MESA: info:                                             con 32     %987 = @bindless_resource_ir3 (%399 (0x5)) (desc_set=2)
MESA: info:                                             con 32     %988 = @bindless_resource_ir3 (%349 (0x4)) (desc_set=2)
MESA: info:                                             div 32x4   %989 = (float32)txl %988 (texture_handle), %987 (sampler_handle), %985 (coord), %986 (lod), 0 (texture), 0 (sampler)
MESA: info:                                                               // succs: b59
MESA: info:                                         } else {
MESA: info:                                             div block b55:  // preds: b53, succs: b56 b57
MESA: info:                                             if %982 {
MESA: info:                                                 div block b56:        // preds: b55
MESA: info:                                                 con 32     %990 = load_const (0xbf000000 = -0.500000 = -1090519040 = 3204448256)
MESA: info:                                                 div 32     %991 = fadd %396, %990 (-0.500000)
MESA: info:                                                 div 32     %992 = fadd %442, %990 (-0.500000)
MESA: info:                                                 con 32     %994 = @load_const_ir3 (%348 (0x0)) (base=16)
MESA: info:                                                 con 32     %998 = @load_const_ir3 (%348 (0x0)) (base=17)
MESA: info:                                                 con 32    %1002 = @load_const_ir3 (%348 (0x0)) (base=18)
MESA: info:                                                 con 32    %1006 = @load_const_ir3 (%348 (0x0)) (base=19)
MESA: info:                                                 div 32    %1009 = fneg %992
MESA: info:                                                 div 32    %1010 = fneg %991
MESA: info:                                                 con 32    %1011 = load_const (0x3f000000 = 1056964608)
MESA: info:                                                 con 32    %1013 = @load_const_ir3 (%348 (0x0)) (base=20)
MESA: info:                                                 div 32    %1520 = icsel_eqz %1006, %1009, %990 (0xbf000000)
MESA: info:                                                 div 32    %1519 = icsel_eqz %1006, %1013, %1009
MESA: info:                                                 con 32    %1017 = @load_const_ir3 (%348 (0x0)) (base=21)
MESA: info:                                                 div 32    %1518 = icsel_eqz %1017, %1010, %991
MESA: info:                                                 div 32    %1517 = icsel_eqz %1002, %1520, %1011 (0x3f000000)
MESA: info:                                                 div 32    %1516 = icsel_eqz %1002, %1519, %992
MESA: info:                                                 div 32    %1515 = icsel_eqz %998, %1518, %990 (0xbf000000)
MESA: info:                                                 div 32    %1514 = icsel_eqz %998, %1516, %991
MESA: info:                                                 div 32    %1513 = icsel_eqz %994, %1515, %1011 (0x3f000000)
MESA: info:                                                 con 32    %1027 = @load_const_ir3 (%348 (0x0)) (base=22)
MESA: info:                                                 div 32    %1512 = icsel_eqz %1027, %1517, %1009
MESA: info:                                                 div 32    %1511 = icsel_eqz %994, %1514, %1010
MESA: info:                                                 div 32x3  %1032 = vec3 %1513, %1512, %1511
MESA: info:                                                 con 32    %1033 = i2f32 %438.x
MESA: info:                                                 con 32    %1034 = load_const (0x00000007 = 0.000000)
MESA: info:                                                 con 32    %1035 = @bindless_resource_ir3 (%1034 (0x7)) (desc_set=2)
MESA: info:                                                 con 32    %1036 = @bindless_resource_ir3 (%482 (0x6)) (desc_set=2)
MESA: info:                                                 div 32x4  %1037 = (float32)txl %1036 (texture_handle), %1035 (sampler_handle), %1032 (coord), %1033 (lod), 0 (texture), 0 (sampler)
MESA: info:                                                                   // succs: b58
MESA: info:                                             } else {
MESA: info:                                                 div block b57:        // preds: b55
MESA: info:                                                 con 32    %1038 = load_const (0xbf000000 = -0.500000 = -1090519040 = 3204448256)
MESA: info:                                                 div 32    %1039 = fadd %396, %1038 (-0.500000)
MESA: info:                                                 div 32    %1040 = fadd %442, %1038 (-0.500000)
MESA: info:                                                 con 32    %1042 = @load_const_ir3 (%348 (0x0)) (base=23)
MESA: info:                                                 con 32    %1046 = @load_const_ir3 (%348 (0x0)) (base=24)
MESA: info:                                                 con 32    %1050 = @load_const_ir3 (%348 (0x0)) (base=25)
MESA: info:                                                 con 32    %1054 = @load_const_ir3 (%348 (0x0)) (base=26)
MESA: info:                                                 div 32    %1057 = fneg %1040
MESA: info:                                                 div 32    %1058 = fneg %1039
MESA: info:                                                 con 32    %1059 = load_const (0x3f000000 = 1056964608)
MESA: info:                                                 con 32    %1061 = @load_const_ir3 (%348 (0x0)) (base=27)
MESA: info:                                                 div 32    %1510 = icsel_eqz %1054, %1057, %1038 (0xbf000000)
MESA: info:                                                 div 32    %1509 = icsel_eqz %1054, %1061, %1057
MESA: info:                                                 con 32    %1065 = @load_const_ir3 (%348 (0x0)) (base=28)
MESA: info:                                                 div 32    %1508 = icsel_eqz %1065, %1058, %1039
MESA: info:                                                 div 32    %1507 = icsel_eqz %1050, %1510, %1059 (0x3f000000)
MESA: info:                                                 div 32    %1506 = icsel_eqz %1050, %1509, %1040
MESA: info:                                                 div 32    %1505 = icsel_eqz %1046, %1508, %1038 (0xbf000000)
MESA: info:                                                 div 32    %1504 = icsel_eqz %1046, %1506, %1039
MESA: info:                                                 div 32    %1503 = icsel_eqz %1042, %1505, %1059 (0x3f000000)
MESA: info:                                                 con 32    %1075 = @load_const_ir3 (%348 (0x0)) (base=29)
MESA: info:                                                 div 32    %1502 = icsel_eqz %1075, %1507, %1057
MESA: info:                                                 div 32    %1501 = icsel_eqz %1042, %1504, %1058
MESA: info:                                                 con 32    %1080 = i2f32 %438.x
MESA: info:                                                 con 32    %1081 = @bindless_resource_ir3 (%380 (0xd)) (desc_set=2)
MESA: info:                                                 con 32    %1082 = @bindless_resource_ir3 (%379 (0xc)) (desc_set=2)
MESA: info:                                                 con 32    %1084 = @load_const_ir3 (%348 (0x0)) (base=30)
MESA: info:                                                 div 32x4  %1085 = vec4 %1503, %1502, %1501, %1084
MESA: info:                                                 div 32x4  %1086 = (float32)txl %1082 (texture_handle), %1081 (sampler_handle), %1085 (coord), %1080 (lod), 0 (texture), 0 (sampler)
MESA: info:                                                                   // succs: b58
MESA: info:                                             }
MESA: info:                                             div block b58:        // preds: b56 b57
MESA: info:                                             div 32x4  %1087 = phi b56: %1037, b57: %1086
MESA: info:                                                               // succs: b59
MESA: info:                                         }
MESA: info:                                         div block b59:        // preds: b54 b58
MESA: info:                                         div 32x4  %1088 = phi b54: %989, b58: %1087
MESA: info:                                                           // succs: b60
MESA: info:                                     }
MESA: info:                                     div block b60:        // preds: b52 b59
MESA: info:                                     div 32x4  %1089 = phi b52: %974, b59: %1088
MESA: info:                                     div 32x4  %2083 = mov %1089.wzyx
MESA: info:                                                       // succs: b61
MESA: info:                                 }
MESA: info:                                 div block b61:        // preds: b50 b60
MESA: info:                                 div 32x4  %2082 = phi b50: %2070, b60: %2083
MESA: info:                                                   // succs: b62
MESA: info:                             }
MESA: info:                             div block b62:        // preds: b33 b61
MESA: info:                             div 32x4  %2094 = phi b33: %1893, b61: %2082
MESA: info:                                               // succs: b63
MESA: info:                         }
MESA: info:                         div block b63:        // preds: b16 b62
MESA: info:                         div 32x4  %2105 = phi b16: %2106, b62: %2094
MESA: info:                                           // succs: b64
MESA: info:                     }
MESA: info:                     div block b64:        // preds: b14 b63
MESA: info:                     div 32x4  %2117 = phi b14: %2118, b63: %2105
MESA: info:                                       // succs: b65
MESA: info:                 }
MESA: info:                 div block b65:        // preds: b12 b64
MESA: info:                 div 32x4  %2129 = phi b12: %2130, b64: %2117
MESA: info:                                   // succs: b66
MESA: info:             }
MESA: info:             div block b66:        // preds: b10 b65
MESA: info:             div 32x4  %2141 = phi b10: %2142, b65: %2129
MESA: info:                               // succs: b67
MESA: info:         }
MESA: info:         div block b67:        // preds: b8 b66
MESA: info:         div 32x4  %2153 = phi b8: %2154, b66: %2141
MESA: info:         div 32x3  %2401 = mov %2153.yzw
MESA: info:         div 32    %2147 = mov %2153.x
MESA: info:         con 32    %1125 = @load_const_ir3 (%348 (0x0)) (base=82)
MESA: info:         con 1     %1126 = ieq %1125, %348 (0x0)
MESA: info:                           // succs: b68 b99
MESA: info:         if %1126 {
MESA: info:             div block b68:        // preds: b67
MESA: info:             con 32    %1130 = @load_const_ir3 (%348 (0x0)) (base=96)
MESA: info:             con 1     %1131 = ine %1130, %348 (0x0)
MESA: info:                               // succs: b69 b76
MESA: info:             if %1131 {
MESA: info:                 div block b69:        // preds: b68
MESA: info:                 con 32     %393 = load_const (0x00000015 = 21)
MESA: info:                 con 32x2  %2156 = load_const (0x00000001, 0x00000002)
MESA: info:                 con 1x2   %2157 = ieq %1130.xx, %2156 (0x1, 0x2)
MESA: info:                 con 1     %2158 = mov %2157.x
MESA: info:                 con 1     %2159 = mov %2157.y
MESA: info:                                   // succs: b70 b71
MESA: info:                 if %2158 {
MESA: info:                     div block b70:        // preds: b69
MESA: info:                     con 32    %1134 = load_const (0x3e800000 = 0.250000)
MESA: info:                     div 32    %1135 = fadd %2153.w, %1134 (0.250000)
MESA: info:                     div 32    %1136 = ffloor %1135
MESA: info:                     div 32    %1137 = f2i32 %1136
MESA: info:                     div 32    %1138 = imax %1137, %348 (0x0)
MESA: info:                     div 32    %1139 = imin %1138, %393 (0x15)
MESA: info:                     div 1     %1140 = ieq %1139, %348 (0x0)
MESA: info:                                       @demote_if (%1140)
MESA: info:                     div 32    %1146 = ishl %1139, %350 (0x2)
MESA: info:                     div 32x4  %1147 = @load_const_ir3 (%1146) (base=100)
MESA: info:                     div 32x4  %2183 = mov %1147.wzyx
MESA: info:                                       // succs: b75
MESA: info:                 } else {
MESA: info:                     div block b71:  // preds: b69, succs: b72 b73
MESA: info:                     if %2159 {
MESA: info:                         div block b72:        // preds: b71
MESA: info:                         con 32    %1152 = load_const (0x3f000000 = 0.500000)
MESA: info:                         div 1     %1153 = flt! %2153.x, %1152 (0.500000)
MESA: info:                                           @demote_if (%1153)
MESA: info:                         con 32    %1154 = load_const (0x3a83126f = 0.001000)
MESA: info:                         div 32    %1155 = fmax %2153.w, %1154 (0.001000)
MESA: info:                         con 32    %1156 = load_const (0xbf13bb63 = -0.577078)
MESA: info:                         div 32    %1157 = fmul %1156 (-0.577078), %1155
MESA: info:                         div 32    %1158 = fexp2 %1157
MESA: info:                         div 32    %1614 = fsub %420 (1.000000), %1158
MESA: info:                         con 32    %1163 = load_const (0x41a00000 = 20.000000)
MESA: info:                         con 32    %1531 = load_const (0xc1a0cccd = -20.100000)
MESA: info:                         div 32    %1613 = ffma %1531 (-20.100000), %1614, %1163 (20.000000)
MESA: info:                         div 32    %1166 = ffloor %1613
MESA: info:                         div 32    %1167 = f2i32 %1166
MESA: info:                         div 32    %1168 = iadd %350 (0x2), %1167
MESA: info:                         div 32    %1169 = imax %1168, %348 (0x0)
MESA: info:                         div 32    %1170 = imin %1169, %393 (0x15)
MESA: info:                         div 32    %1176 = ishl %1170, %350 (0x2)
MESA: info:                         div 32x4  %1177 = @load_const_ir3 (%1176) (base=100)
MESA: info:                         div 32x4  %2170 = mov %1177.wzyx
MESA: info:                                           // succs: b74
MESA: info:                     } else {
MESA: info:                         div block b73:        // preds: b71
MESA: info:                         con 32x4  %2171 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                                           // succs: b74
MESA: info:                     }
MESA: info:                     div block b74:        // preds: b72 b73
MESA: info:                     div 32x4  %2169 = phi b72: %2170, b73: %2171 (0x0, 0x0, 0x0, 0x0)
MESA: info:                                       // succs: b75
MESA: info:                 }
MESA: info:                 div block b75:        // preds: b70 b74
MESA: info:                 div 32x4  %2182 = phi b70: %2183, b74: %2169
MESA: info:                                   // succs: b77
MESA: info:             } else {
MESA: info:                 div block b76:        // preds: b68
MESA: info:                 con 32x4  %2195 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
MESA: info:                                   // succs: b77
MESA: info:             }
MESA: info:             div block b77:        // preds: b75 b76
MESA: info:             div 32x4  %2194 = phi b75: %2182, b76: %2195 (0x0, 0x0, 0x0, 0x0)
MESA: info:             div 32x3  %2393 = mov %2194.yzw
MESA: info:             div 32    %2188 = mov %2194.x
MESA: info:             con 32    %1195 = @load_const_ir3 (%348 (0x0)) (base=31)
MESA: info:             con 1     %1197 = ine %1195, %348 (0x0)
MESA: info:                               // succs: b78 b97
MESA: info:             if %1197 {
MESA: info:                 div block b78:        // preds: b77
MESA: info:                 con 32    %1200 = @load_const_ir3 (%348 (0x0)) (base=67)
MESA: info:                 con 1     %1201 = flt! %348 (0.000000), %1200
MESA: info:                 div 32x3  %2198 = fmul %2153.wzy, %2153.xxx
MESA: info:                 div 32x3  %2200 = fmul %2198, %1200.xxx
MESA: info:                 div 32x3  %2202 = bcsel %1201.xxx, %2200, %2153.wzy
MESA: info:                 div 32    %1211 = bcsel %1201, %420 (0x3f800000), %2153.x
MESA: info:                 con 32x2  %1215 = @load_const_ir3 (%348 (0x0)) (base=72)
MESA: info:                 div 32x3  %2204 = fsub %2202, %1215.xxx
MESA: info:                 div 32    %1609 = fsub %1211, %1215.x
MESA: info:                 div 32x3  %2206 = fmul %2204, %1215.yyy
MESA: info:                 div 32    %1224 = fmul %1609, %1215.y
MESA: info:                 con 32x4  %1228 = @load_const_ir3 (%348 (0x0)) (base=68)
MESA: info:                 con 32    %1229 = load_const (0x3f000000 = 0.500000)
MESA: info:                 con 1x4   %2209 = flt! %1228, %1229 (0.500000).xxxx
MESA: info:                 div 32x3  %2211 = bcsel %2209.xyz, %348 (0x0).xxx, %2202
MESA: info:                 div 32x3  %2215 = bcsel %2209.xyz, %348 (0x0).xxx, %2206
MESA: info:                 div 32x3  %2301 = mov %2215.zyx
MESA: info:                 div 32x3  %2265 = mov %2215.zyx
MESA: info:                 div 32x3  %2244 = mov %2215.zyx
MESA: info:                 div 32    %1240 = bcsel %2209.w, %420 (0x3f800000), %1211
MESA: info:                 div 32    %1241 = bcsel %2209.w, %420 (0x3f800000), %1224
MESA: info:                 con 32    %1243 = @load_const_ir3 (%348 (0x0)) (base=32)
MESA: info:                 con 1     %1245 = ine %1243, %348 (0x0)
MESA: info:                 con 32    %1247 = @load_const_ir3 (%348 (0x0)) (base=33)
MESA: info:                 con 1     %1249 = ine %1247, %348 (0x0)
MESA: info:                 con 32    %1251 = @load_const_ir3 (%348 (0x0)) (base=34)
MESA: info:                                   // succs: b79 b86
MESA: info:                 if %1245 {
MESA: info:                     div block b79:        // preds: b78
MESA: info:                     div 1x3   %2218 = fneu! %2211, %2211
MESA: info:                     div 1     %1257 = ior %2218.x, %2218.y
MESA: info:                     div 1     %1258 = ior %1257, %2218.z
MESA: info:                     div 1     %1259 = fneu! %1240, %1240
MESA: info:                     div 1     %1624 = inot %1258
MESA: info:                     div 1     %1625 = inot %1259
MESA: info:                     div 1     %1626 = iand %1624, %1625
MESA: info:                                       // succs: b80 b84
MESA: info:                     if %1626 {
MESA: info:                         div block b80:        // preds: b79
MESA: info:                         div 32x3  %2220 = fabs %2211
MESA: info:                         con 32    %1265 = load_const (0x7f800000 = inf)
MESA: info:                         div 1x3   %2222 = feq! %2220, %1265 (inf).xxx
MESA: info:                         div 1     %1269 = ior %2222.x, %2222.y
MESA: info:                         div 1     %1270 = ior %1269, %2222.z
MESA: info:                         div 32    %1271 = fabs %1240
MESA: info:                         div 1     %1272 = feq! %1271, %1265 (inf)
MESA: info:                         div 1     %1621 = inot %1270
MESA: info:                         div 1     %1622 = inot %1272
MESA: info:                         div 1     %1623 = iand %1621, %1622
MESA: info:                                           // succs: b81 b82
MESA: info:                         if %1623 {
MESA: info:                             div block b81:        // preds: b80
MESA: info:                             div 32    %1275 = fmin! %2211.x, %2211.y
MESA: info:                             div 32    %1276 = fmin! %2211.z, %1240
MESA: info:                             div 32    %1277 = fmin! %1276, %1275
MESA: info:                             div 1     %1278 = flt! %1277, %348 (0.000000)
MESA: info:                             con 32    %1279 = load_const (0x3d93dd98 = 0.072200)
MESA: info:                             con 32    %1280 = load_const (0x3f371759 = 0.715200)
MESA: info:                             con 32    %1281 = load_const (0x3e59b3d0 = 0.212600)
MESA: info:                             div 32    %1283 = fmul %2215.y, %1280 (0.715200)
MESA: info:                             div 32    %1608 = ffma %2215.z, %1279 (0.072200), %1283
MESA: info:                             div 32    %1607 = ffma %2215.x, %1281 (0.212600), %1608
MESA: info:                             div 32x3  %2226 = bcsel %1278.xxx, %2215, %1607.xxx
MESA: info:                             div 32x3  %2243 = mov %2226.zyx
MESA: info:                             div 32    %1290 = bcsel %1278, %1241, %420 (0x3f800000)
MESA: info:                             con 32x4  %2234 = load_const (0x00000000, 0x00000000, 0x3f800000, 0x3f800000) = (0.000000, 0.000000, 1.000000, 1.000000) = (0, 0, 1065353216, 1065353216)
MESA: info:                             div 32x4  %2235 = bcsel %1278.xxxx, %2234 (0x0, 0x0, 0x3f800000, 0x3f800000), %2194.wzyx
MESA: info:                             div 32x4  %2256 = mov %2235.wzyx
MESA: info:                                               // succs: b83
MESA: info:                         } else {
MESA: info:                             div block b82:        // preds: b80
MESA: info:                             con 1     %1295 = load_const (true)
MESA: info:                             con 32x4  %2257 = load_const (0x3f800000, 0x00000000, 0x3f800000, 0x00000000) = (1.000000, 0.000000, 1.000000, 0.000000) = (1065353216, 0, 1065353216, 0)
MESA: info:                                               // succs: b83
MESA: info:                         }
MESA: info:                         div block b83:        // preds: b81 b82
MESA: info:                         div 32x3  %2242 = phi b81: %2243, b82: %2244
MESA: info:                         div 1     %1299 = phi b81: %1278, b82: %1295 (true)
MESA: info:                         div 32x4  %2255 = phi b81: %2256, b82: %2257 (0x3f800000, 0x0, 0x3f800000, 0x0)
MESA: info:                         div 32    %1301 = phi b81: %1290, b82: %1241
MESA: info:                                           // succs: b85
MESA: info:                     } else {
MESA: info:                         div block b84:        // preds: b79
MESA: info:                         con 1     %1305 = load_const (true)
MESA: info:                         con 32x4  %2277 = load_const (0x3f800000, 0x00000000, 0x00000000, 0x3f800000) = (1.000000, 0.000000, 0.000000, 1.000000) = (1065353216, 0, 0, 1065353216)
MESA: info:                                           // succs: b85
MESA: info:                     }
MESA: info:                     div block b85:        // preds: b83 b84
MESA: info:                     div 32x3  %2264 = phi b83: %2242, b84: %2265
MESA: info:                     div 1     %1309 = phi b83: %1299, b84: %1305 (true)
MESA: info:                     div 32x4  %2276 = phi b83: %2255, b84: %2277 (0x3f800000, 0x0, 0x0, 0x3f800000)
MESA: info:                     div 32    %1311 = phi b83: %1301, b84: %1241
MESA: info:                                       // succs: b93
MESA: info:                 } else {
MESA: info:                     div block b86:  // preds: b78, succs: b87 b91
MESA: info:                     if %1249 {
MESA: info:                         div block b87:        // preds: b86
MESA: info:                         div 32    %1315 = fmin! %2215.x, %2215.y
MESA: info:                         div 32    %1316 = fmin! %2215.z, %1241
MESA: info:                         div 32    %1317 = fmin! %1316, %1315
MESA: info:                         div 1     %1318 = flt! %1317, %348 (0.000000)
MESA: info:                         div 1     %1319 = inot %1318
MESA: info:                                           // succs: b88 b89
MESA: info:                         if %1319 {
MESA: info:                             div block b88:        // preds: b87
MESA: info:                             div 32    %1320 = fmax! %2215.x, %2215.y
MESA: info:                             div 32    %1321 = fmax! %2215.z, %1241
MESA: info:                             div 32    %1322 = fmax! %1321, %1320
MESA: info:                             con 32    %1323 = load_const (0x3f800001 = 1.000000)
MESA: info:                             div 1     %1324 = flt! %1323 (1.000000), %1322
MESA: info:                             con 32    %1325 = load_const (0x3d93dd98 = 0.072200)
MESA: info:                             con 32    %1326 = load_const (0x3f371759 = 0.715200)
MESA: info:                             con 32    %1327 = load_const (0x3e59b3d0 = 0.212600)
MESA: info:                             div 32    %1329 = fmul %2215.y, %1326 (0.715200)
MESA: info:                             div 32    %1606 = ffma %2215.z, %1325 (0.072200), %1329
MESA: info:                             div 32    %1605 = ffma %2215.x, %1327 (0.212600), %1606
MESA: info:                             div 32x3  %2282 = bcsel %1324.xxx, %2215, %1605.xxx
MESA: info:                             div 32x3  %2300 = mov %2282.zyx
MESA: info:                             div 32    %1336 = bcsel %1324, %1241, %420 (0x3f800000)
MESA: info:                             con 32x4  %2291 = load_const (0x00000000, 0x3f800000, 0x00000000, 0x3f800000) = (0.000000, 1.000000, 0.000000, 1.000000) = (0, 1065353216, 0, 1065353216)
MESA: info:                             div 32x4  %2292 = bcsel %1324.xxxx, %2291 (0x0, 0x3f800000, 0x0, 0x3f800000), %2194.wzyx
MESA: info:                             div 32x4  %2313 = mov %2292.wzyx
MESA: info:                                               // succs: b90
MESA: info:                         } else {
MESA: info:                             div block b89:        // preds: b87
MESA: info:                             con 1     %1341 = load_const (true)
MESA: info:                             con 32x4  %2314 = load_const (0x3f800000, 0x00000000, 0x00000000, 0x3f800000) = (1.000000, 0.000000, 0.000000, 1.000000) = (1065353216, 0, 0, 1065353216)
MESA: info:                                               // succs: b90
MESA: info:                         }
MESA: info:                         div block b90:        // preds: b88 b89
MESA: info:                         div 32x3  %2299 = phi b88: %2300, b89: %2301
MESA: info:                         div 1     %1345 = phi b88: %1324, b89: %1341 (true)
MESA: info:                         div 32x4  %2312 = phi b88: %2313, b89: %2314 (0x3f800000, 0x0, 0x0, 0x3f800000)
MESA: info:                         div 32    %1347 = phi b88: %1336, b89: %1241
MESA: info:                                           // succs: b92
MESA: info:                     } else {
MESA: info:                         div block b91:        // preds: b86
MESA: info:                         con 32    %1352 = @load_const_ir3 (%348 (0x0)) (base=35)
MESA: info:                         con 1     %1355 = feq! %1228.w, %420 (1.000000)
MESA: info:                         div 32    %1356 = fadd %2215.z, %2215.y
MESA: info:                         div 32    %1357 = fadd %1356, %2215.x
MESA: info:                         div 32    %1358 = bcsel %1355, %1241, %1357
MESA: info:                         div 32x3  %2319 = icsel_eqz %1352.xxx, %2215, %1358.xxx
MESA: info:                         div 32x3  %2327 = mov %2319.zyx
MESA: info:                         div 32    %1486 = icsel_eqz %1352, %1241, %420 (0x3f800000)
MESA: info:                         con 1     %1363 = load_const (false)
MESA: info:                                           // succs: b92
MESA: info:                     }
MESA: info:                     div block b92:        // preds: b90 b91
MESA: info:                     div 32x3  %2326 = phi b90: %2299, b91: %2327
MESA: info:                     div 1     %1367 = phi b90: %1345, b91: %1363 (false)
MESA: info:                     div 32x4  %2338 = phi b90: %2312, b91: %2194
MESA: info:                     div 32    %1369 = phi b90: %1347, b91: %1486
MESA: info:                                       // succs: b93
MESA: info:                 }
MESA: info:                 div block b93:        // preds: b85 b92
MESA: info:                 div 32x3  %2343 = phi b85: %2264, b92: %2326
MESA: info:                 div 1     %1376 = phi b85: %1309, b92: %1367
MESA: info:                 div 32x4  %2353 = phi b85: %2276, b92: %2338
MESA: info:                 div 32    %1378 = phi b85: %1311, b92: %1369
MESA: info:                 div 32x3  %2385 = mov %2353.yzw
MESA: info:                 div 32    %2347 = mov %2353.x
MESA: info:                 div 1     %1382 = inot %1376
MESA: info:                                   // succs: b94 b95
MESA: info:                 if %1382 {
MESA: info:                     div block b94:        // preds: b93
MESA: info:                     con 32    %1383 = load_const (0x3d25aee6 = 0.040450)
MESA: info:                     div 1x3   %2356 = fge! %1383 (0.040450).xxx, %2343.zyx
MESA: info:                     con 32    %1387 = load_const (0x3d9e8391 = 0.077399)
MESA: info:                     div 32x3  %2358 = fmul %2343.zyx, %1387 (0.077399).xxx
MESA: info:                     div 32x3  %2360 = fsat %2343.zyx
MESA: info:                     con 32    %1394 = load_const (0x3d6147ae = 0.055000)
MESA: info:                     div 32x3  %2362 = fadd %2360, %1394 (0.055000).xxx
MESA: info:                     con 32    %1398 = load_const (0x3f72a76f = 0.947867)
MESA: info:                     div 32x3  %2364 = fmul %2362, %1398 (0.947867).xxx
MESA: info:                     con 32    %1402 = load_const (0x4019999a = 2.400000)
MESA: info:                     div 32x3  %2368 = flog2 %2364
MESA: info:                     div 32x3  %2369 = fmul %2368, %1402 (2.400000).xxx
MESA: info:                     div 32x3  %2370 = fexp2 %2369
MESA: info:                     div 32x3  %2372 = bcsel %2356, %2358, %2370
MESA: info:                     div 32x3  %2376 = icsel_eqz %1251.xxx, %2343.zyx, %2372
MESA: info:                     div 32x3  %2384 = mov %2376.zyx
MESA: info:                                       // succs: b96
MESA: info:                 } else {
MESA: info:                     div block b95:  // preds: b93, succs: b96
MESA: info:                 }
MESA: info:                 div block b96:        // preds: b94 b95
MESA: info:                 div 32    %1418 = phi b94: %1378, b95: %2347
MESA: info:                 div 32x3  %2383 = phi b94: %2384, b95: %2385
MESA: info:                                   // succs: b98
MESA: info:             } else {
MESA: info:                 div block b97:  // preds: b77, succs: b98
MESA: info:             }
MESA: info:             div block b98:        // preds: b96 b97
MESA: info:             div 32    %1422 = phi b96: %1418, b97: %2188
MESA: info:             div 32x3  %2392 = phi b96: %2383, b97: %2393
MESA: info:                               // succs: b100
MESA: info:         } else {
MESA: info:             div block b99:  // preds: b67, succs: b100
MESA: info:         }
MESA: info:         div block b100:       // preds: b98 b99
MESA: info:         div 32    %1426 = phi b98: %1422, b99: %2147
MESA: info:         div 32x3  %2400 = phi b98: %2392, b99: %2401
MESA: info:                           // succs: b102
MESA: info:     } else {
MESA: info:         div block b101:       // preds: b6
MESA: info:         con 32x3  %2407 = load_const (0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000)
MESA: info:                           // succs: b102
MESA: info:     }
MESA: info:     con block b102:       // preds: b100 b101
MESA: info:     div 32    %1430 = phi b100: %1426, b101: %348 (0x0)
MESA: info:     div 32x3  %2406 = phi b100: %2400, b101: %2407 (0x0, 0x0, 0x0)
MESA: info:     div 32x4  %1434 = vec4 %2406.z, %2406.y, %2406.x, %1430
MESA: info:                       @store_output (%1434, %348 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:                       // succs: b103
MESA: info:     block b103:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 d6b285b49e4888dcda0c224af9a02da4b283d64d:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   ubo_ranges                 c12.x (40 vec4)
MESA: info: ;   preamble                   c0.x (12 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      3
MESA: info: ;   range[0]:
MESA: info: ;     block:          4
MESA: info: ;     bindless_base:  0
MESA: info: ;     offset:         c12.x
MESA: info: ;     size:           4 vec4 (0b -> 64b)
MESA: info: ;   range[1]:
MESA: info: ;     block:          1
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c16.x
MESA: info: ;     size:           8 vec4 (0b -> 128b)
MESA: info: ;   range[2]:
MESA: info: ;     block:          0
MESA: info: ;     bindless_base:  1
MESA: info: ;     offset:         c24.x
MESA: info: ;     size:           28 vec4 (0b -> 448b)
MESA: info: @in(r0.x)	in1 (wrmask=0xf)
MESA: info: @const(c52.x)	0x3f000000, 0xbf000000, 0x0000aaaa, 0xaaaaaaab
MESA: info: @const(c53.x)	0x0000ffff, 0x0000aaab, 0xaaab0000, 0x00002aaa
MESA: info: @const(c54.x)	0x2aaaaaab, 0x00000200, 0x3d800000, 0x42c80000
MESA: info: @const(c55.x)	0x3e800000, 0x3e000000, 0x00000000, 0x3f800000
MESA: info: @const(c56.x)	0x7f800000, 0x3f800001, 0x3f371759, 0x3d93dd98
MESA: info: @const(c57.x)	0x3e59b3d0, 0x3d9e8391, 0x3d25aee6, 0x3d6147ae
MESA: info: @const(c58.x)	0x3f72a76f, 0x4019999a, 0xc1a0cccd, 0xbf13bb63
MESA: info: @const(c59.x)	0x3a83126f, 0x41a00000, 0xd0d0d0d0, 0xd0d0d0d0
MESA: info: shps #l264
MESA: info: getone #l264
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#1, t#0
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#9, t#8
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#3, t#2
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#11, t#10
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#5, t#4
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#7, t#6
MESA: info: sam.base2 (f32)(xyzw)r63.x, r48.x, s#13, t#12
MESA: info: (ss)nop
MESA: info: ldc.u.offset0.4.imm.base1 r48.x, 3, 1
MESA: info: ldc.u.offset2.1.imm.base1 r49.w, 0, 1
MESA: info: ldc.u.offset1.1.imm.base1 r50.x, 5, 1
MESA: info: shr.b r49.x, c52.w, 16
MESA: info: shr.b r49.y, c53.z, 16
MESA: info: shr.b r49.z, c54.x, 16
MESA: info: mova1 a1.x, (r)48
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 14
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 16
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 17
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 19
MESA: info: (sy)(ss)and.b r50.y, r48.w, 15
MESA: info: cmps.s.eq hr53.x, r50.y, 1
MESA: info: cov.u16s32 r51.y, hr53.x
MESA: info: cmps.s.eq hr53.y, r50.y, 9
MESA: info: cmps.s.eq hr53.z, r50.y, 5
MESA: info: or.b hr53.x, hr53.x, hr53.y
MESA: info: cov.u16s32 r51.z, hr53.y
MESA: info: cov.u16s32 r51.w, hr53.z
MESA: info: or.b hr53.x, hr53.x, hr53.z
MESA: info: cov.u16s32 r52.x, hr53.x
MESA: info: rcp r48.y, r48.y
MESA: info: rcp r48.z, r48.z
MESA: info: rcp r49.w, r49.w
MESA: info: rcp r50.x, r50.x
MESA: info: cmps.s.eq hr53.w, r50.y, 2
MESA: info: cmps.s.eq hr53.z, r50.y, 10
MESA: info: cov.u16s32 r51.x, hr53.w
MESA: info: rcp r48.x, r48.x
MESA: info: (ss)nop
MESA: info: stc.u32 c[4], r51.y, 1
MESA: info: (ss)cmps.s.eq hr54.z, r50.y, 11
MESA: info: stc.u32 c[5], r51.z, 1
MESA: info: stc.u32 c[6], r51.w, 1
MESA: info: stc.u32 c[8], r52.x, 1
MESA: info: stc.u32 c[1], r48.y, 1
MESA: info: stc.u32 c[2], r49.w, 1
MESA: info: stc.u32 c[3], r50.x, 1
MESA: info: (ss)cov.u16s32 r51.z, hr54.z
MESA: info: cmps.s.eq hr55.z, r50.y, 6
MESA: info: cov.u16s32 r52.x, hr55.z
MESA: info: cmps.s.eq hr48.z, r50.y, 8
MESA: info: cov.u16s32 r50.z, hr48.z
MESA: info: cmps.s.eq hr51.z, r50.y, 3
MESA: info: cmps.s.eq hr51.w, r50.y, 4
MESA: info: (rpt1)cov.u16s32 r50.x, (r)hr51.z
MESA: info: stc.u32 c[7], r51.x, 1
MESA: info: stc.u32 c[0], r48.x, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[11], r51.z, 1
MESA: info: cov.u16s32 r51.x, hr53.z
MESA: info: stc.u32 c[12], r52.x, 1
MESA: info: stc.u32 c[9], r50.z, 1
MESA: info: stc.u32 c[13], r50.x, 1
MESA: info: stc.u32 c[14], r50.y, 1
MESA: info: (ss)nop
MESA: info: ldc.u.offset0.4.imm.base1 r51.y, 1, 1
MESA: info: ldc.u.offset3.1.imm.base1 r50.z, 4, 1
MESA: info: shr.b r50.w, c53.z, 16
MESA: info: stc.u32 c[10], r51.x, 1
MESA: info: (sy)(ss)add.f r52.x, r52.x, r51.w
MESA: info: mul.f r48.z, r50.z, r48.z
MESA: info: add.f r52.x, r52.x, r51.z
MESA: info: cov.f32s32 r50.z, r50.z
MESA: info: add.f r52.x, r52.x, r51.y
MESA: info: cmps.s.eq hr48.z, r50.z, 0
MESA: info: cmps.s.eq hr55.x, r50.z, 2
MESA: info: cov.u16s32 r51.w, hr55.x
MESA: info: cmps.s.eq hr52.z, r50.z, 1
MESA: info: cmps.s.eq hr55.y, r50.z, 3
MESA: info: cmps.f.eq hr51.z, r52.x, (1.0)
MESA: info: cov.u16s32 r51.y, hr52.z
MESA: info: or.b hr55.x, hr55.x, hr55.y
MESA: info: cov.u16s32 r50.x, hr51.z
MESA: info: cov.u16s32 r52.x, hr55.y
MESA: info: shr.b r52.z, r50.z, 16
MESA: info: mull.u r49.y, r52.z, r49.y
MESA: info: shl.b r49.y, r49.y, 16
MESA: info: add.u r49.y, r49.y, 0
MESA: info: ldc.u.offset0.1.imm.base1 r51.x, 0, 0
MESA: info: shr.b r52.w, r52.z, 16
MESA: info: shr.b r53.x, r52.z, 16
MESA: info: mull.u r53.y, r52.z, c53.y
MESA: info: mull.u r52.w, c53.y, r52.w
MESA: info: mull.u r53.x, c52.z, r53.x
MESA: info: mull.u r52.z, r52.z, c52.z
MESA: info: shl.b r52.w, r52.w, 16
MESA: info: shl.b r53.x, r53.x, 16
MESA: info: add.u r52.w, r52.w, r53.y
MESA: info: add.u r53.x, r53.x, r52.z
MESA: info: shr.b r52.w, r52.w, 16
MESA: info: (ss)nop
MESA: info: stc.u32 c[15], r48.z, 1
MESA: info: (ss)cov.u16s32 r48.z, hr48.z
MESA: info: cmps.s.eq hr48.z, r50.z, 4
MESA: info: or.b hr55.x, hr55.x, hr48.z
MESA: info: cov.u16s32 r49.w, hr55.x
MESA: info: stc.u32 c[18], r51.w, 1
MESA: info: stc.u32 c[17], r51.y, 1
MESA: info: stc.u32 c[19], r52.x, 1
MESA: info: stc.u32 c[35], r50.x, 1
MESA: info: (ss)and.b r51.y, r50.z, c53.x
MESA: info: mull.u r49.x, r51.y, r49.x
MESA: info: shr.b r51.z, r51.y, 16
MESA: info: shr.b r51.w, r51.y, 16
MESA: info: mull.u r52.x, r51.y, c53.y
MESA: info: mull.u r52.y, r51.y, c52.z
MESA: info: mull.u r53.z, r51.y, c52.w
MESA: info: shl.b r49.x, r49.x, 16
MESA: info: mull.u r51.z, c53.y, r51.z
MESA: info: shr.b r51.y, r51.y, 16
MESA: info: add.u r49.x, r49.x, r53.z
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: mull.u r51.y, c52.w, r51.y
MESA: info: add.u r51.z, r51.z, r52.x
MESA: info: shl.b r51.y, r51.y, 16
MESA: info: add.u r51.y, r51.y, r49.x
MESA: info: add.u r49.y, r51.y, r49.y
MESA: info: mull.u r51.w, c52.z, r51.w
MESA: info: shl.b r51.w, r51.w, 16
MESA: info: add.u r51.w, r51.w, r52.y
MESA: info: shr.b r51.w, r51.w, 16
MESA: info: cmps.u.ge hr52.x, 1, r50.z
MESA: info: cov.u16s32 r50.y, hr52.x
MESA: info: stc.u32 c[16], r48.z, 1
MESA: info: stc.u32 c[21], r49.w, 1
MESA: info: (ss)cmps.u.lt hr55.x, r51.y, r51.z
MESA: info: cmps.u.lt hr50.z, r49.y, r51.y
MESA: info: cov.u16s32 r53.w, hr55.x
MESA: info: cov.u16s32 r54.x, hr50.z
MESA: info: add.u r53.x, r53.x, r53.w
MESA: info: add.u r53.x, r53.x, r51.w
MESA: info: add.u r53.x, r53.x, r54.x
MESA: info: add.u r53.x, r53.x, r52.w
MESA: info: shr.b r53.x, r53.x, 2
MESA: info: shr.b r54.y, r53.x, 16
MESA: info: mull.u r54.y, 6, r54.y
MESA: info: mull.u r53.x, r53.x, 6
MESA: info: shl.b r54.y, r54.y, 16
MESA: info: add.u r54.y, r54.y, r53.x
MESA: info: sub.u r54.y, r50.z, r54.y
MESA: info: cmps.s.eq hr54.z, r54.y, 0
MESA: info: cmps.s.eq hr55.z, r54.y, 1
MESA: info: cov.u16s32 r52.x, hr55.z
MESA: info: cov.u16u32 r48.z, hr48.z
MESA: info: sel.b32 r48.z, c52.x, r48.z, c52.y
MESA: info: cmps.s.eq hr48.w, r54.y, 3
MESA: info: cmps.s.eq hr50.z, r54.y, 4
MESA: info: cmps.u.ge hr50.w, 1, r54.y
MESA: info: cmps.s.eq hr48.z, r54.y, 2
MESA: info: cov.u16s32 r49.x, hr48.w
MESA: info: cov.u16u32 r49.w, hr50.z
MESA: info: cov.u16s32 r50.x, hr50.w
MESA: info: sel.b32 r49.w, c52.x, r49.w, c52.y
MESA: info: stc.u32 c[22], r50.y, 1
MESA: info: (ss)cov.u16s32 r51.z, hr54.z
MESA: info: absneg.s r51.y, (abs)r50.z
MESA: info: cmps.s.lt r50.z, r50.z, 0
MESA: info: stc.u32 c[24], r52.x, 1
MESA: info: stc.u32 c[20], r48.z, 1
MESA: info: stc.u32 c[26], r49.x, 1
MESA: info: stc.u32 c[29], r50.x, 1
MESA: info: stc.u32 c[27], r49.w, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[23], r51.z, 1
MESA: info: (ss)and.b r51.z, r51.y, c53.x
MESA: info: mull.u r49.z, r51.z, r49.z
MESA: info: shr.b r51.w, r51.z, 16
MESA: info: shr.b r52.x, r51.z, 16
MESA: info: mull.u r52.y, r51.z, c53.y
MESA: info: mull.u r52.z, r51.z, c53.w
MESA: info: mull.u r53.z, r51.z, c54.x
MESA: info: shl.b r49.z, r49.z, 16
MESA: info: mull.u r51.w, c53.y, r51.w
MESA: info: shr.b r51.z, r51.z, 16
MESA: info: add.u r49.z, r49.z, r53.z
MESA: info: shl.b r51.w, r51.w, 16
MESA: info: mull.u r51.z, c54.x, r51.z
MESA: info: add.u r51.w, r51.w, r52.y
MESA: info: shl.b r51.z, r51.z, 16
MESA: info: add.u r51.z, r51.z, r49.z
MESA: info: cov.u16s32 r48.z, hr48.z
MESA: info: shr.b r51.y, r51.y, 16
MESA: info: mull.u r52.x, c53.w, r52.x
MESA: info: mull.u r50.w, r51.y, r50.w
MESA: info: shr.b r52.w, r51.y, 16
MESA: info: shr.b r53.x, r51.y, 16
MESA: info: mull.u r53.y, r51.y, c53.y
MESA: info: shl.b r52.x, r52.x, 16
MESA: info: shl.b r50.w, r50.w, 16
MESA: info: mull.u r53.x, c53.w, r53.x
MESA: info: mull.u r51.y, r51.y, c53.w
MESA: info: add.u r52.x, r52.x, r52.z
MESA: info: add.u r50.w, r50.w, 0
MESA: info: shl.b r53.x, r53.x, 16
MESA: info: shr.b r52.x, r52.x, 16
MESA: info: add.u r50.w, r51.z, r50.w
MESA: info: add.u r53.x, r53.x, r51.y
MESA: info: and.b r52.y, r48.w, 256
MESA: info: or.b hr48.z, hr48.z, hr48.w
MESA: info: mull.u r52.w, c53.y, r52.w
MESA: info: and.b r52.z, r48.w, c54.y
MESA: info: or.b hr48.z, hr48.z, hr50.z
MESA: info: shl.b r52.w, r52.w, 16
MESA: info: cov.u16s32 r50.y, hr48.z
MESA: info: add.u r52.w, r52.w, r53.y
MESA: info: shr.b r52.w, r52.w, 16
MESA: info: (ss)cmps.u.lt hr55.z, r51.z, r51.w
MESA: info: (sy)cmps.s.eq hr54.z, r51.x, 1
MESA: info: cmps.s.eq hr54.w, r51.x, 2
MESA: info: cov.u16s32 r53.w, hr55.z
MESA: info: cmps.u.lt hr55.x, r50.w, r51.z
MESA: info: add.u r53.x, r53.x, r53.w
MESA: info: cov.u16s32 r54.x, hr55.x
MESA: info: add.u r53.x, r53.x, r52.x
MESA: info: or.b hr54.z, hr54.z, hr54.w
MESA: info: cmps.s.ne hr54.x, r51.x, 0
MESA: info: not.b r50.w, r50.w
MESA: info: add.u r53.x, r53.x, r54.x
MESA: info: and.b hr54.x, hr54.x, hr54.z
MESA: info: add.u r54.y, r50.w, 1
MESA: info: add.u r53.x, r53.x, r52.w
MESA: info: sub.u hr54.x, h(1), hr54.x
MESA: info: not.b r54.w, r53.x
MESA: info: stc.u32 c[25], r48.z, 1
MESA: info: stc.u32 c[28], r50.y, 1
MESA: info: (ss)and.b r51.w, r48.w, 128
MESA: info: cmps.u.lt hr53.z, r54.y, r50.w
MESA: info: cov.u16s32 r51.z, hr54.x
MESA: info: (rpt1)cmps.s.lt hr49.w, 0, (r)r52.y
MESA: info: cov.u16s32 r54.z, hr53.z
MESA: info: (rpt1)cov.u16s32 r49.y, (r)hr49.w
MESA: info: add.u r54.w, r54.w, r54.z
MESA: info: sel.b32 r54.w, r54.w, r50.z, r53.x
MESA: info: shr.b r55.x, r54.w, 31
MESA: info: add.u r54.w, r54.w, r55.x
MESA: info: cov.s32f32 r54.w, r54.w
MESA: info: add.f r54.w, r54.w, (0.5)
MESA: info: (ss)cmps.s.lt hr55.z, 0, r51.w
MESA: info: cov.u16s32 r52.x, hr55.z
MESA: info: stc.u32 c[31], r51.z, 1
MESA: info: stc.u32 c[33], r49.y, 1
MESA: info: stc.u32 c[34], r49.z, 1
MESA: info: stc.u32 c[30], r54.w, 1
MESA: info: (ss)nop
MESA: info: stc.u32 c[32], r52.x, 1
MESA: info: ldc.4.k.imm.base0 c[a1.x], 0, 4
MESA: info: (ss)mova1 a1.x, (r)64
MESA: info: (ss)nop
MESA: info: ldc.8.k.imm.base1 c[a1.x], 0, 1
MESA: info: (ss)mova1 a1.x, (r)96
MESA: info: (ss)nop
MESA: info: ldc.28.k.imm.base1 c[a1.x], 0, 0
MESA: info: (sy)(ss)shpe
MESA: info: l264:
MESA: info: (jp)cov.u32f32 r0.y, (last)r0.y
MESA: info: cov.u32f32 r0.x, (last)r0.x
MESA: info: cmps.s.ne hr2.y, c2.x, 0
MESA: info: mul.f r0.y, (last)r0.y, c54.z
MESA: info: mul.f r0.x, (last)r0.x, c54.z
MESA: info: cmps.s.ne p0.y, c1.x, 0
MESA: info: mad.f32 r0.y, c12.x, r0.y, c12.y
MESA: info: add.f r0.x, (last)r0.x, (neg)c16.x
MESA: info: cmps.s.ne p0.w, c1.z, 0
MESA: info: add.f r0.y, c20.y, (last)(neg)r0.y
MESA: info: mul.f r0.x, (last)r0.x, c0.x
MESA: info: cmps.s.ne p0.x, c1.w, 0
MESA: info: add.f r0.y, (last)r0.y, (neg)c16.y
MESA: info: (nop1) mul.f r0.x, (last)r0.x, c0.z
MESA: info: mul.f r0.y, (last)r0.y, c0.y
MESA: info: (nop1) mul.f r0.x, (last)r0.x, c0.w
MESA: info: mul.f r0.y, (last)r0.y, c0.z
MESA: info: (nop1) cmps.f.lt hr2.x, (1.0), r0.x
MESA: info: (nop2) mul.f r0.y, (last)r0.y, c0.w
MESA: info: min.f r1.y, r0.x, r0.y
MESA: info: max.f r1.w, r0.x, r0.y
MESA: info: cmps.f.lt hr3.x, c54.w, r0.y
MESA: info: cmps.f.lt hr2.z, (last)r1.y, (0.0)
MESA: info: (nop1) cmps.f.lt hr3.z, (1.0), (last)r1.w
MESA: info: or.b hr2.x, hr2.z, (last)hr2.x
MESA: info: (nop1) or.b hr3.z, (last)hr3.z, (last)hr2.z
MESA: info: (nop2) or.b hr2.x, (last)hr2.x, (last)hr3.x
MESA: info: (nop2) sel.b16 hr2.x, (last)hr2.x, hr2.y, (last)hr3.z
MESA: info: (nop3) cmps.s.ne p0.z, (last)hr2.x, h(0)
MESA: info: (rpt1)nop
MESA: info: br p0.z, #l1033
MESA: info: cmps.s.ne r2.x, c18.w, 1
MESA: info: (nop2) add.f r2.y, (1.0), (neg)r0.y
MESA: info: sel.b32 r2.y, (last)r2.y, r2.x, (last)r0.y
MESA: info: br !p0.y, #l304
MESA: info: cov.s32f32 r2.z, c18.z
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r0.y, (0x3f000000)
MESA: info: saml.base2 (f32)(xyzw)r2.w, r0.x, r2.z, s#1, t#0
MESA: info: jump #l807
MESA: info: l304:
MESA: info: br !p0.w, #l312
MESA: info: cov.s32f32 r3.w, c18.z
MESA: info: (nop3) add.f r4.x, c20.w, (0.5)
MESA: info: (rpt1)nop
MESA: info: alias.tex.b32.1 r0.y, (0x3f000000)
MESA: info: alias.tex.b32.0 r0.z, r4.x
MESA: info: saml.a.base2 (f32)(xyzw)r2.w, r0.x, r3.w, s#9, t#8
MESA: info: jump #l807
MESA: info: l312:
MESA: info: br !p0.x, #l318
MESA: info: cov.s32f32 r4.y, c18.z
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r0.y, r2.y
MESA: info: saml.base2 (f32)(xyzw)r2.w, r0.x, r4.y, s#3, t#2
MESA: info: jump #l807
MESA: info: l318:
MESA: info: cmps.s.ne p0.y, c2.y, 0
MESA: info: cmps.s.ne p0.z, c2.z, 0
MESA: info: cmps.s.ne p0.w, c2.w, 0
MESA: info: (nop2) cmps.s.ne p0.x, c3.x, 0
MESA: info: br !p0.y, #l332
MESA: info: mul.f r0.x, (last)r0.x, c19.x
MESA: info: (nop1) mul.f r2.y, (last)r2.y, c19.y
MESA: info: cov.f32s32 r0.x, (last)r0.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r40.x, (0x0)
MESA: info: isaml.base2 (f32)(xyzw)r2.w, r0.x, r40.x, s#0, t#14
MESA: info: jump #l807
MESA: info: l332:
MESA: info: (nop3) cmps.s.ne p0.y, c1.y, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l343
MESA: info: mul.f r0.x, (last)r0.x, c19.x
MESA: info: mova1 a1.x, 0
MESA: info: nop
MESA: info: cov.f32s32 r0.x, (last)r0.x
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.0 r0.y, (0x0)
MESA: info: isaml.base2 (f32)(xyzw)r2.w, r0.x, r0.y, t#16, a1.x
MESA: info: jump #l807
MESA: info: l343:
MESA: info: br !p0.z, #l521
MESA: info: (nop3) cmps.s.lt p0.y, c21.x, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l511
MESA: info: cmps.s.eq p0.y, c21.x, -2
MESA: info: cmps.s.eq p0.z, c21.x, -4
MESA: info: cmps.s.eq p0.w, c21.x, -8
MESA: info: (nop2) cmps.s.eq p0.x, c21.x, -16
MESA: info: br !p0.y, #l367
MESA: info: mul.f r0.x, (last)r0.x, c19.x
MESA: info: mul.f r2.y, (last)r2.y, c19.y
MESA: info: mova1 a1.x, 0
MESA: info: cov.f32s32 r0.x, (last)r0.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x0)
MESA: info: isamm.base2 (f32)(xyzw)r4.z, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x1)
MESA: info: isamm.base2 (f32)(xyzw)r5.z, r0.x, t#17, a1.x
MESA: info: (sy)(rpt3)add.f r4.z, (last)(r)r4.z, (last)(r)r5.z
MESA: info: (rpt3)mul.f r2.w, (0.5), (last)(r)r4.z
MESA: info: jump #l807
MESA: info: l367:
MESA: info: nop
MESA: info: br !p0.z, #l392
MESA: info: mul.f r0.x, (last)r0.x, c19.x
MESA: info: mul.f r2.y, (last)r2.y, c19.y
MESA: info: mova1 a1.x, 0
MESA: info: cov.f32s32 r0.x, (last)r0.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x0)
MESA: info: isamm.base2 (f32)(xyzw)r6.z, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x1)
MESA: info: isamm.base2 (f32)(xyzw)r7.z, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x2)
MESA: info: isamm.base2 (f32)(xyzw)r8.z, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x3)
MESA: info: isamm.base2 (f32)(xyzw)r9.z, r0.x, t#17, a1.x
MESA: info: (sy)(rpt3)add.f r6.z, (last)(r)r6.z, (last)(r)r7.z
MESA: info: (rpt3)add.f r6.z, (last)(r)r6.z, (last)(r)r8.z
MESA: info: (rpt3)add.f r6.z, (last)(r)r6.z, (last)(r)r9.z
MESA: info: (rpt3)mul.f r2.w, c55.x, (last)(r)r6.z
MESA: info: jump #l807
MESA: info: l392:
MESA: info: nop
MESA: info: br !p0.w, #l433
MESA: info: mul.f r0.x, (last)r0.x, c19.x
MESA: info: mul.f r2.y, (last)r2.y, c19.y
MESA: info: mova1 a1.x, 0
MESA: info: cov.f32s32 r0.x, (last)r0.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x0)
MESA: info: isamm.base2 (f32)(xyzw)r10.z, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x1)
MESA: info: isamm.base2 (f32)(xyzw)r0.y, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x2)
MESA: info: isamm.base2 (f32)(xyzw)r1.y, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x3)
MESA: info: isamm.base2 (f32)(xyzw)r2.z, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x4)
MESA: info: isamm.base2 (f32)(xyzw)r3.z, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x5)
MESA: info: isamm.base2 (f32)(xyzw)r4.z, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x6)
MESA: info: isamm.base2 (f32)(xyzw)r5.z, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x7)
MESA: info: isamm.base2 (f32)(xyzw)r6.z, r0.x, t#17, a1.x
MESA: info: (sy)(rpt3)add.f r10.z, (last)(r)r10.z, (last)(r)r0.y
MESA: info: (rpt3)add.f r10.z, (last)(r)r10.z, (last)(r)r1.y
MESA: info: (rpt3)add.f r10.z, (last)(r)r10.z, (last)(r)r2.z
MESA: info: (rpt3)add.f r10.z, (last)(r)r10.z, (last)(r)r3.z
MESA: info: (rpt3)add.f r10.z, (last)(r)r10.z, (last)(r)r4.z
MESA: info: (rpt3)add.f r10.z, (last)(r)r10.z, (last)(r)r5.z
MESA: info: (rpt3)add.f r10.z, (last)(r)r10.z, (last)(r)r6.z
MESA: info: (rpt3)mul.f r2.w, c55.y, (last)(r)r10.z
MESA: info: jump #l807
MESA: info: l433:
MESA: info: nop
MESA: info: br !p0.x, #l506
MESA: info: mul.f r0.x, (last)r0.x, c19.x
MESA: info: mul.f r2.y, (last)r2.y, c19.y
MESA: info: mova1 a1.x, 0
MESA: info: cov.f32s32 r0.x, (last)r0.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x0)
MESA: info: isamm.base2 (f32)(xyzw)r7.z, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x1)
MESA: info: isamm.base2 (f32)(xyzw)r8.z, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x2)
MESA: info: isamm.base2 (f32)(xyzw)r9.z, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x3)
MESA: info: isamm.base2 (f32)(xyzw)r10.z, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x4)
MESA: info: isamm.base2 (f32)(xyzw)r0.y, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x5)
MESA: info: isamm.base2 (f32)(xyzw)r1.y, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x6)
MESA: info: isamm.base2 (f32)(xyzw)r2.z, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x7)
MESA: info: isamm.base2 (f32)(xyzw)r3.z, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x8)
MESA: info: isamm.base2 (f32)(xyzw)r4.z, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0x9)
MESA: info: isamm.base2 (f32)(xyzw)r5.z, r0.x, t#17, a1.x
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0xa)
MESA: info: isamm.base2 (f32)(xyzw)r6.z, r0.x, t#17, a1.x
MESA: info: (sy)(rpt3)add.f r7.z, (last)(r)r7.z, (last)(r)r8.z
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0xb)
MESA: info: isamm.base2 (f32)(xyzw)r8.z, r0.x, t#17, a1.x
MESA: info: (rpt3)add.f r7.z, (last)(r)r7.z, (last)(r)r9.z
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0xc)
MESA: info: isamm.base2 (f32)(xyzw)r9.z, r0.x, t#17, a1.x
MESA: info: (rpt3)add.f r7.z, (last)(r)r7.z, (last)(r)r10.z
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0xd)
MESA: info: isamm.base2 (f32)(xyzw)r10.z, r0.x, t#17, a1.x
MESA: info: (rpt3)add.f r7.z, (last)(r)r7.z, (last)(r)r0.y
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0xe)
MESA: info: isamm.base2 (f32)(xyzw)r0.y, r0.x, t#17, a1.x
MESA: info: (rpt3)add.f r7.z, (last)(r)r7.z, (last)(r)r1.y
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, (0xf)
MESA: info: isamm.base2 (f32)(xyzw)r1.y, r0.x, t#17, a1.x
MESA: info: (rpt3)add.f r7.z, (last)(r)r7.z, (last)(r)r2.z
MESA: info: (rpt3)add.f r7.z, (last)(r)r7.z, (last)(r)r3.z
MESA: info: (rpt3)add.f r7.z, (last)(r)r7.z, (last)(r)r4.z
MESA: info: (rpt3)add.f r7.z, (last)(r)r7.z, (last)(r)r5.z
MESA: info: (rpt3)add.f r7.z, (last)(r)r7.z, (last)(r)r6.z
MESA: info: (sy)(rpt3)add.f r7.z, (last)(r)r7.z, (last)(r)r8.z
MESA: info: (rpt3)add.f r7.z, (last)(r)r7.z, (last)(r)r9.z
MESA: info: (rpt3)add.f r7.z, (last)(r)r7.z, (last)(r)r10.z
MESA: info: (rpt3)add.f r7.z, (last)(r)r7.z, (last)(r)r0.y
MESA: info: (rpt3)add.f r7.z, (last)(r)r7.z, (last)(r)r1.y
MESA: info: (rpt3)mul.f r2.w, c54.z, (last)(r)r7.z
MESA: info: jump #l807
MESA: info: l506:
MESA: info: mov.u32u32 r3.z, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r3.y, 0
MESA: info: jump #l807
MESA: info: l511:
MESA: info: mul.f r0.x, (last)r0.x, c19.x
MESA: info: mul.f r2.y, (last)r2.y, c19.y
MESA: info: mova1 a1.x, 0
MESA: info: cov.f32s32 r0.x, (last)r0.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, c21.x
MESA: info: isamm.base2 (f32)(xyzw)r2.w, r0.x, t#17, a1.x
MESA: info: jump #l807
MESA: info: l521:
MESA: info: br !p0.w, #l733
MESA: info: (nop3) cmps.s.lt p0.y, c21.x, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l722
MESA: info: cmps.s.eq p0.y, c21.x, -2
MESA: info: cmps.s.eq p0.z, c21.x, -4
MESA: info: cmps.s.eq p0.w, c21.x, -8
MESA: info: (nop2) cmps.s.eq p0.x, c21.x, -16
MESA: info: br !p0.y, #l546
MESA: info: mul.f r0.x, (last)r0.x, c19.x
MESA: info: mul.f r2.y, (last)r2.y, c19.y
MESA: info: cov.f32s32 r2.z, c20.w
MESA: info: mova1 a1.x, 0
MESA: info: cov.f32s32 r0.x, (last)r0.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r2.x, r0.x
MESA: info: alias.tex.b32.0 r2.w, (0x0)
MESA: info: isamm.a.base2 (f32)(xyzw)r2.w, r2.x, t#19, a1.x
MESA: info: alias.tex.b32.1 r2.x, r0.x
MESA: info: alias.tex.b32.0 r2.w, (0x1)
MESA: info: isamm.a.base2 (f32)(xyzw)r3.w, r2.x, t#19, a1.x
MESA: info: (sy)(rpt3)add.f r2.w, (last)(r)r2.w, (last)(r)r3.w
MESA: info: (rpt3)mul.f r2.w, (0.5), (last)(r)r2.w
MESA: info: jump #l807
MESA: info: l546:
MESA: info: nop
MESA: info: br !p0.z, #l576
MESA: info: mul.f r0.x, (last)r0.x, c19.x
MESA: info: mul.f r2.y, (last)r2.y, c19.y
MESA: info: cov.f32s32 r4.w, c20.w
MESA: info: mova1 a1.x, 0
MESA: info: cov.f32s32 r0.x, (last)r0.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r4.w
MESA: info: alias.tex.b32.0 r0.w, (0x0)
MESA: info: isamm.a.base2 (f32)(xyzw)r5.x, r0.x, t#19, a1.x
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r4.w
MESA: info: alias.tex.b32.0 r0.w, (0x1)
MESA: info: isamm.a.base2 (f32)(xyzw)r6.x, r0.x, t#19, a1.x
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r4.w
MESA: info: alias.tex.b32.0 r0.w, (0x2)
MESA: info: isamm.a.base2 (f32)(xyzw)r7.x, r0.x, t#19, a1.x
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r4.w
MESA: info: alias.tex.b32.0 r0.w, (0x3)
MESA: info: isamm.a.base2 (f32)(xyzw)r8.x, r0.x, t#19, a1.x
MESA: info: (sy)(rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r6.x
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r7.x
MESA: info: (rpt3)add.f r5.x, (last)(r)r5.x, (last)(r)r8.x
MESA: info: (rpt3)mul.f r2.w, c55.x, (last)(r)r5.x
MESA: info: jump #l807
MESA: info: l576:
MESA: info: nop
MESA: info: br !p0.w, #l626
MESA: info: mul.f r0.x, (last)r0.x, c19.x
MESA: info: mul.f r2.y, (last)r2.y, c19.y
MESA: info: cov.f32s32 r9.x, c20.w
MESA: info: mova1 a1.x, 0
MESA: info: cov.f32s32 r0.x, (last)r0.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r9.x
MESA: info: alias.tex.b32.0 r0.w, (0x0)
MESA: info: isamm.a.base2 (f32)(xyzw)r9.y, r0.x, t#19, a1.x
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r9.x
MESA: info: alias.tex.b32.0 r0.w, (0x1)
MESA: info: isamm.a.base2 (f32)(xyzw)r10.y, r0.x, t#19, a1.x
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r9.x
MESA: info: alias.tex.b32.0 r0.w, (0x2)
MESA: info: isamm.a.base2 (f32)(xyzw)r0.y, r0.x, t#19, a1.x
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r9.x
MESA: info: alias.tex.b32.0 r0.w, (0x3)
MESA: info: isamm.a.base2 (f32)(xyzw)r1.y, r0.x, t#19, a1.x
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r9.x
MESA: info: alias.tex.b32.0 r0.w, (0x4)
MESA: info: isamm.a.base2 (f32)(xyzw)r2.z, r0.x, t#19, a1.x
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r9.x
MESA: info: alias.tex.b32.0 r0.w, (0x5)
MESA: info: isamm.a.base2 (f32)(xyzw)r3.z, r0.x, t#19, a1.x
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r9.x
MESA: info: alias.tex.b32.0 r0.w, (0x6)
MESA: info: isamm.a.base2 (f32)(xyzw)r4.z, r0.x, t#19, a1.x
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r9.x
MESA: info: alias.tex.b32.0 r0.w, (0x7)
MESA: info: isamm.a.base2 (f32)(xyzw)r5.z, r0.x, t#19, a1.x
MESA: info: (sy)(rpt3)add.f r9.y, (last)(r)r9.y, (last)(r)r10.y
MESA: info: (rpt3)add.f r9.y, (last)(r)r9.y, (last)(r)r0.y
MESA: info: (rpt3)add.f r9.y, (last)(r)r9.y, (last)(r)r1.y
MESA: info: (rpt3)add.f r9.y, (last)(r)r9.y, (last)(r)r2.z
MESA: info: (rpt3)add.f r9.y, (last)(r)r9.y, (last)(r)r3.z
MESA: info: (rpt3)add.f r9.y, (last)(r)r9.y, (last)(r)r4.z
MESA: info: (rpt3)add.f r9.y, (last)(r)r9.y, (last)(r)r5.z
MESA: info: (rpt3)mul.f r2.w, c55.y, (last)(r)r9.y
MESA: info: jump #l807
MESA: info: l626:
MESA: info: nop
MESA: info: br !p0.x, #l717
MESA: info: mul.f r0.x, (last)r0.x, c19.x
MESA: info: mul.f r2.y, (last)r2.y, c19.y
MESA: info: cov.f32s32 r6.z, c20.w
MESA: info: mova1 a1.x, 0
MESA: info: cov.f32s32 r0.x, (last)r0.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r6.z
MESA: info: alias.tex.b32.0 r0.w, (0x0)
MESA: info: isamm.a.base2 (f32)(xyzw)r6.w, r0.x, t#19, a1.x
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r6.z
MESA: info: alias.tex.b32.0 r0.w, (0x1)
MESA: info: isamm.a.base2 (f32)(xyzw)r7.w, r0.x, t#19, a1.x
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r6.z
MESA: info: alias.tex.b32.0 r0.w, (0x2)
MESA: info: isamm.a.base2 (f32)(xyzw)r8.w, r0.x, t#19, a1.x
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r6.z
MESA: info: alias.tex.b32.0 r0.w, (0x3)
MESA: info: isamm.a.base2 (f32)(xyzw)r9.w, r0.x, t#19, a1.x
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r6.z
MESA: info: alias.tex.b32.0 r0.w, (0x4)
MESA: info: isamm.a.base2 (f32)(xyzw)r10.w, r0.x, t#19, a1.x
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r6.z
MESA: info: alias.tex.b32.0 r0.w, (0x5)
MESA: info: isamm.a.base2 (f32)(xyzw)r0.z, r0.x, t#19, a1.x
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r6.z
MESA: info: alias.tex.b32.0 r0.w, (0x6)
MESA: info: isamm.a.base2 (f32)(xyzw)r2.z, r0.x, t#19, a1.x
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r6.z
MESA: info: alias.tex.b32.0 r0.w, (0x7)
MESA: info: isamm.a.base2 (f32)(xyzw)r3.z, r0.x, t#19, a1.x
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r6.z
MESA: info: alias.tex.b32.0 r0.w, (0x8)
MESA: info: isamm.a.base2 (f32)(xyzw)r4.z, r0.x, t#19, a1.x
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r6.z
MESA: info: alias.tex.b32.0 r0.w, (0x9)
MESA: info: isamm.a.base2 (f32)(xyzw)r5.z, r0.x, t#19, a1.x
MESA: info: (sy)(rpt3)add.f r6.w, (last)(r)r6.w, (last)(r)r7.w
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r6.z
MESA: info: alias.tex.b32.0 r0.w, (0xa)
MESA: info: isamm.a.base2 (f32)(xyzw)r7.w, r0.x, t#19, a1.x
MESA: info: (rpt3)add.f r6.w, (last)(r)r6.w, (last)(r)r8.w
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r6.z
MESA: info: alias.tex.b32.0 r0.w, (0xb)
MESA: info: isamm.a.base2 (f32)(xyzw)r8.w, r0.x, t#19, a1.x
MESA: info: (rpt3)add.f r6.w, (last)(r)r6.w, (last)(r)r9.w
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r6.z
MESA: info: alias.tex.b32.0 r0.w, (0xc)
MESA: info: isamm.a.base2 (f32)(xyzw)r9.w, r0.x, t#19, a1.x
MESA: info: (rpt3)add.f r6.w, (last)(r)r6.w, (last)(r)r10.w
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r6.z
MESA: info: alias.tex.b32.0 r0.w, (0xd)
MESA: info: isamm.a.base2 (f32)(xyzw)r10.w, r0.x, t#19, a1.x
MESA: info: (rpt3)add.f r6.w, (last)(r)r6.w, (last)(r)r0.z
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r6.z
MESA: info: alias.tex.b32.0 r0.w, (0xe)
MESA: info: isamm.a.base2 (f32)(xyzw)r0.z, r0.x, t#19, a1.x
MESA: info: (ss)nop
MESA: info: alias.tex.b32.2 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r6.z
MESA: info: alias.tex.b32.0 r0.w, (0xf)
MESA: info: isamm.a.base2 (f32)(xyzw)r1.z, r0.x, t#19, a1.x
MESA: info: (rpt3)add.f r6.w, (last)(r)r6.w, (last)(r)r2.z
MESA: info: (rpt3)add.f r6.w, (last)(r)r6.w, (last)(r)r3.z
MESA: info: (rpt3)add.f r6.w, (last)(r)r6.w, (last)(r)r4.z
MESA: info: (rpt3)add.f r6.w, (last)(r)r6.w, (last)(r)r5.z
MESA: info: (sy)(rpt3)add.f r6.w, (last)(r)r6.w, (last)(r)r7.w
MESA: info: (rpt3)add.f r6.w, (last)(r)r6.w, (last)(r)r8.w
MESA: info: (rpt3)add.f r6.w, (last)(r)r6.w, (last)(r)r9.w
MESA: info: (rpt3)add.f r6.w, (last)(r)r6.w, (last)(r)r10.w
MESA: info: (rpt3)add.f r6.w, (last)(r)r6.w, (last)(r)r0.z
MESA: info: (rpt3)add.f r6.w, (last)(r)r6.w, (r)r1.z
MESA: info: (rpt3)mul.f r2.w, c54.z, (last)(r)r6.w
MESA: info: jump #l807
MESA: info: l717:
MESA: info: mov.u32u32 r3.z, 0
MESA: info: mov.u32u32 r2.w, 0
MESA: info: mov.u32u32 r3.x, 0
MESA: info: mov.u32u32 r3.y, 0
MESA: info: jump #l807
MESA: info: l722:
MESA: info: mul.f r0.x, (last)r0.x, c19.x
MESA: info: mul.f r2.y, (last)r2.y, c19.y
MESA: info: cov.f32s32 r2.z, c20.w
MESA: info: mova1 a1.x, 0
MESA: info: cov.f32s32 r0.x, (last)r0.x
MESA: info: cov.f32s32 r2.y, (last)r2.y
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r2.x, r0.x
MESA: info: alias.tex.b32.0 r2.w, c21.x
MESA: info: isamm.a.base2 (f32)(xyzw)r2.w, r2.x, t#19, a1.x
MESA: info: jump #l807
MESA: info: l733:
MESA: info: br !p0.x, #l741
MESA: info: cov.s32f32 r2.w, c18.z
MESA: info: (nop3) add.f r3.x, c20.w, (0.5)
MESA: info: (rpt1)nop
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, r3.x
MESA: info: saml.a.base2 (f32)(xyzw)r2.w, r0.x, r2.w, s#11, t#10
MESA: info: jump #l807
MESA: info: l741:
MESA: info: cmps.s.ne p0.y, c3.y, 0
MESA: info: (nop3) cmps.s.ne p0.z, c3.z, 0
MESA: info: nop
MESA: info: br !p0.y, #l751
MESA: info: cov.s32f32 r3.y, c18.z
MESA: info: (rpt4)nop
MESA: info: alias.tex.b32.1 r0.y, r2.y
MESA: info: alias.tex.b32.0 r0.z, c3.w
MESA: info: saml.3d.base2 (f32)(xyzw)r2.w, r0.x, r3.y, s#5, t#4
MESA: info: jump #l807
MESA: info: l751:
MESA: info: nop
MESA: info: br !p0.z, #l780
MESA: info: add.f r2.y, (last)r2.y, c52.y
MESA: info: add.f r0.x, (last)r0.x, c52.y
MESA: info: mov.f32f32 r3.z, c4.w
MESA: info: absneg.f r3.w, (neg)r2.y
MESA: info: mov.f32f32 r4.x, c5.y
MESA: info: mov.f32f32 r4.z, c4.z
MESA: info: mov.f32f32 r5.x, c4.y
MESA: info: absneg.f r4.y, (neg)r0.x
MESA: info: sel.b32 r4.w, c52.y, r3.z, r3.w
MESA: info: sel.b32 r3.z, r3.w, r3.z, c5.x
MESA: info: mov.f32f32 r5.y, c4.x
MESA: info: mov.f32f32 r5.z, c5.z
MESA: info: sel.b32 r4.x, r0.x, r4.x, r4.y
MESA: info: sel.b32 r2.y, (last)r2.y, r4.z, (last)r3.z
MESA: info: sel.b32 r4.z, c52.x, r4.z, (last)r4.w
MESA: info: sel.b32 r0.x, (last)r0.x, r5.x, r2.y
MESA: info: sel.b32 r5.x, c52.y, r5.x, (last)r4.x
MESA: info: cov.s32f32 r5.w, c18.z
MESA: info: sel.b32 r3.w, (last)r3.w, r5.z, (last)r4.z
MESA: info: sel.b32 r4.y, (last)r4.y, r5.y, r0.x
MESA: info: (nop3) sel.b32 r5.y, c52.x, r5.y, (last)r5.x
MESA: info: (rpt1)nop
MESA: info: alias.tex.b32.2 r5.z, r3.w
MESA: info: alias.tex.b32.0 r5.w, r4.y
MESA: info: alias.tex.b32.0 r40.x, r5.w
MESA: info: saml.3d.base2 (f32)(xyzw)r2.w, r5.y, r40.x, s#7, t#6
MESA: info: jump #l807
MESA: info: l780:
MESA: info: add.f r2.y, (last)r2.y, c52.y
MESA: info: add.f r0.x, (last)r0.x, c52.y
MESA: info: mov.f32f32 r6.x, c6.z
MESA: info: absneg.f r6.y, (neg)r2.y
MESA: info: mov.f32f32 r6.z, c7.x
MESA: info: mov.f32f32 r7.x, c6.y
MESA: info: mov.f32f32 r7.z, c6.x
MESA: info: absneg.f r6.w, (neg)r0.x
MESA: info: sel.b32 r7.y, c52.y, r6.x, r6.y
MESA: info: sel.b32 r6.x, r6.y, r6.x, c6.w
MESA: info: mov.f32f32 r7.w, c5.w
MESA: info: mov.f32f32 r8.x, c7.y
MESA: info: sel.b32 r6.z, r0.x, r6.z, r6.w
MESA: info: sel.b32 r2.y, (last)r2.y, r7.x, (last)r6.x
MESA: info: sel.b32 r7.x, c52.x, r7.x, (last)r7.y
MESA: info: sel.b32 r0.x, (last)r0.x, r7.z, (last)r2.y
MESA: info: sel.b32 r7.z, c52.y, r7.z, (last)r6.z
MESA: info: cov.s32f32 r8.y, c18.z
MESA: info: sel.b32 r6.y, (last)r6.y, r8.x, (last)r7.x
MESA: info: sel.b32 r6.w, (last)r6.w, r7.w, (last)r0.x
MESA: info: (nop3) sel.b32 r7.w, c52.x, r7.w, (last)r7.z
MESA: info: (rpt1)nop
MESA: info: alias.tex.b32.3 r8.x, r6.y
MESA: info: alias.tex.b32.0 r8.y, r6.w
MESA: info: alias.tex.b32.0 r8.z, c7.z
MESA: info: alias.tex.b32.0 r40.x, r8.y
MESA: info: saml.3d.a.base2 (f32)(xyzw)r2.w, r7.w, r40.x, s#13, t#12
MESA: info: l807:
MESA: info: (nop3) cmps.s.eq p0.y, c20.z, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l1029
MESA: info: (nop3) cmps.s.ne p0.y, c24.x, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l866
MESA: info: cmps.s.eq p0.y, c24.x, 1
MESA: info: (nop3) cmps.s.eq p0.z, c24.x, 2
MESA: info: nop
MESA: info: br !p0.y, #l835
MESA: info: (sy)(nop2) add.f r8.z, r2.w, c55.x
MESA: info: (nop2) floor.f r8.z, (last)r8.z
MESA: info: cov.f32s32 r8.z, (last)r8.z
MESA: info: (rpt1)nop
MESA: info: (nop2) max.s r8.z, (last)r8.z, 0
MESA: info: (nop2) min.s r8.z, (last)r8.z, 21
MESA: info: cmps.s.eq p0.y, r8.z, 0
MESA: info: (nop2) shl.b r8.z, (last)r8.z, 2
MESA: info: cov.u32s16 hr17.x, (last)r8.z
MESA: info: nop
MESA: info: kill p0.y
MESA: info: mova a0.x, (last)hr17.x
MESA: info: (rpt4)nop
MESA: info: mov.u32u32 r8.w, c<a0.x + 103>
MESA: info: mov.u32u32 r9.z, c<a0.x + 102>
MESA: info: mov.u32u32 r9.y, c<a0.x + 101>
MESA: info: (ul)mov.u32u32 r9.x, c<a0.x + 100>
MESA: info: jump #l870
MESA: info: l835:
MESA: info: nop
MESA: info: br !p0.z, #l861
MESA: info: (sy)max.f r10.x, r2.w, c59.x
MESA: info: (nop1) cmps.f.lt p0.y, r3.z, (0.5)
MESA: info: (nop3) mul.f r10.x, c58.w, (last)r10.x
MESA: info: kill p0.y
MESA: info: nop
MESA: info: exp2 r10.x, (last)r10.x
MESA: info: (ss)(nop2) add.f r10.x, (1.0), (last)(neg)r10.x
MESA: info: (nop2) mad.f32 r10.x, c58.z, r10.x, c59.y
MESA: info: (nop2) floor.f r10.x, (last)r10.x
MESA: info: cov.f32s32 r10.x, (last)r10.x
MESA: info: (rpt1)nop
MESA: info: (nop2) add.u r10.x, 2, (last)r10.x
MESA: info: (nop2) max.s r10.x, (last)r10.x, 0
MESA: info: (nop2) min.s r10.x, (last)r10.x, 21
MESA: info: (nop2) shl.b r10.x, (last)r10.x, 2
MESA: info: cov.u32s16 hr20.x, (last)r10.x
MESA: info: (rpt1)nop
MESA: info: mova a0.x, (last)hr20.x
MESA: info: (rpt4)nop
MESA: info: mov.u32u32 r8.w, c<a0.x + 103>
MESA: info: mov.u32u32 r9.z, c<a0.x + 102>
MESA: info: mov.u32u32 r9.y, c<a0.x + 101>
MESA: info: (ul)mov.u32u32 r9.x, c<a0.x + 100>
MESA: info: jump #l870
MESA: info: l861:
MESA: info: mov.u32u32 r8.w, 0
MESA: info: mov.u32u32 r9.x, 0
MESA: info: mov.u32u32 r9.y, 0
MESA: info: mov.u32u32 r9.z, 0
MESA: info: jump #l870
MESA: info: l866:
MESA: info: mov.u32u32 r8.w, 0
MESA: info: mov.u32u32 r9.x, 0
MESA: info: mov.u32u32 r9.y, 0
MESA: info: mov.u32u32 r9.z, 0
MESA: info: l870:
MESA: info: (nop3) cmps.s.ne p0.y, c7.w, 0
MESA: info: (rpt1)nop
MESA: info: br !p0.y, #l1027
MESA: info: cmps.f.lt r11.w, (0.0), c16.w
MESA: info: cmps.f.lt r1.x, c17.x, (0.5)
MESA: info: (ss)cmps.f.lt r2.z, c17.y, (0.5)
MESA: info: cmps.s.ne p0.y, c8.x, 0
MESA: info: cmps.s.ne p0.z, c8.y, 0
MESA: info: (sy)mul.f r10.y, r2.w, r3.z
MESA: info: mul.f r11.y, r3.x, r3.z
MESA: info: mul.f r11.z, r3.y, r3.z
MESA: info: mul.f r10.z, (last)r10.y, c16.w
MESA: info: mul.f r10.w, (last)r11.y, c16.w
MESA: info: mul.f r11.x, (last)r11.z, c16.w
MESA: info: (rpt2)sel.b32 r10.z, (r)(last)r10.z, r11.w, (r)(last)r2.w
MESA: info: sel.b32 r11.w, c55.w, r11.w, (last)r3.z
MESA: info: add.f r0.x, r10.z, (neg)c18.x
MESA: info: add.f r0.y, r10.w, (neg)c18.x
MESA: info: add.f r0.z, r11.x, (neg)c18.x
MESA: info: add.f r0.w, r11.w, (neg)c18.x
MESA: info: cmps.f.lt r2.w, c17.z, (0.5)
MESA: info: cmps.f.lt r3.x, c17.w, (0.5)
MESA: info: mul.f r0.x, (last)r0.x, c18.y
MESA: info: mul.f r0.y, (last)r0.y, c18.y
MESA: info: mul.f r0.z, (last)r0.z, c18.y
MESA: info: mul.f r0.w, (last)r0.w, c18.y
MESA: info: sel.b32 r1.y, c55.z, r1.x, (last)r10.z
MESA: info: sel.b32 r1.z, c55.z, r2.z, (last)r10.w
MESA: info: mov.f32f32 r3.y, c8.z
MESA: info: sel.b32 r11.x, c55.z, r2.w, (last)r11.x
MESA: info: sel.b32 r11.w, c55.w, r3.x, (last)r11.w
MESA: info: sel.b32 r1.w, c55.z, r1.x, (last)r0.x
MESA: info: sel.b32 r2.x, c55.z, r2.z, (last)r0.y
MESA: info: sel.b32 r2.y, c55.z, r2.w, (last)r0.z
MESA: info: sel.b32 r3.z, c55.w, r3.x, (last)r0.w
MESA: info: br !p0.y, #l950
MESA: info: (rpt1)cmps.f.ne hr7.z, (r)r1.y, (r)r1.y
MESA: info: cmps.f.ne hr8.x, r11.x, r11.x
MESA: info: cmps.f.ne p0.y, r11.w, r11.w
MESA: info: (nop2) or.b hr7.z, (last)hr7.z, (last)hr7.w
MESA: info: (nop3) or.b p0.z, (last)hr7.z, (last)hr8.x
MESA: info: (rpt1)nop
MESA: info: brao p0.z, p0.y, #l944
MESA: info: (rpt1)cmps.f.eq hr8.y, (abs)(r)r1.y, c56.x
MESA: info: cmps.f.eq hr8.w, (abs)r11.x, c56.x
MESA: info: cmps.f.eq p0.y, (abs)r11.w, c56.x
MESA: info: (nop2) or.b hr8.y, (last)hr8.y, (last)hr8.z
MESA: info: (nop3) or.b p0.z, (last)hr8.y, (last)hr8.w
MESA: info: (rpt1)nop
MESA: info: brao p0.z, p0.y, #l938
MESA: info: min.f r1.y, (last)r1.y, (last)r1.z
MESA: info: min.f r11.x, (last)r11.x, (last)r11.w
MESA: info: (nop1) mul.f r4.z, r2.x, c56.z
MESA: info: min.f r11.x, (last)r11.x, (last)r1.y
MESA: info: (nop1) mad.f32 r4.z, c56.w, r2.y, (last)r4.z
MESA: info: cmps.f.lt hr22.x, (last)r11.x, (0.0)
MESA: info: (nop1) mad.f32 r4.z, c57.x, r1.w, (last)r4.z
MESA: info: cov.u16u32 r4.w, hr22.x
MESA: info: (rpt1)nop
MESA: info: sel.b32 r2.y, (last)r2.y, r4.w, r4.z
MESA: info: sel.b32 r2.x, (last)r2.x, r4.w, r4.z
MESA: info: sel.b32 r1.w, (last)r1.w, r4.w, (last)r4.z
MESA: info: sel.b32 r8.w, c55.w, r4.w, (last)r8.w
MESA: info: sel.b32 r9.z, c55.w, r4.w, (last)r9.z
MESA: info: sel.b32 r9.y, c55.z, r4.w, (last)r9.y
MESA: info: sel.b32 r9.x, c55.z, r4.w, (last)r9.x
MESA: info: sel.b32 r3.z, (last)r3.z, r4.w, c55.w
MESA: info: jump #l994
MESA: info: l938:
MESA: info: (jp)mov.u32u32 r9.x, 0
MESA: info: mov.u32u32 r9.y, 0x3f800000
MESA: info: mov.u32u32 r9.z, 0
MESA: info: mov.u32u32 r8.w, 0x3f800000
MESA: info: mov.u16u16 hr22.x, 1
MESA: info: jump #l994
MESA: info: l944:
MESA: info: (jp)mov.u32u32 r9.x, 0x3f800000
MESA: info: mov.u32u32 r9.y, 0
MESA: info: mov.u32u32 r9.z, 0
MESA: info: mov.u32u32 r8.w, 0x3f800000
MESA: info: mov.u16u16 hr22.x, 1
MESA: info: jump #l994
MESA: info: l950:
MESA: info: br !p0.z, #l984
MESA: info: (nop1) min.f r5.x, r1.w, r2.x
MESA: info: (nop2) min.f r5.y, r2.y, r3.z
MESA: info: (nop2) min.f r5.y, (last)r5.y, (last)r5.x
MESA: info: (nop3) cmps.f.lt p0.x, (last)r5.y, (0.0)
MESA: info: (rpt1)nop
MESA: info: predf
MESA: info: max.f r5.z, r1.w, r2.x
MESA: info: max.f r5.w, r2.y, r3.z
MESA: info: (nop1) mul.f r6.x, r2.x, c56.z
MESA: info: max.f r5.w, (last)r5.w, (last)r5.z
MESA: info: (nop1) mad.f32 r6.x, c56.w, r2.y, (last)r6.x
MESA: info: cmps.f.lt hr22.x, c56.y, (last)r5.w
MESA: info: (nop1) mad.f32 r6.x, c57.x, r1.w, (last)r6.x
MESA: info: cov.u16u32 r6.y, hr22.x
MESA: info: (rpt1)nop
MESA: info: sel.b32 r2.y, (last)r2.y, r6.y, r6.x
MESA: info: sel.b32 r2.x, (last)r2.x, r6.y, r6.x
MESA: info: sel.b32 r1.w, (last)r1.w, r6.y, (last)r6.x
MESA: info: sel.b32 r8.w, c55.w, r6.y, (last)r8.w
MESA: info: sel.b32 r9.z, c55.z, r6.y, (last)r9.z
MESA: info: sel.b32 r9.y, c55.w, r6.y, (last)r9.y
MESA: info: sel.b32 r9.x, c55.z, r6.y, (last)r9.x
MESA: info: sel.b32 r3.z, (last)r3.z, r6.y, c55.w
MESA: info: predt
MESA: info: (rpt4)nop
MESA: info: mov.u32u32 r9.x, 0x3f800000
MESA: info: mov.u32u32 r9.y, 0
MESA: info: mov.u32u32 r9.z, 0
MESA: info: mov.u32u32 r8.w, 0x3f800000
MESA: info: mov.u16u16 hr22.x, 1
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: jump #l994
MESA: info: l984:
MESA: info: cmps.f.eq r6.w, c17.w, (1.0)
MESA: info: add.f r6.z, r2.y, r2.x
MESA: info: mov.f32f32 r7.x, c8.w
MESA: info: mov.u16u16 hr22.x, 0
MESA: info: (nop1) add.f r6.z, (last)r6.z, r1.w
MESA: info: sel.b32 r6.w, r3.z, r6.w, (last)r6.z
MESA: info: (nop1) sel.b32 r3.z, c55.w, r7.x, (last)r3.z
MESA: info: sel.b32 r2.y, r6.w, r7.x, (last)r2.y
MESA: info: sel.b32 r2.x, r6.w, r7.x, (last)r2.x
MESA: info: sel.b32 r1.w, (last)r6.w, r7.x, (last)r1.w
MESA: info: l994:
MESA: info: (jp)(rpt1)nop
MESA: info: (nop3) cmps.s.ne p0.x, (last)hr22.x, h(0)
MESA: info: (rpt1)nop
MESA: info: predf
MESA: info: (sat)max.f r7.y, r1.w, r1.w
MESA: info: (sat)max.f r8.y, r2.x, r2.x
MESA: info: (sat)max.f r8.z, r2.y, r2.y
MESA: info: add.f r7.y, (last)r7.y, c57.w
MESA: info: add.f r8.y, (last)r8.y, c57.w
MESA: info: add.f r8.z, (last)r8.z, c57.w
MESA: info: mul.f r7.y, (last)r7.y, c58.x
MESA: info: mul.f r8.y, (last)r8.y, c58.x
MESA: info: mul.f r8.z, (last)r8.z, c58.x
MESA: info: cmps.f.ge r8.w, c57.z, r1.w
MESA: info: mul.f r9.z, r1.w, c57.y
MESA: info: cmps.f.ge r9.x, c57.z, r2.x
MESA: info: log2 r7.z, (last)r7.y
MESA: info: mul.f r9.w, r2.x, c57.y
MESA: info: log2 r7.w, (last)r8.y
MESA: info: cmps.f.ge r9.y, c57.z, r2.y
MESA: info: log2 r8.x, (last)r8.z
MESA: info: mul.f r10.x, r2.y, c57.y
MESA: info: (ss)(rpt2)mul.f r7.z, (last)(r)r7.z, c58.y
MESA: info: (rpt2)nop
MESA: info: (rpt2)exp2 r7.z, (last)(r)r7.z
MESA: info: (ss)(rpt2)sel.b32 r9.z, (r)(last)r9.z, (r)r8.w, (r)(last)r7.z
MESA: info: (rpt2)sel.b32 r9.x, (r)(last)r9.z, r3.y, (r)(last)r1.w
MESA: info: predt
MESA: info: (rpt4)nop
MESA: info: mov.u32u32 r3.z, r8.w
MESA: info: prede
MESA: info: (rpt6)nop
MESA: info: jump #l1037
MESA: info: l1027:
MESA: info: (sy)mov.u32u32 r3.z, (last)r8.w
MESA: info: jump #l1037
MESA: info: l1029:
MESA: info: (sy)mov.u32u32 r9.x, (last)r2.w
MESA: info: mov.u32u32 r9.y, (last)r3.x
MESA: info: mov.u32u32 r9.z, (last)r3.y
MESA: info: jump #l1037
MESA: info: l1033:
MESA: info: (jp)mov.u32u32 r3.z, 0
MESA: info: mov.u32u32 r9.x, 0
MESA: info: mov.u32u32 r9.y, 0
MESA: info: mov.u32u32 r9.z, 0
MESA: info: l1037:
MESA: info: (jp)(rpt1)nop
MESA: info: mov.u32u32 r9.w, (last)r3.z
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r9.x (FRAG_RESULT_DATA0)
MESA: info: ; FRAG: inputs: r63.x (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0) r0.x (SYSTEM_VALUE_FRAG_COORD slot=19 cm=f,il=0,b=0)
MESA: info: ; FRAG prog 161/1: 1196 instr, 286 nops, 910 non-nops, 77 mov, 43 cov, 2088 dwords
MESA: info: ; FRAG prog 161/1: 0 last-baryf, 0 last-helper, 0 half, 12 full, 60 constlen
MESA: info: ; FRAG prog 161/1: 355 cat0, 120 cat1, 406 cat2, 67 cat3, 7 cat4, 71 cat5, 0 cat6, 170 cat7
MESA: info: ; FRAG prog 161/1: 29 sstall, 5 (ss), 443 systall, 15 (sy), 0 loops
MESA: info: ; FRAG prog 161/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 267 preamble-instr, 1 early-preamble
MESA: info: ; data0: r9.x
MESA: info: ; fragcoord: r0.x
MESA: info: 
MESA: info: NIR (final form) for VERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x8778bc63, 0x854c3873, 0x6cdf8636, 0xebf57197, 0xf26539df, 0x9f978893, 0x2ea5c3e2, 0xb7bd634e}
MESA: info: inputs_read: 15-16
MESA: info: outputs_written: 0,32
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 2
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec4 #2 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec3 #3 (VARYING_SLOT_VAR0.xyz, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #4
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:      // preds:
MESA: info:     con 32    %0 = load_const (0x00000000)
MESA: info:     div 32x4  %1 = @load_input (%0 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:     div 32x4  %2 = @load_input (%0 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1)
MESA: info:                    @store_output (%1, %0 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:     div 32x3  %3 = vec3 %2.x, %2.y, %2.w
MESA: info:                    @store_output (%3, %0 (0x0)) (base=1, range=1, wrmask=xyz, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2())
MESA: info:                    // succs: b1
MESA: info:     block b1:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed VERT shader (null) with sha1 fe070b2d9a5011d589521183ac3a7e5c5e4e8e34:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   primitive_param            c0.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: @in(r1.x)	in1 (wrmask=0xf)
MESA: info: mov.u32u32 r1.z, (last)r1.w
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; VERT: outputs: r0.x (VARYING_SLOT_POS) r1.x (VARYING_SLOT_VAR0)
MESA: info: ; VERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r1.x (VERT_ATTRIB_GENERIC1 slot=16 cm=f,il=0,b=0)
MESA: info: ; VERT prog 162/1: 2 instr, 0 nops, 2 non-nops, 1 mov, 0 cov, 32 dwords
MESA: info: ; VERT prog 162/1: 0 last-baryf, 0 last-helper, 0 half, 2 full, 8 constlen
MESA: info: ; VERT prog 162/1: 1 cat0, 1 cat1, 0 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; VERT prog 162/1: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; VERT prog 162/1: 16 max_waves, 0 double_threadsize
MESA: info: ; pos: r0.x
MESA: info: 
MESA: info: NIR (final form) for BVERT shader (null):
MESA: info: shader: MESA_SHADER_VERTEX
MESA: info: source_blake3: {0x8778bc63, 0x854c3873, 0x6cdf8636, 0xebf57197, 0xf26539df, 0x9f978893, 0x2ea5c3e2, 0xb7bd634e}
MESA: info: inputs_read: 15-16
MESA: info: outputs_written: 0
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_int: 0x20
MESA: info: inputs: 2
MESA: info: outputs: 2
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #0 (VERT_ATTRIB_GENERIC0.xyzw, 0, 0)
MESA: info: decl_var shader_in INTERP_MODE_NONE none vec4 #1 (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec4 #2 (VARYING_SLOT_POS.xyzw, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_FLAT none vec3 #3 (VARYING_SLOT_VAR0.xyz, 1, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #4
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:      // preds:
MESA: info:     con 32    %0 = load_const (0x00000000)
MESA: info:     div 32x4  %1 = @load_input (%0 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1)
MESA: info:                    @store_output (%1, %0 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2())
MESA: info:                    // succs: b1
MESA: info:     block b1:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed BVERT shader (null) with sha1 fc642ddb2e23c72482fa9b890816653b77ec0f6a:
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ;   primitive_param            c0.x (1 vec4)
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in0 (wrmask=0xf)
MESA: info: end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; BVERT: outputs: r0.x (VARYING_SLOT_POS)
MESA: info: ; BVERT: inputs: r0.x (VERT_ATTRIB_GENERIC0 slot=15 cm=f,il=0,b=0) r63.x (VERT_ATTRIB_POS slot=0 cm=0,il=0,b=0)
MESA: info: ; BVERT prog 162/2: 1 instr, 0 nops, 1 non-nops, 0 mov, 0 cov, 32 dwords
MESA: info: ; BVERT prog 162/2: 0 last-baryf, 0 last-helper, 0 half, 1 full, 8 constlen
MESA: info: ; BVERT prog 162/2: 1 cat0, 0 cat1, 0 cat2, 0 cat3, 0 cat4, 0 cat5, 0 cat6, 0 cat7
MESA: info: ; BVERT prog 162/2: 0 sstall, 0 (ss), 0 systall, 0 (sy), 0 loops
MESA: info: ; BVERT prog 162/2: 16 max_waves, 0 double_threadsize
MESA: info: ; pos: r0.x
MESA: info: 
MESA: info: NIR (final form) for FRAG shader (null):
MESA: info: shader: MESA_SHADER_FRAGMENT
MESA: info: source_blake3: {0x5e126c8d, 0xf447f5f8, 0xd6437b78, 0xb53335ce, 0x60026e46, 0xe89407a8, 0x4b44e262, 0xddcd28c2}
MESA: info: inputs_read: 32
MESA: info: outputs_written: 4
MESA: info: subgroup_size: 0
MESA: info: bit_sizes_float: 0x20
MESA: info: bit_sizes_int: 0x20
MESA: info: origin_upper_left: true
MESA: info: inputs: 1
MESA: info: outputs: 1
MESA: info: uniforms: 52
MESA: info: decl_var shader_in INTERP_MODE_NOPERSPECTIVE none vec3 #0 (VARYING_SLOT_VAR0.xyz, 0, 0)
MESA: info: decl_var shader_out INTERP_MODE_NONE none vec4 #1 (FRAG_RESULT_DATA0.xyzw, 0, 0)
MESA: info: decl_var push_const INTERP_MODE_NONE none block #2
MESA: info: decl_function main () (entrypoint)
MESA: info: 
MESA: info: impl main {
MESA: info:     con block b0:       // preds:
MESA: info:     con 1      %0 = @preamble_start_ir3
MESA: info:                     // succs: b1 b5
MESA: info:     if %0 {
MESA: info:         con block b1:       // preds: b0
MESA: info:         div 1      %1 = @elect_any_ir3
MESA: info:                         // succs: b2 b3
MESA: info:         if %1 {
MESA: info:             div block b2:       // preds: b1
MESA: info:             con 32     %2 = load_const (0x00000000 = 0.000000)
MESA: info:             con 32     %3 = @bindless_resource_ir3 (%2 (0x0)) (desc_set=2)
MESA: info:                             @prefetch_tex_ir3 (%3)
MESA: info:                             @preamble_end_ir3
MESA: info:                             // succs: b4
MESA: info:         } else {
MESA: info:             div block b3:  // preds: b1, succs: b4
MESA: info:         }
MESA: info:         con block b4:  // preds: b2 b3, succs: b6
MESA: info:     } else {
MESA: info:         con block b5:  // preds: b0, succs: b6
MESA: info:     }
MESA: info:     con block b6:       // preds: b4 b5
MESA: info:     con 32     %4 = load_const (0x00000000)
MESA: info:     div 32x2   %5 = @load_barycentric_pixel (interp_mode=INTERP_MODE_NOPERSPECTIVE)
MESA: info:     div 32x3   %6 = @load_interpolated_input (%5, %4 (0x0)) (base=0, component=0, dest_type=float32, io location=VARYING_SLOT_VAR0 slots=1)
MESA: info:     div 32x3  %14 = f2i32 %6
MESA: info:     div 32    %15 = mov %14.z
MESA: info:     div 32x2  %10 = vec2 %14.x, %14.y
MESA: info:     con 32    %11 = @bindless_resource_ir3 (%4 (0x0)) (desc_set=2)
MESA: info:     div 32x4  %12 = (float32)txf %11 (texture_handle), %10 (coord), %15 (lod), 0 (texture)
MESA: info:                     @store_output (%12, %4 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_DATA0 slots=1, xfb(), xfb2())
MESA: info:                     // succs: b7
MESA: info:     block b7:
MESA: info: }
MESA: info: 
MESA: info: Native code for unnamed FRAG shader (null) with sha1 e36ad90b385709989dd17355bb4b812116deb8ae:
MESA: info: SIMD0
MESA: info: ; num_ubos:           0
MESA: info: ; num_driver_params:  0
MESA: info: ; offsets:
MESA: info: ; ubo_state:
MESA: info: ;   num_enabled:      0
MESA: info: @in(r0.x)	in1 (wrmask=0x3)
MESA: info: shps #l4
MESA: info: getone #l4
MESA: info: resinfo.b.untyped.1d.u32.1.imm.base2 r63.x, 0
MESA: info: (sy)(ss)shpe
MESA: info: l4:
MESA: info: (jp)bary.f r0.z, 0, r0.x
MESA: info: (rpt1)bary.f (ei)r0.w, (r)1, (last)r0.x
MESA: info: cov.f32s32 r0.z, (last)r0.z
MESA: info: (rpt1)cov.f32s32 r0.w, (last)(r)r0.w
MESA: info: (rpt4)nop
MESA: info: isaml.base2 (f32)(xyzw)r1.y, r0.z, r1.x, s#0, t#0
MESA: info: (sy)end
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: nop
MESA: info: ; FRAG: outputs: r1.y (FRAG_RESULT_DATA0)
MESA: info: ; FRAG: inputs: r0.z (VARYING_SLOT_VAR0 slot=32 cm=7,il=0,b=1) r0.z (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL slot=56 cm=3,il=0,b=0) r0.x (SYSTEM_VALUE_BARYCENTRIC_LINEAR_PIXEL slot=60 cm=3,il=0,b=0)
MESA: info: ; FRAG prog 163/1: 13 instr, 5 nops, 8 non-nops, 0 mov, 3 cov, 32 dwords
MESA: info: ; FRAG prog 163/1: 1 last-baryf, 0 last-helper, 0 half, 3 full, 4 constlen
MESA: info: ; FRAG prog 163/1: 6 cat0, 3 cat1, 3 cat2, 0 cat3, 0 cat4, 1 cat5, 0 cat6, 0 cat7
MESA: info: ; FRAG prog 163/1: 0 sstall, 0 (ss), 39 systall, 1 (sy), 0 loops
MESA: info: ; FRAG prog 163/1: 16 max_waves, 0 double_threadsize
MESA: info: ; 4 preamble-instr, 1 early-preamble
MESA: info: ; data0: r1.y
MESA: info: 
../src/vulkan/wsi/wsi_common_x11.c:1924: Swapchain status changed to VK_SUBOPTIMAL_KHR
Mesa: error: GL_INVALID_OPERATION in glGetAttribLocation(program not linked)
Mesa: error: 15 similar GL_INVALID_OPERATION errors
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_OPERATION in glGetAttribLocation(program not linked)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_OPERATION in glGetAttribLocation(program not linked)
Mesa: error: 1 similar GL_INVALID_OPERATION errors
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_OPERATION in glDrawArraysInstanced
Mesa: error: GL_INVALID_OPERATION in glGetAttribLocation(program not linked)
Mesa: error: 15 similar GL_INVALID_OPERATION errors
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_OPERATION in glGetAttribLocation(program not linked)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_OPERATION in glGetAttribLocation(program not linked)
Mesa: error: 1 similar GL_INVALID_OPERATION errors
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_ENUM in glCompressedTexSubImage2D(invalid target GL_TEXTURE_2D_ARRAY)
Mesa: error: GL_INVALID_OPERATION in glDrawArraysInstanced
