1; SPIR-V 2; Version: 1.0 3; Generator: Khronos Glslang Reference Front End; 3 4; Bound: 60 5; Schema: 0 6 OpCapability Shader 7 %1 = OpExtInstImport "GLSL.std.450" 8 OpMemoryModel Logical GLSL450 9 OpEntryPoint Fragment %main "main" %v0 %FragColor 10 OpExecutionMode %main OriginUpperLeft 11 OpSource GLSL 450 12 OpName %main "main" 13 OpName %phi "phi" 14 OpName %i "i" 15 OpName %v0 "v0" 16 OpName %FragColor "FragColor" 17 OpName %uImage "uImage" 18 OpDecorate %v0 Location 0 19 OpDecorate %FragColor Location 0 20 OpDecorate %uImage DescriptorSet 0 21 OpDecorate %uImage Binding 0 22 %void = OpTypeVoid 23 %3 = OpTypeFunction %void 24 %float = OpTypeFloat 32 25%_ptr_Function_float = OpTypePointer Function %float 26 %float_1 = OpConstant %float 1 27 %int = OpTypeInt 32 1 28%_ptr_Function_int = OpTypePointer Function %int 29 %int_0 = OpConstant %int 0 30 %int_4 = OpConstant %int 4 31 %bool = OpTypeBool 32 %v4float = OpTypeVector %float 4 33%_ptr_Input_v4float = OpTypePointer Input %v4float 34 %v0 = OpVariable %_ptr_Input_v4float Input 35%_ptr_Input_float = OpTypePointer Input %float 36 %float_0 = OpConstant %float 0 37%_ptr_Output_v4float = OpTypePointer Output %v4float 38 %FragColor = OpVariable %_ptr_Output_v4float Output 39 %36 = OpTypeImage %float 2D 0 0 0 1 Unknown 40 %37 = OpTypeSampledImage %36 41%_ptr_UniformConstant_37 = OpTypePointer UniformConstant %37 42 %uImage = OpVariable %_ptr_UniformConstant_37 UniformConstant 43 %v2float = OpTypeVector %float 2 44 %uint = OpTypeInt 32 0 45 %uint_0 = OpConstant %uint 0 46 %float_2 = OpConstant %float 2 47 %int_1 = OpConstant %int 1 48 %float_1_vec = OpConstantComposite %v4float %float_1 %float_2 %float_1 %float_2 49 %main = OpFunction %void None %3 50 %5 = OpLabel 51 %i = OpVariable %_ptr_Function_int Function 52 OpStore %i %int_0 53 OpBranch %loop_header 54 %loop_header = OpLabel 55 %phi = OpPhi %float %float_1 %5 %phi_plus_2 %continue_block 56 %tex_phi = OpPhi %v4float %float_1_vec %5 %texture_load_result %continue_block 57 OpLoopMerge %merge_block %continue_block None 58 OpBranch %loop_body 59 %loop_body = OpLabel 60 OpStore %FragColor %tex_phi 61 %19 = OpLoad %int %i 62 %22 = OpSLessThan %bool %19 %int_4 63 OpBranchConditional %22 %15 %merge_block 64 %15 = OpLabel 65 %26 = OpLoad %int %i 66 %28 = OpAccessChain %_ptr_Input_float %v0 %26 67 %29 = OpLoad %float %28 68 %31 = OpFOrdGreaterThan %bool %29 %float_0 69 OpBranchConditional %31 %continue_block %merge_block 70 %continue_block = OpLabel 71 %40 = OpLoad %37 %uImage 72 %43 = OpCompositeConstruct %v2float %phi %phi 73 %texture_load_result = OpImageSampleExplicitLod %v4float %40 %43 Lod %float_0 74 %phi_plus_2 = OpFAdd %float %phi %float_2 75 %54 = OpLoad %int %i 76 %56 = OpIAdd %int %54 %int_1 77 OpStore %i %56 78 OpBranch %loop_header 79 %merge_block = OpLabel 80 OpReturn 81 OpFunctionEnd 82