Merge "Added ASTC Native file format loader" into devel/master
[platform/core/uifw/dali-core.git] / automated-tests / src / dali / utc-Dali-Pixel.cpp
1 /*
2  * Copyright (c) 2016 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 <iostream>
19 #include <algorithm>
20
21 #include <stdlib.h>
22 #include <dali/public-api/dali-core.h>
23 #include <dali-test-suite-utils.h>
24
25 using std::max;
26 using namespace Dali;
27
28
29 static const float ROTATION_EPSILON = 0.0001f;
30
31 void utc_dali_pixel_startup(void)
32 {
33   test_return_value = TET_UNDEF;
34 }
35
36 void utc_dali_pixel_cleanup(void)
37 {
38   test_return_value = TET_PASS;
39 }
40
41 static void TestPixelEnumSize(const int size)
42 {
43   DALI_TEST_CHECK( (static_cast<int>( Pixel::LAST_VALID_PIXEL_FORMAT ) - static_cast<int>( Pixel::FIRST_VALID_PIXEL_FORMAT ) + 1 ) == size &&
44       "The Pixel::Format enum may have had new formats added. Expand the test cases to include them.");
45 }
46
47 int UtcDaliPixelHasAlpha(void)
48 {
49   TestApplication application;
50
51   tet_infoline("UtcDaliPixelHasAlpha");
52
53   TestPixelEnumSize( 54 );
54
55   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::INVALID ) == false ); // For completeness
56
57   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::L8 ) == false );
58   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::RGB565 ) == false );
59   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::RGB888 ) == false );
60   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::RGB8888 ) == false );
61   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::BGR8888 ) == false );
62   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::BGR565 ) == false );
63   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_R11_EAC ) == false );
64   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SIGNED_R11_EAC ) == false );
65   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_RG11_EAC ) == false );
66   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SIGNED_RG11_EAC ) == false );
67   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_RGB8_ETC2 ) == false );
68   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SRGB8_ETC2 ) == false );
69   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_RGB8_ETC1 ) == false );
70   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_RGB_PVRTC_4BPPV1 ) == false );
71
72   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::A8 ) == true );
73   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::LA88 ) == true );
74   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::RGBA5551 ) == true );
75   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::RGBA4444 ) == true );
76   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::RGBA8888 ) == true );
77   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::BGRA8888 ) == true );
78   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::BGRA5551 ) == true );
79   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::BGRA4444 ) == true );
80   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 ) == true );
81   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 ) == true );
82   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_RGBA8_ETC2_EAC ) == true );
83   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SRGB8_ALPHA8_ETC2_EAC ) == true );
84
85   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_RGBA_ASTC_4x4_KHR ) == true );
86   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_RGBA_ASTC_5x4_KHR ) == true );
87   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_RGBA_ASTC_5x5_KHR ) == true );
88   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_RGBA_ASTC_6x5_KHR ) == true );
89   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_RGBA_ASTC_6x6_KHR ) == true );
90   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_RGBA_ASTC_8x5_KHR ) == true );
91   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_RGBA_ASTC_8x6_KHR ) == true );
92   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_RGBA_ASTC_8x8_KHR ) == true );
93   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_RGBA_ASTC_10x5_KHR ) == true );
94   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_RGBA_ASTC_10x6_KHR ) == true );
95   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_RGBA_ASTC_10x8_KHR ) == true );
96   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_RGBA_ASTC_10x10_KHR ) == true );
97   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_RGBA_ASTC_12x10_KHR ) == true );
98   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_RGBA_ASTC_12x12_KHR ) == true );
99   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR ) == true );
100   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR ) == true );
101   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR ) == true );
102   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR ) == true );
103   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR ) == true );
104   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR ) == true );
105   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR ) == true );
106   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR ) == true );
107   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR ) == true );
108   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR ) == true );
109   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR ) == true );
110   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR ) == true );
111   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR ) == true );
112   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR ) == true );
113
114   END_TEST;
115 }
116
117 int UtcDaliPixelHasAlphaN(void)
118 {
119   DALI_TEST_EQUALS( Pixel::HasAlpha( Pixel::Format( 123123123123 ) ), false, TEST_LOCATION );
120   END_TEST;
121 }
122
123 int UtcDaliPixelGetBytesPerPixel(void)
124 {
125   TestApplication application;
126
127   tet_infoline("UtcDaliPixelGetBytesPerPixel");
128
129   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::INVALID ) == 0 ); // For completeness
130
131   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::L8 ) == 1 );
132   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::A8 ) == 1 );
133
134   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::LA88 ) == 2 );
135   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::RGB565 ) == 2 );
136   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::RGBA5551 ) == 2 );
137   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::RGBA4444 ) == 2 );
138   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::BGR565 ) == 2 );
139   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::BGRA5551 ) == 2 );
140   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::BGRA4444 ) == 2 );
141
142   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::RGB888 ) == 3 );
143
144   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::RGB8888 ) == 4 );
145   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::BGR8888 ) == 4 );
146   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::RGBA8888 ) == 4 );
147   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::BGRA8888 ) == 4 );
148
149   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::L8 ) == 1 );
150
151   // Compressed formats are marked as 0 bytes per pixel.
152   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_R11_EAC ) == 0);
153   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SIGNED_R11_EAC ) == 0 );
154   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_RG11_EAC ) == 0 );
155   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SIGNED_RG11_EAC ) == 0 );
156   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_RGB8_ETC2 ) == 0 );
157   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SRGB8_ETC2 ) == 0 );
158   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_RGB8_ETC1 ) == 0 );
159   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_RGB_PVRTC_4BPPV1 ) == 0 );
160   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 ) == 0 );
161   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 ) == 0 );
162   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_RGBA8_ETC2_EAC ) == 0 );
163   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SRGB8_ALPHA8_ETC2_EAC ) == 0 );
164   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_RGBA_ASTC_4x4_KHR ) == 0 );
165   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_RGBA_ASTC_5x4_KHR ) == 0 );
166   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_RGBA_ASTC_5x5_KHR ) == 0 );
167   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_RGBA_ASTC_6x5_KHR ) == 0 );
168   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_RGBA_ASTC_6x6_KHR ) == 0 );
169   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_RGBA_ASTC_8x5_KHR ) == 0 );
170   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_RGBA_ASTC_8x6_KHR ) == 0 );
171   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_RGBA_ASTC_8x8_KHR ) == 0 );
172   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_RGBA_ASTC_10x5_KHR ) == 0 );
173   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_RGBA_ASTC_10x6_KHR ) == 0 );
174   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_RGBA_ASTC_10x8_KHR ) == 0 );
175   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_RGBA_ASTC_10x10_KHR ) == 0 );
176   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_RGBA_ASTC_12x10_KHR ) == 0 );
177   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_RGBA_ASTC_12x12_KHR ) == 0 );
178   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR ) == 0 );
179   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR ) == 0 );
180   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR ) == 0 );
181   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR ) == 0 );
182   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR ) == 0 );
183   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR ) == 0 );
184   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR ) == 0 );
185   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR ) == 0 );
186   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR ) == 0 );
187   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR ) == 0 );
188   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR ) == 0 );
189   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR ) == 0 );
190   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR ) == 0 );
191   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR ) == 0 );
192
193   END_TEST;
194 }
195
196 int UtcDaliPixelGetBytesPerPixelN(void)
197 {
198   DALI_TEST_EQUALS( Pixel::GetBytesPerPixel( Pixel::Format( 123123123123 ) ), 0u, TEST_LOCATION );
199   END_TEST;
200 }
201
202 int UtcDaliPixelGetAlphaOffsetAndMaskP(void)
203 {
204   TestApplication application;
205
206   tet_infoline("UtcDaliPixelGetAlphaOffsetAndMask");
207
208   int byteOffset = 0;
209   int bitMask = 0;
210
211   // Be sure that the number of cases tested below is correct:
212   TestPixelEnumSize( 54 );
213
214   Pixel::GetAlphaOffsetAndMask( Pixel::INVALID, byteOffset, bitMask ); // For completeness
215   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
216
217   Pixel::GetAlphaOffsetAndMask( Pixel::L8, byteOffset, bitMask );
218   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
219   Pixel::GetAlphaOffsetAndMask( Pixel::A8, byteOffset, bitMask );
220   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0xff );
221   Pixel::GetAlphaOffsetAndMask( Pixel::RGB888, byteOffset, bitMask );
222   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
223   Pixel::GetAlphaOffsetAndMask( Pixel::RGB565, byteOffset, bitMask );
224   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
225   Pixel::GetAlphaOffsetAndMask( Pixel::RGB8888, byteOffset, bitMask );
226   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
227   Pixel::GetAlphaOffsetAndMask( Pixel::BGR8888, byteOffset, bitMask );
228   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
229   Pixel::GetAlphaOffsetAndMask( Pixel::LA88, byteOffset, bitMask );
230   DALI_TEST_CHECK( byteOffset == 1 && bitMask == 0xff );
231   Pixel::GetAlphaOffsetAndMask( Pixel::RGBA4444, byteOffset, bitMask );
232   DALI_TEST_CHECK( byteOffset == 1 && bitMask == 0x0f );
233   Pixel::GetAlphaOffsetAndMask( Pixel::RGBA5551, byteOffset, bitMask );
234   DALI_TEST_CHECK( byteOffset == 1 && bitMask == 0x01 );
235   Pixel::GetAlphaOffsetAndMask( Pixel::RGBA8888, byteOffset, bitMask );
236   DALI_TEST_CHECK( byteOffset == 3 && bitMask == 0xff );
237   Pixel::GetAlphaOffsetAndMask( Pixel::BGRA8888, byteOffset, bitMask );
238   DALI_TEST_CHECK( byteOffset == 3 && bitMask == 0xff );
239   Pixel::GetAlphaOffsetAndMask( Pixel::BGR565, byteOffset, bitMask );
240   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
241   Pixel::GetAlphaOffsetAndMask( Pixel::BGRA4444, byteOffset, bitMask );
242   DALI_TEST_CHECK( byteOffset == 1 && bitMask == 0x0f );
243   Pixel::GetAlphaOffsetAndMask( Pixel::BGRA5551, byteOffset, bitMask );
244   DALI_TEST_CHECK( byteOffset == 1 && bitMask == 0x01 );
245
246   // Compressed formats with no meaningful result:
247   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_R11_EAC, byteOffset, bitMask );
248   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
249   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_SIGNED_R11_EAC, byteOffset, bitMask );
250   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
251   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_RG11_EAC, byteOffset, bitMask );
252   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
253   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_SIGNED_RG11_EAC, byteOffset, bitMask );
254   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
255   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_RGB8_ETC2, byteOffset, bitMask );
256   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
257   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_SRGB8_ETC2, byteOffset, bitMask );
258   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
259   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_RGB8_ETC1, byteOffset, bitMask );
260   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
261   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_RGB_PVRTC_4BPPV1, byteOffset, bitMask );
262   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
263   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, byteOffset, bitMask );
264   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
265   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2, byteOffset, bitMask );
266   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
267   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_RGBA8_ETC2_EAC, byteOffset, bitMask );
268   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
269   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ETC2_EAC, byteOffset, bitMask );
270   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
271   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_4x4_KHR, byteOffset, bitMask );
272   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
273   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_5x4_KHR, byteOffset, bitMask );
274   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
275   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_5x5_KHR, byteOffset, bitMask );
276   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
277   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_6x5_KHR, byteOffset, bitMask );
278   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
279   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_6x6_KHR, byteOffset, bitMask );
280   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
281   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_8x5_KHR, byteOffset, bitMask );
282   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
283   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_8x6_KHR, byteOffset, bitMask );
284   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
285   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_8x8_KHR, byteOffset, bitMask );
286   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
287   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_10x5_KHR, byteOffset, bitMask );
288   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
289   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_10x6_KHR, byteOffset, bitMask );
290   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
291   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_10x8_KHR, byteOffset, bitMask );
292   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
293   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_10x10_KHR, byteOffset, bitMask );
294   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
295   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_12x10_KHR, byteOffset, bitMask );
296   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
297   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_12x12_KHR, byteOffset, bitMask );
298   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
299   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR, byteOffset, bitMask );
300   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
301   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR, byteOffset, bitMask );
302   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
303   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR, byteOffset, bitMask );
304   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
305   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR, byteOffset, bitMask );
306   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
307   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR, byteOffset, bitMask );
308   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
309   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR, byteOffset, bitMask );
310   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
311   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR, byteOffset, bitMask );
312   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
313   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR, byteOffset, bitMask );
314   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
315   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR, byteOffset, bitMask );
316   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
317   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR, byteOffset, bitMask );
318   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
319   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR, byteOffset, bitMask );
320   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
321   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR, byteOffset, bitMask );
322   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
323   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR, byteOffset, bitMask );
324   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
325   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR, byteOffset, bitMask );
326   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
327
328   END_TEST;
329 }
330
331 int UtcDaliPixelGetAlphaOffsetAndMaskN(void)
332 {
333   int byteOffset = 200;
334   int bitMask = 200;
335   Pixel::GetAlphaOffsetAndMask( Pixel::Format( 123123123123 ), byteOffset, bitMask );
336   DALI_TEST_CHECK( byteOffset == 200 );
337   DALI_TEST_CHECK( bitMask == 200 );
338   END_TEST;
339 }