; SPIR-V ; Version: 1.0 ; Generator: Khronos Glslang Reference Front End; 7 ; Bound: 37 ; Schema: 0 OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 OpEntryPoint GLCompute %main "main" OpExecutionMode %main LocalSize 1 1 1 OpSource GLSL 450 OpName %main "main" OpName %T "T" OpMemberName %T 0 "a" OpName %v "v" OpName %T_0 "T" OpMemberName %T_0 0 "b" OpName %SSBO1 "SSBO1" OpMemberName %SSBO1 0 "foo" OpName %_ "" OpName %T_1 "T" OpMemberName %T_1 0 "c" OpName %SSBO2 "SSBO2" OpMemberName %SSBO2 0 "bar" OpName %__0 "" OpMemberDecorate %T_0 0 Offset 0 OpDecorate %_runtimearr_T_0 ArrayStride 4 OpMemberDecorate %SSBO1 0 Offset 0 OpDecorate %SSBO1 BufferBlock OpDecorate %_ DescriptorSet 0 OpDecorate %_ Binding 0 OpMemberDecorate %T_1 0 Offset 0 OpDecorate %_runtimearr_T_1 ArrayStride 16 OpMemberDecorate %SSBO2 0 Offset 0 OpDecorate %SSBO2 BufferBlock OpDecorate %__0 DescriptorSet 0 OpDecorate %__0 Binding 1 %void = OpTypeVoid %3 = OpTypeFunction %void %float = OpTypeFloat 32 %T = OpTypeStruct %float %_ptr_Function_T = OpTypePointer Function %T %float_40 = OpConstant %float 40 %11 = OpConstantComposite %T %float_40 %T_0 = OpTypeStruct %float %_runtimearr_T_0 = OpTypeRuntimeArray %T_0 %SSBO1 = OpTypeStruct %_runtimearr_T_0 %_ptr_Uniform_SSBO1 = OpTypePointer Uniform %SSBO1 %_ = OpVariable %_ptr_Uniform_SSBO1 Uniform %int = OpTypeInt 32 1 %int_0 = OpConstant %int 0 %int_10 = OpConstant %int 10 %_ptr_Uniform_T_0 = OpTypePointer Uniform %T_0 %_ptr_Uniform_float = OpTypePointer Uniform %float %T_1 = OpTypeStruct %float %_runtimearr_T_1 = OpTypeRuntimeArray %T_1 %SSBO2 = OpTypeStruct %_runtimearr_T_1 %_ptr_Uniform_SSBO2 = OpTypePointer Uniform %SSBO2 %__0 = OpVariable %_ptr_Uniform_SSBO2 Uniform %int_30 = OpConstant %int 30 %_ptr_Uniform_T_1 = OpTypePointer Uniform %T_1 %main = OpFunction %void None %3 %5 = OpLabel %v = OpVariable %_ptr_Function_T Function OpStore %v %11 %20 = OpLoad %T %v %22 = OpAccessChain %_ptr_Uniform_T_0 %_ %int_0 %int_10 %23 = OpCompositeExtract %float %20 0 %25 = OpAccessChain %_ptr_Uniform_float %22 %int_0 OpStore %25 %23 %32 = OpLoad %T %v %34 = OpAccessChain %_ptr_Uniform_T_1 %__0 %int_0 %int_30 %35 = OpCompositeExtract %float %32 0 %36 = OpAccessChain %_ptr_Uniform_float %34 %int_0 OpStore %36 %35 OpReturn OpFunctionEnd