cd94b61af72607b19ca409374f3eb4422fbf42da
[platform/core/uifw/dali-core.git] / automated-tests / src / dali / utc-Dali-Pixel.cpp
1 /*
2  * Copyright (c) 2021 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 #include <dali-test-suite-utils.h>
19 #include <dali/public-api/dali-core.h>
20 #include <stdlib.h>
21
22 #include <algorithm>
23 #include <iostream>
24
25 using std::max;
26 using namespace Dali;
27
28 static const float ROTATION_EPSILON = 0.0001f;
29
30 void utc_dali_pixel_startup(void)
31 {
32   test_return_value = TET_UNDEF;
33 }
34
35 void utc_dali_pixel_cleanup(void)
36 {
37   test_return_value = TET_PASS;
38 }
39
40 static void TestPixelEnumSize(const int size)
41 {
42   DALI_TEST_CHECK((static_cast<int>(Pixel::LAST_VALID_PIXEL_FORMAT) - static_cast<int>(Pixel::FIRST_VALID_PIXEL_FORMAT) + 1) == size &&
43                   "The Pixel::Format enum may have had new formats added. Expand the test cases to include them.");
44 }
45
46 int UtcDaliPixelHasAlpha(void)
47 {
48   TestApplication application;
49
50   tet_infoline("UtcDaliPixelHasAlpha");
51
52   TestPixelEnumSize(60);
53
54   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::INVALID) == false); // For completeness
55
56   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::L8) == false);
57   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::RGB565) == false);
58   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::RGB888) == false);
59   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::RGB8888) == false);
60   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::BGR8888) == false);
61   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::BGR565) == false);
62   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_R11_EAC) == false);
63   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_SIGNED_R11_EAC) == false);
64   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_RG11_EAC) == false);
65   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_SIGNED_RG11_EAC) == false);
66   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_RGB8_ETC2) == false);
67   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_SRGB8_ETC2) == false);
68   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_RGB8_ETC1) == false);
69   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_RGB_PVRTC_4BPPV1) == false);
70
71   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::A8) == true);
72   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::LA88) == true);
73   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::RGBA5551) == true);
74   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::RGBA4444) == true);
75   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::RGBA8888) == true);
76   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::BGRA8888) == true);
77   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::BGRA5551) == true);
78   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::BGRA4444) == true);
79   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2) == true);
80   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2) == true);
81   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_RGBA8_ETC2_EAC) == true);
82   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_SRGB8_ALPHA8_ETC2_EAC) == true);
83
84   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_RGBA_ASTC_4x4_KHR) == true);
85   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_RGBA_ASTC_5x4_KHR) == true);
86   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_RGBA_ASTC_5x5_KHR) == true);
87   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_RGBA_ASTC_6x5_KHR) == true);
88   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_RGBA_ASTC_6x6_KHR) == true);
89   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_RGBA_ASTC_8x5_KHR) == true);
90   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_RGBA_ASTC_8x6_KHR) == true);
91   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_RGBA_ASTC_8x8_KHR) == true);
92   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_RGBA_ASTC_10x5_KHR) == true);
93   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_RGBA_ASTC_10x6_KHR) == true);
94   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_RGBA_ASTC_10x8_KHR) == true);
95   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_RGBA_ASTC_10x10_KHR) == true);
96   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_RGBA_ASTC_12x10_KHR) == true);
97   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_RGBA_ASTC_12x12_KHR) == true);
98   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR) == true);
99   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR) == true);
100   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR) == true);
101   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR) == true);
102   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR) == true);
103   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR) == true);
104   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR) == true);
105   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR) == true);
106   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR) == true);
107   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR) == true);
108   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR) == true);
109   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR) == true);
110   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR) == true);
111   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR) == true);
112
113   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::RGB16F) == false);
114   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::RGB32F) == false);
115
116   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::DEPTH_UNSIGNED_INT) == false);
117   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::DEPTH_FLOAT) == false);
118   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::DEPTH_STENCIL) == false);
119
120   DALI_TEST_CHECK(Pixel::HasAlpha(Pixel::R11G11B10F) == false);
121
122   END_TEST;
123 }
124
125 int UtcDaliPixelHasAlphaN(void)
126 {
127   DALI_TEST_EQUALS(Pixel::HasAlpha(Pixel::Format(123123123123)), false, TEST_LOCATION);
128   END_TEST;
129 }
130
131 int UtcDaliPixelGetBytesPerPixel(void)
132 {
133   TestApplication application;
134
135   tet_infoline("UtcDaliPixelGetBytesPerPixel");
136
137   // Be sure that the number of cases tested below is correct:
138   TestPixelEnumSize(60);
139
140   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::INVALID) == 0); // For completeness
141
142   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::L8) == 1);
143   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::A8) == 1);
144
145   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::LA88) == 2);
146   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::RGB565) == 2);
147   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::RGBA5551) == 2);
148   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::RGBA4444) == 2);
149   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::BGR565) == 2);
150   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::BGRA5551) == 2);
151   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::BGRA4444) == 2);
152
153   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::RGB888) == 3);
154
155   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::RGB8888) == 4);
156   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::BGR8888) == 4);
157   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::RGBA8888) == 4);
158   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::BGRA8888) == 4);
159
160   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::L8) == 1);
161
162   // Compressed formats are marked as 0 bytes per pixel.
163   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_R11_EAC) == 0);
164   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_SIGNED_R11_EAC) == 0);
165   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_RG11_EAC) == 0);
166   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_SIGNED_RG11_EAC) == 0);
167   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_RGB8_ETC2) == 0);
168   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_SRGB8_ETC2) == 0);
169   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_RGB8_ETC1) == 0);
170   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_RGB_PVRTC_4BPPV1) == 0);
171   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2) == 0);
172   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2) == 0);
173   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_RGBA8_ETC2_EAC) == 0);
174   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_SRGB8_ALPHA8_ETC2_EAC) == 0);
175   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_RGBA_ASTC_4x4_KHR) == 0);
176   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_RGBA_ASTC_5x4_KHR) == 0);
177   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_RGBA_ASTC_5x5_KHR) == 0);
178   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_RGBA_ASTC_6x5_KHR) == 0);
179   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_RGBA_ASTC_6x6_KHR) == 0);
180   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_RGBA_ASTC_8x5_KHR) == 0);
181   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_RGBA_ASTC_8x6_KHR) == 0);
182   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_RGBA_ASTC_8x8_KHR) == 0);
183   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_RGBA_ASTC_10x5_KHR) == 0);
184   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_RGBA_ASTC_10x6_KHR) == 0);
185   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_RGBA_ASTC_10x8_KHR) == 0);
186   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_RGBA_ASTC_10x10_KHR) == 0);
187   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_RGBA_ASTC_12x10_KHR) == 0);
188   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_RGBA_ASTC_12x12_KHR) == 0);
189   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR) == 0);
190   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR) == 0);
191   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR) == 0);
192   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR) == 0);
193   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR) == 0);
194   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR) == 0);
195   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR) == 0);
196   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR) == 0);
197   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR) == 0);
198   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR) == 0);
199   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR) == 0);
200   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR) == 0);
201   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR) == 0);
202   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR) == 0);
203
204   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::RGB16F) == 6);
205   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::RGB32F) == 12);
206
207   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::DEPTH_UNSIGNED_INT) == 4);
208   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::DEPTH_FLOAT) == 4);
209   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::DEPTH_STENCIL) == 4);
210   DALI_TEST_CHECK(Pixel::GetBytesPerPixel(Pixel::R11G11B10F) == 4);
211   END_TEST;
212 }
213
214 int UtcDaliPixelGetBytesPerPixelN(void)
215 {
216   DALI_TEST_EQUALS(Pixel::GetBytesPerPixel(Pixel::Format(123123123123)), 0u, TEST_LOCATION);
217   END_TEST;
218 }
219
220 int UtcDaliPixelGetAlphaOffsetAndMaskP(void)
221 {
222   TestApplication application;
223
224   tet_infoline("UtcDaliPixelGetAlphaOffsetAndMask");
225
226   int byteOffset = 0;
227   int bitMask    = 0;
228
229   // Be sure that the number of cases tested below is correct:
230   TestPixelEnumSize(60);
231
232   Pixel::GetAlphaOffsetAndMask(Pixel::INVALID, byteOffset, bitMask); // For completeness
233   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
234
235   Pixel::GetAlphaOffsetAndMask(Pixel::L8, byteOffset, bitMask);
236   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
237   Pixel::GetAlphaOffsetAndMask(Pixel::A8, byteOffset, bitMask);
238   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0xff);
239   Pixel::GetAlphaOffsetAndMask(Pixel::RGB888, byteOffset, bitMask);
240   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
241   Pixel::GetAlphaOffsetAndMask(Pixel::RGB565, byteOffset, bitMask);
242   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
243   Pixel::GetAlphaOffsetAndMask(Pixel::RGB8888, byteOffset, bitMask);
244   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
245   Pixel::GetAlphaOffsetAndMask(Pixel::BGR8888, byteOffset, bitMask);
246   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
247   Pixel::GetAlphaOffsetAndMask(Pixel::LA88, byteOffset, bitMask);
248   DALI_TEST_CHECK(byteOffset == 1 && bitMask == 0xff);
249   Pixel::GetAlphaOffsetAndMask(Pixel::RGBA4444, byteOffset, bitMask);
250   DALI_TEST_CHECK(byteOffset == 1 && bitMask == 0x0f);
251   Pixel::GetAlphaOffsetAndMask(Pixel::RGBA5551, byteOffset, bitMask);
252   DALI_TEST_CHECK(byteOffset == 1 && bitMask == 0x01);
253   Pixel::GetAlphaOffsetAndMask(Pixel::RGBA8888, byteOffset, bitMask);
254   DALI_TEST_CHECK(byteOffset == 3 && bitMask == 0xff);
255   Pixel::GetAlphaOffsetAndMask(Pixel::BGRA8888, byteOffset, bitMask);
256   DALI_TEST_CHECK(byteOffset == 3 && bitMask == 0xff);
257   Pixel::GetAlphaOffsetAndMask(Pixel::BGR565, byteOffset, bitMask);
258   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
259   Pixel::GetAlphaOffsetAndMask(Pixel::BGRA4444, byteOffset, bitMask);
260   DALI_TEST_CHECK(byteOffset == 1 && bitMask == 0x0f);
261   Pixel::GetAlphaOffsetAndMask(Pixel::BGRA5551, byteOffset, bitMask);
262   DALI_TEST_CHECK(byteOffset == 1 && bitMask == 0x01);
263
264   // Compressed formats with no meaningful result:
265   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_R11_EAC, byteOffset, bitMask);
266   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
267   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_SIGNED_R11_EAC, byteOffset, bitMask);
268   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
269   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_RG11_EAC, byteOffset, bitMask);
270   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
271   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_SIGNED_RG11_EAC, byteOffset, bitMask);
272   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
273   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_RGB8_ETC2, byteOffset, bitMask);
274   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
275   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_SRGB8_ETC2, byteOffset, bitMask);
276   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
277   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_RGB8_ETC1, byteOffset, bitMask);
278   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
279   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_RGB_PVRTC_4BPPV1, byteOffset, bitMask);
280   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
281   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, byteOffset, bitMask);
282   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
283   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2, byteOffset, bitMask);
284   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
285   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_RGBA8_ETC2_EAC, byteOffset, bitMask);
286   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
287   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_SRGB8_ALPHA8_ETC2_EAC, byteOffset, bitMask);
288   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
289   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_RGBA_ASTC_4x4_KHR, byteOffset, bitMask);
290   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
291   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_RGBA_ASTC_5x4_KHR, byteOffset, bitMask);
292   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
293   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_RGBA_ASTC_5x5_KHR, byteOffset, bitMask);
294   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
295   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_RGBA_ASTC_6x5_KHR, byteOffset, bitMask);
296   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
297   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_RGBA_ASTC_6x6_KHR, byteOffset, bitMask);
298   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
299   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_RGBA_ASTC_8x5_KHR, byteOffset, bitMask);
300   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
301   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_RGBA_ASTC_8x6_KHR, byteOffset, bitMask);
302   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
303   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_RGBA_ASTC_8x8_KHR, byteOffset, bitMask);
304   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
305   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_RGBA_ASTC_10x5_KHR, byteOffset, bitMask);
306   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
307   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_RGBA_ASTC_10x6_KHR, byteOffset, bitMask);
308   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
309   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_RGBA_ASTC_10x8_KHR, byteOffset, bitMask);
310   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
311   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_RGBA_ASTC_10x10_KHR, byteOffset, bitMask);
312   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
313   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_RGBA_ASTC_12x10_KHR, byteOffset, bitMask);
314   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
315   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_RGBA_ASTC_12x12_KHR, byteOffset, bitMask);
316   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
317   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR, byteOffset, bitMask);
318   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
319   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR, byteOffset, bitMask);
320   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
321   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR, byteOffset, bitMask);
322   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
323   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR, byteOffset, bitMask);
324   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
325   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR, byteOffset, bitMask);
326   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
327   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR, byteOffset, bitMask);
328   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
329   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR, byteOffset, bitMask);
330   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
331   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR, byteOffset, bitMask);
332   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
333   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR, byteOffset, bitMask);
334   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
335   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR, byteOffset, bitMask);
336   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
337   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR, byteOffset, bitMask);
338   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
339   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR, byteOffset, bitMask);
340   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
341   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR, byteOffset, bitMask);
342   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
343   Pixel::GetAlphaOffsetAndMask(Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR, byteOffset, bitMask);
344   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
345
346   Pixel::GetAlphaOffsetAndMask(Pixel::RGB16F, byteOffset, bitMask);
347   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
348   Pixel::GetAlphaOffsetAndMask(Pixel::RGB32F, byteOffset, bitMask);
349   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
350
351   Pixel::GetAlphaOffsetAndMask(Pixel::DEPTH_UNSIGNED_INT, byteOffset, bitMask);
352   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
353   Pixel::GetAlphaOffsetAndMask(Pixel::DEPTH_FLOAT, byteOffset, bitMask);
354   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
355   Pixel::GetAlphaOffsetAndMask(Pixel::DEPTH_STENCIL, byteOffset, bitMask);
356   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
357   Pixel::GetAlphaOffsetAndMask(Pixel::R11G11B10F, byteOffset, bitMask);
358   DALI_TEST_CHECK(byteOffset == 0 && bitMask == 0);
359
360   END_TEST;
361 }
362
363 int UtcDaliPixelConvertGlFormat(void)
364 {
365   tet_infoline("UtcDaliPixelConvertGlFormat");
366
367   unsigned int pixelDataType, internalFormat;
368   Dali::Integration::ConvertToGlFormat(Pixel::Format::DEPTH_UNSIGNED_INT, pixelDataType, internalFormat);
369   DALI_TEST_CHECK(pixelDataType == GL_UNSIGNED_INT);
370   DALI_TEST_CHECK(internalFormat == GL_DEPTH_COMPONENT);
371
372   Dali::Integration::ConvertToGlFormat(Pixel::Format::DEPTH_FLOAT, pixelDataType, internalFormat);
373   DALI_TEST_CHECK(pixelDataType == GL_FLOAT);
374   DALI_TEST_CHECK(internalFormat == GL_DEPTH_COMPONENT);
375
376   Dali::Integration::ConvertToGlFormat(Pixel::Format::DEPTH_STENCIL, pixelDataType, internalFormat);
377   DALI_TEST_CHECK(pixelDataType == GL_UNSIGNED_INT_24_8);
378   DALI_TEST_CHECK(internalFormat == GL_DEPTH_STENCIL);
379
380   Dali::Integration::ConvertToGlFormat(Pixel::Format::R11G11B10F, pixelDataType, internalFormat);
381   DALI_TEST_CHECK(pixelDataType == GL_FLOAT);
382   DALI_TEST_CHECK(internalFormat == GL_R11F_G11F_B10F);
383   END_TEST;
384 }
385
386 int UtcDaliPixelGetAlphaOffsetAndMaskN(void)
387 {
388   int byteOffset = 200;
389   int bitMask    = 200;
390   Pixel::GetAlphaOffsetAndMask(Pixel::Format(123123123123), byteOffset, bitMask);
391   DALI_TEST_CHECK(byteOffset == 200);
392   DALI_TEST_CHECK(bitMask == 200);
393   END_TEST;
394 }