blob: 84104634f493c4ddeef048f3b9692877baf05d7c [file] [log] [blame]
190 instructions
store_device_xy01 $12..15 = DeviceCoords.xy01
splat_2_constants $14..15 = 0x3F000000 (0.5)
cmpeq_2_floats $12..13 = equal($12..13, $14..15)
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