54 lines
2.9 KiB
Plaintext
54 lines
2.9 KiB
Plaintext
|
|
1. store_src_rg coords = src.rg
|
||
|
|
2. init_lane_masks CondMask = LoopMask = RetMask = true
|
||
|
|
3. copy_constant $0 = 0x3F800000 (1.0)
|
||
|
|
4. swizzle_4 $0..3 = ($0..3).xxxx
|
||
|
|
5. copy_4_slots_unmasked x = $0..3
|
||
|
|
6. store_loop_mask $0 = LoopMask
|
||
|
|
7. label label 0x00000000
|
||
|
|
8. copy_slot_unmasked $1 = x(0)
|
||
|
|
9. copy_constant $2 = 0x3E800000 (0.25)
|
||
|
|
10. sub_float $1 -= $2
|
||
|
|
11. copy_slot_masked x(0) = Mask($1)
|
||
|
|
12. store_condition_mask $1 = CondMask
|
||
|
|
13. copy_slot_unmasked $2 = x(0)
|
||
|
|
14. zero_slot_unmasked $3 = 0
|
||
|
|
15. cmple_float $2 = lessThanEqual($2, $3)
|
||
|
|
16. merge_condition_mask CondMask = $1 & $2
|
||
|
|
17. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
|
||
|
|
18. load_condition_mask CondMask = $1
|
||
|
|
19. copy_slot_unmasked $1 = x(3)
|
||
|
|
20. copy_constant $2 = 0x3F800000 (1.0)
|
||
|
|
21. cmpeq_float $1 = equal($1, $2)
|
||
|
|
22. merge_loop_mask LoopMask &= $1
|
||
|
|
23. stack_rewind
|
||
|
|
24. branch_if_any_active_lanes branch_if_any_active_lanes -17 (label 0 at #7)
|
||
|
|
25. load_loop_mask LoopMask = $0
|
||
|
|
26. store_loop_mask $0 = LoopMask
|
||
|
|
27. label label 0x00000001
|
||
|
|
28. zero_slot_unmasked [temporary 0] = 0
|
||
|
|
29. copy_slot_unmasked $1 = x(2)
|
||
|
|
30. copy_constant $2 = 0x3E800000 (0.25)
|
||
|
|
31. sub_float $1 -= $2
|
||
|
|
32. copy_slot_masked x(2) = Mask($1)
|
||
|
|
33. store_condition_mask $1 = CondMask
|
||
|
|
34. copy_slot_unmasked $2 = x(3)
|
||
|
|
35. copy_constant $3 = 0x3F800000 (1.0)
|
||
|
|
36. cmpeq_float $2 = equal($2, $3)
|
||
|
|
37. merge_condition_mask CondMask = $1 & $2
|
||
|
|
38. copy_constant $3 = 0xFFFFFFFF
|
||
|
|
39. copy_slot_masked [temporary 0] = Mask($3)
|
||
|
|
40. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
|
||
|
|
41. load_condition_mask CondMask = $1
|
||
|
|
42. zero_slot_unmasked $1 = 0
|
||
|
|
43. copy_slot_masked x(1) = Mask($1)
|
||
|
|
44. reenable_loop_mask LoopMask |= [temporary 0]
|
||
|
|
45. zero_slot_unmasked $1 = 0
|
||
|
|
46. copy_slot_unmasked $2 = x(2)
|
||
|
|
47. cmplt_float $1 = lessThan($1, $2)
|
||
|
|
48. merge_loop_mask LoopMask &= $1
|
||
|
|
49. stack_rewind
|
||
|
|
50. branch_if_any_active_lanes branch_if_any_active_lanes -23 (label 1 at #27)
|
||
|
|
51. load_loop_mask LoopMask = $0
|
||
|
|
52. copy_4_slots_unmasked [main].result = x
|
||
|
|
53. load_src src.rgba = [main].result
|