SPIRV-Cross/shaders/asm/frag/struct-composite-extract-swizzle.asm.frag

56 lines
2.2 KiB
GLSL
Raw Normal View History

; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 1
; Bound: 34
; Schema: 0
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %FragColor
OpExecutionMode %main OriginUpperLeft
OpSource ESSL 310
OpName %main "main"
OpName %FragColor "FragColor"
OpName %uSampler "uSampler"
OpName %Foo "Foo"
OpMemberName %Foo 0 "var1"
OpMemberName %Foo 1 "var2"
OpName %foo "foo"
OpDecorate %FragColor RelaxedPrecision
OpDecorate %FragColor Location 0
OpDecorate %uSampler RelaxedPrecision
OpDecorate %uSampler DescriptorSet 0
OpDecorate %uSampler Binding 0
OpDecorate %14 RelaxedPrecision
OpMemberDecorate %Foo 0 RelaxedPrecision
OpMemberDecorate %Foo 1 RelaxedPrecision
OpDecorate %27 RelaxedPrecision
OpDecorate %28 RelaxedPrecision
%void = OpTypeVoid
%3 = OpTypeFunction %void
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%FragColor = OpVariable %_ptr_Output_v4float Output
%10 = OpTypeImage %float 2D 0 0 0 1 Unknown
%11 = OpTypeSampledImage %10
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
%uSampler = OpVariable %_ptr_UniformConstant_11 UniformConstant
%Foo = OpTypeStruct %float %float
%_ptr_Function_Foo = OpTypePointer Function %Foo
%int = OpTypeInt 32 1
%_ptr_Function_float = OpTypePointer Function %float
%v2float = OpTypeVector %float 2
%33 = OpUndef %Foo
%main = OpFunction %void None %3
%5 = OpLabel
%foo = OpVariable %_ptr_Function_Foo Function
%14 = OpLoad %11 %uSampler
%30 = OpCompositeExtract %float %33 0
%32 = OpCompositeExtract %float %33 1
%27 = OpCompositeConstruct %v2float %30 %32
%28 = OpImageSampleImplicitLod %v4float %14 %27
OpStore %FragColor %28
OpReturn
OpFunctionEnd