Allow Capture files to be built for Vulkan too 30/316730/1
authorAdeel Kazmi <adeel.kazmi@samsung.com>
Tue, 17 Dec 2024 15:21:57 +0000 (15:21 +0000)
committerAdeel Kazmi <adeel.kazmi@samsung.com>
Tue, 17 Dec 2024 15:22:00 +0000 (15:22 +0000)
- Added a check when creating Capture to only work with the GLES backend for now
- Only reason Capture taken out was because of NativeImage which is compiled in for
  Vulkan, just not implemented yet.

Change-Id: Id471d44030ae9115e194deecd4ab6cf17f5eda08

16 files changed:
build/tizen/profiles/android-profile.cmake
build/tizen/profiles/common-profile.cmake
build/tizen/profiles/glib-x11-profile.cmake
build/tizen/profiles/ivi-profile.cmake
build/tizen/profiles/libuv-x11-profile.cmake
build/tizen/profiles/macos-profile.cmake
build/tizen/profiles/mobile-profile.cmake
build/tizen/profiles/tv-profile.cmake
build/tizen/profiles/ubuntu-profile.cmake
build/tizen/profiles/wearable-profile.cmake
build/tizen/profiles/windows-profile.cmake
dali/devel-api/file.list
dali/internal/system/common/capture-impl.cpp
dali/internal/system/file.list
dali/internal/system/vulkan/capture-vk-impl.cpp [deleted file]
dali/public-api/file.list

index b4cd9008aa86d91328294b41f38950af1037377e..33ce625d8f18efca08816aeeb42cbe6349aa072e 100644 (file)
@@ -48,9 +48,7 @@ SET( SOURCES
         ${static_libraries_libunibreak_src_files}
         ${adaptor_addons_common_src_files}
         ${adaptor_addons_dummy_src_files}
-        ${adaptor_public_api_egl_src_files}
         ${adaptor_devel_api_egl_src_files}
-        ${adaptor_system_common_egl_src_files}
         ${adaptor_window_system_common_egl_src_files}
 )
 
index b9d8077684f5702b3921106ef79777935017259d..6c39dd59248474fd270bb65c6c5b737747010d53 100644 (file)
@@ -62,9 +62,7 @@ ELSE()
     ${adaptor_graphics_gles_src_files}
     ${adaptor_graphics_tizen_src_files}
     ${adaptor_imaging_tizen_egl_src_files}
-    ${adaptor_public_api_egl_src_files}
     ${adaptor_devel_api_egl_src_files}
-    ${adaptor_system_common_egl_src_files}
     ${adaptor_window_system_common_egl_src_files}
     ${adaptor_window_system_tizen_wayland_egl_src_files}
   )
index 110acb12a4bc6585be66c63f110654f6a004f09b..775d8d027193caff8a061547127ab2c158ef1c38 100644 (file)
@@ -55,12 +55,10 @@ IF( ENABLE_VULKAN )
   )
 ELSE()
   SET(SOURCES ${SOURCES}
-    ${adaptor_public_api_egl_src_files}
     ${adaptor_devel_api_egl_src_files}
     ${adaptor_graphics_gl_src_files}
     ${adaptor_graphics_glib_x11_src_files}
     ${adaptor_imaging_x11_src_files}
-    ${adaptor_system_common_egl_src_files}
     ${adaptor_window_system_common_egl_src_files}
     ${adaptor_window_system_x11_egl_src_files}
   )
index aca472eded5a7ba47a9cb8826a24aa1aa20e0924..cf8092a59191e6a238a6f3f8d13eaad9d2353f72 100644 (file)
@@ -63,9 +63,7 @@ ELSE()
     ${adaptor_graphics_gles_src_files}
     ${adaptor_graphics_tizen_src_files}
     ${adaptor_imaging_tizen_egl_src_files}
-    ${adaptor_public_api_egl_src_files}
     ${adaptor_devel_api_egl_src_files}
