| 190 instructions |
| |
| store_device_xy01 $12..15 = DeviceCoords.xy01 |
| cmpeq_imm_float $12 = equal($12, 0x3F000000 (0.5)) |
| cmpeq_imm_float $13 = equal($13, 0x3F000000 (0.5)) |
| bitwise_and_int $12 &= $13 |
| store_src_rg xy = src.rg |
| init_lane_masks CondMask = LoopMask = RetMask = true |
| copy_4_uniforms u1[0], u1[1], u1[2], u1[3] = u1[0], u1[1], u1[2], u1[3] |
| trace_var TraceVar(u1[0], u1[1], u1[2], u1[3]) when $12 is true |
| copy_4_uniforms u2[0], u2[1], u2[2], u2[3] = u2[0], u2[1], u2[2], u2[3] |
| trace_var TraceVar(u2[0], u2[1], u2[2], u2[3]) when $12 is true |
| copy_4_uniforms u3[0], u3[1], u3[2], u3[3] = u3[0], u3[1], u3[2], u3[3] |
| trace_var TraceVar(u3[0], u3[1], u3[2], u3[3]) when $12 is true |
| copy_4_uniforms u4[0], u4[1], u4[2], u4[3] = u4[0], u4[1], u4[2], u4[3] |
| copy_4_uniforms u4[4], u4[5], u4[6], u4[7] = u4[4], u4[5], u4[6], u4[7] |
| copy_4_uniforms u4[8], u4[9], u4[10], u4[11] = u4[8], u4[9], u4[10], u4[11] |
| copy_4_uniforms u4[12], u4[13], u4[14], u4[15] = u4[12], u4[13], u4[14], u4[15] |
| trace_var TraceVar(u4[0], u4[1], u4[2], u4[3], u4[4], u4[5], u4[6], u4[7], u4[8], u4[9], u4[10], u4[11], u4[12], u4[13], u4[14], u4[15]) when $12 is true |
| trace_enter TraceEnter(float4 main(float2 xy)) when $12 is true |
| trace_var TraceVar(xy) when $12 is true |
| copy_constant $0 = 0 |
| copy_slot_unmasked $1 = $12 |
| copy_slot_masked $0 = Mask($1) |
| trace_scope TraceScope(+1) when $0 is true |
| trace_line TraceLine(38) when $12 is true |
| trace_enter TraceEnter(float index_by_literal()) when $12 is true |
| copy_constant $1 = 0 |
| copy_slot_unmasked $2 = $12 |
| copy_slot_masked $1 = Mask($2) |
| trace_scope TraceScope(+1) when $1 is true |
| trace_line TraceLine(5) when $12 is true |
| copy_uniform [index_by_literal].result = u1[0] |
| trace_var TraceVar([index_by_literal].result) when $12 is true |
| trace_scope TraceScope(-1) when $1 is true |
| trace_exit TraceExit(float index_by_literal()) when $12 is true |
| copy_slot_unmasked $1 = [index_by_literal].result |
| label label 0 |
| trace_enter TraceEnter(float index_by_loop()) when $12 is true |
| copy_constant $2 = 0 |
| copy_slot_unmasked $3 = $12 |
| copy_slot_masked $2 = Mask($3) |
| trace_scope TraceScope(+1) when $2 is true |
| trace_line TraceLine(10) when $12 is true |
| copy_constant sum = 0 |
| trace_var TraceVar(sum) when $12 is true |
| copy_constant $3 = 0 |
| copy_slot_unmasked $4 = $12 |
| copy_slot_masked $3 = Mask($4) |
| trace_scope TraceScope(+1) when $3 is true |
| trace_line TraceLine(11) when $12 is true |
| copy_constant i = 0x00000003 (4.203895e-45) |
| trace_var TraceVar(i) when $12 is true |
| label label 0x00000003 |
| copy_constant $4 = 0 |
| copy_slot_unmasked $5 = $12 |
| copy_slot_masked $4 = Mask($5) |
| trace_scope TraceScope(+1) when $4 is true |
| trace_line TraceLine(12) when $12 is true |
| copy_slot_unmasked $5 = sum |
| copy_slot_unmasked $16 = i |
| copy_from_indirect_uniform_unm $6 = Indirect(u2[0] + $16) |
| add_float $5 += $6 |
| copy_slot_unmasked sum = $5 |
| trace_var TraceVar(sum) when $12 is true |
| trace_scope TraceScope(-1) when $4 is true |
| trace_line TraceLine(11) when $12 is true |
| copy_slot_unmasked $4 = i |
| add_imm_int $4 += 0xFFFFFFFF |
| copy_slot_unmasked i = $4 |
| trace_var TraceVar(i) when $12 is true |
| copy_constant $4 = 0 |
| copy_slot_unmasked $5 = i |
| cmple_int $4 = lessThanEqual($4, $5) |
| stack_rewind |
| branch_if_no_active_lanes_eq branch -22 (label 3 at #52) if no lanes of $4 == 0 |
| label label 0x00000002 |
| trace_scope TraceScope(-1) when $3 is true |
| trace_line TraceLine(14) when $12 is true |
| copy_slot_unmasked [index_by_loop].result = sum |
| trace_var TraceVar([index_by_loop].result) when $12 is true |
| trace_scope TraceScope(-1) when $2 is true |
| trace_exit TraceExit(float index_by_loop()) when $12 is true |
| copy_slot_unmasked $2 = [index_by_loop].result |
| label label 0x00000001 |
| trace_enter TraceEnter(float index_by_complex_loop()) when $12 is true |
| copy_constant $3 = 0 |
| copy_slot_unmasked $4 = $12 |
| copy_slot_masked $3 = Mask($4) |
| trace_scope TraceScope(+1) when $3 is true |
| trace_line TraceLine(19) when $12 is true |
| copy_constant prod = 0x3F800000 (1.0) |
| trace_var TraceVar(prod) when $12 is true |
| copy_constant $4 = 0 |
| copy_slot_unmasked $5 = $12 |
| copy_slot_masked $4 = Mask($5) |
| trace_scope TraceScope(+1) when $4 is true |
| trace_line TraceLine(20) when $12 is true |
| copy_constant i₁ = 0 |
| trace_var TraceVar(i₁) when $12 is true |
| label label 0x00000006 |
| copy_constant $5 = 0 |
| copy_slot_unmasked $6 = $12 |
| copy_slot_masked $5 = Mask($6) |
| trace_scope TraceScope(+1) when $5 is true |
| trace_line TraceLine(21) when $12 is true |
| copy_slot_unmasked $6 = prod |
| copy_slot_unmasked $16 = i₁ |
| cmplt_imm_int $16 = lessThan($16, 0x00000002) |
| copy_slot_unmasked $17 = i₁ |
| copy_constant $18 = 0 |
| mix_int $16 = mix($17, $18, $16) |
| copy_from_indirect_uniform_unm $7 = Indirect(u3[0] + $16) |
| mul_float $6 *= $7 |
| copy_slot_unmasked prod = $6 |
| trace_var TraceVar(prod) when $12 is true |
| trace_scope TraceScope(-1) when $5 is true |
| trace_line TraceLine(20) when $12 is true |
| copy_slot_unmasked $5 = i₁ |
| add_imm_int $5 += 0x00000001 |
| copy_slot_unmasked i₁ = $5 |
| trace_var TraceVar(i₁) when $12 is true |
| copy_slot_unmasked $5 = i₁ |
| cmplt_imm_int $5 = lessThan($5, 0x00000004) |
| stack_rewind |
| branch_if_no_active_lanes_eq branch -25 (label 6 at #99) if no lanes of $5 == 0 |
| label label 0x00000005 |
| trace_scope TraceScope(-1) when $4 is true |
| trace_line TraceLine(23) when $12 is true |
| copy_slot_unmasked [index_by_complex_loop].result = prod |
| trace_var TraceVar([index_by_complex_loop].result) when $12 is true |
| trace_scope TraceScope(-1) when $3 is true |
| trace_exit TraceExit(float index_by_complex_loop()) when $12 is true |
| copy_slot_unmasked $3 = [index_by_complex_loop].result |
| label label 0x00000004 |
| trace_enter TraceEnter(float index_out_of_bounds_checked()) when $12 is true |
| copy_constant $4 = 0 |
| copy_slot_unmasked $5 = $12 |
| copy_slot_masked $4 = Mask($5) |
| trace_scope TraceScope(+1) when $4 is true |
| trace_line TraceLine(28) when $12 is true |
| copy_constant sum₁ = 0 |
| trace_var TraceVar(sum₁) when $12 is true |
| copy_constant $5 = 0 |
| copy_slot_unmasked $6 = $12 |
| copy_slot_masked $5 = Mask($6) |
| trace_scope TraceScope(+1) when $5 is true |
| trace_line TraceLine(29) when $12 is true |
| copy_constant f = 0xC0133333 (-2.3) |
| trace_var TraceVar(f) when $12 is true |
| label label 0x0000000A |
| copy_constant $6 = 0 |
| copy_slot_unmasked $7 = $12 |
| copy_slot_masked $6 = Mask($7) |
| trace_scope TraceScope(+1) when $6 is true |
| trace_line TraceLine(30) when $12 is true |
| store_condition_mask $7 = CondMask |
| copy_constant $8 = 0 |
| copy_slot_unmasked $9 = f |
| cmplt_float $8 = lessThan($8, $9) |
| copy_slot_unmasked $9 = f |
| cmplt_imm_float $9 = lessThan($9, 0x41800000 (16.0)) |
| bitwise_and_int $8 &= $9 |
| merge_condition_mask CondMask = $7 & $8 |
| copy_constant $9 = 0 |
| copy_slot_unmasked $10 = $12 |
| copy_slot_masked $9 = Mask($10) |
| trace_scope TraceScope(+1) when $9 is true |
| trace_line TraceLine(31) when $12 is true |
| copy_slot_unmasked $10 = sum₁ |
| copy_slot_unmasked $16 = f |
| cast_to_int_from_float $16 = FloatToInt($16) |
| copy_from_indirect_uniform_unm $11 = Indirect(u4[0] + $16) |
| sub_float $10 -= $11 |
| copy_slot_masked sum₁ = Mask($10) |
| trace_var TraceVar(sum₁) when $12 is true |
| trace_scope TraceScope(-1) when $9 is true |
| load_condition_mask CondMask = $7 |
| trace_scope TraceScope(-1) when $6 is true |
| trace_line TraceLine(29) when $12 is true |
| copy_slot_unmasked $6 = f |
| add_imm_float $6 += 0x406CCCCD (3.7) |
| copy_slot_unmasked f = $6 |
| trace_var TraceVar(f) when $12 is true |
| copy_slot_unmasked $6 = f |
| cmplt_imm_float $6 = lessThan($6, 0x41880000 (17.0)) |
| stack_rewind |
| branch_if_no_active_lanes_eq branch -37 (label 10 at #149) if no lanes of $6 == 0 |
| label label 0x00000009 |
| trace_scope TraceScope(-1) when $5 is true |
| trace_line TraceLine(34) when $12 is true |
| copy_slot_unmasked [index_out_of_bounds_checked].result = sum₁ |
| trace_var TraceVar([index_out_of_bounds_checked].result) when $12 is true |
| trace_scope TraceScope(-1) when $4 is true |
| trace_exit TraceExit(float index_out_of_bounds_checked()) when $12 is true |
| copy_slot_unmasked $4 = [index_out_of_bounds_checked].result |
| label label 0x00000008 |
| copy_4_slots_unmasked [main].result = $1..4 |
| trace_var TraceVar([main].result) when $12 is true |
| trace_scope TraceScope(-1) when $0 is true |
| trace_exit TraceExit(float4 main(float2 xy)) when $12 is true |
| load_src src.rgba = [main].result |