70 lines
2.4 KiB
Plaintext
70 lines
2.4 KiB
Plaintext
; SPIR-V
|
|
; Version: 1.0
|
|
; Generator: Khronos Glslang Reference Front End; 8
|
|
; Bound: 48
|
|
; Schema: 0
|
|
OpCapability Shader
|
|
%1 = OpExtInstImport "GLSL.std.450"
|
|
OpMemoryModel Logical GLSL450
|
|
OpEntryPoint GLCompute %main "main" %ssbo
|
|
OpExecutionMode %main LocalSize 1 1 1
|
|
OpSource GLSL 450
|
|
OpName %B1 "B1"
|
|
OpName %A "A"
|
|
OpName %C "C"
|
|
OpName %B2 "B2"
|
|
OpMemberName %A 0 "a"
|
|
OpMemberName %A 1 "b1"
|
|
OpMemberName %A 2 "b1_array"
|
|
OpMemberName %C 0 "c"
|
|
OpMemberName %C 1 "b2"
|
|
OpMemberName %C 2 "b2_array"
|
|
OpMemberName %B1 0 "elem1"
|
|
OpMemberName %B2 0 "elem2"
|
|
OpMemberName %SSBO 0 "a_block"
|
|
OpMemberName %SSBO 1 "c_block"
|
|
OpDecorate %B1Array ArrayStride 16
|
|
OpDecorate %B2Array ArrayStride 16
|
|
OpMemberDecorate %B1 0 Offset 0
|
|
OpMemberDecorate %A 0 Offset 0
|
|
OpMemberDecorate %A 1 Offset 16
|
|
OpMemberDecorate %A 2 Offset 32
|
|
OpMemberDecorate %B2 0 Offset 0
|
|
OpMemberDecorate %C 0 Offset 0
|
|
OpMemberDecorate %C 1 Offset 16
|
|
OpMemberDecorate %C 2 Offset 32
|
|
OpMemberDecorate %SSBO 0 Offset 0
|
|
OpMemberDecorate %SSBO 1 Offset 96
|
|
OpDecorate %SSBO Block
|
|
OpDecorate %ssbo DescriptorSet 0
|
|
OpDecorate %ssbo Binding 0
|
|
%void = OpTypeVoid
|
|
%3 = OpTypeFunction %void
|
|
%float = OpTypeFloat 32
|
|
%uint = OpTypeInt 32 0
|
|
%uint_4 = OpConstant %uint 4
|
|
%v4float = OpTypeVector %float 4
|
|
%B2 = OpTypeStruct %v4float
|
|
%B2Array = OpTypeArray %B2 %uint_4
|
|
%C = OpTypeStruct %v4float %B2 %B2Array
|
|
%B1 = OpTypeStruct %v4float
|
|
%B1Array = OpTypeArray %B1 %uint_4
|
|
%A = OpTypeStruct %v4float %B1 %B1Array
|
|
%SSBO = OpTypeStruct %A %C
|
|
%_ptr_Uniform_SSBO = OpTypePointer StorageBuffer %SSBO
|
|
%ssbo = OpVariable %_ptr_Uniform_SSBO StorageBuffer
|
|
%int = OpTypeInt 32 1
|
|
%int_1 = OpConstant %int 1
|
|
%_ptr_Uniform_C = OpTypePointer StorageBuffer %C
|
|
%int_0 = OpConstant %int 0
|
|
%_ptr_Uniform_A = OpTypePointer StorageBuffer %A
|
|
%main = OpFunction %void None %3
|
|
%5 = OpLabel
|
|
%22 = OpAccessChain %_ptr_Uniform_C %ssbo %int_1
|
|
%39 = OpAccessChain %_ptr_Uniform_A %ssbo %int_0
|
|
%23 = OpLoad %C %22
|
|
%24 = OpCopyLogical %A %23
|
|
OpStore %39 %24
|
|
OpReturn
|
|
OpFunctionEnd
|