1 OpCapability ImageQuery 2 OpCapability Shader 3 %1 = OpExtInstImport "GLSL.std.450" 4 OpMemoryModel Logical GLSL450 5 OpEntryPoint GLCompute %main "main" %sk_GlobalInvocationID 6 OpExecutionMode %main LocalSize 16 16 1 7 OpName %sk_GlobalInvocationID "sk_GlobalInvocationID" 8 OpName %src "src" 9 OpName %dest "dest" 10 OpName %main "main" 11 OpName %_0_color "_0_color" 12 OpDecorate %sk_GlobalInvocationID BuiltIn GlobalInvocationId 13 OpDecorate %src Binding 0 14 OpDecorate %src DescriptorSet 0 15 OpDecorate %dest Binding 1 16 OpDecorate %dest DescriptorSet 0 17 OpDecorate %22 RelaxedPrecision 18 OpDecorate %30 RelaxedPrecision 19 OpDecorate %_0_color RelaxedPrecision 20 OpDecorate %39 RelaxedPrecision 21 OpDecorate %42 RelaxedPrecision 22 OpDecorate %43 RelaxedPrecision 23 OpDecorate %49 RelaxedPrecision 24 OpDecorate %50 RelaxedPrecision 25 OpDecorate %51 RelaxedPrecision 26 OpDecorate %53 RelaxedPrecision 27 %uint = OpTypeInt 32 0 28 %v3uint = OpTypeVector %uint 3 29%_ptr_Input_v3uint = OpTypePointer Input %v3uint 30%sk_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input 31 %float = OpTypeFloat 32 32 %9 = OpTypeImage %float 2D 0 0 0 2 Rgba8 33%_ptr_UniformConstant_9 = OpTypePointer UniformConstant %9 34 %src = OpVariable %_ptr_UniformConstant_9 UniformConstant 35 %dest = OpVariable %_ptr_UniformConstant_9 UniformConstant 36 %void = OpTypeVoid 37 %13 = OpTypeFunction %void 38 %bool = OpTypeBool 39 %false = OpConstantFalse %bool 40 %v2uint = OpTypeVector %uint 2 41 %v4float = OpTypeVector %float 4 42%_ptr_Function_v4float = OpTypePointer Function %v4float 43 %v3float = OpTypeVector %float 3 44%float_0_219999999 = OpConstant %float 0.219999999 45%float_0_670000017 = OpConstant %float 0.670000017 46%float_0_109999999 = OpConstant %float 0.109999999 47 %48 = OpConstantComposite %v3float %float_0_219999999 %float_0_670000017 %float_0_109999999 48 %main = OpFunction %void None %13 49 %14 = OpLabel 50 %_0_color = OpVariable %_ptr_Function_v4float Function 51 %17 = OpLoad %v3uint %sk_GlobalInvocationID 52 %18 = OpCompositeExtract %uint %17 0 53 %22 = OpLoad %9 %src 54 %21 = OpImageQuerySize %v2uint %22 55 %19 = OpCompositeExtract %uint %21 0 56 %23 = OpULessThan %bool %18 %19 57 OpSelectionMerge %25 None 58 OpBranchConditional %23 %24 %25 59 %24 = OpLabel 60 %26 = OpLoad %v3uint %sk_GlobalInvocationID 61 %27 = OpCompositeExtract %uint %26 1 62 %30 = OpLoad %9 %src 63 %29 = OpImageQuerySize %v2uint %30 64 %28 = OpCompositeExtract %uint %29 1 65 %31 = OpULessThan %bool %27 %28 66 OpBranch %25 67 %25 = OpLabel 68 %32 = OpPhi %bool %false %14 %31 %24 69 OpSelectionMerge %34 None 70 OpBranchConditional %32 %33 %34 71 %33 = OpLabel 72 %39 = OpLoad %9 %src 73 %40 = OpLoad %v3uint %sk_GlobalInvocationID 74 %41 = OpVectorShuffle %v2uint %40 %40 0 1 75 %38 = OpImageRead %v4float %39 %41 76 OpStore %_0_color %38 77 %43 = OpVectorShuffle %v3float %38 %38 0 1 2 78 %42 = OpDot %float %43 %48 79 %49 = OpCompositeConstruct %v3float %42 %42 %42 80 %50 = OpLoad %v4float %_0_color 81 %51 = OpVectorShuffle %v4float %50 %49 4 5 6 3 82 OpStore %_0_color %51 83 %53 = OpLoad %9 %dest 84 %54 = OpLoad %v3uint %sk_GlobalInvocationID 85 %55 = OpVectorShuffle %v2uint %54 %54 0 1 86 OpImageWrite %53 %55 %51 87 OpBranch %34 88 %34 = OpLabel 89 OpReturn 90 OpFunctionEnd 91