1; SPIR-V 2; Version: 1.0 3; Generator: Khronos Glslang Reference Front End; 6 4; Bound: 61 5; Schema: 0 6 OpCapability Shader 7 %1 = OpExtInstImport "GLSL.std.450" 8 OpMemoryModel Logical GLSL450 9 OpEntryPoint GLCompute %main "main" %id_1 10 OpExecutionMode %main LocalSize 1 1 1 11 OpSource HLSL 500 12 OpName %main "main" 13 OpName %Load_u1_ "Load(u1;" 14 OpName %size "size" 15 OpName %_main_vu3_ "@main(vu3;" 16 OpName %id "id" 17 OpName %data "data" 18 OpName %byteAddrTemp "byteAddrTemp" 19 OpName %ssbo "ssbo" 20 OpMemberName %ssbo 0 "@data" 21 OpName %ssbo_0 "ssbo" 22 OpName %param "param" 23 OpName %id_0 "id" 24 OpName %id_1 "id" 25 OpName %param_0 "param" 26 OpDecorate %_runtimearr_uint ArrayStride 4 27 OpMemberDecorate %ssbo 0 NonWritable 28 OpMemberDecorate %ssbo 0 Offset 0 29 OpDecorate %ssbo BufferBlock 30 OpDecorate %ssbo_0 DescriptorSet 0 31 OpDecorate %ssbo_0 Binding 1 32 OpDecorate %id_1 BuiltIn GlobalInvocationId 33 %void = OpTypeVoid 34 %3 = OpTypeFunction %void 35 %uint = OpTypeInt 32 0 36%_ptr_Function_uint = OpTypePointer Function %uint 37 %8 = OpTypeFunction %void %_ptr_Function_uint 38 %v3uint = OpTypeVector %uint 3 39%_ptr_Function_v3uint = OpTypePointer Function %v3uint 40 %14 = OpTypeFunction %void %_ptr_Function_v3uint 41 %v4uint = OpTypeVector %uint 4 42%_ptr_Function_v4uint = OpTypePointer Function %v4uint 43 %int = OpTypeInt 32 1 44%_ptr_Function_int = OpTypePointer Function %int 45 %int_2 = OpConstant %int 2 46%_runtimearr_uint = OpTypeRuntimeArray %uint 47 %ssbo = OpTypeStruct %_runtimearr_uint 48%_ptr_Uniform_ssbo = OpTypePointer Uniform %ssbo 49 %ssbo_0 = OpVariable %_ptr_Uniform_ssbo Uniform 50 %int_0 = OpConstant %int 0 51%_ptr_Uniform_uint = OpTypePointer Uniform %uint 52 %int_1 = OpConstant %int 1 53 %int_3 = OpConstant %int 3 54 %uint_4 = OpConstant %uint 4 55%_ptr_Input_v3uint = OpTypePointer Input %v3uint 56 %id_1 = OpVariable %_ptr_Input_v3uint Input 57 %main = OpFunction %void None %3 58 %5 = OpLabel 59 %id_0 = OpVariable %_ptr_Function_v3uint Function 60 %param_0 = OpVariable %_ptr_Function_v3uint Function 61 %57 = OpLoad %v3uint %id_1 62 OpStore %id_0 %57 63 %59 = OpLoad %v3uint %id_0 64 OpStore %param_0 %59 65 %60 = OpFunctionCall %void %_main_vu3_ %param_0 66 OpReturn 67 OpFunctionEnd 68 %Load_u1_ = OpFunction %void None %8 69 %size = OpFunctionParameter %_ptr_Function_uint 70 %11 = OpLabel 71 %data = OpVariable %_ptr_Function_v4uint Function 72%byteAddrTemp = OpVariable %_ptr_Function_int Function 73 %24 = OpLoad %uint %size 74 %26 = OpShiftRightLogical %int %24 %int_2 75 OpStore %byteAddrTemp %26 76 %32 = OpLoad %int %byteAddrTemp 77 %34 = OpAccessChain %_ptr_Uniform_uint %ssbo_0 %int_0 %32 78 %35 = OpLoad %uint %34 79 %36 = OpLoad %int %byteAddrTemp 80 %38 = OpIAdd %int %36 %int_1 81 %39 = OpAccessChain %_ptr_Uniform_uint %ssbo_0 %int_0 %38 82 %40 = OpLoad %uint %39 83 %41 = OpLoad %int %byteAddrTemp 84 %42 = OpIAdd %int %41 %int_2 85 %43 = OpAccessChain %_ptr_Uniform_uint %ssbo_0 %int_0 %42 86 %44 = OpLoad %uint %43 87 %45 = OpLoad %int %byteAddrTemp 88 %47 = OpIAdd %int %45 %int_3 89 %48 = OpAccessChain %_ptr_Uniform_uint %ssbo_0 %int_0 %47 90 %49 = OpLoad %uint %48 91 %50 = OpCompositeConstruct %v4uint %35 %40 %44 %49 92 OpStore %data %50 93 OpReturn 94 OpFunctionEnd 95 %_main_vu3_ = OpFunction %void None %14 96 %id = OpFunctionParameter %_ptr_Function_v3uint 97 %17 = OpLabel 98 %param = OpVariable %_ptr_Function_uint Function 99 OpStore %param %uint_4 100 %53 = OpFunctionCall %void %Load_u1_ %param 101 OpReturn 102 OpFunctionEnd 103