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 | |