blob: 5c7af6e24993d9f13248931e8496737cfffd0bb6 [file] [log] [blame]
1. store_src_rg coords = src.rg
2. init_lane_masks CondMask = LoopMask = RetMask = true
3. store_condition_mask $20 = CondMask
4. branch_if_no_lanes_active branch_if_no_lanes_active +67 (label 2 at #71)
5. store_return_mask $21 = RetMask
6. copy_constant expected(0) = 0x40400000 (3.0)
7. copy_constant expected(1) = 0x40000000 (2.0)
8. copy_constant expected(2) = 0x3F800000 (1.0)
9. zero_4_slots_unmasked vec, c = 0
10. store_loop_mask $22 = LoopMask
11. jump jump +47 (label 4 at #58)
12. label label 0x00000005
13. branch_if_no_lanes_active branch_if_no_lanes_active +24 (label 6 at #37)
14. zero_slot_unmasked r = 0
15. label label 0x00000007
16. copy_slot_unmasked $15 = r
17. copy_constant $12 = 0x00000002 (2.802597e-45)
18. copy_constant $13 = 0x00000001 (1.401298e-45)
19. zero_slot_unmasked $14 = 0
20. copy_from_indirect_unmasked $19 = Indirect($12 + $15)
21. copy_slot_unmasked $12 = c
22. copy_constant $13 = 0x00000003 (4.203895e-45)
23. mul_int $12 *= $13
24. copy_slot_unmasked $15 = r
25. copy_slot_unmasked $16 = $12
26. add_int $15 += $16
27. copy_from_indirect_uniform_unm $23 = Indirect(testMatrix3x3(0) + $15)
28. copy_to_indirect_masked Indirect(vec(0) + $19) = Mask($23)
29. copy_slot_unmasked $23 = r
30. copy_constant $24 = 0x00000001 (1.401298e-45)
31. add_int $23 += $24
32. copy_slot_masked r = Mask($23)
33. copy_constant $24 = 0x00000003 (4.203895e-45)
34. cmplt_int $23 = lessThan($23, $24)
35. stack_rewind
36. branch_if_no_active_lanes_eq branch -21 (label 7 at #15) if no lanes of $23 == 0x00000000 (0.0)
37. label label 0x00000006
38. store_condition_mask $23 = CondMask
39. copy_3_slots_unmasked $24..26 = vec
40. copy_3_slots_unmasked $27..29 = expected
41. cmpne_3_floats $24..26 = notEqual($24..26, $27..29)
42. bitwise_or_int $25 |= $26
43. bitwise_or_int $24 |= $25
44. merge_condition_mask CondMask = $23 & $24
45. zero_slot_unmasked $25 = 0
46. copy_slot_masked [test3x3].result = Mask($25)
47. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
48. load_condition_mask CondMask = $23
49. copy_3_slots_unmasked $23..25 = expected
50. copy_constant $26 = 0x40400000 (3.0)
51. swizzle_3 $26..28 = ($26..28).xxx
52. add_3_floats $23..25 += $26..28
53. copy_3_slots_masked expected = Mask($23..25)
54. copy_slot_unmasked $23 = c
55. copy_constant $24 = 0x00000001 (1.401298e-45)
56. add_int $23 += $24
57. copy_slot_masked c = Mask($23)
58. label label 0x00000004
59. copy_slot_unmasked $23 = c
60. copy_constant $24 = 0x00000003 (4.203895e-45)
61. cmplt_int $23 = lessThan($23, $24)
62. merge_loop_mask LoopMask &= $23
63. stack_rewind
64. branch_if_any_lanes_active branch_if_any_lanes_active -52 (label 5 at #12)
65. label label 0x00000003
66. load_loop_mask LoopMask = $22
67. copy_constant $22 = 0xFFFFFFFF
68. copy_slot_masked [test3x3].result = Mask($22)
69. load_return_mask RetMask = $21
70. copy_slot_unmasked $21 = [test3x3].result
71. label label 0x00000002
72. zero_slot_unmasked $0 = 0
73. merge_condition_mask CondMask = $20 & $21
74. branch_if_no_lanes_active branch_if_no_lanes_active +72 (label 1 at #146)
75. store_return_mask $1 = RetMask
76. copy_constant expected₁(0) = 0x40800000 (4.0)
77. copy_constant expected₁(1) = 0x40400000 (3.0)
78. copy_constant expected₁(2) = 0x40000000 (2.0)
79. copy_constant expected₁(3) = 0x3F800000 (1.0)
80. zero_4_slots_unmasked vec = 0
81. zero_slot_unmasked c = 0
82. store_loop_mask $2 = LoopMask
83. jump jump +48 (label 10 at #131)
84. label label 0x0000000B
85. branch_if_no_lanes_active branch_if_no_lanes_active +25 (label 12 at #110)
86. zero_slot_unmasked r = 0
87. label label 0x0000000D
88. copy_slot_unmasked $12 = r
89. copy_constant $15 = 0x00000003 (4.203895e-45)
90. copy_constant $16 = 0x00000002 (2.802597e-45)
91. copy_constant $17 = 0x00000001 (1.401298e-45)
92. zero_slot_unmasked $18 = 0
93. copy_from_indirect_unmasked $19 = Indirect($15 + $12)
94. copy_slot_unmasked $15 = c
95. copy_constant $16 = 0x00000004 (5.605194e-45)
96. mul_int $15 *= $16
97. copy_slot_unmasked $12 = r
98. copy_slot_unmasked $13 = $15
99. add_int $12 += $13
100. copy_from_indirect_uniform_unm $3 = Indirect(testMatrix4x4(0) + $12)
101. copy_to_indirect_masked Indirect(vec₁(0) + $19) = Mask($3)
102. copy_slot_unmasked $3 = r
103. copy_constant $4 = 0x00000001 (1.401298e-45)
104. add_int $3 += $4
105. copy_slot_masked r = Mask($3)
106. copy_constant $4 = 0x00000004 (5.605194e-45)
107. cmplt_int $3 = lessThan($3, $4)
108. stack_rewind
109. branch_if_no_active_lanes_eq branch -22 (label 13 at #87) if no lanes of $3 == 0x00000000 (0.0)
110. label label 0x0000000C
111. store_condition_mask $3 = CondMask
112. copy_4_slots_unmasked $4..7 = vec
113. copy_4_slots_unmasked $8..11 = expected
114. cmpne_4_floats $4..7 = notEqual($4..7, $8..11)
115. bitwise_or_2_ints $4..5 |= $6..7
116. bitwise_or_int $4 |= $5
117. merge_condition_mask CondMask = $3 & $4
118. zero_slot_unmasked $5 = 0
119. copy_slot_masked [test4x4].result = Mask($5)
120. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
121. load_condition_mask CondMask = $3
122. copy_4_slots_unmasked $3..6 = expected
123. copy_constant $7 = 0x40800000 (4.0)
124. swizzle_4 $7..10 = ($7..10).xxxx
125. add_4_floats $3..6 += $7..10
126. copy_4_slots_masked expected = Mask($3..6)
127. copy_slot_unmasked $3 = c
128. copy_constant $4 = 0x00000001 (1.401298e-45)
129. add_int $3 += $4
130. copy_slot_masked c = Mask($3)
131. label label 0x0000000A
132. copy_slot_unmasked $3 = c
133. copy_constant $4 = 0x00000004 (5.605194e-45)
134. cmplt_int $3 = lessThan($3, $4)
135. merge_loop_mask LoopMask &= $3
136. stack_rewind
137. branch_if_any_lanes_active branch_if_any_lanes_active -53 (label 11 at #84)
138. label label 0x00000009
139. load_loop_mask LoopMask = $2
140. copy_constant $2 = 0xFFFFFFFF
141. copy_slot_masked [test4x4].result = Mask($2)
142. load_return_mask RetMask = $1
143. copy_slot_unmasked $1 = [test4x4].result
144. label label 0x00000008
145. copy_slot_masked $0 = Mask($1)
146. label label 0x00000001
147. load_condition_mask CondMask = $20
148. swizzle_4 $0..3 = ($0..3).xxxx
149. copy_4_constants $4..7 = colorRed
150. copy_4_constants $8..11 = colorGreen
151. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3)
152. load_src src.rgba = $0..3