blob: 51ecaf79f759939b08af2a70f329d56d90ceb0e0 [file] [log] [blame]
1. store_device_xy01 $10..13 = DeviceCoords.xy01
2. copy_constant $12 = 0x3F000000 (0.5)
3. copy_constant $13 = 0x3F000000 (0.5)
4. cmpeq_2_floats $10..11 = equal($10..11, $12..13)
5. bitwise_and_int $10 &= $11
6. store_src_rg xy = src.rg
7. init_lane_masks CondMask = LoopMask = RetMask = true
8. trace_enter TraceEnter(float4 main(float2 xy)) when $10 is true
9. trace_var TraceVar(xy) when $10 is true
10. trace_scope TraceScope(+1) when $10 is true
11. trace_line TraceLine(38) when $10 is true
12. trace_enter TraceEnter(float index_by_literal()) when $10 is true
13. trace_scope TraceScope(+1) when $10 is true
14. trace_line TraceLine(5) when $10 is true
15. copy_constant $0 = u1[0]
16. copy_slot_unmasked [index_by_literal].result = $0
17. trace_var TraceVar([index_by_literal].result) when $10 is true
18. trace_scope TraceScope(-1) when $10 is true
19. trace_exit TraceExit(float index_by_literal()) when $10 is true
20. copy_slot_unmasked $0 = [index_by_literal].result
21. label label 0x00000000
22. trace_enter TraceEnter(float index_by_loop()) when $10 is true
23. trace_scope TraceScope(+1) when $10 is true
24. trace_line TraceLine(10) when $10 is true
25. zero_slot_unmasked sum = 0
26. trace_var TraceVar(sum) when $10 is true
27. trace_scope TraceScope(+1) when $10 is true
28. trace_line TraceLine(11) when $10 is true
29. copy_constant i = 0x00000003 (4.203895e-45)
30. trace_var TraceVar(i) when $10 is true
31. label label 0x00000003
32. trace_scope TraceScope(+1) when $10 is true
33. trace_line TraceLine(12) when $10 is true
34. copy_slot_unmasked $1 = sum
35. copy_slot_unmasked $7 = i
36. copy_from_indirect_uniform_unm $2 = Indirect(u2[0] + $7)
37. add_float $1 += $2
38. copy_slot_unmasked sum = $1
39. trace_var TraceVar(sum) when $10 is true
40. trace_scope TraceScope(-1) when $10 is true
41. trace_line TraceLine(11) when $10 is true
42. copy_slot_unmasked $1 = i
43. copy_constant $2 = 0x00000001 (1.401298e-45)
44. sub_int $1 -= $2
45. copy_slot_unmasked i = $1
46. trace_var TraceVar(i) when $10 is true
47. zero_slot_unmasked $1 = 0
48. copy_slot_unmasked $2 = i
49. cmple_int $1 = lessThanEqual($1, $2)
50. stack_rewind
51. branch_if_no_active_lanes_eq branch -20 (label 3 at #31) if no lanes of $1 == 0x00000000 (0.0)
52. label label 0x00000002
53. trace_scope TraceScope(-1) when $10 is true
54. trace_line TraceLine(14) when $10 is true
55. copy_slot_unmasked [index_by_loop].result = sum
56. trace_var TraceVar([index_by_loop].result) when $10 is true
57. trace_scope TraceScope(-1) when $10 is true
58. trace_exit TraceExit(float index_by_loop()) when $10 is true
59. copy_slot_unmasked $1 = [index_by_loop].result
60. label label 0x00000001
61. trace_enter TraceEnter(float index_by_complex_loop()) when $10 is true
62. trace_scope TraceScope(+1) when $10 is true
63. trace_line TraceLine(19) when $10 is true
64. copy_constant prod = 0x3F800000 (1.0)
65. trace_var TraceVar(prod) when $10 is true
66. trace_scope TraceScope(+1) when $10 is true
67. trace_line TraceLine(20) when $10 is true
68. zero_slot_unmasked i = 0
69. trace_var TraceVar(i₁) when $10 is true
70. label label 0x00000006
71. trace_scope TraceScope(+1) when $10 is true
72. trace_line TraceLine(21) when $10 is true
73. copy_slot_unmasked $2 = prod
74. copy_slot_unmasked $7 = i
75. copy_constant $8 = 0x00000002 (2.802597e-45)
76. cmplt_int $7 = lessThan($7, $8)
77. copy_slot_unmasked $8 = i
78. zero_slot_unmasked $9 = 0
79. mix_int $7 = mix($8, $9, $7)
80. copy_from_indirect_uniform_unm $3 = Indirect(u3[0] + $7)
81. mul_float $2 *= $3
82. copy_slot_unmasked prod = $2
83. trace_var TraceVar(prod) when $10 is true
84. trace_scope TraceScope(-1) when $10 is true
85. trace_line TraceLine(20) when $10 is true
86. copy_slot_unmasked $2 = i
87. copy_constant $3 = 0x00000001 (1.401298e-45)
88. add_int $2 += $3
89. copy_slot_unmasked i = $2
90. trace_var TraceVar(i₁) when $10 is true
91. copy_slot_unmasked $2 = i
92. copy_constant $3 = 0x00000004 (5.605194e-45)
93. cmplt_int $2 = lessThan($2, $3)
94. stack_rewind
95. branch_if_no_active_lanes_eq branch -25 (label 6 at #70) if no lanes of $2 == 0x00000000 (0.0)
96. label label 0x00000005
97. trace_scope TraceScope(-1) when $10 is true
98. trace_line TraceLine(23) when $10 is true
99. copy_slot_unmasked [index_by_complex_loop].result = prod
100. trace_var TraceVar([index_by_complex_loop].result) when $10 is true
101. trace_scope TraceScope(-1) when $10 is true
102. trace_exit TraceExit(float index_by_complex_loop()) when $10 is true
103. copy_slot_unmasked $2 = [index_by_complex_loop].result
104. label label 0x00000004
105. trace_enter TraceEnter(float index_out_of_bounds_checked()) when $10 is true
106. trace_scope TraceScope(+1) when $10 is true
107. trace_line TraceLine(28) when $10 is true
108. zero_slot_unmasked sum = 0
109. trace_var TraceVar(sum₁) when $10 is true
110. trace_scope TraceScope(+1) when $10 is true
111. trace_line TraceLine(29) when $10 is true
112. copy_constant f = 0xC0133333 (-2.3)
113. trace_var TraceVar(f) when $10 is true
114. label label 0x0000000A
115. trace_scope TraceScope(+1) when $10 is true
116. trace_line TraceLine(30) when $10 is true
117. store_condition_mask $3 = CondMask
118. zero_slot_unmasked $4 = 0
119. copy_slot_unmasked $5 = f
120. cmplt_float $4 = lessThan($4, $5)
121. copy_slot_unmasked $5 = f
122. copy_constant $6 = 0x41800000 (16.0)
123. cmplt_float $5 = lessThan($5, $6)
124. bitwise_and_int $4 &= $5
125. merge_condition_mask CondMask = $3 & $4
126. trace_scope TraceScope(+1) when $10 is true
127. trace_line TraceLine(31) when $10 is true
128. copy_slot_unmasked $5 = sum
129. copy_slot_unmasked $7 = f
130. cast_to_int_from_float $7 = FloatToInt($7)
131. copy_from_indirect_uniform_unm $6 = Indirect(u4[0] + $7)
132. sub_float $5 -= $6
133. copy_slot_masked sum = Mask($5)
134. trace_var TraceVar(sum₁) when $10 is true
135. trace_scope TraceScope(-1) when $10 is true
136. load_condition_mask CondMask = $3
137. trace_scope TraceScope(-1) when $10 is true
138. trace_line TraceLine(29) when $10 is true
139. copy_slot_unmasked $3 = f
140. copy_constant $4 = 0x406CCCCD (3.7)
141. add_float $3 += $4
142. copy_slot_unmasked f = $3
143. trace_var TraceVar(f) when $10 is true
144. copy_slot_unmasked $3 = f
145. copy_constant $4 = 0x41880000 (17.0)
146. cmplt_float $3 = lessThan($3, $4)
147. stack_rewind
148. branch_if_no_active_lanes_eq branch -34 (label 10 at #114) if no lanes of $3 == 0x00000000 (0.0)
149. label label 0x00000009
150. trace_scope TraceScope(-1) when $10 is true
151. trace_line TraceLine(34) when $10 is true
152. copy_slot_unmasked [index_out_of_bounds_checked].result = sum
153. trace_var TraceVar([index_out_of_bounds_checked].result) when $10 is true
154. trace_scope TraceScope(-1) when $10 is true
155. trace_exit TraceExit(float index_out_of_bounds_checked()) when $10 is true
156. copy_slot_unmasked $3 = [index_out_of_bounds_checked].result
157. label label 0x00000008
158. copy_4_slots_unmasked [main].result = $0..3
159. trace_var TraceVar([main].result) when $10 is true
160. trace_scope TraceScope(-1) when $10 is true
161. trace_exit TraceExit(float4 main(float2 xy)) when $10 is true
162. load_src src.rgba = [main].result