; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 3
; Bound: 56
; Schema: 0
               OpCapability Shader
               OpCapability Sampled1D
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %out_color %vtx_color %vtx_uv
               OpExecutionMode %main OriginUpperLeft
               OpSource GLSL 450
               OpName %main "main"
               OpName %out_color "out_color"
               OpName %vtx_color "vtx_color"
               OpName %PushConstants "PushConstants"
               OpMemberName %PushConstants 0 "restrict_texture_samples"
               OpName %push_constants "push_constants"
               OpName %vtx_uv "vtx_uv"
               OpName %tex_color "tex_color"
               OpName %texture_sampler "texture_sampler"
               OpName %tex1D "tex1D"
               OpName %tex2D "tex2D"
               OpDecorate %out_color Location 0
               OpDecorate %vtx_color Location 1
               OpMemberDecorate %PushConstants 0 Offset 64
               OpDecorate %PushConstants Block
               OpDecorate %vtx_uv Location 0
               OpDecorate %texture_sampler DescriptorSet 0
               OpDecorate %texture_sampler Binding 0
               OpDecorate %tex1D DescriptorSet 0
               OpDecorate %tex1D Binding 1
               OpDecorate %tex2D DescriptorSet 0
               OpDecorate %tex2D Binding 1
       %void = OpTypeVoid
          %3 = OpTypeFunction %void
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
  %out_color = OpVariable %_ptr_Output_v4float Output
%_ptr_Input_v4float = OpTypePointer Input %v4float
  %vtx_color = OpVariable %_ptr_Input_v4float Input
       %bool = OpTypeBool
        %int = OpTypeInt 32 1
%PushConstants = OpTypeStruct %int
%_ptr_PushConstant_PushConstants = OpTypePointer PushConstant %PushConstants
%push_constants = OpVariable %_ptr_PushConstant_PushConstants PushConstant
      %int_0 = OpConstant %int 0
%_ptr_PushConstant_int = OpTypePointer PushConstant %int
    %v2float = OpTypeVector %float 2
%_ptr_Input_v2float = OpTypePointer Input %v2float
     %vtx_uv = OpVariable %_ptr_Input_v2float Input
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
%_ptr_Input_float = OpTypePointer Input %float
    %float_1 = OpConstant %float 1
%_ptr_Function_v4float = OpTypePointer Function %v4float
         %41 = OpTypeImage %float 2D 0 0 0 1 Unknown
         %42 = OpTypeSampledImage %41
%_ptr_UniformConstant_42 = OpTypePointer UniformConstant %42
%texture_sampler = OpVariable %_ptr_UniformConstant_42 UniformConstant
         %51 = OpTypeImage %float 1D 0 0 0 1 Unknown
         %52 = OpTypeSampledImage %51
%_ptr_UniformConstant_52 = OpTypePointer UniformConstant %52
      %tex1D = OpVariable %_ptr_UniformConstant_52 UniformConstant
      %tex2D = OpVariable %_ptr_UniformConstant_42 UniformConstant
       %main = OpFunction %void None %3
          %5 = OpLabel
  %tex_color = OpVariable %_ptr_Function_v4float Function
         %12 = OpLoad %v4float %vtx_color
               OpStore %out_color %12
         %20 = OpAccessChain %_ptr_PushConstant_int %push_constants %int_0
         %21 = OpLoad %int %20
         %22 = OpIEqual %bool %21 %int_0
         %23 = OpLogicalNot %bool %22
               OpSelectionMerge %25 None
               OpBranchConditional %23 %24 %25
         %24 = OpLabel
         %32 = OpAccessChain %_ptr_Input_float %vtx_uv %uint_0
         %33 = OpLoad %float %32
         %35 = OpFOrdLessThanEqual %bool %33 %float_1
               OpBranch %25
         %25 = OpLabel
         %36 = OpPhi %bool %22 %5 %35 %24
               OpSelectionMerge %38 None
               OpBranchConditional %36 %37 %38
         %37 = OpLabel
         %45 = OpLoad %42 %texture_sampler
         %46 = OpLoad %v2float %vtx_uv
         %47 = OpImageSampleImplicitLod %v4float %45 %46
               OpStore %tex_color %47
         %48 = OpLoad %v4float %tex_color
         %49 = OpLoad %v4float %out_color
         %50 = OpFMul %v4float %49 %48
               OpStore %out_color %50
               OpBranch %38
         %38 = OpLabel
               OpReturn
               OpFunctionEnd
