[Tizen] Using Depth and Stencil buffer & texture
[platform/core/uifw/dali-core.git] / automated-tests / src / dali / utc-Dali-Pixel.cpp
index 25712a9..0363b3b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -50,7 +50,7 @@ int UtcDaliPixelHasAlpha(void)
 
   tet_infoline("UtcDaliPixelHasAlpha");
 
-  TestPixelEnumSize( 54 );
+  TestPixelEnumSize( 59 );
 
   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::INVALID ) == false ); // For completeness
 
@@ -111,6 +111,13 @@ int UtcDaliPixelHasAlpha(void)
   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR ) == true );
   DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR ) == true );
 
+  DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::RGB16F ) == false );
+  DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::RGB32F ) == false );
+
+  DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::DEPTH_UNSIGNED_INT ) == false );
+  DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::DEPTH_FLOAT ) == false );
+  DALI_TEST_CHECK( Pixel::HasAlpha( Pixel::DEPTH_STENCIL ) == false );
+
   END_TEST;
 }
 
@@ -126,6 +133,9 @@ int UtcDaliPixelGetBytesPerPixel(void)
 
   tet_infoline("UtcDaliPixelGetBytesPerPixel");
 
+  // Be sure that the number of cases tested below is correct:
+  TestPixelEnumSize( 59 );
+
   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::INVALID ) == 0 ); // For completeness
 
   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::L8 ) == 1 );
@@ -190,6 +200,13 @@ int UtcDaliPixelGetBytesPerPixel(void)
   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR ) == 0 );
   DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR ) == 0 );
 
+  DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::RGB16F ) == 12 );
+  DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::RGB32F ) == 24 );
+
+  DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::DEPTH_UNSIGNED_INT ) == 4 );
+  DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::DEPTH_FLOAT ) == 4 );
+  DALI_TEST_CHECK( Pixel::GetBytesPerPixel( Pixel::DEPTH_STENCIL ) == 4 );
+
   END_TEST;
 }
 
@@ -209,7 +226,7 @@ int UtcDaliPixelGetAlphaOffsetAndMaskP(void)
   int bitMask = 0;
 
   // Be sure that the number of cases tested below is correct:
-  TestPixelEnumSize( 54 );
+  TestPixelEnumSize( 59 );
 
   Pixel::GetAlphaOffsetAndMask( Pixel::INVALID, byteOffset, bitMask ); // For completeness
   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
@@ -325,6 +342,37 @@ int UtcDaliPixelGetAlphaOffsetAndMaskP(void)
   Pixel::GetAlphaOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR, byteOffset, bitMask );
   DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
 
+  Pixel::GetAlphaOffsetAndMask( Pixel::RGB16F, byteOffset, bitMask );
+  DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
+  Pixel::GetAlphaOffsetAndMask( Pixel::RGB32F, byteOffset, bitMask );
+  DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
+
+  Pixel::GetAlphaOffsetAndMask( Pixel::DEPTH_UNSIGNED_INT, byteOffset, bitMask );
+  DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
+  Pixel::GetAlphaOffsetAndMask( Pixel::DEPTH_FLOAT, byteOffset, bitMask );
+  DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
+  Pixel::GetAlphaOffsetAndMask( Pixel::DEPTH_STENCIL, byteOffset, bitMask );
+  DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
+
+  END_TEST;
+}
+
+int UtcDaliPixelConvertGlFormat(void)
+{
+  tet_infoline("UtcDaliPixelConvertGlFormat");
+
+  unsigned int pixelDataType, internalFormat;
+  Dali::Integration::ConvertToGlFormat( Pixel::Format::DEPTH_UNSIGNED_INT, pixelDataType, internalFormat );
+  DALI_TEST_CHECK( pixelDataType == GL_UNSIGNED_INT );
+  DALI_TEST_CHECK( internalFormat == GL_DEPTH_COMPONENT );
+
+  Dali::Integration::ConvertToGlFormat( Pixel::Format::DEPTH_FLOAT, pixelDataType, internalFormat );
+  DALI_TEST_CHECK( pixelDataType == GL_FLOAT );
+  DALI_TEST_CHECK( internalFormat == GL_DEPTH_COMPONENT );
+
+  Dali::Integration::ConvertToGlFormat( Pixel::Format::DEPTH_STENCIL, pixelDataType, internalFormat );
+  DALI_TEST_CHECK( pixelDataType == GL_UNSIGNED_INT_24_8 );
+  DALI_TEST_CHECK( internalFormat == GL_DEPTH_STENCIL );
   END_TEST;
 }