; SPIR-V ; Version: 1.0 ; Generator: Khronos Glslang Reference Front End; 10 ; Bound: 86 ; Schema: 0 OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 OpEntryPoint GLCompute %main "main" %gl_GlobalInvocationID OpExecutionMode %main LocalSize 128 1 1 OpSource GLSL 450 OpName %main "main" OpName %setOutput_i1_f1_ "setOutput(i1;f1;" OpName %flatIndex "flatIndex" OpName %value "value" OpName %getAAtOutCoords_ "getAAtOutCoords(" OpName %unaryOperation_f1_ "unaryOperation(f1;" OpName %a "a" OpName %ssbOut "ssbOut" OpMemberName %ssbOut 0 "result" OpName %_ "" OpName %ssbA "ssbA" OpMemberName %ssbA 0 "A" OpName %__0 "" OpName %gl_GlobalInvocationID "gl_GlobalInvocationID" OpName %index "index" OpName %Uniforms "Uniforms" OpMemberName %Uniforms 0 "NAN" OpMemberName %Uniforms 1 "aShape" OpMemberName %Uniforms 2 "outShape" OpMemberName %Uniforms 3 "outShapeStrides" OpMemberName %Uniforms 4 "size" OpName %__1 "" OpName %a_0 "a" OpName %param "param" OpName %param_0 "param" OpName %param_1 "param" OpDecorate %_runtimearr_float ArrayStride 4 OpMemberDecorate %ssbOut 0 NonReadable OpMemberDecorate %ssbOut 0 Offset 0 OpDecorate %ssbOut BufferBlock OpDecorate %_ DescriptorSet 0 OpDecorate %_ Binding 0 OpDecorate %_runtimearr_float_0 ArrayStride 4 OpMemberDecorate %ssbA 0 NonWritable OpMemberDecorate %ssbA 0 Offset 0 OpDecorate %ssbA BufferBlock OpDecorate %__0 DescriptorSet 0 OpDecorate %__0 Binding 1 OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId OpMemberDecorate %Uniforms 0 Offset 0 OpMemberDecorate %Uniforms 1 Offset 4 OpMemberDecorate %Uniforms 2 Offset 8 OpMemberDecorate %Uniforms 3 Offset 12 OpMemberDecorate %Uniforms 4 Offset 16 OpDecorate %Uniforms Block OpDecorate %__1 DescriptorSet 0 OpDecorate %__1 Binding 2 OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize %void = OpTypeVoid %3 = OpTypeFunction %void %int = OpTypeInt 32 1 %_ptr_Function_int = OpTypePointer Function %int %float = OpTypeFloat 32 %_ptr_Function_float = OpTypePointer Function %float %10 = OpTypeFunction %void %_ptr_Function_int %_ptr_Function_float %15 = OpTypeFunction %float %18 = OpTypeFunction %float %_ptr_Function_float %_runtimearr_float = OpTypeRuntimeArray %float %ssbOut = OpTypeStruct %_runtimearr_float %_ptr_Uniform_ssbOut = OpTypePointer Uniform %ssbOut %_ = OpVariable %_ptr_Uniform_ssbOut Uniform %int_0 = OpConstant %int 0 %_ptr_Uniform_float = OpTypePointer Uniform %float %_runtimearr_float_0 = OpTypeRuntimeArray %float %ssbA = OpTypeStruct %_runtimearr_float_0 %_ptr_Uniform_ssbA = OpTypePointer Uniform %ssbA %__0 = OpVariable %_ptr_Uniform_ssbA Uniform %uint = OpTypeInt 32 0 %v3uint = OpTypeVector %uint 3 %_ptr_Input_v3uint = OpTypePointer Input %v3uint %gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input %uint_0 = OpConstant %uint 0 %_ptr_Input_uint = OpTypePointer Input %uint %float_0 = OpConstant %float 0 %bool = OpTypeBool %float_0x1p_128 = OpConstant %float 0x1p+128 %Uniforms = OpTypeStruct %float %int %int %int %int %_ptr_Uniform_Uniforms = OpTypePointer Uniform %Uniforms %__1 = OpVariable %_ptr_Uniform_Uniforms Uniform %int_4 = OpConstant %int 4 %_ptr_Uniform_int = OpTypePointer Uniform %int %uint_128 = OpConstant %uint 128 %uint_1 = OpConstant %uint 1 %gl_WorkGroupSize = OpConstantComposite %v3uint %uint_128 %uint_1 %uint_1 %main = OpFunction %void None %3 %5 = OpLabel %index = OpVariable %_ptr_Function_int Function %a_0 = OpVariable %_ptr_Function_float Function %param = OpVariable %_ptr_Function_float Function %param_0 = OpVariable %_ptr_Function_int Function %param_1 = OpVariable %_ptr_Function_float Function %60 = OpAccessChain %_ptr_Input_uint %gl_GlobalInvocationID %uint_0 %61 = OpLoad %uint %60 %62 = OpBitcast %int %61 OpStore %index %62 %63 = OpLoad %int %index %69 = OpAccessChain %_ptr_Uniform_int %__1 %int_4 %70 = OpLoad %int %69 %71 = OpSLessThan %bool %63 %70 OpSelectionMerge %73 None OpBranchConditional %71 %72 %73 %72 = OpLabel %75 = OpFunctionCall %float %getAAtOutCoords_ OpStore %a_0 %75 %77 = OpLoad %float %a_0 OpStore %param %77 %78 = OpFunctionCall %float %unaryOperation_f1_ %param %80 = OpLoad %int %index OpStore %param_0 %80 OpStore %param_1 %78 %82 = OpFunctionCall %void %setOutput_i1_f1_ %param_0 %param_1 OpBranch %73 %73 = OpLabel OpReturn OpFunctionEnd %setOutput_i1_f1_ = OpFunction %void None %10 %flatIndex = OpFunctionParameter %_ptr_Function_int %value = OpFunctionParameter %_ptr_Function_float %14 = OpLabel %27 = OpLoad %int %flatIndex %28 = OpLoad %float %value %30 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %27 OpStore %30 %28 OpReturn OpFunctionEnd %getAAtOutCoords_ = OpFunction %float None %15 %17 = OpLabel %41 = OpAccessChain %_ptr_Input_uint %gl_GlobalInvocationID %uint_0 %42 = OpLoad %uint %41 %43 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %42 %44 = OpLoad %float %43 OpReturnValue %44 OpFunctionEnd %unaryOperation_f1_ = OpFunction %float None %18 %a = OpFunctionParameter %_ptr_Function_float %21 = OpLabel %47 = OpLoad %float %a %50 = OpFOrdLessThan %bool %47 %float_0 OpSelectionMerge %52 None OpBranchConditional %50 %51 %52 %51 = OpLabel OpReturnValue %float_0x1p_128 %52 = OpLabel %55 = OpLoad %float %a %56 = OpExtInst %float %1 Log %55 OpReturnValue %56 OpFunctionEnd