• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; SPIR-V
2; Version: 1.0
3; Generator: Khronos Glslang Reference Front End; 1
4; Bound: 152
5; Schema: 0
6               OpCapability Shader
7          %1 = OpExtInstImport "GLSL.std.450"
8               OpMemoryModel Logical GLSL450
9               OpEntryPoint GLCompute %main "main"
10               OpExecutionMode %main LocalSize 1 1 1
11               OpSource ESSL 310
12               OpName %main "main"
13               OpName %and_b1_b1_ "and(b1;b1;"
14               OpName %a "a"
15               OpName %b "b"
16               OpName %and_vb2_vb2_ "and(vb2;vb2;"
17               OpName %a_0 "a"
18               OpName %b_0 "b"
19               OpName %and_vb3_vb3_ "and(vb3;vb3;"
20               OpName %a_1 "a"
21               OpName %b_1 "b"
22               OpName %and_vb4_vb4_ "and(vb4;vb4;"
23               OpName %a_2 "a"
24               OpName %b_2 "b"
25               OpName %b0 "b0"
26               OpName %SSBO0 "SSBO0"
27               OpMemberName %SSBO0 0 "a"
28               OpMemberName %SSBO0 1 "b"
29               OpMemberName %SSBO0 2 "c"
30               OpMemberName %SSBO0 3 "d"
31               OpName %s0 "s0"
32               OpName %SSBO1 "SSBO1"
33               OpMemberName %SSBO1 0 "a"
34               OpMemberName %SSBO1 1 "b"
35               OpMemberName %SSBO1 2 "c"
36               OpMemberName %SSBO1 3 "d"
37               OpName %s1 "s1"
38               OpName %param "param"
39               OpName %param_0 "param"
40               OpName %b1 "b1"
41               OpName %param_1 "param"
42               OpName %param_2 "param"
43               OpName %b2 "b2"
44               OpName %param_3 "param"
45               OpName %param_4 "param"
46               OpName %b3 "b3"
47               OpName %param_5 "param"
48               OpName %param_6 "param"
49               OpMemberDecorate %SSBO0 0 Offset 0
50               OpMemberDecorate %SSBO0 1 Offset 8
51               OpMemberDecorate %SSBO0 2 Offset 16
52               OpMemberDecorate %SSBO0 3 Offset 32
53               OpDecorate %SSBO0 BufferBlock
54               OpDecorate %s0 DescriptorSet 0
55               OpDecorate %s0 Binding 0
56               OpMemberDecorate %SSBO1 0 Offset 0
57               OpMemberDecorate %SSBO1 1 Offset 8
58               OpMemberDecorate %SSBO1 2 Offset 16
59               OpMemberDecorate %SSBO1 3 Offset 32
60               OpDecorate %SSBO1 BufferBlock
61               OpDecorate %s1 DescriptorSet 0
62               OpDecorate %s1 Binding 1
63       %void = OpTypeVoid
64          %3 = OpTypeFunction %void
65       %bool = OpTypeBool
66%_ptr_Function_bool = OpTypePointer Function %bool
67          %8 = OpTypeFunction %bool %_ptr_Function_bool %_ptr_Function_bool
68     %v2bool = OpTypeVector %bool 2
69%_ptr_Function_v2bool = OpTypePointer Function %v2bool
70         %15 = OpTypeFunction %v2bool %_ptr_Function_v2bool %_ptr_Function_v2bool
71     %v3bool = OpTypeVector %bool 3
72%_ptr_Function_v3bool = OpTypePointer Function %v3bool
73         %22 = OpTypeFunction %v3bool %_ptr_Function_v3bool %_ptr_Function_v3bool
74     %v4bool = OpTypeVector %bool 4
75%_ptr_Function_v4bool = OpTypePointer Function %v4bool
76         %29 = OpTypeFunction %v4bool %_ptr_Function_v4bool %_ptr_Function_v4bool
77      %float = OpTypeFloat 32
78    %v2float = OpTypeVector %float 2
79    %v3float = OpTypeVector %float 3
80    %v4float = OpTypeVector %float 4
81      %SSBO0 = OpTypeStruct %float %v2float %v3float %v4float
82%_ptr_Uniform_SSBO0 = OpTypePointer Uniform %SSBO0
83         %s0 = OpVariable %_ptr_Uniform_SSBO0 Uniform
84        %int = OpTypeInt 32 1
85        %102 = OpConstant %int 0
86%_ptr_Uniform_float = OpTypePointer Uniform %float
87      %SSBO1 = OpTypeStruct %float %v2float %v3float %v4float
88%_ptr_Uniform_SSBO1 = OpTypePointer Uniform %SSBO1
89         %s1 = OpVariable %_ptr_Uniform_SSBO1 Uniform
90        %117 = OpConstant %int 1
91%_ptr_Uniform_v2float = OpTypePointer Uniform %v2float
92        %129 = OpConstant %int 2
93%_ptr_Uniform_v3float = OpTypePointer Uniform %v3float
94        %141 = OpConstant %int 3
95%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
96       %main = OpFunction %void None %3
97          %5 = OpLabel
98         %b0 = OpVariable %_ptr_Function_bool Function
99      %param = OpVariable %_ptr_Function_bool Function
100    %param_0 = OpVariable %_ptr_Function_bool Function
101         %b1 = OpVariable %_ptr_Function_v2bool Function
102    %param_1 = OpVariable %_ptr_Function_v2bool Function
103    %param_2 = OpVariable %_ptr_Function_v2bool Function
104         %b2 = OpVariable %_ptr_Function_v3bool Function
105    %param_3 = OpVariable %_ptr_Function_v3bool Function
106    %param_4 = OpVariable %_ptr_Function_v3bool Function
107         %b3 = OpVariable %_ptr_Function_v4bool Function
108    %param_5 = OpVariable %_ptr_Function_v4bool Function
109    %param_6 = OpVariable %_ptr_Function_v4bool Function
110        %104 = OpAccessChain %_ptr_Uniform_float %s0 %102
111        %105 = OpLoad %float %104
112        %106 = OpIsInf %bool %105
113        %110 = OpAccessChain %_ptr_Uniform_float %s1 %102
114        %111 = OpLoad %float %110
115        %112 = OpIsNan %bool %111
116               OpStore %param %106
117               OpStore %param_0 %112
118        %115 = OpFunctionCall %bool %and_b1_b1_ %param %param_0
119               OpStore %b0 %115
120        %119 = OpAccessChain %_ptr_Uniform_v2float %s0 %117
121        %120 = OpLoad %v2float %119
122        %121 = OpIsInf %v2bool %120
123        %122 = OpAccessChain %_ptr_Uniform_v2float %s1 %117
124        %123 = OpLoad %v2float %122
125        %124 = OpIsNan %v2bool %123
126               OpStore %param_1 %121
127               OpStore %param_2 %124
128        %127 = OpFunctionCall %v2bool %and_vb2_vb2_ %param_1 %param_2
129               OpStore %b1 %127
130        %131 = OpAccessChain %_ptr_Uniform_v3float %s0 %129
131        %132 = OpLoad %v3float %131
132        %133 = OpIsInf %v3bool %132
133        %134 = OpAccessChain %_ptr_Uniform_v3float %s1 %129
134        %135 = OpLoad %v3float %134
135        %136 = OpIsNan %v3bool %135
136               OpStore %param_3 %133
137               OpStore %param_4 %136
138        %139 = OpFunctionCall %v3bool %and_vb3_vb3_ %param_3 %param_4
139               OpStore %b2 %139
140        %143 = OpAccessChain %_ptr_Uniform_v4float %s0 %141
141        %144 = OpLoad %v4float %143
142        %145 = OpIsInf %v4bool %144
143        %146 = OpAccessChain %_ptr_Uniform_v4float %s1 %141
144        %147 = OpLoad %v4float %146
145        %148 = OpIsNan %v4bool %147
146               OpStore %param_5 %145
147               OpStore %param_6 %148
148        %151 = OpFunctionCall %v4bool %and_vb4_vb4_ %param_5 %param_6
149               OpStore %b3 %151
150               OpReturn
151               OpFunctionEnd
152 %and_b1_b1_ = OpFunction %bool None %8
153          %a = OpFunctionParameter %_ptr_Function_bool
154          %b = OpFunctionParameter %_ptr_Function_bool
155         %12 = OpLabel
156         %34 = OpLoad %bool %a
157         %35 = OpLoad %bool %b
158         %36 = OpLogicalAnd %bool %34 %35
159         %37 = OpLogicalOr %bool %36 %35
160         %38 = OpLogicalNot %bool %37
161               OpReturnValue %38
162               OpFunctionEnd
163%and_vb2_vb2_ = OpFunction %v2bool None %15
164        %a_0 = OpFunctionParameter %_ptr_Function_v2bool
165        %b_0 = OpFunctionParameter %_ptr_Function_v2bool
166         %19 = OpLabel
167         %39 = OpLoad %v2bool %a_0
168         %41 = OpLoad %v2bool %b_0
169         %48 = OpLogicalAnd %v2bool %39 %41
170         %49 = OpLogicalOr %v2bool %48 %41
171         %50 = OpLogicalNot %v2bool %49
172               OpReturnValue %50
173               OpFunctionEnd
174%and_vb3_vb3_ = OpFunction %v3bool None %22
175        %a_1 = OpFunctionParameter %_ptr_Function_v3bool
176        %b_1 = OpFunctionParameter %_ptr_Function_v3bool
177         %26 = OpLabel
178         %52 = OpLoad %v3bool %a_1
179         %54 = OpLoad %v3bool %b_1
180         %66 = OpLogicalAnd %v3bool %52 %54
181               OpReturnValue %66
182               OpFunctionEnd
183%and_vb4_vb4_ = OpFunction %v4bool None %29
184        %a_2 = OpFunctionParameter %_ptr_Function_v4bool
185        %b_2 = OpFunctionParameter %_ptr_Function_v4bool
186         %33 = OpLabel
187         %70 = OpLoad %v4bool %a_2
188         %72 = OpLoad %v4bool %b_2
189         %74 = OpLogicalAnd %v4bool %70 %72
190               OpReturnValue %74
191               OpFunctionEnd
192