58 lines
2.3 KiB
Plaintext
58 lines
2.3 KiB
Plaintext
; SPIR-V
|
|
; Version: 1.0
|
|
; Generator: Khronos Glslang Reference Front End; 7
|
|
; Bound: 28
|
|
; Schema: 0
|
|
OpCapability Shader
|
|
%1 = OpExtInstImport "GLSL.std.450"
|
|
OpMemoryModel Logical GLSL450
|
|
OpEntryPoint GLCompute %main "main"
|
|
OpExecutionMode %main LocalSize 1 1 1
|
|
OpSource GLSL 450
|
|
OpSourceExtension "GL_EXT_scalar_block_layout"
|
|
OpName %main "main"
|
|
OpName %SSBOScalar "SSBOScalar"
|
|
OpMemberName %SSBOScalar 0 "a"
|
|
OpMemberName %SSBOScalar 1 "b"
|
|
OpMemberName %SSBOScalar 2 "c"
|
|
OpMemberName %SSBOScalar 3 "d"
|
|
OpName %_ ""
|
|
OpMemberDecorate %SSBOScalar 0 Offset 0
|
|
OpMemberDecorate %SSBOScalar 1 Offset 8
|
|
OpMemberDecorate %SSBOScalar 2 Offset 20
|
|
OpMemberDecorate %SSBOScalar 3 Offset 32
|
|
OpDecorate %SSBOScalar BufferBlock
|
|
OpDecorate %_ DescriptorSet 0
|
|
OpDecorate %_ Binding 0
|
|
%void = OpTypeVoid
|
|
%3 = OpTypeFunction %void
|
|
%float = OpTypeFloat 32
|
|
%v2float = OpTypeVector %float 2
|
|
%v3float = OpTypeVector %float 3
|
|
%SSBOScalar = OpTypeStruct %v2float %v3float %v3float %v3float
|
|
%_ptr_Uniform_SSBOScalar = OpTypePointer Uniform %SSBOScalar
|
|
%_ = OpVariable %_ptr_Uniform_SSBOScalar Uniform
|
|
%int = OpTypeInt 32 1
|
|
%int_0 = OpConstant %int 0
|
|
%int_1 = OpConstant %int 1
|
|
%_ptr_Uniform_v3float = OpTypePointer Uniform %v3float
|
|
%int_2 = OpConstant %int 2
|
|
%uint = OpTypeInt 32 0
|
|
%uint_0 = OpConstant %uint 0
|
|
%float_2 = OpConstant %float 2.0
|
|
%_ptr_Uniform_float = OpTypePointer Uniform %float
|
|
%_ptr_Uniform_v2float = OpTypePointer Uniform %v2float
|
|
%main = OpFunction %void None %3
|
|
%5 = OpLabel
|
|
%v3_ptr = OpAccessChain %_ptr_Uniform_v3float %_ %int_1
|
|
%v3 = OpLoad %v3float %v3_ptr
|
|
%v3_mod = OpCompositeInsert %v3float %float_2 %v3 2
|
|
%v2 = OpVectorShuffle %v2float %v3 %v3 0 1
|
|
%v1 = OpCompositeExtract %float %v3 2
|
|
%v2_mul = OpVectorTimesScalar %v2float %v2 %v1
|
|
%v2_ptr = OpAccessChain %_ptr_Uniform_v2float %_ %int_0
|
|
OpStore %v2_ptr %v2_mul
|
|
OpStore %v3_ptr %v3_mod
|
|
OpReturn
|
|
OpFunctionEnd
|