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