1; SPIR-V 2; Version: 1.0 3; Generator: Khronos Glslang Reference Front End; 7 4; Bound: 26 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 %SSBO "SSBO" 14 OpMemberName %SSBO 0 "ints" 15 OpMemberName %SSBO 1 "uints" 16 OpName %_ "" 17 OpMemberDecorate %SSBO 0 Offset 0 18 OpMemberDecorate %SSBO 1 Offset 16 19 OpDecorate %SSBO BufferBlock 20 OpDecorate %_ DescriptorSet 0 21 OpDecorate %_ Binding 0 22 %void = OpTypeVoid 23 %3 = OpTypeFunction %void 24 %int = OpTypeInt 32 1 25 %v4int = OpTypeVector %int 4 26 %uint = OpTypeInt 32 0 27 %v4uint = OpTypeVector %uint 4 28 %SSBO = OpTypeStruct %v4int %v4uint 29%_ptr_Uniform_SSBO = OpTypePointer Uniform %SSBO 30 %_ = OpVariable %_ptr_Uniform_SSBO Uniform 31 %int_0 = OpConstant %int 0 32%_ptr_Uniform_v4int = OpTypePointer Uniform %v4int 33 %int_1 = OpConstant %int 1 34%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint 35 %main = OpFunction %void None %3 36 %5 = OpLabel 37 %ints_ptr = OpAccessChain %_ptr_Uniform_v4int %_ %int_0 38 %uints_ptr = OpAccessChain %_ptr_Uniform_v4uint %_ %int_1 39 %ints = OpLoad %v4int %ints_ptr 40 %uints = OpLoad %v4uint %uints_ptr 41 42 %int_to_int_sabs = OpExtInst %v4int %1 SAbs %ints 43 %int_to_uint_sabs = OpExtInst %v4uint %1 SAbs %ints 44 %uint_to_int_sabs = OpExtInst %v4int %1 SAbs %uints 45 %uint_to_uint_sabs = OpExtInst %v4uint %1 SAbs %uints 46 47 %int_to_int_ssign = OpExtInst %v4int %1 SSign %ints 48 %int_to_uint_ssign = OpExtInst %v4uint %1 SSign %ints 49 %uint_to_int_ssign = OpExtInst %v4int %1 SSign %uints 50 %uint_to_uint_ssign = OpExtInst %v4uint %1 SSign %uints 51 52 %int_to_int_smsb = OpExtInst %v4int %1 FindSMsb %uints 53 %int_to_uint_smsb = OpExtInst %v4uint %1 FindSMsb %uints 54 %uint_to_int_umsb = OpExtInst %v4int %1 FindUMsb %ints 55 %uint_to_uint_umsb = OpExtInst %v4uint %1 FindUMsb %ints 56 57 %int_to_int_smin = OpExtInst %v4int %1 SMin %ints %ints 58 %int_to_uint_smin = OpExtInst %v4uint %1 SMin %ints %uints 59 %uint_to_int_smin = OpExtInst %v4int %1 SMin %uints %uints 60 %uint_to_uint_smin = OpExtInst %v4uint %1 SMin %uints %ints 61 62 %int_to_int_umin = OpExtInst %v4int %1 UMin %ints %uints 63 %int_to_uint_umin = OpExtInst %v4uint %1 UMin %ints %uints 64 %uint_to_int_umin = OpExtInst %v4int %1 UMin %uints %ints 65 %uint_to_uint_umin = OpExtInst %v4uint %1 UMin %uints %ints 66 67 %int_to_int_smax = OpExtInst %v4int %1 SMax %ints %ints 68 %int_to_uint_smax = OpExtInst %v4uint %1 SMax %ints %ints 69 %uint_to_int_smax = OpExtInst %v4int %1 SMax %uints %ints 70 %uint_to_uint_smax = OpExtInst %v4uint %1 SMax %uints %ints 71 72 %int_to_int_umax = OpExtInst %v4int %1 UMax %ints %uints 73 %int_to_uint_umax = OpExtInst %v4uint %1 UMax %ints %ints 74 %uint_to_int_umax = OpExtInst %v4int %1 UMax %uints %ints 75 %uint_to_uint_umax = OpExtInst %v4uint %1 UMax %uints %ints 76 77 %int_to_int_sclamp = OpExtInst %v4int %1 SClamp %uints %uints %uints 78 %int_to_uint_sclamp = OpExtInst %v4uint %1 SClamp %uints %uints %uints 79 %uint_to_int_uclamp = OpExtInst %v4int %1 UClamp %ints %ints %ints 80 %uint_to_uint_uclamp = OpExtInst %v4uint %1 UClamp %ints %ints %ints 81 82 OpStore %ints_ptr %int_to_int_sabs 83 OpStore %uints_ptr %int_to_uint_sabs 84 OpStore %ints_ptr %uint_to_int_sabs 85 OpStore %uints_ptr %uint_to_uint_sabs 86 87 OpStore %ints_ptr %int_to_int_ssign 88 OpStore %uints_ptr %int_to_uint_ssign 89 OpStore %ints_ptr %uint_to_int_ssign 90 OpStore %uints_ptr %uint_to_uint_ssign 91 92 OpStore %ints_ptr %int_to_int_smsb 93 OpStore %uints_ptr %int_to_uint_smsb 94 OpStore %ints_ptr %uint_to_int_umsb 95 OpStore %uints_ptr %uint_to_uint_umsb 96 97 OpStore %ints_ptr %int_to_int_smin 98 OpStore %uints_ptr %int_to_uint_smin 99 OpStore %ints_ptr %uint_to_int_smin 100 OpStore %uints_ptr %uint_to_uint_smin 101 102 OpStore %ints_ptr %int_to_int_umin 103 OpStore %uints_ptr %int_to_uint_umin 104 OpStore %ints_ptr %uint_to_int_umin 105 OpStore %uints_ptr %uint_to_uint_umin 106 107 OpStore %ints_ptr %int_to_int_smax 108 OpStore %uints_ptr %int_to_uint_smax 109 OpStore %ints_ptr %uint_to_int_smax 110 OpStore %uints_ptr %uint_to_uint_smax 111 112 OpStore %ints_ptr %int_to_int_umax 113 OpStore %uints_ptr %int_to_uint_umax 114 OpStore %ints_ptr %uint_to_int_umax 115 OpStore %uints_ptr %uint_to_uint_umax 116 117 OpStore %ints_ptr %int_to_int_sclamp 118 OpStore %uints_ptr %int_to_uint_sclamp 119 OpStore %ints_ptr %uint_to_int_uclamp 120 OpStore %uints_ptr %uint_to_uint_uclamp 121 122 OpReturn 123 OpFunctionEnd 124