| ; SPIR-V |
| ; Version: 1.3 |
| ; Generator: Google Tint Compiler; 0 |
| ; Bound: 258 |
| ; Schema: 0 |
| OpCapability Shader |
| %168 = OpExtInstImport "GLSL.std.450" |
| OpMemoryModel Logical GLSL450 |
| OpEntryPoint Vertex %vertexMain "vertexMain" %position_1 %normal_1 %tangent_1 %texcoord_1 %joints_1 %weights_1 %instance0_1 %instance1_1 %instance2_1 %instance3_1 %instanceColor_1 %position_2 %worldPos_1 %view_1 %texcoord_2 %texcoord2_1 %color_1 %instanceColor_2 %normal_2 %tangent_2 %bitangent_1 %vertex_point_size |
| OpName %position_1 "position_1" |
| OpName %normal_1 "normal_1" |
| OpName %tangent_1 "tangent_1" |
| OpName %texcoord_1 "texcoord_1" |
| OpName %joints_1 "joints_1" |
| OpName %weights_1 "weights_1" |
| OpName %instance0_1 "instance0_1" |
| OpName %instance1_1 "instance1_1" |
| OpName %instance2_1 "instance2_1" |
| OpName %instance3_1 "instance3_1" |
| OpName %instanceColor_1 "instanceColor_1" |
| OpName %position_2 "position_2" |
| OpName %worldPos_1 "worldPos_1" |
| OpName %view_1 "view_1" |
| OpName %texcoord_2 "texcoord_2" |
| OpName %texcoord2_1 "texcoord2_1" |
| OpName %color_1 "color_1" |
| OpName %instanceColor_2 "instanceColor_2" |
| OpName %normal_2 "normal_2" |
| OpName %tangent_2 "tangent_2" |
| OpName %bitangent_1 "bitangent_1" |
| OpName %vertex_point_size "vertex_point_size" |
| OpName %Camera "Camera" |
| OpMemberName %Camera 0 "projection" |
| OpMemberName %Camera 1 "inverseProjection" |
| OpMemberName %Camera 2 "view" |
| OpMemberName %Camera 3 "position" |
| OpMemberName %Camera 4 "time" |
| OpMemberName %Camera 5 "outputSize" |
| OpMemberName %Camera 6 "zNear" |
| OpMemberName %Camera 7 "zFar" |
| OpName %camera "camera" |
| OpName %Joints "Joints" |
| OpMemberName %Joints 0 "matrices" |
| OpName %joint "joint" |
| OpName %inverseBind "inverseBind" |
| OpName %VertexInput "VertexInput" |
| OpMemberName %VertexInput 0 "position" |
| OpMemberName %VertexInput 1 "normal" |
| OpMemberName %VertexInput 2 "tangent" |
| OpMemberName %VertexInput 3 "texcoord" |
| OpMemberName %VertexInput 4 "joints" |
| OpMemberName %VertexInput 5 "weights" |
| OpMemberName %VertexInput 6 "instance0" |
| OpMemberName %VertexInput 7 "instance1" |
| OpMemberName %VertexInput 8 "instance2" |
| OpMemberName %VertexInput 9 "instance3" |
| OpMemberName %VertexInput 10 "instanceColor" |
| OpName %getInstanceMatrix "getInstanceMatrix" |
| OpName %input "input" |
| OpName %getSkinMatrix "getSkinMatrix" |
| OpName %input_0 "input" |
| OpName %VertexOutput "VertexOutput" |
| OpMemberName %VertexOutput 0 "position" |
| OpMemberName %VertexOutput 1 "worldPos" |
| OpMemberName %VertexOutput 2 "view" |
| OpMemberName %VertexOutput 3 "texcoord" |
| OpMemberName %VertexOutput 4 "texcoord2" |
| OpMemberName %VertexOutput 5 "color" |
| OpMemberName %VertexOutput 6 "instanceColor" |
| OpMemberName %VertexOutput 7 "normal" |
| OpMemberName %VertexOutput 8 "tangent" |
| OpMemberName %VertexOutput 9 "bitangent" |
| OpName %vertexMain_inner "vertexMain_inner" |
| OpName %input_1 "input" |
| OpName %output "output" |
| OpName %vertexMain "vertexMain" |
| OpDecorate %position_1 Location 0 |
| OpDecorate %normal_1 Location 1 |
| OpDecorate %tangent_1 Location 2 |
| OpDecorate %texcoord_1 Location 3 |
| OpDecorate %joints_1 Location 6 |
| OpDecorate %weights_1 Location 7 |
| OpDecorate %instance0_1 Location 8 |
| OpDecorate %instance1_1 Location 9 |
| OpDecorate %instance2_1 Location 10 |
| OpDecorate %instance3_1 Location 11 |
| OpDecorate %instanceColor_1 Location 12 |
| OpDecorate %position_2 BuiltIn Position |
| OpDecorate %worldPos_1 Location 0 |
| OpDecorate %view_1 Location 1 |
| OpDecorate %texcoord_2 Location 2 |
| OpDecorate %texcoord2_1 Location 3 |
| OpDecorate %color_1 Location 4 |
| OpDecorate %instanceColor_2 Location 5 |
| OpDecorate %normal_2 Location 6 |
| OpDecorate %tangent_2 Location 7 |
| OpDecorate %bitangent_1 Location 8 |
| OpDecorate %vertex_point_size BuiltIn PointSize |
| OpDecorate %Camera Block |
| OpMemberDecorate %Camera 0 Offset 0 |
| OpMemberDecorate %Camera 0 ColMajor |
| OpMemberDecorate %Camera 0 MatrixStride 16 |
| OpMemberDecorate %Camera 1 Offset 64 |
| OpMemberDecorate %Camera 1 ColMajor |
| OpMemberDecorate %Camera 1 MatrixStride 16 |
| OpMemberDecorate %Camera 2 Offset 128 |
| OpMemberDecorate %Camera 2 ColMajor |
| OpMemberDecorate %Camera 2 MatrixStride 16 |
| OpMemberDecorate %Camera 3 Offset 192 |
| OpMemberDecorate %Camera 4 Offset 204 |
| OpMemberDecorate %Camera 5 Offset 208 |
| OpMemberDecorate %Camera 6 Offset 216 |
| OpMemberDecorate %Camera 7 Offset 220 |
| OpDecorate %camera NonWritable |
| OpDecorate %camera Binding 0 |
| OpDecorate %camera DescriptorSet 0 |
| OpDecorate %Joints Block |
| OpMemberDecorate %Joints 0 Offset 0 |
| OpMemberDecorate %Joints 0 ColMajor |
| OpMemberDecorate %Joints 0 MatrixStride 16 |
| OpDecorate %_runtimearr_mat4v4float ArrayStride 64 |
| OpDecorate %joint NonWritable |
| OpDecorate %joint Binding 1 |
| OpDecorate %joint DescriptorSet 0 |
| OpDecorate %inverseBind NonWritable |
| OpDecorate %inverseBind Binding 2 |
| OpDecorate %inverseBind DescriptorSet 0 |
| OpMemberDecorate %VertexInput 0 Offset 0 |
| OpMemberDecorate %VertexInput 1 Offset 16 |
| OpMemberDecorate %VertexInput 2 Offset 32 |
| OpMemberDecorate %VertexInput 3 Offset 48 |
| OpMemberDecorate %VertexInput 4 Offset 64 |
| OpMemberDecorate %VertexInput 5 Offset 80 |
| OpMemberDecorate %VertexInput 6 Offset 96 |
| OpMemberDecorate %VertexInput 7 Offset 112 |
| OpMemberDecorate %VertexInput 8 Offset 128 |
| OpMemberDecorate %VertexInput 9 Offset 144 |
| OpMemberDecorate %VertexInput 10 Offset 160 |
| OpMemberDecorate %VertexOutput 0 Offset 0 |
| OpMemberDecorate %VertexOutput 1 Offset 16 |
| OpMemberDecorate %VertexOutput 2 Offset 32 |
| OpMemberDecorate %VertexOutput 3 Offset 48 |
| OpMemberDecorate %VertexOutput 4 Offset 56 |
| OpMemberDecorate %VertexOutput 5 Offset 64 |
| OpMemberDecorate %VertexOutput 6 Offset 80 |
| OpMemberDecorate %VertexOutput 7 Offset 96 |
| OpMemberDecorate %VertexOutput 8 Offset 112 |
| OpMemberDecorate %VertexOutput 9 Offset 128 |
| %float = OpTypeFloat 32 |
| %v4float = OpTypeVector %float 4 |
| %_ptr_Input_v4float = OpTypePointer Input %v4float |
| %position_1 = OpVariable %_ptr_Input_v4float Input |
| %v3float = OpTypeVector %float 3 |
| %_ptr_Input_v3float = OpTypePointer Input %v3float |
| %normal_1 = OpVariable %_ptr_Input_v3float Input |
| %tangent_1 = OpVariable %_ptr_Input_v4float Input |
| %v2float = OpTypeVector %float 2 |
| %_ptr_Input_v2float = OpTypePointer Input %v2float |
| %texcoord_1 = OpVariable %_ptr_Input_v2float Input |
| %uint = OpTypeInt 32 0 |
| %v4uint = OpTypeVector %uint 4 |
| %_ptr_Input_v4uint = OpTypePointer Input %v4uint |
| %joints_1 = OpVariable %_ptr_Input_v4uint Input |
| %weights_1 = OpVariable %_ptr_Input_v4float Input |
| %instance0_1 = OpVariable %_ptr_Input_v4float Input |
| %instance1_1 = OpVariable %_ptr_Input_v4float Input |
| %instance2_1 = OpVariable %_ptr_Input_v4float Input |
| %instance3_1 = OpVariable %_ptr_Input_v4float Input |
| %instanceColor_1 = OpVariable %_ptr_Input_v4float Input |
| %_ptr_Output_v4float = OpTypePointer Output %v4float |
| %24 = OpConstantNull %v4float |
| %position_2 = OpVariable %_ptr_Output_v4float Output %24 |
| %_ptr_Output_v3float = OpTypePointer Output %v3float |
| %27 = OpConstantNull %v3float |
| %worldPos_1 = OpVariable %_ptr_Output_v3float Output %27 |
| %view_1 = OpVariable %_ptr_Output_v3float Output %27 |
| %_ptr_Output_v2float = OpTypePointer Output %v2float |
| %31 = OpConstantNull %v2float |
| %texcoord_2 = OpVariable %_ptr_Output_v2float Output %31 |
| %texcoord2_1 = OpVariable %_ptr_Output_v2float Output %31 |
| %color_1 = OpVariable %_ptr_Output_v4float Output %24 |
| %instanceColor_2 = OpVariable %_ptr_Output_v4float Output %24 |
| %normal_2 = OpVariable %_ptr_Output_v3float Output %27 |
| %tangent_2 = OpVariable %_ptr_Output_v3float Output %27 |
| %bitangent_1 = OpVariable %_ptr_Output_v3float Output %27 |
| %_ptr_Output_float = OpTypePointer Output %float |
| %40 = OpConstantNull %float |
| %vertex_point_size = OpVariable %_ptr_Output_float Output %40 |
| %mat4v4float = OpTypeMatrix %v4float 4 |
| %Camera = OpTypeStruct %mat4v4float %mat4v4float %mat4v4float %v3float %float %v2float %float %float |
| %_ptr_Uniform_Camera = OpTypePointer Uniform %Camera |
| %camera = OpVariable %_ptr_Uniform_Camera Uniform |
| %_runtimearr_mat4v4float = OpTypeRuntimeArray %mat4v4float |
| %Joints = OpTypeStruct %_runtimearr_mat4v4float |
| %_ptr_StorageBuffer_Joints = OpTypePointer StorageBuffer %Joints |
| %joint = OpVariable %_ptr_StorageBuffer_Joints StorageBuffer |
| %inverseBind = OpVariable %_ptr_StorageBuffer_Joints StorageBuffer |
| %VertexInput = OpTypeStruct %v4float %v3float %v4float %v2float %v4uint %v4float %v4float %v4float %v4float %v4float %v4float |
| %50 = OpTypeFunction %mat4v4float %VertexInput |
| %uint_0 = OpConstant %uint 0 |
| %_ptr_StorageBuffer_mat4v4float = OpTypePointer StorageBuffer %mat4v4float |
| %VertexOutput = OpTypeStruct %v4float %v3float %v3float %v2float %v2float %v4float %v4float %v3float %v3float %v3float |
| %155 = OpTypeFunction %VertexOutput %VertexInput |
| %_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput |
| %162 = OpConstantNull %VertexOutput |
| %uint_7 = OpConstant %uint 7 |
| %_ptr_Function_v3float = OpTypePointer Function %v3float |
| %float_0 = OpConstant %float 0 |
| %uint_8 = OpConstant %uint 8 |
| %uint_9 = OpConstant %uint 9 |
| %uint_5 = OpConstant %uint 5 |
| %_ptr_Function_v4float = OpTypePointer Function %v4float |
| %float_1 = OpConstant %float 1 |
| %202 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1 |
| %uint_3 = OpConstant %uint 3 |
| %_ptr_Function_v2float = OpTypePointer Function %v2float |
| %uint_6 = OpConstant %uint 6 |
| %uint_1 = OpConstant %uint 1 |
| %uint_2 = OpConstant %uint 2 |
| %_ptr_Uniform_v3float = OpTypePointer Uniform %v3float |
| %_ptr_Uniform_mat4v4float = OpTypePointer Uniform %mat4v4float |
| %void = OpTypeVoid |
| %231 = OpTypeFunction %void |
| %getInstanceMatrix = OpFunction %mat4v4float None %50 |
| %input = OpFunctionParameter %VertexInput |
| %54 = OpLabel |
| %55 = OpCompositeExtract %v4float %input 6 |
| %56 = OpCompositeExtract %v4float %input 7 |
| %57 = OpCompositeExtract %v4float %input 8 |
| %58 = OpCompositeExtract %v4float %input 9 |
| %59 = OpCompositeConstruct %mat4v4float %55 %56 %57 %58 |
| OpReturnValue %59 |
| OpFunctionEnd |
| %getSkinMatrix = OpFunction %mat4v4float None %50 |
| %input_0 = OpFunctionParameter %VertexInput |
| %62 = OpLabel |
| %64 = OpCompositeExtract %v4uint %input_0 4 |
| %65 = OpCompositeExtract %uint %64 0 |
| %67 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %joint %uint_0 %65 |
| %68 = OpLoad %mat4v4float %67 |
| %69 = OpCompositeExtract %v4uint %input_0 4 |
| %70 = OpCompositeExtract %uint %69 0 |
| %71 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %inverseBind %uint_0 %70 |
| %72 = OpLoad %mat4v4float %71 |
| %73 = OpMatrixTimesMatrix %mat4v4float %68 %72 |
| %74 = OpCompositeExtract %v4uint %input_0 4 |
| %75 = OpCompositeExtract %uint %74 1 |
| %76 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %joint %uint_0 %75 |
| %77 = OpLoad %mat4v4float %76 |
| %78 = OpCompositeExtract %v4uint %input_0 4 |
| %79 = OpCompositeExtract %uint %78 1 |
| %80 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %inverseBind %uint_0 %79 |
| %81 = OpLoad %mat4v4float %80 |
| %82 = OpMatrixTimesMatrix %mat4v4float %77 %81 |
| %83 = OpCompositeExtract %v4uint %input_0 4 |
| %84 = OpCompositeExtract %uint %83 2 |
| %85 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %joint %uint_0 %84 |
| %86 = OpLoad %mat4v4float %85 |
| %87 = OpCompositeExtract %v4uint %input_0 4 |
| %88 = OpCompositeExtract %uint %87 2 |
| %89 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %inverseBind %uint_0 %88 |
| %90 = OpLoad %mat4v4float %89 |
| %91 = OpMatrixTimesMatrix %mat4v4float %86 %90 |
| %92 = OpCompositeExtract %v4uint %input_0 4 |
| %93 = OpCompositeExtract %uint %92 3 |
| %94 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %joint %uint_0 %93 |
| %95 = OpLoad %mat4v4float %94 |
| %96 = OpCompositeExtract %v4uint %input_0 4 |
| %97 = OpCompositeExtract %uint %96 3 |
| %98 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %inverseBind %uint_0 %97 |
| %99 = OpLoad %mat4v4float %98 |
| %100 = OpMatrixTimesMatrix %mat4v4float %95 %99 |
| %101 = OpCompositeExtract %v4float %input_0 5 |
| %102 = OpCompositeExtract %float %101 0 |
| %103 = OpMatrixTimesScalar %mat4v4float %73 %102 |
| %104 = OpCompositeExtract %v4float %input_0 5 |
| %105 = OpCompositeExtract %float %104 1 |
| %106 = OpMatrixTimesScalar %mat4v4float %82 %105 |
| %108 = OpCompositeExtract %v4float %103 0 |
| %109 = OpCompositeExtract %v4float %106 0 |
| %110 = OpFAdd %v4float %108 %109 |
| %111 = OpCompositeExtract %v4float %103 1 |
| %112 = OpCompositeExtract %v4float %106 1 |
| %113 = OpFAdd %v4float %111 %112 |
| %114 = OpCompositeExtract %v4float %103 2 |
| %115 = OpCompositeExtract %v4float %106 2 |
| %116 = OpFAdd %v4float %114 %115 |
| %117 = OpCompositeExtract %v4float %103 3 |
| %118 = OpCompositeExtract %v4float %106 3 |
| %119 = OpFAdd %v4float %117 %118 |
| %120 = OpCompositeConstruct %mat4v4float %110 %113 %116 %119 |
| %121 = OpCompositeExtract %v4float %input_0 5 |
| %122 = OpCompositeExtract %float %121 2 |
| %123 = OpMatrixTimesScalar %mat4v4float %91 %122 |
| %125 = OpCompositeExtract %v4float %120 0 |
| %126 = OpCompositeExtract %v4float %123 0 |
| %127 = OpFAdd %v4float %125 %126 |
| %128 = OpCompositeExtract %v4float %120 1 |
| %129 = OpCompositeExtract %v4float %123 1 |
| %130 = OpFAdd %v4float %128 %129 |
| %131 = OpCompositeExtract %v4float %120 2 |
| %132 = OpCompositeExtract %v4float %123 2 |
| %133 = OpFAdd %v4float %131 %132 |
| %134 = OpCompositeExtract %v4float %120 3 |
| %135 = OpCompositeExtract %v4float %123 3 |
| %136 = OpFAdd %v4float %134 %135 |
| %137 = OpCompositeConstruct %mat4v4float %127 %130 %133 %136 |
| %138 = OpCompositeExtract %v4float %input_0 5 |
| %139 = OpCompositeExtract %float %138 3 |
| %140 = OpMatrixTimesScalar %mat4v4float %100 %139 |
| %142 = OpCompositeExtract %v4float %137 0 |
| %143 = OpCompositeExtract %v4float %140 0 |
| %144 = OpFAdd %v4float %142 %143 |
| %145 = OpCompositeExtract %v4float %137 1 |
| %146 = OpCompositeExtract %v4float %140 1 |
| %147 = OpFAdd %v4float %145 %146 |
| %148 = OpCompositeExtract %v4float %137 2 |
| %149 = OpCompositeExtract %v4float %140 2 |
| %150 = OpFAdd %v4float %148 %149 |
| %151 = OpCompositeExtract %v4float %137 3 |
| %152 = OpCompositeExtract %v4float %140 3 |
| %153 = OpFAdd %v4float %151 %152 |
| %154 = OpCompositeConstruct %mat4v4float %144 %147 %150 %153 |
| OpReturnValue %154 |
| OpFunctionEnd |
| %vertexMain_inner = OpFunction %VertexOutput None %155 |
| %input_1 = OpFunctionParameter %VertexInput |
| %159 = OpLabel |
| %output = OpVariable %_ptr_Function_VertexOutput Function %162 |
| %163 = OpFunctionCall %mat4v4float %getSkinMatrix %input_1 |
| %166 = OpAccessChain %_ptr_Function_v3float %output %uint_7 |
| %169 = OpCompositeExtract %v3float %input_1 1 |
| %170 = OpCompositeExtract %float %169 0 |
| %171 = OpCompositeExtract %float %169 1 |
| %172 = OpCompositeExtract %float %169 2 |
| %174 = OpCompositeConstruct %v4float %170 %171 %172 %float_0 |
| %175 = OpMatrixTimesVector %v4float %163 %174 |
| %176 = OpVectorShuffle %v3float %175 %175 0 1 2 |
| %167 = OpExtInst %v3float %168 Normalize %176 |
| OpStore %166 %167 |
| %178 = OpAccessChain %_ptr_Function_v3float %output %uint_8 |
| %180 = OpCompositeExtract %v4float %input_1 2 |
| %181 = OpVectorShuffle %v3float %180 %180 0 1 2 |
| %182 = OpCompositeExtract %float %181 0 |
| %183 = OpCompositeExtract %float %181 1 |
| %184 = OpCompositeExtract %float %181 2 |
| %185 = OpCompositeConstruct %v4float %182 %183 %184 %float_0 |
| %186 = OpMatrixTimesVector %v4float %163 %185 |
| %187 = OpVectorShuffle %v3float %186 %186 0 1 2 |
| %179 = OpExtInst %v3float %168 Normalize %187 |
| OpStore %178 %179 |
| %189 = OpAccessChain %_ptr_Function_v3float %output %uint_9 |
| %191 = OpAccessChain %_ptr_Function_v3float %output %uint_7 |
| %192 = OpLoad %v3float %191 |
| %193 = OpAccessChain %_ptr_Function_v3float %output %uint_8 |
| %194 = OpLoad %v3float %193 |
| %190 = OpExtInst %v3float %168 Cross %192 %194 |
| %195 = OpCompositeExtract %v4float %input_1 2 |
| %196 = OpCompositeExtract %float %195 3 |
| %197 = OpVectorTimesScalar %v3float %190 %196 |
| OpStore %189 %197 |
| %200 = OpAccessChain %_ptr_Function_v4float %output %uint_5 |
| OpStore %200 %202 |
| %205 = OpAccessChain %_ptr_Function_v2float %output %uint_3 |
| %206 = OpCompositeExtract %v2float %input_1 3 |
| OpStore %205 %206 |
| %208 = OpAccessChain %_ptr_Function_v4float %output %uint_6 |
| %209 = OpCompositeExtract %v4float %input_1 10 |
| OpStore %208 %209 |
| %210 = OpCompositeExtract %v4float %input_1 0 |
| %211 = OpMatrixTimesVector %v4float %163 %210 |
| %213 = OpAccessChain %_ptr_Function_v3float %output %uint_1 |
| %214 = OpVectorShuffle %v3float %211 %211 0 1 2 |
| OpStore %213 %214 |
| %216 = OpAccessChain %_ptr_Function_v3float %output %uint_2 |
| %218 = OpAccessChain %_ptr_Uniform_v3float %camera %uint_3 |
| %219 = OpLoad %v3float %218 |
| %220 = OpVectorShuffle %v3float %211 %211 0 1 2 |
| %221 = OpFSub %v3float %219 %220 |
| OpStore %216 %221 |
| %222 = OpAccessChain %_ptr_Function_v4float %output %uint_0 |
| %224 = OpAccessChain %_ptr_Uniform_mat4v4float %camera %uint_0 |
| %225 = OpLoad %mat4v4float %224 |
| %226 = OpAccessChain %_ptr_Uniform_mat4v4float %camera %uint_2 |
| %227 = OpLoad %mat4v4float %226 |
| %228 = OpMatrixTimesMatrix %mat4v4float %225 %227 |
| %229 = OpMatrixTimesVector %v4float %228 %211 |
| OpStore %222 %229 |
| %230 = OpLoad %VertexOutput %output |
| OpReturnValue %230 |
| OpFunctionEnd |
| %vertexMain = OpFunction %void None %231 |
| %234 = OpLabel |
| %236 = OpLoad %v4float %position_1 |
| %237 = OpLoad %v3float %normal_1 |
| %238 = OpLoad %v4float %tangent_1 |
| %239 = OpLoad %v2float %texcoord_1 |
| %240 = OpLoad %v4uint %joints_1 |
| %241 = OpLoad %v4float %weights_1 |
| %242 = OpLoad %v4float %instance0_1 |
| %243 = OpLoad %v4float %instance1_1 |
| %244 = OpLoad %v4float %instance2_1 |
| %245 = OpLoad %v4float %instance3_1 |
| %246 = OpLoad %v4float %instanceColor_1 |
| %247 = OpCompositeConstruct %VertexInput %236 %237 %238 %239 %240 %241 %242 %243 %244 %245 %246 |
| %235 = OpFunctionCall %VertexOutput %vertexMain_inner %247 |
| %248 = OpCompositeExtract %v4float %235 0 |
| OpStore %position_2 %248 |
| %249 = OpCompositeExtract %v3float %235 1 |
| OpStore %worldPos_1 %249 |
| %250 = OpCompositeExtract %v3float %235 2 |
| OpStore %view_1 %250 |
| %251 = OpCompositeExtract %v2float %235 3 |
| OpStore %texcoord_2 %251 |
| %252 = OpCompositeExtract %v2float %235 4 |
| OpStore %texcoord2_1 %252 |
| %253 = OpCompositeExtract %v4float %235 5 |
| OpStore %color_1 %253 |
| %254 = OpCompositeExtract %v4float %235 6 |
| OpStore %instanceColor_2 %254 |
| %255 = OpCompositeExtract %v3float %235 7 |
| OpStore %normal_2 %255 |
| %256 = OpCompositeExtract %v3float %235 8 |
| OpStore %tangent_2 %256 |
| %257 = OpCompositeExtract %v3float %235 9 |
| OpStore %bitangent_1 %257 |
| OpStore %vertex_point_size %float_1 |
| OpReturn |
| OpFunctionEnd |