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", "");
#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.
*
* @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
}
}
+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();
/**
* @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;
/**
Format ValidateFormat(Format sourceFormat);
- bool IsCompressed()
+ bool IsCompressed() const
{
return mIsCompressed;
}