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