Change GetTextureProperties 90/278990/3
authorHeeyong Song <heeyong.song@samsung.com>
Fri, 29 Jul 2022 02:38:15 +0000 (11:38 +0900)
committerHeeyong Song <heeyong.song@samsung.com>
Tue, 15 Nov 2022 06:22:36 +0000 (06:22 +0000)
Change-Id: I8542c7805a2206d039b6762a40e6cb626006727a

automated-tests/src/dali-adaptor/dali-test-suite-utils/test-graphics-controller.cpp
automated-tests/src/dali-adaptor/dali-test-suite-utils/test-graphics-controller.h
dali/internal/graphics/gles-impl/egl-graphics-controller.cpp
dali/internal/graphics/gles-impl/egl-graphics-controller.h
dali/internal/graphics/gles-impl/gles-graphics-texture.h

index fc176e5..04d193c 100644 (file)
@@ -1302,7 +1302,7 @@ Graphics::MemoryRequirements TestGraphicsController::GetBufferMemoryRequirements
   return Graphics::MemoryRequirements{};
 }
 
-const Graphics::TextureProperties& TestGraphicsController::GetTextureProperties(const Graphics::Texture& texture)
+Graphics::TextureProperties TestGraphicsController::GetTextureProperties(const Graphics::Texture& texture)
 {
   static Graphics::TextureProperties textureProperties{};
   mCallStack.PushCall("GetTextureProperties", "");
index cabc414..81b93d2 100644 (file)
@@ -2,7 +2,7 @@
 #define TEST_GRAPHICS_CONTROLLER_H
 
 /*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 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.
@@ -354,7 +354,7 @@ public:
    *
    * @return Returns the TextureProperties object
    */
-  const Graphics::TextureProperties& GetTextureProperties(const Graphics::Texture& texture) override;
+  Graphics::TextureProperties GetTextureProperties(const Graphics::Texture& texture) override;
 
   /**
    * @brief Returns the reflection of the given program
index 8717f7f..be7a0c3 100644 (file)
@@ -302,6 +302,21 @@ Graphics::UniquePtr<SyncObject> EglGraphicsController::CreateSyncObject(const Sy
   }
 }
 
+TextureProperties EglGraphicsController::GetTextureProperties(const Texture& texture)
+{
+  const GLES::Texture* glesTexture = static_cast<const GLES::Texture*>(&texture);
+  auto                 createInfo  = glesTexture->GetCreateInfo();
+
+  TextureProperties properties{};
+  properties.format       = createInfo.format;
+  properties.compressed   = glesTexture->IsCompressed();
+  properties.extent2D     = createInfo.size;
+  properties.nativeHandle = glesTexture->GetGLTexture();
+  //TODO: Skip format1, emulated, packed, directWriteAccessEnabled of TextureProperties for now
+
+  return properties;
+}
+
 const Graphics::Reflection& EglGraphicsController::GetProgramReflection(const Graphics::Program& program)
 {
   return static_cast<const Graphics::GLES::Program*>(&program)->GetReflection();
index 44f52ff..b89fa31 100644 (file)
@@ -298,17 +298,11 @@ public:
   /**
    * @copydoc Dali::Graphics::GetTextureProperties()
    */
-  const TextureProperties& GetTextureProperties(const Texture& texture) override
-  {
-    // for compiler not to moan
-    static TextureProperties dummy{};
-    return dummy;
-  }
+  TextureProperties GetTextureProperties(const Texture& texture) override;
 
   /**
    * @copydoc Dali::Graphics::Controller::GetPipelineReflection()
    */
-
   [[nodiscard]] const Reflection& GetProgramReflection(const Graphics::Program& program) override;
 
   /**
index 398735e..8da8d2c 100644 (file)
@@ -144,7 +144,7 @@ public:
 
   Format ValidateFormat(Format sourceFormat);
 
-  bool IsCompressed()
+  bool IsCompressed() const
   {
     return mIsCompressed;
   }