• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1    1. store_src_rg                   coords = src.rg
2    2. init_lane_masks                CondMask = LoopMask = RetMask = true
3    3. copy_constant                  _0_ok = 0xFFFFFFFF
4    4. copy_slot_unmasked             $0 = _0_ok
5    5. zero_slot_unmasked             $1 = 0
6    6. copy_constant                  $2 = unknownInput
7    7. shuffle                        $1..9 = ($1..9)[1 0 0 0 1 0 0 0 1]
8    8. zero_slot_unmasked             $10 = 0
9    9. copy_constant                  $11 = 0x3F800000 (1.0)
10   10. swizzle_4                      $10..13 = ($10..13).yxxy
11   11. zero_slot_unmasked             $14 = 0
12   12. copy_constant                  $15 = 0x3F800000 (1.0)
13   13. shuffle                        $12..18 = ($12..18)[2 0 1 2 2 2 3]
14   14. cmpeq_n_floats                 $1..9 = equal($1..9, $10..18)
15   15. bitwise_and_4_ints             $2..5 &= $6..9
16   16. bitwise_and_2_ints             $2..3 &= $4..5
17   17. bitwise_and_int                $2 &= $3
18   18. bitwise_and_int                $1 &= $2
19   19. bitwise_and_int                $0 &= $1
20   20. copy_slot_unmasked             _0_ok = $0
21   21. copy_constant                  $1 = 0x41100000 (9.0)
22   22. zero_3_slots_unmasked          $2..4 = 0
23   23. copy_constant                  $5 = 0x41100000 (9.0)
24   24. zero_3_slots_unmasked          $6..8 = 0
25   25. copy_constant                  $9 = unknownInput
26   26. zero_slot_unmasked             $10 = 0
27   27. copy_constant                  $11 = 0x41100000 (9.0)
28   28. swizzle_4                      $10..13 = ($10..13).yxxy
29   29. zero_slot_unmasked             $14 = 0
30   30. copy_constant                  $15 = 0x3F800000 (1.0)
31   31. shuffle                        $12..18 = ($12..18)[2 0 1 2 2 2 3]
32   32. cmpeq_n_floats                 $1..9 = equal($1..9, $10..18)
33   33. bitwise_and_4_ints             $2..5 &= $6..9
34   34. bitwise_and_2_ints             $2..3 &= $4..5
35   35. bitwise_and_int                $2 &= $3
36   36. bitwise_and_int                $1 &= $2
37   37. bitwise_and_int                $0 &= $1
38   38. copy_slot_unmasked             _0_ok = $0
39   39. copy_4_constants               $1..4 = testMatrix2x2
40   40. copy_constant                  $5 = 0x3F800000 (1.0)
41   41. copy_constant                  $6 = 0x40000000 (2.0)
42   42. copy_constant                  $7 = 0x40400000 (3.0)
43   43. copy_constant                  $8 = 0x40800000 (4.0)
44   44. cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
45   45. bitwise_and_2_ints             $1..2 &= $3..4
46   46. bitwise_and_int                $1 &= $2
47   47. bitwise_and_int                $0 &= $1
48   48. copy_slot_unmasked             _0_ok = $0
49   49. copy_4_constants               $22..25 = testMatrix2x2
50   50. zero_slot_unmasked             $26 = 0
51   51. copy_constant                  $27 = 0x3F800000 (1.0)
52   52. shuffle                        $24..30 = ($24..30)[2 0 1 2 2 2 3]
53   53. zero_slot_unmasked             $31 = 0
54   54. copy_constant                  $32 = 0x3F800000 (1.0)
55   55. shuffle                        $25..37 = ($25..37)[6 0 1 2 6 3 4 5 6 6 6 6 7]
56   56. copy_4_slots_unmasked          $1..4 = $22..25
57   57. copy_constant                  $5 = 0x3F800000 (1.0)
58   58. copy_constant                  $6 = 0x40000000 (2.0)
59   59. zero_2_slots_unmasked          $7..8 = 0
60   60. cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
61   61. bitwise_and_2_ints             $1..2 &= $3..4
62   62. bitwise_and_int                $1 &= $2
63   63. bitwise_and_int                $0 &= $1
64   64. copy_slot_unmasked             _0_ok = $0
65   65. copy_4_constants               $22..25 = testMatrix2x2
66   66. zero_slot_unmasked             $26 = 0
67   67. copy_constant                  $27 = 0x3F800000 (1.0)
68   68. shuffle                        $24..30 = ($24..30)[2 0 1 2 2 2 3]
69   69. zero_slot_unmasked             $31 = 0
70   70. copy_constant                  $32 = 0x3F800000 (1.0)
71   71. shuffle                        $25..37 = ($25..37)[6 0 1 2 6 3 4 5 6 6 6 6 7]
72   72. copy_4_slots_unmasked          $1..4 = $26..29
73   73. copy_constant                  $5 = 0x40400000 (3.0)
74   74. copy_constant                  $6 = 0x40800000 (4.0)
75   75. zero_2_slots_unmasked          $7..8 = 0
76   76. cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
77   77. bitwise_and_2_ints             $1..2 &= $3..4
78   78. bitwise_and_int                $1 &= $2
79   79. bitwise_and_int                $0 &= $1
80   80. copy_slot_unmasked             _0_ok = $0
81   81. store_condition_mask           $22 = CondMask
82   82. store_condition_mask           $41 = CondMask
83   83. store_condition_mask           $44 = CondMask
84   84. store_condition_mask           $38 = CondMask
85   85. store_condition_mask           $52 = CondMask
86   86. store_condition_mask           $47 = CondMask
87   87. store_condition_mask           $19 = CondMask
88   88. store_condition_mask           $50 = CondMask
89   89. copy_slot_unmasked             $51 = _0_ok
90   90. zero_slot_unmasked             $20 = 0
91   91. merge_condition_mask           CondMask = $50 & $51
92   92. branch_if_no_active_lanes      branch_if_no_active_lanes +6 (label 8 at #98)
93   93. copy_constant                  ok = 0xFFFFFFFF
94   94. copy_slot_unmasked             $21 = ok
95   95. copy_slot_masked               [test_matrix_op_scalar_float].result = Mask($21)
96   96. label                          label 0x00000009
97   97. copy_slot_masked               $20 = Mask($21)
98   98. label                          label 0x00000008
99   99. load_condition_mask            CondMask = $50
100  100. zero_slot_unmasked             $48 = 0
101  101. merge_condition_mask           CondMask = $19 & $20
102  102. branch_if_no_active_lanes      branch_if_no_active_lanes +6 (label 7 at #108)
103  103. copy_constant                  ok₁ = 0xFFFFFFFF
104  104. copy_slot_unmasked             $49 = ok₁
105  105. copy_slot_masked               [test_matrix_op_scalar_half].result = Mask($49)
106  106. label                          label 0x0000000A
107  107. copy_slot_masked               $48 = Mask($49)
108  108. label                          label 0x00000007
109  109. load_condition_mask            CondMask = $19
110  110. zero_slot_unmasked             $53 = 0
111  111. merge_condition_mask           CondMask = $47 & $48
112  112. branch_if_no_active_lanes      branch_if_no_active_lanes +6 (label 6 at #118)
113  113. copy_constant                  ok₂ = 0xFFFFFFFF
114  114. copy_slot_unmasked             $54 = ok₂
115  115. copy_slot_masked               [test_matrix_op_matrix_float].result = Mask($54)
116  116. label                          label 0x0000000B
117  117. copy_slot_masked               $53 = Mask($54)
118  118. label                          label 0x00000006
119  119. load_condition_mask            CondMask = $47
120  120. zero_slot_unmasked             $39 = 0
121  121. merge_condition_mask           CondMask = $52 & $53
122  122. branch_if_no_active_lanes      branch_if_no_active_lanes +6 (label 5 at #128)
123  123. copy_constant                  ok₃ = 0xFFFFFFFF
124  124. copy_slot_unmasked             $40 = ok₃
125  125. copy_slot_masked               [test_matrix_op_matrix_half].result = Mask($40)
126  126. label                          label 0x0000000C
127  127. copy_slot_masked               $39 = Mask($40)
128  128. label                          label 0x00000005
129  129. load_condition_mask            CondMask = $52
130  130. zero_slot_unmasked             $45 = 0
131  131. merge_condition_mask           CondMask = $38 & $39
132  132. branch_if_no_active_lanes      branch_if_no_active_lanes +6 (label 4 at #138)
133  133. copy_constant                  ok₄ = 0xFFFFFFFF
134  134. copy_slot_unmasked             $46 = ok₄
135  135. copy_slot_masked               [test_vector_op_matrix_float].result = Mask($46)
136  136. label                          label 0x0000000D
137  137. copy_slot_masked               $45 = Mask($46)
138  138. label                          label 0x00000004
139  139. load_condition_mask            CondMask = $38
140  140. zero_slot_unmasked             $42 = 0
141  141. merge_condition_mask           CondMask = $44 & $45
142  142. branch_if_no_active_lanes      branch_if_no_active_lanes +6 (label 3 at #148)
143  143. copy_constant                  ok₅ = 0xFFFFFFFF
144  144. copy_slot_unmasked             $43 = ok₅
145  145. copy_slot_masked               [test_vector_op_matrix_half].result = Mask($43)
146  146. label                          label 0x0000000E
147  147. copy_slot_masked               $42 = Mask($43)
148  148. label                          label 0x00000003
149  149. load_condition_mask            CondMask = $44
150  150. zero_slot_unmasked             $23 = 0
151  151. merge_condition_mask           CondMask = $41 & $42
152  152. branch_if_no_active_lanes      branch_if_no_active_lanes +6 (label 2 at #158)
153  153. copy_constant                  ok₆ = 0xFFFFFFFF
154  154. copy_slot_unmasked             $24 = ok₆
155  155. copy_slot_masked               [test_matrix_op_vector_float].result = Mask($24)
156  156. label                          label 0x0000000F
157  157. copy_slot_masked               $23 = Mask($24)
158  158. label                          label 0x00000002
159  159. load_condition_mask            CondMask = $41
160  160. zero_slot_unmasked             $0 = 0
161  161. merge_condition_mask           CondMask = $22 & $23
162  162. branch_if_no_active_lanes      branch_if_no_active_lanes +6 (label 1 at #168)
163  163. copy_constant                  ok₇ = 0xFFFFFFFF
164  164. copy_slot_unmasked             $1 = ok₇
165  165. copy_slot_masked               [test_matrix_op_vector_half].result = Mask($1)
166  166. label                          label 0x00000010
167  167. copy_slot_masked               $0 = Mask($1)
168  168. label                          label 0x00000001
169  169. load_condition_mask            CondMask = $22
170  170. swizzle_4                      $0..3 = ($0..3).xxxx
171  171. copy_4_constants               $4..7 = colorRed
172  172. copy_4_constants               $8..11 = colorGreen
173  173. mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
174  174. copy_4_slots_unmasked          [main].result = $0..3
175  175. load_src                       src.rgba = [main].result
176