| ; SPIR-V |
| ; Version: 1.3 |
| ; Generator: Google Tint Compiler; 0 |
| ; Bound: 34 |
| ; Schema: 0 |
| OpCapability Shader |
| OpMemoryModel Logical GLSL450 |
| OpEntryPoint Vertex %main "main" %value %vertex_point_size |
| OpName %value "value" |
| OpName %vertex_point_size "vertex_point_size" |
| OpName %buffer_block "buffer_block" |
| OpMemberName %buffer_block 0 "inner" |
| OpName %S "S" |
| OpMemberName %S 0 "matrix_view" |
| OpMemberName %S 1 "matrix_normal" |
| OpName %buffer "buffer" |
| OpName %main_inner "main_inner" |
| OpName %main "main" |
| OpDecorate %value BuiltIn Position |
| OpDecorate %vertex_point_size BuiltIn PointSize |
| OpDecorate %buffer_block Block |
| OpMemberDecorate %buffer_block 0 Offset 0 |
| OpMemberDecorate %S 0 Offset 0 |
| OpMemberDecorate %S 0 ColMajor |
| OpMemberDecorate %S 0 MatrixStride 16 |
| OpMemberDecorate %S 1 Offset 64 |
| OpMemberDecorate %S 1 ColMajor |
| OpMemberDecorate %S 1 MatrixStride 16 |
| OpDecorate %buffer NonWritable |
| OpDecorate %buffer DescriptorSet 0 |
| OpDecorate %buffer Binding 0 |
| %float = OpTypeFloat 32 |
| %v4float = OpTypeVector %float 4 |
| %_ptr_Output_v4float = OpTypePointer Output %v4float |
| %5 = OpConstantNull %v4float |
| %value = OpVariable %_ptr_Output_v4float Output %5 |
| %_ptr_Output_float = OpTypePointer Output %float |
| %8 = OpConstantNull %float |
| %vertex_point_size = OpVariable %_ptr_Output_float Output %8 |
| %mat4v4float = OpTypeMatrix %v4float 4 |
| %v3float = OpTypeVector %float 3 |
| %mat3v3float = OpTypeMatrix %v3float 3 |
| %S = OpTypeStruct %mat4v4float %mat3v3float |
| %buffer_block = OpTypeStruct %S |
| %_ptr_Uniform_buffer_block = OpTypePointer Uniform %buffer_block |
| %buffer = OpVariable %_ptr_Uniform_buffer_block Uniform |
| %16 = OpTypeFunction %v4float |
| %uint = OpTypeInt 32 0 |
| %uint_0 = OpConstant %uint 0 |
| %int = OpTypeInt 32 1 |
| %22 = OpConstantNull %int |
| %uint_2 = OpConstant %uint 2 |
| %_ptr_Uniform_float = OpTypePointer Uniform %float |
| %float_1 = OpConstant %float 1 |
| %void = OpTypeVoid |
| %29 = OpTypeFunction %void |
| %main_inner = OpFunction %v4float None %16 |
| %18 = OpLabel |
| %25 = OpAccessChain %_ptr_Uniform_float %buffer %uint_0 %uint_0 %22 %uint_2 |
| %26 = OpLoad %float %25 |
| %28 = OpCompositeConstruct %v4float %26 %8 %8 %float_1 |
| OpReturnValue %28 |
| OpFunctionEnd |
| %main = OpFunction %void None %29 |
| %32 = OpLabel |
| %33 = OpFunctionCall %v4float %main_inner |
| OpStore %value %33 |
| OpStore %vertex_point_size %float_1 |
| OpReturn |
| OpFunctionEnd |