blob: ba5110ce336ffb47e1ab844b214ec9b2e0a3e3d2 [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 +51 (label 2 at #55)
5. store_return_mask $21 = RetMask
6. copy_4_constants $22..25 = testMatrix3x3(0..3)
7. copy_4_constants $26..29 = testMatrix3x3(4..7)
8. copy_constant $30 = testMatrix3x3(8)
9. copy_4_slots_unmasked matrix(0..3) = $22..25
10. copy_4_slots_unmasked matrix(4..7) = $26..29
11. copy_slot_unmasked matrix(8) = $30
12. copy_constant expected(0) = 0x3F800000 (1.0)
13. copy_constant expected(1) = 0x40000000 (2.0)
14. copy_constant expected(2) = 0x40400000 (3.0)
15. zero_slot_unmasked index = 0
16. store_loop_mask $22 = LoopMask
17. jump jump +25 (label 4 at #42)
18. label label 0x00000005
19. store_condition_mask $23 = CondMask
20. copy_slot_unmasked $18 = index
21. copy_constant $19 = 0x00000003 (4.203895e-45)
22. mul_int $18 *= $19
23. copy_from_indirect_unmasked $24..26 = Indirect(matrix(0..2) + $18)
24. copy_3_slots_unmasked $27..29 = expected
25. cmpne_3_floats $24..26 = notEqual($24..26, $27..29)
26. bitwise_or_int $25 |= $26
27. bitwise_or_int $24 |= $25
28. merge_condition_mask CondMask = $23 & $24
29. zero_slot_unmasked $25 = 0
30. copy_slot_masked [test3x3].result = Mask($25)
31. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
32. load_condition_mask CondMask = $23
33. copy_3_slots_unmasked $23..25 = expected
34. copy_constant $26 = 0x40400000 (3.0)
35. swizzle_3 $26..28 = ($26..28).xxx
36. add_3_floats $23..25 += $26..28
37. copy_3_slots_masked expected = Mask($23..25)
38. copy_slot_unmasked $23 = index
39. copy_constant $24 = 0x00000001 (1.401298e-45)
40. add_int $23 += $24
41. copy_slot_masked index = Mask($23)
42. label label 0x00000004
43. copy_slot_unmasked $23 = index
44. copy_constant $24 = 0x00000003 (4.203895e-45)
45. cmplt_int $23 = lessThan($23, $24)
46. merge_loop_mask LoopMask &= $23
47. stack_rewind
48. branch_if_any_lanes_active branch_if_any_lanes_active -30 (label 5 at #18)
49. label label 0x00000003
50. load_loop_mask LoopMask = $22
51. copy_constant $22 = 0xFFFFFFFF
52. copy_slot_masked [test3x3].result = Mask($22)
53. load_return_mask RetMask = $21
54. copy_slot_unmasked $21 = [test3x3].result
55. label label 0x00000002
56. zero_slot_unmasked $0 = 0
57. merge_condition_mask CondMask = $20 & $21
58. branch_if_no_lanes_active branch_if_no_lanes_active +56 (label 1 at #114)
59. store_return_mask $1 = RetMask
60. copy_4_constants $2..5 = testMatrix4x4(0..3)
61. copy_4_constants $6..9 = testMatrix4x4(4..7)
62. copy_4_constants $10..13 = testMatrix4x4(8..11)
63. copy_4_constants $14..17 = testMatrix4x4(12..15)
64. copy_4_slots_unmasked matrix₁(0..3) = $2..5
65. copy_4_slots_unmasked matrix₁(4..7) = $6..9
66. copy_4_slots_unmasked matrix₁(8..11) = $10..13
67. copy_4_slots_unmasked matrix₁(12..15) = $14..17
68. copy_constant expected₁(0) = 0x3F800000 (1.0)
69. copy_constant expected₁(1) = 0x40000000 (2.0)
70. copy_constant expected₁(2) = 0x40400000 (3.0)
71. copy_constant expected₁(3) = 0x40800000 (4.0)
72. zero_slot_unmasked index = 0
73. store_loop_mask $2 = LoopMask
74. jump jump +25 (label 8 at #99)
75. label label 0x00000009
76. store_condition_mask $3 = CondMask
77. copy_slot_unmasked $18 = index
78. copy_constant $19 = 0x00000004 (5.605194e-45)
79. mul_int $18 *= $19
80. copy_from_indirect_unmasked $4..7 = Indirect(matrix₁(0..3) + $18)
81. copy_4_slots_unmasked $8..11 = expected
82. cmpne_4_floats $4..7 = notEqual($4..7, $8..11)
83. bitwise_or_2_ints $4..5 |= $6..7
84. bitwise_or_int $4 |= $5
85. merge_condition_mask CondMask = $3 & $4
86. zero_slot_unmasked $5 = 0
87. copy_slot_masked [test4x4].result = Mask($5)
88. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
89. load_condition_mask CondMask = $3
90. copy_4_slots_unmasked $3..6 = expected
91. copy_constant $7 = 0x40800000 (4.0)
92. swizzle_4 $7..10 = ($7..10).xxxx
93. add_4_floats $3..6 += $7..10
94. copy_4_slots_masked expected = Mask($3..6)
95. copy_slot_unmasked $3 = index
96. copy_constant $4 = 0x00000001 (1.401298e-45)
97. add_int $3 += $4
98. copy_slot_masked index = Mask($3)
99. label label 0x00000008
100. copy_slot_unmasked $3 = index
101. copy_constant $4 = 0x00000004 (5.605194e-45)
102. cmplt_int $3 = lessThan($3, $4)
103. merge_loop_mask LoopMask &= $3
104. stack_rewind
105. branch_if_any_lanes_active branch_if_any_lanes_active -30 (label 9 at #75)
106. label label 0x00000007
107. load_loop_mask LoopMask = $2
108. copy_constant $2 = 0xFFFFFFFF
109. copy_slot_masked [test4x4].result = Mask($2)
110. load_return_mask RetMask = $1
111. copy_slot_unmasked $1 = [test4x4].result
112. label label 0x00000006
113. copy_slot_masked $0 = Mask($1)
114. label label 0x00000001
115. load_condition_mask CondMask = $20
116. swizzle_4 $0..3 = ($0..3).xxxx
117. copy_4_constants $4..7 = colorRed
118. copy_4_constants $8..11 = colorGreen
119. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3)
120. load_src src.rgba = $0..3