-    ${adaptor_system_common_egl_src_files}
     ${adaptor_window_system_common_egl_src_files}
     ${adaptor_window_system_tizen_wayland_egl_src_files}
   )
index b5867580a5375618cbf41c24fcaa8c92a74d421a..7cc9876f8f0cff9405f549ce1d549a477efe7364 100644 (file)
@@ -56,8 +56,6 @@ IF( ENABLE_VULKAN )
     )
 ELSE()
   SET(SOURCES ${SOURCES}
-    ${adaptor_public_api_egl_src_files}
-
     ${adaptor_devel_api_egl_src_files}
 
     ${adaptor_graphics_gles_src_files}
@@ -65,8 +63,6 @@ ELSE()
 
     ${adaptor_imaging_x11_egl_src_files}
 
-    ${adaptor_system_common_egl_src_files}
-
     ${adaptor_window_system_x11_egl_src_files}
     ${adaptor_window_system_common_egl_src_files}
   )
index 1af93ecdcd718cbe96bb48696a68a03769478dd8..5783e01499c21de498e7e7a056e2aa4c030445ba 100644 (file)
@@ -49,9 +49,7 @@ SET( SOURCES
         ${adaptor_addons_common_src_files}
         ${adaptor_addons_macos_src_files}
         ${static_libraries_libunibreak_src_files}
-        ${adaptor_public_api_egl_src_files}
         ${adaptor_devel_api_egl_src_files}
-        ${adaptor_system_common_egl_src_files}
         ${adaptor_window_system_common_egl_src_files}
 )
 
index 31bb42cb85145067ca0996c095a6de35aa74d721..cf7fe5e8830c7d6f4c36e757c451a2de4ac86a99 100644 (file)
@@ -62,9 +62,7 @@ ELSE()
     ${adaptor_graphics_gles_src_files}
     ${adaptor_graphics_tizen_src_files}
     ${adaptor_imaging_tizen_egl_src_files}
-    ${adaptor_public_api_egl_src_files}
     ${adaptor_devel_api_egl_src_files}
-    ${adaptor_system_common_egl_src_files}
     ${adaptor_window_system_common_egl_src_files}
     ${adaptor_window_system_tizen_wayland_egl_src_files}
   )
index 6976487c7f179c3d5687ad34199601b4ff789f24..8997fccaee49f02aa372299e646b3bd5bade988f 100644 (file)
@@ -62,9 +62,7 @@ ELSE()
     ${adaptor_graphics_gles_src_files}
     ${adaptor_graphics_tizen_src_files}
     ${adaptor_imaging_tizen_egl_src_files}
-    ${adaptor_public_api_egl_src_files}
     ${adaptor_devel_api_egl_src_files}
-    ${adaptor_system_common_egl_src_files}
     ${adaptor_window_system_common_egl_src_files}
     ${adaptor_window_system_tizen_wayland_egl_src_files}
   )
index 9024a912811542303932cf57a0a995adbd92cd22..504d777a1bbd67c88145474b8e7df0b26041bfb5 100644 (file)
@@ -58,13 +58,11 @@ IF( ENABLE_VULKAN )
     )
 ELSE()
   SET(SOURCES ${SOURCES}
-    ${adaptor_public_api_egl_src_files}
     ${adaptor_devel_api_egl_src_files}
     ${adaptor_graphics_gles_src_files}
     ${adaptor_graphics_ubuntu_src_files}
     ${adaptor_imaging_ubuntu_x11_src_files}
     ${adaptor_imaging_ubuntu_x11_egl_src_files}
-    ${adaptor_system_common_egl_src_files}
     ${adaptor_window_system_common_egl_src_files}
     ${adaptor_window_system_ubuntu_x11_egl_src_files}
     )
index 5bef6dab6ca88eb01651957efda2f2c7ed8e05bb..ef8248d1499aeee1d9fcf38c8e4379b17e0fac55 100644 (file)
@@ -64,9 +64,7 @@ ELSE()
     ${adaptor_graphics_gles_src_files}
     ${adaptor_graphics_tizen_src_files}
     ${adaptor_imaging_tizen_egl_src_files}
