blob: 1fa08414d54590e22f792b2b16e2764db54de51b [file] [log] [blame]
OpCapability ImageQuery
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %main "main" %sk_GlobalInvocationID
OpExecutionMode %main LocalSize 16 16 1
OpName %sk_GlobalInvocationID "sk_GlobalInvocationID"
OpName %src "src"
OpName %dest "dest"
OpName %main "main"
OpName %_0_color "_0_color"
OpDecorate %sk_GlobalInvocationID BuiltIn GlobalInvocationId
OpDecorate %src Binding 0
OpDecorate %src DescriptorSet 0
OpDecorate %dest Binding 1
OpDecorate %dest DescriptorSet 0
OpDecorate %22 RelaxedPrecision
OpDecorate %30 RelaxedPrecision
OpDecorate %_0_color RelaxedPrecision
OpDecorate %39 RelaxedPrecision
OpDecorate %42 RelaxedPrecision
OpDecorate %43 RelaxedPrecision
OpDecorate %49 RelaxedPrecision
OpDecorate %50 RelaxedPrecision
OpDecorate %51 RelaxedPrecision
OpDecorate %53 RelaxedPrecision
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
%sk_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input
%float = OpTypeFloat 32
%9 = OpTypeImage %float 2D 0 0 0 2 Rgba8
%_ptr_UniformConstant_9 = OpTypePointer UniformConstant %9
%src = OpVariable %_ptr_UniformConstant_9 UniformConstant
%dest = OpVariable %_ptr_UniformConstant_9 UniformConstant
%void = OpTypeVoid
%13 = OpTypeFunction %void
%bool = OpTypeBool
%false = OpConstantFalse %bool
%v2uint = OpTypeVector %uint 2
%v4float = OpTypeVector %float 4
%_ptr_Function_v4float = OpTypePointer Function %v4float
%v3float = OpTypeVector %float 3
%float_0_219999999 = OpConstant %float 0.219999999
%float_0_670000017 = OpConstant %float 0.670000017
%float_0_109999999 = OpConstant %float 0.109999999
%48 = OpConstantComposite %v3float %float_0_219999999 %float_0_670000017 %float_0_109999999
%main = OpFunction %void None %13
%14 = OpLabel
%_0_color = OpVariable %_ptr_Function_v4float Function
%17 = OpLoad %v3uint %sk_GlobalInvocationID
%18 = OpCompositeExtract %uint %17 0
%22 = OpLoad %9 %src
%21 = OpImageQuerySize %v2uint %22
%19 = OpCompositeExtract %uint %21 0
%23 = OpULessThan %bool %18 %19
OpSelectionMerge %25 None
OpBranchConditional %23 %24 %25
%24 = OpLabel
%26 = OpLoad %v3uint %sk_GlobalInvocationID
%27 = OpCompositeExtract %uint %26 1
%30 = OpLoad %9 %src
%29 = OpImageQuerySize %v2uint %30
%28 = OpCompositeExtract %uint %29 1
%31 = OpULessThan %bool %27 %28
OpBranch %25
%25 = OpLabel
%32 = OpPhi %bool %false %14 %31 %24
OpSelectionMerge %34 None
OpBranchConditional %32 %33 %34
%33 = OpLabel
%39 = OpLoad %9 %src
%40 = OpLoad %v3uint %sk_GlobalInvocationID
%41 = OpVectorShuffle %v2uint %40 %40 0 1
%38 = OpImageRead %v4float %39 %41
OpStore %_0_color %38
%43 = OpVectorShuffle %v3float %38 %38 0 1 2
%42 = OpDot %float %43 %48
%49 = OpCompositeConstruct %v3float %42 %42 %42
%50 = OpLoad %v4float %_0_color
%51 = OpVectorShuffle %v4float %50 %49 4 5 6 3
OpStore %_0_color %51
%53 = OpLoad %9 %dest
%54 = OpLoad %v3uint %sk_GlobalInvocationID
%55 = OpVectorShuffle %v2uint %54 %54 0 1
OpImageWrite %53 %55 %51
OpBranch %34
%34 = OpLabel
OpReturn
OpFunctionEnd