103 lines
4.1 KiB
Plaintext
103 lines
4.1 KiB
Plaintext
|
; SPIR-V
|
||
|
; Version: 1.0
|
||
|
; Generator: Khronos Glslang Reference Front End; 6
|
||
|
; Bound: 61
|
||
|
; Schema: 0
|
||
|
OpCapability Shader
|
||
|
%1 = OpExtInstImport "GLSL.std.450"
|
||
|
OpMemoryModel Logical GLSL450
|
||
|
OpEntryPoint GLCompute %main "main" %id_1
|
||
|
OpExecutionMode %main LocalSize 1 1 1
|
||
|
OpSource HLSL 500
|
||
|
OpName %main "main"
|
||
|
OpName %Load_u1_ "Load(u1;"
|
||
|
OpName %size "size"
|
||
|
OpName %_main_vu3_ "@main(vu3;"
|
||
|
OpName %id "id"
|
||
|
OpName %data "data"
|
||
|
OpName %byteAddrTemp "byteAddrTemp"
|
||
|
OpName %ssbo "ssbo"
|
||
|
OpMemberName %ssbo 0 "@data"
|
||
|
OpName %ssbo_0 "ssbo"
|
||
|
OpName %param "param"
|
||
|
OpName %id_0 "id"
|
||
|
OpName %id_1 "id"
|
||
|
OpName %param_0 "param"
|
||
|
OpDecorate %_runtimearr_uint ArrayStride 4
|
||
|
OpMemberDecorate %ssbo 0 NonWritable
|
||
|
OpMemberDecorate %ssbo 0 Offset 0
|
||
|
OpDecorate %ssbo BufferBlock
|
||
|
OpDecorate %ssbo_0 DescriptorSet 0
|
||
|
OpDecorate %ssbo_0 Binding 1
|
||
|
OpDecorate %id_1 BuiltIn GlobalInvocationId
|
||
|
%void = OpTypeVoid
|
||
|
%3 = OpTypeFunction %void
|
||
|
%uint = OpTypeInt 32 0
|
||
|
%_ptr_Function_uint = OpTypePointer Function %uint
|
||
|
%8 = OpTypeFunction %void %_ptr_Function_uint
|
||
|
%v3uint = OpTypeVector %uint 3
|
||
|
%_ptr_Function_v3uint = OpTypePointer Function %v3uint
|
||
|
%14 = OpTypeFunction %void %_ptr_Function_v3uint
|
||
|
%v4uint = OpTypeVector %uint 4
|
||
|
%_ptr_Function_v4uint = OpTypePointer Function %v4uint
|
||
|
%int = OpTypeInt 32 1
|
||
|
%_ptr_Function_int = OpTypePointer Function %int
|
||
|
%int_2 = OpConstant %int 2
|
||
|
%_runtimearr_uint = OpTypeRuntimeArray %uint
|
||
|
%ssbo = OpTypeStruct %_runtimearr_uint
|
||
|
%_ptr_Uniform_ssbo = OpTypePointer Uniform %ssbo
|
||
|
%ssbo_0 = OpVariable %_ptr_Uniform_ssbo Uniform
|
||
|
%int_0 = OpConstant %int 0
|
||
|
%_ptr_Uniform_uint = OpTypePointer Uniform %uint
|
||
|
%int_1 = OpConstant %int 1
|
||
|
%int_3 = OpConstant %int 3
|
||
|
%uint_4 = OpConstant %uint 4
|
||
|
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||
|
%id_1 = OpVariable %_ptr_Input_v3uint Input
|
||
|
%main = OpFunction %void None %3
|
||
|
%5 = OpLabel
|
||
|
%id_0 = OpVariable %_ptr_Function_v3uint Function
|
||
|
%param_0 = OpVariable %_ptr_Function_v3uint Function
|
||
|
%57 = OpLoad %v3uint %id_1
|
||
|
OpStore %id_0 %57
|
||
|
%59 = OpLoad %v3uint %id_0
|
||
|
OpStore %param_0 %59
|
||
|
%60 = OpFunctionCall %void %_main_vu3_ %param_0
|
||
|
OpReturn
|
||
|
OpFunctionEnd
|
||
|
%Load_u1_ = OpFunction %void None %8
|
||
|
%size = OpFunctionParameter %_ptr_Function_uint
|
||
|
%11 = OpLabel
|
||
|
%data = OpVariable %_ptr_Function_v4uint Function
|
||
|
%byteAddrTemp = OpVariable %_ptr_Function_int Function
|
||
|
%24 = OpLoad %uint %size
|
||
|
%26 = OpShiftRightLogical %int %24 %int_2
|
||
|
OpStore %byteAddrTemp %26
|
||
|
%32 = OpLoad %int %byteAddrTemp
|
||
|
%34 = OpAccessChain %_ptr_Uniform_uint %ssbo_0 %int_0 %32
|
||
|
%35 = OpLoad %uint %34
|
||
|
%36 = OpLoad %int %byteAddrTemp
|
||
|
%38 = OpIAdd %int %36 %int_1
|
||
|
%39 = OpAccessChain %_ptr_Uniform_uint %ssbo_0 %int_0 %38
|
||
|
%40 = OpLoad %uint %39
|
||
|
%41 = OpLoad %int %byteAddrTemp
|
||
|
%42 = OpIAdd %int %41 %int_2
|
||
|
%43 = OpAccessChain %_ptr_Uniform_uint %ssbo_0 %int_0 %42
|
||
|
%44 = OpLoad %uint %43
|
||
|
%45 = OpLoad %int %byteAddrTemp
|
||
|
%47 = OpIAdd %int %45 %int_3
|
||
|
%48 = OpAccessChain %_ptr_Uniform_uint %ssbo_0 %int_0 %47
|
||
|
%49 = OpLoad %uint %48
|
||
|
%50 = OpCompositeConstruct %v4uint %35 %40 %44 %49
|
||
|
OpStore %data %50
|
||
|
OpReturn
|
||
|
OpFunctionEnd
|
||
|
%_main_vu3_ = OpFunction %void None %14
|
||
|
%id = OpFunctionParameter %_ptr_Function_v3uint
|
||
|
%17 = OpLabel
|
||
|
%param = OpVariable %_ptr_Function_uint Function
|
||
|
OpStore %param %uint_4
|
||
|
%53 = OpFunctionCall %void %Load_u1_ %param
|
||
|
OpReturn
|
||
|
OpFunctionEnd
|