unplugged-system/external/skia/tests/sksl/shared/ForLoopControlFlow.skrp

67 lines
3.5 KiB
Plaintext

1. store_src_rg coords = src.rg
2. init_lane_masks CondMask = LoopMask = RetMask = true
3. copy_4_constants $0..3 = colorWhite
4. copy_4_slots_unmasked x = $0..3
5. copy_constant r = 0xC0A00000 (-5.0)
6. store_loop_mask $0 = LoopMask
7. jump jump +19 (label 0 at #26)
8. label label 0x00000001
9. copy_slot_unmasked $1 = r
10. zero_slot_unmasked $2 = 0
11. max_float $1 = max($1, $2)
12. copy_constant $2 = 0x3F800000 (1.0)
13. min_float $1 = min($1, $2)
14. copy_slot_masked x(0) = Mask($1)
15. store_condition_mask $1 = CondMask
16. copy_slot_unmasked $2 = x(0)
17. zero_slot_unmasked $3 = 0
18. cmpeq_float $2 = equal($2, $3)
19. merge_condition_mask CondMask = $1 & $2
20. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
21. load_condition_mask CondMask = $1
22. copy_slot_unmasked $1 = r
23. copy_constant $2 = 0x3F800000 (1.0)
24. add_float $1 += $2
25. copy_slot_masked r = Mask($1)
26. label label 0x00000000
27. copy_slot_unmasked $1 = r
28. copy_constant $2 = 0x40A00000 (5.0)
29. cmplt_float $1 = lessThan($1, $2)
30. merge_loop_mask LoopMask &= $1
31. stack_rewind
32. branch_if_any_active_lanes branch_if_any_active_lanes -24 (label 1 at #8)
33. load_loop_mask LoopMask = $0
34. copy_constant b = 0x40A00000 (5.0)
35. store_loop_mask $0 = LoopMask
36. jump jump +21 (label 2 at #57)
37. label label 0x00000003
38. zero_slot_unmasked [temporary 0] = 0
39. copy_slot_unmasked $1 = b
40. copy_slot_masked x(2) = Mask($1)
41. store_condition_mask $1 = CondMask
42. copy_slot_unmasked $2 = x(3)
43. copy_constant $3 = 0x3F800000 (1.0)
44. cmpeq_float $2 = equal($2, $3)
45. merge_condition_mask CondMask = $1 & $2
46. copy_constant $3 = 0xFFFFFFFF
47. copy_slot_masked [temporary 0] = Mask($3)
48. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
49. load_condition_mask CondMask = $1
50. zero_slot_unmasked $1 = 0
51. copy_slot_masked x(1) = Mask($1)
52. reenable_loop_mask LoopMask |= [temporary 0]
53. copy_slot_unmasked $1 = b
54. copy_constant $2 = 0x3F800000 (1.0)
55. sub_float $1 -= $2
56. copy_slot_masked b = Mask($1)
57. label label 0x00000002
58. zero_slot_unmasked $1 = 0
59. copy_slot_unmasked $2 = b
60. cmple_float $1 = lessThanEqual($1, $2)
61. merge_loop_mask LoopMask &= $1
62. stack_rewind
63. branch_if_any_active_lanes branch_if_any_active_lanes -26 (label 3 at #37)
64. load_loop_mask LoopMask = $0
65. copy_4_slots_unmasked [main].result = x
66. load_src src.rgba = [main].result