| OpCapability Shader | |
| %1 = OpExtInstImport "GLSL.std.450" | |
| OpMemoryModel Logical GLSL450 | |
| OpEntryPoint GLCompute %4 "main" %15 %110 | |
| OpExecutionMode %4 LocalSize 1 1 1 | |
| OpSource ESSL 310 | |
| OpName %4 "main" | |
| OpName %6 "f1(" | |
| OpName %8 "f2(" | |
| OpName %12 "x" | |
| OpName %15 "gl_GlobalInvocationID" | |
| OpName %20 "z" | |
| OpName %26 "i" | |
| OpName %40 "BufferOut" | |
| OpMemberName %40 0 "o_uv4" | |
| OpMemberName %40 1 "o_v3" | |
| OpMemberName %40 2 "o_i" | |
| OpName %42 "" | |
| OpName %63 "image2" | |
| OpName %79 "image" | |
| OpName %89 "i" | |
| OpName %110 "gl_LocalInvocationID" | |
| OpName %127 "BufferIn" | |
| OpMemberName %127 0 "i_u" | |
| OpMemberName %127 1 "i_v4" | |
| OpMemberName %127 2 "i_f" | |
| OpName %129 "" | |
| OpDecorate %15 BuiltIn GlobalInvocationId | |
| OpMemberDecorate %40 0 Offset 0 | |
| OpMemberDecorate %40 1 Offset 16 | |
| OpMemberDecorate %40 2 Offset 28 | |
| OpDecorate %40 BufferBlock | |
| OpDecorate %42 DescriptorSet 0 | |
| OpDecorate %42 Binding 1 | |
| OpDecorate %63 DescriptorSet 0 | |
| OpDecorate %63 Binding 3 | |
| OpDecorate %79 DescriptorSet 0 | |
| OpDecorate %79 Binding 2 | |
| OpDecorate %110 BuiltIn LocalInvocationId | |
| OpMemberDecorate %127 0 Offset 0 | |
| OpMemberDecorate %127 1 RowMajor | |
| OpMemberDecorate %127 1 Offset 16 | |
| OpMemberDecorate %127 1 MatrixStride 16 | |
| OpMemberDecorate %127 2 Offset 80 | |
| OpDecorate %127 Block | |
| OpDecorate %129 DescriptorSet 0 | |
| OpDecorate %129 Binding 0 | |
| %2 = OpTypeVoid | |
| %3 = OpTypeFunction %2 | |
| %10 = OpTypeInt 32 0 | |
| %11 = OpTypePointer Function %10 | |
| %13 = OpTypeVector %10 3 | |
| %14 = OpTypePointer Input %13 | |
| %15 = OpVariable %14 Input | |
| %16 = OpConstant %10 0 | |
| %17 = OpTypePointer Input %10 | |
| %21 = OpConstant %10 1 | |
| %24 = OpTypeInt 32 1 | |
| %25 = OpTypePointer Function %24 | |
| %27 = OpConstant %24 0 | |
| %34 = OpConstant %24 2 | |
| %35 = OpTypeBool | |
| %37 = OpTypeVector %10 4 | |
| %38 = OpTypeFloat 32 | |
| %39 = OpTypeVector %38 3 | |
| %40 = OpTypeStruct %37 %39 %24 | |
| %41 = OpTypePointer Uniform %40 | |
| %42 = OpVariable %41 Uniform | |
| %46 = OpTypeVector %10 2 | |
| %48 = OpTypePointer Uniform %37 | |
| %53 = OpTypePointer Uniform %10 | |
| %59 = OpConstant %24 1 | |
| %61 = OpTypeImage %24 2D 0 0 0 2 R32i | |
| %62 = OpTypePointer UniformConstant %61 | |
| %63 = OpVariable %62 UniformConstant | |
| %69 = OpTypeVector %24 2 | |
| %71 = OpTypeVector %24 4 | |
| %74 = OpTypePointer Uniform %24 | |
| %76 = OpConstant %10 2 | |
| %77 = OpConstant %10 3400 | |
| %78 = OpConstant %10 264 | |
| %79 = OpVariable %62 UniformConstant | |
| %96 = OpConstant %24 3 | |
| %103 = OpConstantComposite %69 %27 %27 | |
| %107 = OpTypePointer Uniform %38 | |
| %110 = OpVariable %14 Input | |
| %113 = OpTypeVector %38 2 | |
| %125 = OpTypeVector %38 4 | |
| %126 = OpTypeMatrix %125 4 | |
| %127 = OpTypeStruct %10 %126 %38 | |
| %128 = OpTypePointer Uniform %127 | |
| %129 = OpVariable %128 Uniform | |
| %4 = OpFunction %2 None %3 | |
| %5 = OpLabel | |
| %123 = OpFunctionCall %2 %8 | |
| %124 = OpFunctionCall %2 %6 | |
| OpReturn | |
| OpFunctionEnd | |
| %6 = OpFunction %2 None %3 | |
| %7 = OpLabel | |
| %12 = OpVariable %11 Function | |
| %20 = OpVariable %11 Function | |
| %26 = OpVariable %25 Function | |
| %18 = OpAccessChain %17 %15 %16 | |
| %19 = OpLoad %10 %18 | |
| OpStore %12 %19 | |
| %22 = OpAccessChain %17 %15 %21 | |
| %23 = OpLoad %10 %22 | |
| OpStore %20 %23 | |
| OpStore %26 %27 | |
| OpBranch %28 | |
| %28 = OpLabel | |
| OpLoopMerge %30 %31 None | |
| OpBranch %32 | |
| %32 = OpLabel | |
| %33 = OpLoad %24 %26 | |
| %36 = OpSLessThan %35 %33 %34 | |
| OpBranchConditional %36 %29 %30 | |
| %29 = OpLabel | |
| %43 = OpLoad %10 %12 | |
| %44 = OpLoad %10 %20 | |
| %45 = OpIAdd %10 %43 %44 | |
| %47 = OpCompositeConstruct %46 %45 %45 | |
| %49 = OpAccessChain %48 %42 %27 | |
| %50 = OpLoad %37 %49 | |
| %51 = OpVectorShuffle %46 %50 %50 0 1 | |
| %52 = OpIAdd %46 %51 %47 | |
| %54 = OpAccessChain %53 %42 %27 %16 | |
| %55 = OpCompositeExtract %10 %52 0 | |
| OpStore %54 %55 | |
| %56 = OpAccessChain %53 %42 %27 %21 | |
| %57 = OpCompositeExtract %10 %52 1 | |
| OpStore %56 %57 | |
| OpBranch %31 | |
| %31 = OpLabel | |
| %58 = OpLoad %24 %26 | |
| %60 = OpIAdd %24 %58 %59 | |
| OpStore %26 %60 | |
| OpBranch %28 | |
| %30 = OpLabel | |
| %64 = OpLoad %61 %63 | |
| %65 = OpLoad %10 %12 | |
| %66 = OpBitcast %24 %65 | |
| %67 = OpLoad %10 %20 | |
| %68 = OpBitcast %24 %67 | |
| %70 = OpCompositeConstruct %69 %66 %68 | |
| %72 = OpImageRead %71 %64 %70 | |
| %73 = OpCompositeExtract %24 %72 1 | |
| %75 = OpAccessChain %74 %42 %34 | |
| OpStore %75 %73 | |
| OpMemoryBarrier %76 %77 | |
| OpControlBarrier %76 %76 %78 | |
| %80 = OpLoad %61 %79 | |
| %81 = OpLoad %10 %20 | |
| %82 = OpBitcast %24 %81 | |
| %83 = OpLoad %10 %12 | |
| %84 = OpBitcast %24 %83 | |
| %85 = OpCompositeConstruct %69 %82 %84 | |
| %86 = OpAccessChain %74 %42 %34 | |
| %87 = OpLoad %24 %86 | |
| %88 = OpCompositeConstruct %71 %87 %27 %27 %27 | |
| OpImageWrite %80 %85 %88 | |
| OpReturn | |
| OpFunctionEnd | |
| %8 = OpFunction %2 None %3 | |
| %9 = OpLabel | |
| %89 = OpVariable %25 Function | |
| OpStore %89 %27 | |
| OpBranch %90 | |
| %90 = OpLabel | |
| OpLoopMerge %92 %93 None | |
| OpBranch %94 | |
| %94 = OpLabel | |
| %95 = OpLoad %24 %89 | |
| %97 = OpSLessThan %35 %95 %96 | |
| OpBranchConditional %97 %91 %92 | |
| %91 = OpLabel | |
| %98 = OpLoad %24 %89 | |
| %99 = OpIEqual %35 %98 %27 | |
| OpSelectionMerge %101 None | |
| OpBranchConditional %99 %100 %109 | |
| %100 = OpLabel | |
| %102 = OpLoad %61 %63 | |
| %104 = OpImageRead %71 %102 %103 | |
| %105 = OpCompositeExtract %24 %104 0 | |
| %106 = OpConvertSToF %38 %105 | |
| %108 = OpAccessChain %107 %42 %59 %16 | |
| OpStore %108 %106 | |
| OpBranch %101 | |
| %109 = OpLabel | |
| %111 = OpLoad %13 %110 | |
| %112 = OpConvertUToF %39 %111 | |
| %114 = OpCompositeExtract %38 %112 0 | |
| %115 = OpCompositeExtract %38 %112 1 | |
| %116 = OpCompositeConstruct %113 %114 %115 | |
| %117 = OpAccessChain %107 %42 %59 %21 | |
| %118 = OpCompositeExtract %38 %116 0 | |
| OpStore %117 %118 | |
| %119 = OpAccessChain %107 %42 %59 %76 | |
| %120 = OpCompositeExtract %38 %116 1 | |
| OpStore %119 %120 | |
| OpBranch %101 | |
| %101 = OpLabel | |
| OpBranch %93 | |
| %93 = OpLabel | |
| %121 = OpLoad %24 %89 | |
| %122 = OpIAdd %24 %121 %59 | |
| OpStore %89 %122 | |
| OpBranch %90 | |
| %92 = OpLabel | |
| OpReturn | |
| OpFunctionEnd | |