Update rive-cpp to 2.0 version
[platform/core/uifw/rive-tizen.git] / submodule / skia / tests / sksl / intrinsics / Length.asm.frag
1 OpCapability Shader
2 %1 = OpExtInstImport "GLSL.std.450"
3 OpMemoryModel Logical GLSL450
4 OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
5 OpExecutionMode %_entrypoint_v OriginUpperLeft
6 OpName %sk_FragColor "sk_FragColor"
7 OpName %sk_Clockwise "sk_Clockwise"
8 OpName %_UniformBuffer "_UniformBuffer"
9 OpMemberName %_UniformBuffer 0 "inputVal"
10 OpMemberName %_UniformBuffer 1 "colorGreen"
11 OpMemberName %_UniformBuffer 2 "colorRed"
12 OpName %_entrypoint_v "_entrypoint_v"
13 OpName %main "main"
14 OpName %expected "expected"
15 OpDecorate %sk_FragColor RelaxedPrecision
16 OpDecorate %sk_FragColor Location 0
17 OpDecorate %sk_FragColor Index 0
18 OpDecorate %sk_Clockwise BuiltIn FrontFacing
19 OpMemberDecorate %_UniformBuffer 0 Offset 0
20 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
21 OpMemberDecorate %_UniformBuffer 1 Offset 16
22 OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
23 OpMemberDecorate %_UniformBuffer 2 Offset 32
24 OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
25 OpDecorate %_UniformBuffer Block
26 OpDecorate %10 Binding 0
27 OpDecorate %10 DescriptorSet 0
28 OpDecorate %expected RelaxedPrecision
29 OpDecorate %33 RelaxedPrecision
30 OpDecorate %38 RelaxedPrecision
31 OpDecorate %39 RelaxedPrecision
32 OpDecorate %43 RelaxedPrecision
33 OpDecorate %45 RelaxedPrecision
34 OpDecorate %46 RelaxedPrecision
35 OpDecorate %51 RelaxedPrecision
36 OpDecorate %53 RelaxedPrecision
37 OpDecorate %54 RelaxedPrecision
38 OpDecorate %60 RelaxedPrecision
39 OpDecorate %62 RelaxedPrecision
40 OpDecorate %84 RelaxedPrecision
41 OpDecorate %87 RelaxedPrecision
42 OpDecorate %88 RelaxedPrecision
43 %float = OpTypeFloat 32
44 %v4float = OpTypeVector %float 4
45 %_ptr_Output_v4float = OpTypePointer Output %v4float
46 %sk_FragColor = OpVariable %_ptr_Output_v4float Output
47 %bool = OpTypeBool
48 %_ptr_Input_bool = OpTypePointer Input %bool
49 %sk_Clockwise = OpVariable %_ptr_Input_bool Input
50 %_UniformBuffer = OpTypeStruct %v4float %v4float %v4float
51 %_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
52 %10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
53 %void = OpTypeVoid
54 %15 = OpTypeFunction %void
55 %float_0 = OpConstant %float 0
56 %v2float = OpTypeVector %float 2
57 %19 = OpConstantComposite %v2float %float_0 %float_0
58 %_ptr_Function_v2float = OpTypePointer Function %v2float
59 %23 = OpTypeFunction %v4float %_ptr_Function_v2float
60 %_ptr_Function_v4float = OpTypePointer Function %v4float
61 %float_3 = OpConstant %float 3
62 %float_5 = OpConstant %float 5
63 %float_13 = OpConstant %float 13
64 %31 = OpConstantComposite %v4float %float_3 %float_3 %float_5 %float_13
65 %false = OpConstantFalse %bool
66 %_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
67 %int = OpTypeInt 32 1
68 %int_0 = OpConstant %int 0
69 %v3float = OpTypeVector %float 3
70 %true = OpConstantTrue %bool
71 %int_1 = OpConstant %int 1
72 %int_2 = OpConstant %int 2
73 %_entrypoint_v = OpFunction %void None %15
74 %16 = OpLabel
75 %20 = OpVariable %_ptr_Function_v2float Function
76 OpStore %20 %19
77 %22 = OpFunctionCall %v4float %main %20
78 OpStore %sk_FragColor %22
79 OpReturn
80 OpFunctionEnd
81 %main = OpFunction %v4float None %23
82 %24 = OpFunctionParameter %_ptr_Function_v2float
83 %25 = OpLabel
84 %expected = OpVariable %_ptr_Function_v4float Function
85 %78 = OpVariable %_ptr_Function_v4float Function
86 OpStore %expected %31
87 %34 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
88 %38 = OpLoad %v4float %34
89 %39 = OpCompositeExtract %float %38 0
90 %33 = OpExtInst %float %1 Length %39
91 %40 = OpFOrdEqual %bool %33 %float_3
92 OpSelectionMerge %42 None
93 OpBranchConditional %40 %41 %42
94 %41 = OpLabel
95 %44 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
96 %45 = OpLoad %v4float %44
97 %46 = OpVectorShuffle %v2float %45 %45 0 1
98 %43 = OpExtInst %float %1 Length %46
99 %47 = OpFOrdEqual %bool %43 %float_3
100 OpBranch %42
101 %42 = OpLabel
102 %48 = OpPhi %bool %false %25 %47 %41
103 OpSelectionMerge %50 None
104 OpBranchConditional %48 %49 %50
105 %49 = OpLabel
106 %52 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
107 %53 = OpLoad %v4float %52
108 %54 = OpVectorShuffle %v3float %53 %53 0 1 2
109 %51 = OpExtInst %float %1 Length %54
110 %56 = OpFOrdEqual %bool %51 %float_5
111 OpBranch %50
112 %50 = OpLabel
113 %57 = OpPhi %bool %false %42 %56 %49
114 OpSelectionMerge %59 None
115 OpBranchConditional %57 %58 %59
116 %58 = OpLabel
117 %61 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
118 %62 = OpLoad %v4float %61
119 %60 = OpExtInst %float %1 Length %62
120 %63 = OpFOrdEqual %bool %60 %float_13
121 OpBranch %59
122 %59 = OpLabel
123 %64 = OpPhi %bool %false %50 %63 %58
124 OpSelectionMerge %66 None
125 OpBranchConditional %64 %65 %66
126 %65 = OpLabel
127 OpBranch %66
128 %66 = OpLabel
129 %68 = OpPhi %bool %false %59 %true %65
130 OpSelectionMerge %70 None
131 OpBranchConditional %68 %69 %70
132 %69 = OpLabel
133 OpBranch %70
134 %70 = OpLabel
135 %71 = OpPhi %bool %false %66 %true %69
136 OpSelectionMerge %73 None
137 OpBranchConditional %71 %72 %73
138 %72 = OpLabel
139 OpBranch %73
140 %73 = OpLabel
141 %74 = OpPhi %bool %false %70 %true %72
142 OpSelectionMerge %76 None
143 OpBranchConditional %74 %75 %76
144 %75 = OpLabel
145 OpBranch %76
146 %76 = OpLabel
147 %77 = OpPhi %bool %false %73 %true %75
148 OpSelectionMerge %81 None
149 OpBranchConditional %77 %79 %80
150 %79 = OpLabel
151 %82 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
152 %84 = OpLoad %v4float %82
153 OpStore %78 %84
154 OpBranch %81
155 %80 = OpLabel
156 %85 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
157 %87 = OpLoad %v4float %85
158 OpStore %78 %87
159 OpBranch %81
160 %81 = OpLabel
161 %88 = OpLoad %v4float %78
162 OpReturnValue %88
163 OpFunctionEnd