54 lines
2.0 KiB
Plaintext
54 lines
2.0 KiB
Plaintext
OpCapability Shader
|
|
OpMemoryModel Logical GLSL450
|
|
OpEntryPoint GLCompute %main "main"
|
|
OpExecutionMode %main LocalSize 1 1 1
|
|
OpName %Block "Block"
|
|
OpName %SSBO "SSBO"
|
|
OpName %SSBO_Var "ssbo"
|
|
OpName %UBO_Var "ubo"
|
|
OpDecorate %SSBO_Var Binding 0
|
|
OpDecorate %SSBO_Var DescriptorSet 0
|
|
OpDecorate %UBO_Var Binding 1
|
|
OpDecorate %UBO_Var DescriptorSet 0
|
|
OpMemberDecorate %SSBO 0 Offset 0
|
|
OpMemberDecorate %Block 0 Offset 0
|
|
OpMemberDecorate %Block 1 Offset 16
|
|
OpDecorate %BlockArray ArrayStride 32
|
|
OpDecorate %arr_uvec2_2 ArrayStride 8
|
|
OpDecorate %SSBO Block
|
|
%uint = OpTypeInt 32 0
|
|
%uint_0 = OpConstant %uint 0
|
|
%uint_1 = OpConstant %uint 1
|
|
%uint_2 = OpConstant %uint 2
|
|
%uint_3 = OpConstant %uint 3
|
|
%uvec2 = OpTypeVector %uint 2
|
|
%arr_uvec2_2 = OpTypeArray %uvec2 %uint_2
|
|
%arr_uvec2_2_ptr = OpTypePointer StorageBuffer %arr_uvec2_2
|
|
%arr_uvec2_2_ptr_const = OpTypePointer Uniform %arr_uvec2_2
|
|
%arr_uvec2_2_ptr_func = OpTypePointer Function %arr_uvec2_2
|
|
%arr_uvec2_2_ptr_workgroup = OpTypePointer Workgroup %arr_uvec2_2
|
|
%wg = OpVariable %arr_uvec2_2_ptr_workgroup Workgroup
|
|
%Block = OpTypeStruct %arr_uvec2_2 %arr_uvec2_2
|
|
%BlockArray = OpTypeArray %Block %uint_3
|
|
%SSBO = OpTypeStruct %BlockArray
|
|
%SSBO_Ptr = OpTypePointer StorageBuffer %SSBO
|
|
%SSBO_Var = OpVariable %SSBO_Ptr StorageBuffer
|
|
%UBO_Ptr = OpTypePointer Uniform %SSBO
|
|
%UBO_Var = OpVariable %UBO_Ptr Uniform
|
|
%void = OpTypeVoid
|
|
%func_type = OpTypeFunction %void
|
|
|
|
%main = OpFunction %void None %func_type
|
|
%25 = OpLabel
|
|
%func = OpVariable %arr_uvec2_2_ptr_func Function
|
|
|
|
; Copy device array to temporary.
|
|
%ptr_arr_0 = OpAccessChain %arr_uvec2_2_ptr %SSBO_Var %uint_0 %uint_0 %uint_0
|
|
%ptr_arr_1 = OpAccessChain %arr_uvec2_2_ptr %SSBO_Var %uint_0 %uint_0 %uint_1
|
|
%loaded_array = OpLoad %arr_uvec2_2 %ptr_arr_1
|
|
OpStore %ptr_arr_0 %loaded_array
|
|
OpStore %ptr_arr_0 %loaded_array
|
|
|
|
OpReturn
|
|
OpFunctionEnd
|