-    ${adaptor_public_api_egl_src_files}
     ${adaptor_devel_api_egl_src_files}
-    ${adaptor_system_common_egl_src_files}
     ${adaptor_window_system_common_egl_src_files}
     ${adaptor_window_system_tizen_wayland_egl_src_files}
   )
index debd62883e847187597798c8d8573b38b202c46c..70b7d95ab1c71b215496c013f28b69867ba8160f 100644 (file)
@@ -50,9 +50,7 @@ SET( SOURCES
 
 IF(NOT ENABLE_VULKAN)
   SET(SOURCES ${SOURCES}
-    ${adaptor_public_api_egl_src_files}
     ${adaptor_devel_api_egl_src_files}
-    ${adaptor_system_common_egl_src_files}
     ${adaptor_window_system_common_egl_src_files}
   )
 ENDIF()
index fff4c81b98a46a48261203d82f9240114b38a68a..076aea2e5d1d7feaba9ad0165b75a4e96e870948 100755 (executable)
@@ -16,6 +16,7 @@ SET( devel_api_src_files
   ${adaptor_devel_api_dir}/adaptor-framework/application-devel.cpp
   ${adaptor_devel_api_dir}/adaptor-framework/atspi-accessibility.cpp
   ${adaptor_devel_api_dir}/adaptor-framework/bitmap-saver.cpp
+  ${adaptor_devel_api_dir}/adaptor-framework/capture-devel.cpp
   ${adaptor_devel_api_dir}/adaptor-framework/clipboard.cpp
   ${adaptor_devel_api_dir}/adaptor-framework/drag-and-drop.cpp
   ${adaptor_devel_api_dir}/adaptor-framework/color-controller.cpp
@@ -55,7 +56,6 @@ SET( devel_api_src_files
 )
 
 SET( adaptor_devel_api_egl_src_files
-  ${adaptor_devel_api_dir}/adaptor-framework/capture-devel.cpp
   ${adaptor_devel_api_dir}/adaptor-framework/gl-window.cpp
 )
 
index 9b0ae56dec84feb8d8817c5efbadbda9665db2aa..ee1955610e2d5be34f816ed9ef00d74c4ddca41c 100644 (file)
@@ -32,6 +32,7 @@
 #include <dali/devel-api/adaptor-framework/window-devel.h>
 #include <dali/integration-api/adaptor-framework/adaptor.h>
 #include <dali/internal/adaptor/common/adaptor-impl.h>
+#include <dali/public-api/adaptor-framework/graphics-backend.h>
 
 namespace Dali
 {
@@ -41,8 +42,8 @@ namespace Adaptor
 {
 namespace
 {
-static constexpr uint32_t ORDER_INDEX_CAPTURE_RENDER_TASK              = 1000;
-constexpr uint32_t        TIME_OUT_DURATION                            = 1000;
+static constexpr uint32_t ORDER_INDEX_CAPTURE_RENDER_TASK = 1000;
+constexpr uint32_t        TIME_OUT_DURATION               = 1000;
 } // namespace
 
 Capture::Capture()
@@ -77,6 +78,8 @@ Capture::~Capture()
 
 CapturePtr Capture::New()
 {
+  DALI_ASSERT_ALWAYS(Graphics::GetCurrentGraphicsBackend() == Graphics::Backend::GLES && "Only GLES Backend Supported");
+
   CapturePtr pWorker = new Capture();
 
   return pWorker;
@@ -84,6 +87,8 @@ CapturePtr Capture::New()
 
 CapturePtr Capture::New(Dali::CameraActor cameraActor)
 {
+  DALI_ASSERT_ALWAYS(Graphics::GetCurrentGraphicsBackend() == Graphics::Backend::GLES && "Only GLES Backend Supported");
+
   CapturePtr pWorker = new Capture(cameraActor);
 
   return pWorker;
@@ -160,8 +165,8 @@ Dali::NativeImageSourcePtr Capture::GetNativeImageSource()
     Dali::PixelData pixelData = mRenderTask.GetRenderResult();
     if(pixelData)
     {
-      auto pixelDataBuffer = Dali::Integration::GetPixelDataBuffer(pixelData);
-      NativeImageSourcePtr nativeImageSourcePtr = Dali::NativeImageSource::New(pixelData.GetWidth(), pixelData.GetHeight(), Dali::NativeImageSource::COLOR_DEPTH_32);  // Texture pixel format is RGBA8888
+      auto                 pixelDataBuffer      = Dali::Integration::GetPixelDataBuffer(pixelData);
+      NativeImageSourcePtr nativeImageSourcePtr = Dali::NativeImageSource::New(pixelData.GetWidth(), pixelData.GetHeight(), Dali::NativeImageSource::COLOR_DEPTH_32); // Texture pixel format is RGBA8888
 
       if(Dali::DevelNativeImageSource::SetPixels(*nativeImageSourcePtr, pixelDataBuffer.buffer, pixelData.GetPixelFormat()))
       {
index 7e13f91ec8755317db30a157d21a65381f380210..00b61e99d0dd41964aa96adb48cbe5007402d53b 100644 (file)
@@ -1,6 +1,7 @@
 # module: system, backend: common
 SET( adaptor_system_common_src_files
     ${adaptor_system_dir}/common/abort-handler.cpp
+    ${adaptor_system_dir}/common/capture-impl.cpp
     ${adaptor_system_dir}/common/color-controller-impl.cpp
     ${adaptor_system_dir}/common/command-line-options.cpp
     ${adaptor_system_dir}/common/configuration-manager.cpp
@@ -26,16 +27,6 @@ SET( adaptor_system_common_src_files
     ${adaptor_system_dir}/common/texture-upload-manager-impl.cpp
 )
 
-# module: system, backend: egl
-SET( adaptor_system_common_egl_src_files
-    ${adaptor_system_dir}/common/capture-impl.cpp
-)
-
-# module: system, backend: vulkan
-SET( adaptor_system_common_vulkan_src_files
-    ${adaptor_system_dir}/vulkan/capture-vk-impl.cpp
-)
-
 # module: system, backend: linux
 SET( adaptor_system_linux_src_files
     ${adaptor_system_dir}/common/shared-file.cpp
diff --git a/dali/internal/system/vulkan/capture-vk-impl.cpp b/dali/internal/system/vulkan/capture-vk-impl.cpp
deleted file mode 100644 (file)
index 912649a..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright (c) 2024 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// CLASS HEADER
-#include <dali/internal/system/common/capture-impl.h>
-
-// EXTERNAL INCLUDES
-#include <dali/integration-api/debug.h>
-#include <dali/public-api/common/vector-wrapper.h>
-#include <dali/public-api/render-tasks/render-task-list.h>
-#include <string.h>
-#include <fstream>
-
-// INTERNAL INCLUDES
-#include <dali/devel-api/adaptor-framework/bitmap-saver.h>
-#include <dali/devel-api/adaptor-framework/native-image-source-devel.h>
-#include <dali/devel-api/adaptor-framework/window-devel.h>
-#include <dali/integration-api/adaptor-framework/adaptor.h>
-#include <dali/internal/adaptor/common/adaptor-impl.h>
-
-namespace Dali
-{
-namespace Internal
-{
-namespace Adaptor
-{
-namespace
-{
-constexpr int32_t  SHADER_VERSION_NATIVE_IMAGE_SOURCE_AVAILABLE = 300;
-constexpr uint32_t TIME_OUT_DURATION                            = 1000;
-} // namespace
-
-Capture::Capture()
-: mQuality(DEFAULT_QUALITY),
-  mTimer(),
-  mPath(),
-  mNativeImageSourcePtr(nullptr),
-  mFileSave(false),
-  mUseDefaultCamera(true),
-  mSceneOffCameraAfterCaptureFinished(false)
-{
-}
-
-Capture::Capture(Dali::CameraActor cameraActor)
-: mQuality(DEFAULT_QUALITY),
-  mCameraActor(cameraActor),
-  mTimer(),
-  mPath(),
-  mNativeImageSourcePtr(nullptr),
-  mFileSave(false),
-  mUseDefaultCamera(!cameraActor),
-  mSceneOffCameraAfterCaptureFinished(false)
-{
-}
-
-Capture::~Capture()
-{
-}
-
-CapturePtr Capture::New()
-{
-  CapturePtr pWorker = new Capture();
-
-  return pWorker;
-}
-
-CapturePtr Capture::New(Dali::CameraActor cameraActor)
-{
-  CapturePtr pWorker = new Capture(cameraActor);
-
-  return pWorker;
-}
-
-void Capture::Start(Dali::Actor source, const Dali::Vector2& position, const Dali::Vector2& size, const std::string& path, const Dali::Vector4& clearColor, const uint32_t quality)
-{
-}
-
-void Capture::Start(Dali::Actor source, const Dali::Vector2& position, const Dali::Vector2& size, const std::string& path, const Dali::Vector4& clearColor)
-{
-}
-
-void Capture::SetImageQuality(uint32_t quality)
-{
-}
-
-Dali::NativeImageSourcePtr Capture::GetNativeImageSource() const
-{
-  return nullptr;
-}
-
-Dali::Texture Capture::GetTexture() const
-{
-  return Dali::Texture();
-}
-
-Dali::Devel::PixelBuffer Capture::GetCapturedBuffer()
-{
-  return Dali::Devel::PixelBuffer();
-}
-
-Dali::Capture::CaptureFinishedSignalType& Capture::FinishedSignal()
-{
-  return mFinishedSignal;
-}
-
-void Capture::CreateTexture(const Vector2& size)
-{
-}
-
-void Capture::DeleteNativeImageSource()
-{
-}
-
-void Capture::CreateFrameBuffer()
-{
-}
-
-void Capture::DeleteFrameBuffer()
-{
-}
-
-bool Capture::IsFrameBufferCreated()
-{
-  return false;
-}
-
-void Capture::SetupRenderTask(const Dali::Vector2& position, const Dali::Vector2& size, Dali::Actor source, const Dali::Vector4& clearColor)
-{
-}
-
-void Capture::UnsetRenderTask()
-{
-}
-
-bool Capture::IsRenderTaskSetup()
-{
-  return false;
-}
-
-void Capture::SetupResources(const Dali::Vector2& position, const Dali::Vector2& size, const Dali::Vector4& clearColor, Dali::Actor source)
-{
-}
-
-void Capture::UnsetResources()
-{
-}
-
-void Capture::OnRenderFinished(Dali::RenderTask& task)
-{
-}
-
-bool Capture::OnTimeOut()
-{
-  return false;
-}
-
-bool Capture::SaveFile()
-{
-  return false;
-}
-
-} // End of namespace Adaptor
-
-} // End of namespace Internal
-
-} // End of namespace Dali
index cba5dcb55a3e553365f5d2b71e4a35d26fd1d733..45e2e43ed2367dc4b16718c423910e46c03017a2 100644 (file)
@@ -14,11 +14,8 @@ SET( adaptor_public_api_src_files
   ${adaptor_public_api_dir}/adaptor-framework/widget-impl.cpp
   ${adaptor_public_api_dir}/adaptor-framework/async-task-manager.cpp
   ${adaptor_public_api_dir}/adaptor-framework/window-data.cpp
-  ${adaptor_public_api_dir}/dali-adaptor-version.cpp
-)
-
-SET( adaptor_public_api_egl_src_files
   ${adaptor_public_api_dir}/capture/capture.cpp
+  ${adaptor_public_api_dir}/dali-adaptor-version.cpp
 )
 
 SET( public_api_header_files