c37f88fea6
Only deal with readonly decoration for actual block types.
64 lines
2.6 KiB
Plaintext
64 lines
2.6 KiB
Plaintext
; SPIR-V
|
|
; Version: 1.3
|
|
; Generator: Khronos Glslang Reference Front End; 7
|
|
; Bound: 30
|
|
; Schema: 0
|
|
OpCapability Shader
|
|
OpCapability VariablePointersStorageBuffer
|
|
%1 = OpExtInstImport "GLSL.std.450"
|
|
OpMemoryModel Logical GLSL450
|
|
OpEntryPoint GLCompute %main "main"
|
|
OpExecutionMode %main LocalSize 1 1 1
|
|
OpSource GLSL 450
|
|
OpName %main "main"
|
|
OpName %copy_out_f1_f1_ "copy_out(f1;f1;"
|
|
OpName %A "A"
|
|
OpName %B "B"
|
|
OpName %SSBO "SSBO"
|
|
OpMemberName %SSBO 0 "a"
|
|
OpName %_ ""
|
|
OpName %SSBORead "SSBORead"
|
|
OpMemberName %SSBORead 0 "b"
|
|
OpName %__0 ""
|
|
OpMemberDecorate %SSBO 0 NonReadable
|
|
OpMemberDecorate %SSBO 0 Offset 0
|
|
OpDecorate %SSBO Block
|
|
OpDecorate %_ DescriptorSet 0
|
|
OpDecorate %_ Binding 0
|
|
OpMemberDecorate %SSBORead 0 NonWritable
|
|
OpMemberDecorate %SSBORead 0 Offset 0
|
|
OpDecorate %SSBORead Block
|
|
OpDecorate %__0 DescriptorSet 0
|
|
OpDecorate %__0 Binding 1
|
|
%void = OpTypeVoid
|
|
%3 = OpTypeFunction %void
|
|
%float = OpTypeFloat 32
|
|
%_ptr_Function_float = OpTypePointer Function %float
|
|
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
|
|
%8 = OpTypeFunction %void %_ptr_StorageBuffer_float %_ptr_StorageBuffer_float
|
|
%SSBO = OpTypeStruct %float
|
|
%_ptr_StorageBuffer_SSBO = OpTypePointer StorageBuffer %SSBO
|
|
%_ = OpVariable %_ptr_StorageBuffer_SSBO StorageBuffer
|
|
%int = OpTypeInt 32 1
|
|
%int_0 = OpConstant %int 0
|
|
%SSBORead = OpTypeStruct %float
|
|
%_ptr_StorageBuffer_SSBORead = OpTypePointer StorageBuffer %SSBORead
|
|
%__0 = OpVariable %_ptr_StorageBuffer_SSBORead StorageBuffer
|
|
%main = OpFunction %void None %3
|
|
%5 = OpLabel
|
|
%param = OpVariable %_ptr_Function_float Function
|
|
%param_0 = OpVariable %_ptr_Function_float Function
|
|
%25 = OpAccessChain %_ptr_StorageBuffer_float %_ %int_0
|
|
%26 = OpAccessChain %_ptr_StorageBuffer_float %__0 %int_0
|
|
%27 = OpFunctionCall %void %copy_out_f1_f1_ %25 %26
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%copy_out_f1_f1_ = OpFunction %void None %8
|
|
%A = OpFunctionParameter %_ptr_StorageBuffer_float
|
|
%B = OpFunctionParameter %_ptr_StorageBuffer_float
|
|
%12 = OpLabel
|
|
%13 = OpLoad %float %B
|
|
OpStore %A %13
|
|
OpReturn
|
|
OpFunctionEnd
|