/*
- * 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.
{
namespace
{
-const char* FRAGMENT_PREFIX = "#extension GL_OES_EGL_image_external:require\n";
-const char* SAMPLER_TYPE = "samplerExternalOES";
+const char* SAMPLER_TYPE = "samplerExternalOES";
// clang-format off
tbm_format FORMATS_BLENDING_REQUIRED[] = {
mEglImageExtensions(NULL),
mSetSource(false),
mMutex(),
- mIsBufferAcquired(false)
+ mIsBufferAcquired(false),
+ mResourceDestructionCallback()
+
{
DALI_ASSERT_ALWAYS(Adaptor::IsAvailable());
mEglImageKHR = NULL;
}
+
+ if(mResourceDestructionCallback)
+ {
+ mResourceDestructionCallback->Trigger();
+ }
}
uint32_t NativeImageSourceTizen::TargetTexture()
}
}
-const char* NativeImageSourceTizen::GetCustomFragmentPrefix() const
+bool NativeImageSourceTizen::ApplyNativeFragmentShader(std::string& shader)
{
- return FRAGMENT_PREFIX;
+ return mEglGraphics->ApplyNativeFragmentShader(shader, SAMPLER_TYPE);
}
const char* NativeImageSourceTizen::GetCustomSamplerTypename() const
return ret;
}
+void NativeImageSourceTizen::SetResourceDestructionCallback(EventThreadCallback* callback)
+{
+ Dali::Mutex::ScopedLock lock(mMutex);
+ mResourceDestructionCallback = std::unique_ptr<EventThreadCallback>(callback);
+}
+
} // namespace Adaptor
} // namespace Internal