; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 1
; Bound: 36
; Schema: 0
               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %oC %vtx_uv
               OpExecutionMode %main OriginUpperLeft
               OpSource GLSL 450
               OpName %main "main"
               OpName %oC "oC"
               OpName %src_texture "src_texture"
               OpName %vtx_uv "vtx_uv"
               OpName %PushConstants "PushConstants"
               OpMemberName %PushConstants 0 "_pad"
               OpMemberName %PushConstants 1 "swap"
               OpName %push_constants "push_constants"
               OpDecorate %oC Location 0
               OpDecorate %src_texture DescriptorSet 0
               OpDecorate %src_texture Binding 0
               OpDecorate %vtx_uv Location 0
               OpMemberDecorate %PushConstants 0 Offset 16
               OpMemberDecorate %PushConstants 1 Offset 28
               OpDecorate %PushConstants Block
       %void = OpTypeVoid
          %3 = OpTypeFunction %void
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
         %oC = OpVariable %_ptr_Output_v4float Output
         %10 = OpTypeImage %float 2D 0 0 0 1 Unknown
         %11 = OpTypeSampledImage %10
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
%src_texture = OpVariable %_ptr_UniformConstant_11 UniformConstant
    %v2float = OpTypeVector %float 2
%_ptr_Input_v2float = OpTypePointer Input %v2float
     %vtx_uv = OpVariable %_ptr_Input_v2float Input
    %v3float = OpTypeVector %float 3
        %int = OpTypeInt 32 1
%PushConstants = OpTypeStruct %v3float %int
%_ptr_PushConstant_PushConstants = OpTypePointer PushConstant %PushConstants
%push_constants = OpVariable %_ptr_PushConstant_PushConstants PushConstant
      %int_1 = OpConstant %int 1
%_ptr_PushConstant_int = OpTypePointer PushConstant %int
      %int_0 = OpConstant %int 0
       %bool = OpTypeBool
       %main = OpFunction %void None %3
          %5 = OpLabel
         %14 = OpLoad %11 %src_texture
         %18 = OpLoad %v2float %vtx_uv
         %19 = OpImageSampleImplicitLod %v4float %14 %18
               OpStore %oC %19
         %27 = OpAccessChain %_ptr_PushConstant_int %push_constants %int_1
         %28 = OpLoad %int %27
         %31 = OpINotEqual %bool %28 %int_0
               OpSelectionMerge %33 None
               OpBranchConditional %31 %32 %33
         %32 = OpLabel
         %34 = OpLoad %v4float %oC
         %35 = OpVectorShuffle %v4float %34 %34 2 1 0 3
               OpStore %oC %35
               OpBranch %33
         %33 = OpLabel
               OpReturn
               OpFunctionEnd
