blob: e5119f10c9f09f6755e239b2774cb2a6f938d2ad [file] [log] [blame]
; 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