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