; SPIR-V ; Version: 1.0 ; Generator: Khronos Glslang Reference Front End; 8 ; Bound: 48 ; Schema: 0 OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 OpEntryPoint GLCompute %main "main" %ssbo OpExecutionMode %main LocalSize 1 1 1 OpSource GLSL 450 OpName %B1 "B1" OpName %A "A" OpName %C "C" OpName %B2 "B2" OpMemberName %A 0 "a" OpMemberName %A 1 "b1" OpMemberName %A 2 "b1_array" OpMemberName %C 0 "c" OpMemberName %C 1 "b2" OpMemberName %C 2 "b2_array" OpMemberName %B1 0 "elem1" OpMemberName %B2 0 "elem2" OpMemberName %SSBO 0 "a_block" OpMemberName %SSBO 1 "c_block" OpDecorate %B1Array ArrayStride 16 OpDecorate %B2Array ArrayStride 16 OpMemberDecorate %B1 0 Offset 0 OpMemberDecorate %A 0 Offset 0 OpMemberDecorate %A 1 Offset 16 OpMemberDecorate %A 2 Offset 32 OpMemberDecorate %A 3 Offset 96 OpMemberDecorate %B2 0 Offset 0 OpMemberDecorate %C 0 Offset 0 OpMemberDecorate %C 1 Offset 16 OpMemberDecorate %C 2 Offset 32 OpMemberDecorate %C 3 Offset 96 OpMemberDecorate %SSBO 0 Offset 0 OpMemberDecorate %SSBO 1 Offset 112 OpMemberDecorate %A0 0 Offset 0 OpMemberDecorate %C0 0 Offset 0 OpMemberDecorate %A0 0 RowMajor OpMemberDecorate %A0 0 MatrixStride 8 OpMemberDecorate %C0 0 ColMajor OpMemberDecorate %C0 0 MatrixStride 16 OpDecorate %SSBO Block OpDecorate %ssbo DescriptorSet 0 OpDecorate %ssbo Binding 0 %void = OpTypeVoid %3 = OpTypeFunction %void %float = OpTypeFloat 32 %uint = OpTypeInt 32 0 %uint_4 = OpConstant %uint 4 %v4float = OpTypeVector %float 4 %v2float = OpTypeVector %float 2 %m2float = OpTypeMatrix %v2float 2 %A0 = OpTypeStruct %m2float %C0 = OpTypeStruct %m2float %B2 = OpTypeStruct %v4float %B2Array = OpTypeArray %B2 %uint_4 %C = OpTypeStruct %v4float %B2 %B2Array %C0 %B1 = OpTypeStruct %v4float %B1Array = OpTypeArray %B1 %uint_4 %A = OpTypeStruct %v4float %B1 %B1Array %A0 %SSBO = OpTypeStruct %A %C %_ptr_Uniform_SSBO = OpTypePointer StorageBuffer %SSBO %ssbo = OpVariable %_ptr_Uniform_SSBO StorageBuffer %int = OpTypeInt 32 1 %int_1 = OpConstant %int 1 %_ptr_Uniform_C = OpTypePointer StorageBuffer %C %int_0 = OpConstant %int 0 %_ptr_Uniform_A = OpTypePointer StorageBuffer %A %main = OpFunction %void None %3 %5 = OpLabel %22 = OpAccessChain %_ptr_Uniform_C %ssbo %int_1 %39 = OpAccessChain %_ptr_Uniform_A %ssbo %int_0 %23 = OpLoad %C %22 %24 = OpCopyLogical %A %23 OpStore %39 %24 OpReturn OpFunctionEnd