; SPIR-V
; Version: 1.0
; Generator: rspirv
; Bound: 64
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %24 "vert_main" %15 %18 %20 %22
OpEntryPoint Fragment %44 "frag_main" %41 %43
OpEntryPoint Fragment %60 "fs_extra" %59
OpExecutionMode %44 OriginUpperLeft
OpExecutionMode %60 OriginUpperLeft
OpMemberName %6 0 "uv"
OpMemberName %6 1 "position"
OpName %6 "VertexOutput"
OpName %9 "c_scale"
OpName %10 "u_texture"
OpName %12 "u_sampler"
OpName %15 "pos"
OpName %18 "uv"
OpName %20 "uv"
OpName %22 "position"
OpName %24 "vert_main"
OpName %41 "uv"
OpName %44 "frag_main"
OpName %60 "fs_extra"
OpMemberDecorate %6 0 Offset 0
OpMemberDecorate %6 1 Offset 16
OpDecorate %10 DescriptorSet 0
OpDecorate %10 Binding 0
OpDecorate %12 DescriptorSet 0
OpDecorate %12 Binding 1
OpDecorate %15 Location 0
OpDecorate %18 Location 1
OpDecorate %20 Location 0
OpDecorate %22 BuiltIn Position
OpDecorate %41 Location 0
OpDecorate %43 Location 0
OpDecorate %59 Location 0
%2 = OpTypeVoid
%3 = OpTypeFloat 32
%4 = OpTypeVector %3 2
%5 = OpTypeVector %3 4
%6 = OpTypeStruct %4 %5
%7 = OpTypeImage %3 2D 0 0 0 1 Unknown
%8 = OpTypeSampler
%9 = OpConstant  %3  1.2
%11 = OpTypePointer UniformConstant %7
%10 = OpVariable  %11  UniformConstant
%13 = OpTypePointer UniformConstant %8
%12 = OpVariable  %13  UniformConstant
%16 = OpTypePointer Input %4
%15 = OpVariable  %16  Input
%18 = OpVariable  %16  Input
%21 = OpTypePointer Output %4
%20 = OpVariable  %21  Output
%23 = OpTypePointer Output %5
%22 = OpVariable  %23  Output
%25 = OpTypeFunction %2
%26 = OpConstant  %3  0.0
%27 = OpConstant  %3  1.0
%34 = OpTypePointer Output %3
%36 = OpTypeInt 32 0
%35 = OpConstant  %36  1
%41 = OpVariable  %16  Input
%43 = OpVariable  %23  Output
%48 = OpTypeSampledImage %7
%52 = OpTypeBool
%59 = OpVariable  %23  Output
%61 = OpConstant  %3  0.5
%62 = OpConstantComposite  %5  %26 %61 %26 %61
%24 = OpFunction  %2  None %25
%14 = OpLabel
%17 = OpLoad  %4  %15
%19 = OpLoad  %4  %18
OpBranch %28
%28 = OpLabel
%29 = OpVectorTimesScalar  %4  %17 %9
%30 = OpCompositeConstruct  %5  %29 %26 %27
%31 = OpCompositeConstruct  %6  %19 %30
%32 = OpCompositeExtract  %4  %31 0
OpStore %20 %32
%33 = OpCompositeExtract  %5  %31 1
OpStore %22 %33
%37 = OpAccessChain  %34  %22 %35
%38 = OpLoad  %3  %37
%39 = OpFNegate  %3  %38
OpStore %37 %39
OpReturn
OpFunctionEnd
%44 = OpFunction  %2  None %25
%40 = OpLabel
%42 = OpLoad  %4  %41
%45 = OpLoad  %7  %10
%46 = OpLoad  %8  %12
OpBranch %47
%47 = OpLabel
%49 = OpSampledImage  %48  %45 %46
%50 = OpImageSampleImplicitLod  %5  %49 %42
%51 = OpCompositeExtract  %3  %50 3
%53 = OpFOrdEqual  %52  %51 %26
OpSelectionMerge %54 None
OpBranchConditional %53 %55 %54
%55 = OpLabel
OpKill
%54 = OpLabel
%56 = OpCompositeExtract  %3  %50 3
%57 = OpVectorTimesScalar  %5  %50 %56
OpStore %43 %57
OpReturn
OpFunctionEnd
%60 = OpFunction  %2  None %25
%58 = OpLabel
OpBranch %63
%63 = OpLabel
OpStore %59 %62
OpReturn
OpFunctionEnd