blob: be7c1d5f64a6b7e70b8bf78b600b3c16983c2d6f [file] [log] [blame]
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