| ; SPIR-V |
| ; Version: 1.3 |
| ; Generator: Google Tint Compiler; 0 |
| ; Bound: 203 |
| ; Schema: 0 |
| OpCapability Shader |
| OpMemoryModel Logical GLSL450 |
| OpEntryPoint Fragment %main "main" %tint_symbol_1 |
| OpExecutionMode %main OriginUpperLeft |
| OpName %g_v2 "g_v2" |
| OpName %g_v3 "g_v3" |
| OpName %g_v4 "g_v4" |
| OpName %tint_symbol_1 "tint_symbol_1" |
| OpName %from_immediate_bool "from_immediate_bool" |
| OpName %v2 "v2" |
| OpName %v3 "v3" |
| OpName %v4 "v4" |
| OpName %from_immediate_f32 "from_immediate_f32" |
| OpName %v2_0 "v2" |
| OpName %v3_0 "v3" |
| OpName %v4_0 "v4" |
| OpName %from_immediate_i32 "from_immediate_i32" |
| OpName %v2_1 "v2" |
| OpName %v3_1 "v3" |
| OpName %v4_1 "v4" |
| OpName %from_immediate_u32 "from_immediate_u32" |
| OpName %v2_2 "v2" |
| OpName %v3_2 "v3" |
| OpName %v4_2 "v4" |
| OpName %from_expression_bool "from_expression_bool" |
| OpName %v2_3 "v2" |
| OpName %v3_3 "v3" |
| OpName %v4_3 "v4" |
| OpName %from_expression_f32 "from_expression_f32" |
| OpName %v2_4 "v2" |
| OpName %v3_4 "v3" |
| OpName %v4_4 "v4" |
| OpName %from_expression_i32 "from_expression_i32" |
| OpName %v2_5 "v2" |
| OpName %v3_5 "v3" |
| OpName %v4_5 "v4" |
| OpName %from_expression_u32 "from_expression_u32" |
| OpName %v2_6 "v2" |
| OpName %v3_6 "v3" |
| OpName %v4_6 "v4" |
| OpName %get_bool "get_bool" |
| OpName %get_f32 "get_f32" |
| OpName %get_i32 "get_i32" |
| OpName %get_u32 "get_u32" |
| OpName %from_call_bool "from_call_bool" |
| OpName %v2_7 "v2" |
| OpName %v3_7 "v3" |
| OpName %v4_7 "v4" |
| OpName %from_call_f32 "from_call_f32" |
| OpName %v2_8 "v2" |
| OpName %v3_8 "v3" |
| OpName %v4_8 "v4" |
| OpName %from_call_i32 "from_call_i32" |
| OpName %v2_9 "v2" |
| OpName %v3_9 "v3" |
| OpName %v4_9 "v4" |
| OpName %from_call_u32 "from_call_u32" |
| OpName %v2_10 "v2" |
| OpName %v3_10 "v3" |
| OpName %v4_10 "v4" |
| OpName %with_swizzle "with_swizzle" |
| OpName %a "a" |
| OpName %b "b" |
| OpName %c "c" |
| OpName %tint_symbol_2 "tint_symbol_2" |
| OpName %tint_symbol "tint_symbol" |
| OpName %main "main" |
| OpDecorate %tint_symbol_1 Location 0 |
| %float = OpTypeFloat 32 |
| %v2float = OpTypeVector %float 2 |
| %float_1 = OpConstant %float 1 |
| %4 = OpConstantComposite %v2float %float_1 %float_1 |
| %_ptr_Private_v2float = OpTypePointer Private %v2float |
| %g_v2 = OpVariable %_ptr_Private_v2float Private %4 |
| %v3float = OpTypeVector %float 3 |
| %8 = OpConstantComposite %v3float %float_1 %float_1 %float_1 |
| %_ptr_Private_v3float = OpTypePointer Private %v3float |
| %g_v3 = OpVariable %_ptr_Private_v3float Private %8 |
| %v4float = OpTypeVector %float 4 |
| %12 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1 |
| %_ptr_Private_v4float = OpTypePointer Private %v4float |
| %g_v4 = OpVariable %_ptr_Private_v4float Private %12 |
| %_ptr_Output_v4float = OpTypePointer Output %v4float |
| %17 = OpConstantNull %v4float |
| %tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %17 |
| %void = OpTypeVoid |
| %18 = OpTypeFunction %void |
| %bool = OpTypeBool |
| %v2bool = OpTypeVector %bool 2 |
| %true = OpConstantTrue %bool |
| %25 = OpConstantComposite %v2bool %true %true |
| %_ptr_Function_v2bool = OpTypePointer Function %v2bool |
| %28 = OpConstantNull %v2bool |
| %v3bool = OpTypeVector %bool 3 |
| %30 = OpConstantComposite %v3bool %true %true %true |
| %_ptr_Function_v3bool = OpTypePointer Function %v3bool |
| %33 = OpConstantNull %v3bool |
| %v4bool = OpTypeVector %bool 4 |
| %35 = OpConstantComposite %v4bool %true %true %true %true |
| %_ptr_Function_v4bool = OpTypePointer Function %v4bool |
| %38 = OpConstantNull %v4bool |
| %_ptr_Function_v2float = OpTypePointer Function %v2float |
| %43 = OpConstantNull %v2float |
| %_ptr_Function_v3float = OpTypePointer Function %v3float |
| %46 = OpConstantNull %v3float |
| %_ptr_Function_v4float = OpTypePointer Function %v4float |
| %int = OpTypeInt 32 1 |
| %v2int = OpTypeVector %int 2 |
| %int_1 = OpConstant %int 1 |
| %54 = OpConstantComposite %v2int %int_1 %int_1 |
| %_ptr_Function_v2int = OpTypePointer Function %v2int |
| %57 = OpConstantNull %v2int |
| %v3int = OpTypeVector %int 3 |
| %59 = OpConstantComposite %v3int %int_1 %int_1 %int_1 |
| %_ptr_Function_v3int = OpTypePointer Function %v3int |
| %62 = OpConstantNull %v3int |
| %v4int = OpTypeVector %int 4 |
| %64 = OpConstantComposite %v4int %int_1 %int_1 %int_1 %int_1 |
| %_ptr_Function_v4int = OpTypePointer Function %v4int |
| %67 = OpConstantNull %v4int |
| %uint = OpTypeInt 32 0 |
| %v2uint = OpTypeVector %uint 2 |
| %uint_1 = OpConstant %uint 1 |
| %73 = OpConstantComposite %v2uint %uint_1 %uint_1 |
| %_ptr_Function_v2uint = OpTypePointer Function %v2uint |
| %76 = OpConstantNull %v2uint |
| %v3uint = OpTypeVector %uint 3 |
| %78 = OpConstantComposite %v3uint %uint_1 %uint_1 %uint_1 |
| %_ptr_Function_v3uint = OpTypePointer Function %v3uint |
| %81 = OpConstantNull %v3uint |
| %v4uint = OpTypeVector %uint 4 |
| %83 = OpConstantComposite %v4uint %uint_1 %uint_1 %uint_1 %uint_1 |
| %_ptr_Function_v4uint = OpTypePointer Function %v4uint |
| %86 = OpConstantNull %v4uint |
| %float_2 = OpConstant %float 2 |
| %int_2 = OpConstant %int 2 |
| %uint_2 = OpConstant %uint 2 |
| %128 = OpTypeFunction %bool |
| %131 = OpTypeFunction %float |
| %134 = OpTypeFunction %int |
| %137 = OpTypeFunction %uint |
| %_ptr_Function_float = OpTypePointer Function %float |
| %189 = OpConstantNull %float |
| %194 = OpTypeFunction %void %v4float |
| %float_0 = OpConstant %float 0 |
| %202 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 |
| %from_immediate_bool = OpFunction %void None %18 |
| %21 = OpLabel |
| %v2 = OpVariable %_ptr_Function_v2bool Function %28 |
| %v3 = OpVariable %_ptr_Function_v3bool Function %33 |
| %v4 = OpVariable %_ptr_Function_v4bool Function %38 |
| OpStore %v2 %25 |
| OpStore %v3 %30 |
| OpStore %v4 %35 |
| OpReturn |
| OpFunctionEnd |
| %from_immediate_f32 = OpFunction %void None %18 |
| %40 = OpLabel |
| %v2_0 = OpVariable %_ptr_Function_v2float Function %43 |
| %v3_0 = OpVariable %_ptr_Function_v3float Function %46 |
| %v4_0 = OpVariable %_ptr_Function_v4float Function %17 |
| OpStore %v2_0 %4 |
| OpStore %v3_0 %8 |
| OpStore %v4_0 %12 |
| OpReturn |
| OpFunctionEnd |
| %from_immediate_i32 = OpFunction %void None %18 |
| %50 = OpLabel |
| %v2_1 = OpVariable %_ptr_Function_v2int Function %57 |
| %v3_1 = OpVariable %_ptr_Function_v3int Function %62 |
| %v4_1 = OpVariable %_ptr_Function_v4int Function %67 |
| OpStore %v2_1 %54 |
| OpStore %v3_1 %59 |
| OpStore %v4_1 %64 |
| OpReturn |
| OpFunctionEnd |
| %from_immediate_u32 = OpFunction %void None %18 |
| %69 = OpLabel |
| %v2_2 = OpVariable %_ptr_Function_v2uint Function %76 |
| %v3_2 = OpVariable %_ptr_Function_v3uint Function %81 |
| %v4_2 = OpVariable %_ptr_Function_v4uint Function %86 |
| OpStore %v2_2 %73 |
| OpStore %v3_2 %78 |
| OpStore %v4_2 %83 |
| OpReturn |
| OpFunctionEnd |
| %from_expression_bool = OpFunction %void None %18 |
| %88 = OpLabel |
| %v2_3 = OpVariable %_ptr_Function_v2bool Function %28 |
| %v3_3 = OpVariable %_ptr_Function_v3bool Function %33 |
| %v4_3 = OpVariable %_ptr_Function_v4bool Function %38 |
| OpStore %v2_3 %25 |
| OpStore %v3_3 %30 |
| OpStore %v4_3 %35 |
| OpReturn |
| OpFunctionEnd |
| %from_expression_f32 = OpFunction %void None %18 |
| %93 = OpLabel |
| %v2_4 = OpVariable %_ptr_Function_v2float Function %43 |
| %v3_4 = OpVariable %_ptr_Function_v3float Function %46 |
| %v4_4 = OpVariable %_ptr_Function_v4float Function %17 |
| %95 = OpFAdd %float %float_1 %float_2 |
| %96 = OpCompositeConstruct %v2float %95 %95 |
| OpStore %v2_4 %96 |
| %98 = OpFAdd %float %float_1 %float_2 |
| %99 = OpCompositeConstruct %v3float %98 %98 %98 |
| OpStore %v3_4 %99 |
| %101 = OpFAdd %float %float_1 %float_2 |
| %102 = OpCompositeConstruct %v4float %101 %101 %101 %101 |
| OpStore %v4_4 %102 |
| OpReturn |
| OpFunctionEnd |
| %from_expression_i32 = OpFunction %void None %18 |
| %105 = OpLabel |
| %v2_5 = OpVariable %_ptr_Function_v2int Function %57 |
| %v3_5 = OpVariable %_ptr_Function_v3int Function %62 |
| %v4_5 = OpVariable %_ptr_Function_v4int Function %67 |
| %107 = OpIAdd %int %int_1 %int_2 |
| %108 = OpCompositeConstruct %v2int %107 %107 |
| OpStore %v2_5 %108 |
| %110 = OpIAdd %int %int_1 %int_2 |
| %111 = OpCompositeConstruct %v3int %110 %110 %110 |
| OpStore %v3_5 %111 |
| %113 = OpIAdd %int %int_1 %int_2 |
| %114 = OpCompositeConstruct %v4int %113 %113 %113 %113 |
| OpStore %v4_5 %114 |
| OpReturn |
| OpFunctionEnd |
| %from_expression_u32 = OpFunction %void None %18 |
| %117 = OpLabel |
| %v2_6 = OpVariable %_ptr_Function_v2uint Function %76 |
| %v3_6 = OpVariable %_ptr_Function_v3uint Function %81 |
| %v4_6 = OpVariable %_ptr_Function_v4uint Function %86 |
| %119 = OpIAdd %uint %uint_1 %uint_2 |
| %120 = OpCompositeConstruct %v2uint %119 %119 |
| OpStore %v2_6 %120 |
| %122 = OpIAdd %uint %uint_1 %uint_2 |
| %123 = OpCompositeConstruct %v3uint %122 %122 %122 |
| OpStore %v3_6 %123 |
| %125 = OpIAdd %uint %uint_1 %uint_2 |
| %126 = OpCompositeConstruct %v4uint %125 %125 %125 %125 |
| OpStore %v4_6 %126 |
| OpReturn |
| OpFunctionEnd |
| %get_bool = OpFunction %bool None %128 |
| %130 = OpLabel |
| OpReturnValue %true |
| OpFunctionEnd |
| %get_f32 = OpFunction %float None %131 |
| %133 = OpLabel |
| OpReturnValue %float_1 |
| OpFunctionEnd |
| %get_i32 = OpFunction %int None %134 |
| %136 = OpLabel |
| OpReturnValue %int_1 |
| OpFunctionEnd |
| %get_u32 = OpFunction %uint None %137 |
| %139 = OpLabel |
| OpReturnValue %uint_1 |
| OpFunctionEnd |
| %from_call_bool = OpFunction %void None %18 |
| %141 = OpLabel |
| %v2_7 = OpVariable %_ptr_Function_v2bool Function %28 |
| %v3_7 = OpVariable %_ptr_Function_v3bool Function %33 |
| %v4_7 = OpVariable %_ptr_Function_v4bool Function %38 |
| %142 = OpFunctionCall %bool %get_bool |
| %143 = OpCompositeConstruct %v2bool %142 %142 |
| OpStore %v2_7 %143 |
| %145 = OpFunctionCall %bool %get_bool |
| %146 = OpCompositeConstruct %v3bool %145 %145 %145 |
| OpStore %v3_7 %146 |
| %148 = OpFunctionCall %bool %get_bool |
| %149 = OpCompositeConstruct %v4bool %148 %148 %148 %148 |
| OpStore %v4_7 %149 |
| OpReturn |
| OpFunctionEnd |
| %from_call_f32 = OpFunction %void None %18 |
| %152 = OpLabel |
| %v2_8 = OpVariable %_ptr_Function_v2float Function %43 |
| %v3_8 = OpVariable %_ptr_Function_v3float Function %46 |
| %v4_8 = OpVariable %_ptr_Function_v4float Function %17 |
| %153 = OpFunctionCall %float %get_f32 |
| %154 = OpCompositeConstruct %v2float %153 %153 |
| OpStore %v2_8 %154 |
| %156 = OpFunctionCall %float %get_f32 |
| %157 = OpCompositeConstruct %v3float %156 %156 %156 |
| OpStore %v3_8 %157 |
| %159 = OpFunctionCall %float %get_f32 |
| %160 = OpCompositeConstruct %v4float %159 %159 %159 %159 |
| OpStore %v4_8 %160 |
| OpReturn |
| OpFunctionEnd |
| %from_call_i32 = OpFunction %void None %18 |
| %163 = OpLabel |
| %v2_9 = OpVariable %_ptr_Function_v2int Function %57 |
| %v3_9 = OpVariable %_ptr_Function_v3int Function %62 |
| %v4_9 = OpVariable %_ptr_Function_v4int Function %67 |
| %164 = OpFunctionCall %int %get_i32 |
| %165 = OpCompositeConstruct %v2int %164 %164 |
| OpStore %v2_9 %165 |
| %167 = OpFunctionCall %int %get_i32 |
| %168 = OpCompositeConstruct %v3int %167 %167 %167 |
| OpStore %v3_9 %168 |
| %170 = OpFunctionCall %int %get_i32 |
| %171 = OpCompositeConstruct %v4int %170 %170 %170 %170 |
| OpStore %v4_9 %171 |
| OpReturn |
| OpFunctionEnd |
| %from_call_u32 = OpFunction %void None %18 |
| %174 = OpLabel |
| %v2_10 = OpVariable %_ptr_Function_v2uint Function %76 |
| %v3_10 = OpVariable %_ptr_Function_v3uint Function %81 |
| %v4_10 = OpVariable %_ptr_Function_v4uint Function %86 |
| %175 = OpFunctionCall %uint %get_u32 |
| %176 = OpCompositeConstruct %v2uint %175 %175 |
| OpStore %v2_10 %176 |
| %178 = OpFunctionCall %uint %get_u32 |
| %179 = OpCompositeConstruct %v3uint %178 %178 %178 |
| OpStore %v3_10 %179 |
| %181 = OpFunctionCall %uint %get_u32 |
| %182 = OpCompositeConstruct %v4uint %181 %181 %181 %181 |
| OpStore %v4_10 %182 |
| OpReturn |
| OpFunctionEnd |
| %with_swizzle = OpFunction %void None %18 |
| %185 = OpLabel |
| %a = OpVariable %_ptr_Function_float Function %189 |
| %b = OpVariable %_ptr_Function_float Function %189 |
| %c = OpVariable %_ptr_Function_float Function %189 |
| %186 = OpCompositeExtract %float %4 1 |
| OpStore %a %186 |
| %190 = OpCompositeExtract %float %8 2 |
| OpStore %b %190 |
| %192 = OpCompositeExtract %float %12 3 |
| OpStore %c %192 |
| OpReturn |
| OpFunctionEnd |
| %tint_symbol_2 = OpFunction %void None %194 |
| %tint_symbol = OpFunctionParameter %v4float |
| %197 = OpLabel |
| OpStore %tint_symbol_1 %tint_symbol |
| OpReturn |
| OpFunctionEnd |
| %main = OpFunction %void None %18 |
| %199 = OpLabel |
| %200 = OpFunctionCall %void %tint_symbol_2 %202 |
| OpReturn |
| OpFunctionEnd |