159 lines
8.1 KiB
Plaintext
159 lines
8.1 KiB
Plaintext
; 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
|