1; SPIR-V 2; Version: 1.0 3; Generator: Khronos Glslang Reference Front End; 7 4; Bound: 37 5; Schema: 0 6 OpCapability Shader 7 %1 = OpExtInstImport "GLSL.std.450" 8 OpMemoryModel Logical GLSL450 9 OpEntryPoint GLCompute %main "main" 10 OpExecutionMode %main LocalSize 1 1 1 11 OpSource GLSL 450 12 OpName %main "main" 13 OpName %T "T" 14 OpMemberName %T 0 "a" 15 OpName %v "v" 16 OpName %T_0 "T" 17 OpMemberName %T_0 0 "b" 18 OpName %SSBO1 "SSBO1" 19 OpMemberName %SSBO1 0 "foo" 20 OpName %_ "" 21 OpName %T_1 "T" 22 OpMemberName %T_1 0 "c" 23 OpName %SSBO2 "SSBO2" 24 OpMemberName %SSBO2 0 "bar" 25 OpName %__0 "" 26 OpMemberDecorate %T_0 0 Offset 0 27 OpDecorate %_runtimearr_T_0 ArrayStride 4 28 OpMemberDecorate %SSBO1 0 Offset 0 29 OpDecorate %SSBO1 BufferBlock 30 OpDecorate %_ DescriptorSet 0 31 OpDecorate %_ Binding 0 32 OpMemberDecorate %T_1 0 Offset 0 33 OpDecorate %_runtimearr_T_1 ArrayStride 16 34 OpMemberDecorate %SSBO2 0 Offset 0 35 OpDecorate %SSBO2 BufferBlock 36 OpDecorate %__0 DescriptorSet 0 37 OpDecorate %__0 Binding 1 38 %void = OpTypeVoid 39 %3 = OpTypeFunction %void 40 %float = OpTypeFloat 32 41 %T = OpTypeStruct %float 42%_ptr_Function_T = OpTypePointer Function %T 43 %float_40 = OpConstant %float 40 44 %11 = OpConstantComposite %T %float_40 45 %T_0 = OpTypeStruct %float 46%_runtimearr_T_0 = OpTypeRuntimeArray %T_0 47 %SSBO1 = OpTypeStruct %_runtimearr_T_0 48%_ptr_Uniform_SSBO1 = OpTypePointer Uniform %SSBO1 49 %_ = OpVariable %_ptr_Uniform_SSBO1 Uniform 50 %int = OpTypeInt 32 1 51 %int_0 = OpConstant %int 0 52 %int_10 = OpConstant %int 10 53%_ptr_Uniform_T_0 = OpTypePointer Uniform %T_0 54%_ptr_Uniform_float = OpTypePointer Uniform %float 55 %T_1 = OpTypeStruct %float 56%_runtimearr_T_1 = OpTypeRuntimeArray %T_1 57 %SSBO2 = OpTypeStruct %_runtimearr_T_1 58%_ptr_Uniform_SSBO2 = OpTypePointer Uniform %SSBO2 59 %__0 = OpVariable %_ptr_Uniform_SSBO2 Uniform 60 %int_30 = OpConstant %int 30 61%_ptr_Uniform_T_1 = OpTypePointer Uniform %T_1 62 %main = OpFunction %void None %3 63 %5 = OpLabel 64 %v = OpVariable %_ptr_Function_T Function 65 OpStore %v %11 66 %20 = OpLoad %T %v 67 %22 = OpAccessChain %_ptr_Uniform_T_0 %_ %int_0 %int_10 68 %23 = OpCompositeExtract %float %20 0 69 %25 = OpAccessChain %_ptr_Uniform_float %22 %int_0 70 OpStore %25 %23 71 %32 = OpLoad %T %v 72 %34 = OpAccessChain %_ptr_Uniform_T_1 %__0 %int_0 %int_30 73 %35 = OpCompositeExtract %float %32 0 74 %36 = OpAccessChain %_ptr_Uniform_float %34 %int_0 75 OpStore %36 %35 76 OpReturn 77 OpFunctionEnd 78