{
Texture texture = Texture::New(type, format, width, height);
- int bufferSize = width * height * 2;
+ int bufferSize = width * height * GetBytesPerPixel(format);
uint8_t* buffer = reinterpret_cast<uint8_t*>(malloc(bufferSize));
PixelData pixelData = PixelData::New(buffer, bufferSize, width, height, format, PixelData::FREE);
texture.Upload(pixelData, 0u, 0u, 0u, 0u, width, height);
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 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.
{
if(mCreateInfo.nativeImagePtr)
{
- /***********************************************************************************
- * If the native image source changes, we need to re-create the texture. *
- * In EGL, this is done in native image implementation in PrepareTexture below. *
- * *
- * In Vulkan impl, this was done in dali-core side. I think we should make this *
- * work in the graphics implementation instead. *
- ***********************************************************************************/
- if(mCreateInfo.nativeImagePtr->SourceChanged())
- {
- uint32_t width = mCreateInfo.nativeImagePtr->GetWidth();
- uint32_t height = mCreateInfo.nativeImagePtr->GetHeight();
- mCreateInfo.SetSize({width, height}); // Size may change
-
- // @todo Re-initialize this texture from the new create info.
- }
-
// Ensure the native image is up-to-date
mCreateInfo.nativeImagePtr->PrepareTexture();
}
#define DALI_TEST_GRAPHICS_TEXTURE_H
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 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.
void Bind(uint32_t textureUnit);
/**
- * Prepare ensures that the native texture is updated if necessary (SourceChanged)
+ * Prepare ensures that the native texture is updated if necessary
*/
void Prepare();
#define TEST_NATIVE_IMAGE_H
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 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.
};
inline bool SourceChanged() const override
{
- return false;
+ return true;
};
+ inline Rect<uint32_t> GetUpdatedArea() override
+ {
+ return mUpdatedArea;
+ }
+
inline virtual Dali::NativeImageInterface::Extension* GetExtension()
{
return nullptr;
}
+ inline void SetUpdatedArea(const Rect<uint32_t>& updatedArea)
+ {
+ mUpdatedArea = updatedArea;
+ }
+
private:
TestNativeImage(uint32_t width, uint32_t height);
virtual ~TestNativeImage();
- uint32_t mWidth;
- uint32_t mHeight;
+ uint32_t mWidth;
+ uint32_t mHeight;
+ Rect<uint32_t> mUpdatedArea{};
public:
int32_t mExtensionCreateCalls;