Update rive-cpp to 2.0 version
[platform/core/uifw/rive-tizen.git] / submodule / skia / tests / sksl / intrinsics / Round.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 "testInputs"
10 OpMemberName %_UniformBuffer 1 "colorGreen"
11 OpMemberName %_UniformBuffer 2 "colorRed"
12 OpName %_entrypoint_v "_entrypoint_v"
13 OpName %main "main"
14 OpName %expectedA "expectedA"
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 %33 RelaxedPrecision
29 OpDecorate %38 RelaxedPrecision
30 OpDecorate %39 RelaxedPrecision
31 OpDecorate %43 RelaxedPrecision
32 OpDecorate %45 RelaxedPrecision
33 OpDecorate %46 RelaxedPrecision
34 OpDecorate %54 RelaxedPrecision
35 OpDecorate %56 RelaxedPrecision
36 OpDecorate %57 RelaxedPrecision
37 OpDecorate %66 RelaxedPrecision
38 OpDecorate %68 RelaxedPrecision
39 OpDecorate %79 RelaxedPrecision
40 OpDecorate %82 RelaxedPrecision
41 OpDecorate %83 RelaxedPrecision
42 %float = OpTypeFloat 32
43 %v4float = OpTypeVector %float 4
44 %_ptr_Output_v4float = OpTypePointer Output %v4float
45 %sk_FragColor = OpVariable %_ptr_Output_v4float Output
46 %bool = OpTypeBool
47 %_ptr_Input_bool = OpTypePointer Input %bool
48 %sk_Clockwise = OpVariable %_ptr_Input_bool Input
49 %_UniformBuffer = OpTypeStruct %v4float %v4float %v4float
50 %_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
51 %10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
52 %void = OpTypeVoid
53 %15 = OpTypeFunction %void
54 %float_0 = OpConstant %float 0
55 %v2float = OpTypeVector %float 2
56 %19 = OpConstantComposite %v2float %float_0 %float_0
57 %_ptr_Function_v2float = OpTypePointer Function %v2float
58 %23 = OpTypeFunction %v4float %_ptr_Function_v2float
59 %_ptr_Function_v4float = OpTypePointer Function %v4float
60 %float_n1 = OpConstant %float -1
61 %float_1 = OpConstant %float 1
62 %float_2 = OpConstant %float 2
63 %31 = OpConstantComposite %v4float %float_n1 %float_0 %float_1 %float_2
64 %false = OpConstantFalse %bool
65 %_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
66 %int = OpTypeInt 32 1
67 %int_0 = OpConstant %int 0
68 %47 = OpConstantComposite %v2float %float_n1 %float_0
69 %v2bool = OpTypeVector %bool 2
70 %v3float = OpTypeVector %float 3
71 %59 = OpConstantComposite %v3float %float_n1 %float_0 %float_1
72 %v3bool = OpTypeVector %bool 3
73 %v4bool = OpTypeVector %bool 4
74 %int_1 = OpConstant %int 1
75 %int_2 = OpConstant %int 2
76 %_entrypoint_v = OpFunction %void None %15
77 %16 = OpLabel
78 %20 = OpVariable %_ptr_Function_v2float Function
79 OpStore %20 %19
80 %22 = OpFunctionCall %v4float %main %20
81 OpStore %sk_FragColor %22
82 OpReturn
83 OpFunctionEnd
84 %main = OpFunction %v4float None %23
85 %24 = OpFunctionParameter %_ptr_Function_v2float
86 %25 = OpLabel
87 %expectedA = OpVariable %_ptr_Function_v4float Function
88 %73 = OpVariable %_ptr_Function_v4float Function
89 OpStore %expectedA %31
90 %34 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
91 %38 = OpLoad %v4float %34
92 %39 = OpCompositeExtract %float %38 0
93 %33 = OpExtInst %float %1 Round %39
94 %40 = OpFOrdEqual %bool %33 %float_n1
95 OpSelectionMerge %42 None
96 OpBranchConditional %40 %41 %42
97 %41 = OpLabel
98 %44 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
99 %45 = OpLoad %v4float %44
100 %46 = OpVectorShuffle %v2float %45 %45 0 1
101 %43 = OpExtInst %v2float %1 Round %46
102 %48 = OpFOrdEqual %v2bool %43 %47
103 %50 = OpAll %bool %48
104 OpBranch %42
105 %42 = OpLabel
106 %51 = OpPhi %bool %false %25 %50 %41
107 OpSelectionMerge %53 None
108 OpBranchConditional %51 %52 %53
109 %52 = OpLabel
110 %55 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
111 %56 = OpLoad %v4float %55
112 %57 = OpVectorShuffle %v3float %56 %56 0 1 2
113 %54 = OpExtInst %v3float %1 Round %57
114 %60 = OpFOrdEqual %v3bool %54 %59
115 %62 = OpAll %bool %60
116 OpBranch %53
117 %53 = OpLabel
118 %63 = OpPhi %bool %false %42 %62 %52
119 OpSelectionMerge %65 None
120 OpBranchConditional %63 %64 %65
121 %64 = OpLabel
122 %67 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
123 %68 = OpLoad %v4float %67
124 %66 = OpExtInst %v4float %1 Round %68
125 %69 = OpFOrdEqual %v4bool %66 %31
126 %71 = OpAll %bool %69
127 OpBranch %65
128 %65 = OpLabel
129 %72 = OpPhi %bool %false %53 %71 %64
130 OpSelectionMerge %76 None
131 OpBranchConditional %72 %74 %75
132 %74 = OpLabel
133 %77 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
134 %79 = OpLoad %v4float %77
135 OpStore %73 %79
136 OpBranch %76
137 %75 = OpLabel
138 %80 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
139 %82 = OpLoad %v4float %80
140 OpStore %73 %82
141 OpBranch %76
142 %76 = OpLabel
143 %83 = OpLoad %v4float %73
144 OpReturnValue %83
145 OpFunctionEnd