Vulkan Tizen Build 17/318817/12
authorAdeel Kazmi <adeel.kazmi@samsung.com>
Thu, 10 Oct 2024 16:05:22 +0000 (17:05 +0100)
committerAdeel Kazmi <adeel.kazmi@samsung.com>
Wed, 20 Nov 2024 13:39:01 +0000 (13:39 +0000)
Change-Id: Ia119b4914d1f958a6e9ab726dd96934f7f3bb93d

19 files changed:
build/tizen/deps-check.cmake
build/tizen/profiles/common-profile.cmake
build/tizen/profiles/ivi-profile.cmake
build/tizen/profiles/mobile-profile.cmake
build/tizen/profiles/tv-profile.cmake
build/tizen/profiles/wearable-profile.cmake
dali/internal/graphics/vulkan/wayland/vk-surface-wayland.cpp
dali/internal/imaging/file.list
dali/internal/imaging/tizen/native-image-source-factory-tizen-vulkan.cpp [new file with mode: 0644]
dali/internal/imaging/tizen/native-image-source-factory-tizen-vulkan.h [new file with mode: 0644]
dali/internal/system/common/async-task-manager-impl.cpp
dali/internal/window-system/file.list
dali/internal/window-system/tizen-wayland/display-connection-impl-ecore-wl.cpp
dali/internal/window-system/tizen-wayland/display-connection-impl-ecore-wl.h
dali/internal/window-system/tizen-wayland/ecore-wl2/render-surface-factory-ecore-wl2.cpp
dali/internal/window-system/tizen-wayland/native-image-surface-factory-ecore-wl.cpp
dali/internal/window-system/tizen-wayland/native-image-surface-impl-ecore-wl.cpp
dali/internal/window-system/tizen-wayland/native-image-surface-impl-ecore-wl.h
packaging/dali-adaptor.spec

index 7efb2de286393375d3b300f1a2db6292708e9e02..c74c696395f4dee51f75e8e1f4ad5ec28d98946d 100644 (file)
@@ -524,7 +524,7 @@ IF(enable_vulkan)
 #                           -Wno-weak-vtables
   # Warnings that cause issues with vulkan.hpp. Double check when we upgrade.
   ADD_COMPILE_OPTIONS($<$<COMPILE_LANGUAGE:CXX>:-Wno-init-list-lifetime>)
-  ADD_COMPILE_OPTIONS(-Werror)
+  ADD_COMPILE_OPTIONS(-Werror -Wno-deprecated-declarations)
   INCLUDE(CheckCXXCompilerFlag)
   CHECK_CXX_COMPILER_FLAG(-Wno-class-memaccess HAVE_NO_CLASS_MEMACCESS)
   IF (HAVE_NO_CLASS_MEMACCESS)
@@ -547,7 +547,7 @@ IF(enable_glslang)
   # package configuration.
   IF(NOT GLSLANG_LDFLAGS)
     FIND_PACKAGE(glslang)
-    SET(DALI_LDFLAGS ${DALI_LDFLAGS} glslang::glslang )
+    SET(DALI_LDFLAGS ${DALI_LDFLAGS} glslang::glslang glslang::SPIRV glslang::glslang-default-resource-limits)
   ELSE()
     # On Ubuntu 22.04 glslang seems to be horribly broken, pc file doesn't include
     # all needed deps and SPIRV-Tools package is needed
index d73d206358630fd12c6063d2212d1af84082d4ee..f08a389b2d864909f4002a1aac9ba9588f4b0c79 100644 (file)
@@ -1,4 +1,4 @@
-# PROFILE: IVI
+# PROFILE: COMMON
 
 # Set the sources
 SET( SOURCES
@@ -14,8 +14,6 @@ SET( SOURCES
     ${devel_api_src_files}
     ${adaptor_devel_api_text_abstraction_src_files}
     ${adaptor_graphics_common_src_files}
-    ${adaptor_graphics_gles_src_files}
-    ${adaptor_graphics_tizen_src_files}
     ${adaptor_haptics_common_src_files}
     ${adaptor_imaging_common_src_files}
     ${adaptor_imaging_tizen_src_files}
@@ -45,63 +43,74 @@ SET( SOURCES
     ${adaptor_trace_common_src_files}
     ${adaptor_thread_common_src_files}
     ${adaptor_thread_linux_src_files}
+    ${devel_api_text_abstraction_src_files}
     ${adaptor_addons_common_src_files}
     ${adaptor_addons_tizen_src_files}
-    ${devel_api_text_abstraction_src_files}
     ${static_libraries_libunibreak_src_files}
-     )
+)
 
-IF(NOT ENABLE_VULKAN)
+IF( ENABLE_VULKAN )
   SET(SOURCES ${SOURCES}
+    ${adaptor_graphics_vulkan_src_files}
+    ${adaptor_graphics_vulkan_wayland_src_files}
+    ${adaptor_imaging_tizen_vulkan_src_files}
+    ${adaptor_libraries_spirv_reflect_src_files}
+  )
+ELSE()
+  SET(SOURCES ${SOURCES}
+    ${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}
   )
 ENDIF()
 
 IF( ENABLE_VECTOR_BASED_TEXT_RENDERING )
     SET( SOURCES ${SOURCES}
-         ${static_libraries_glyphy_src_files}
-         )
+        ${static_libraries_glyphy_src_files}
+    )
 ENDIF()
 
 IF( NOT thorvg_support)
     SET( SOURCES ${SOURCES}
-         ${static_libraries_nanosvg_src_files}
-         )
+        ${static_libraries_nanosvg_src_files}
+    )
 ENDIF()
 
 IF( enable_ecore_wayland2 )
     SET( SOURCES ${SOURCES}
-         ${adaptor_window_system_ecore_wl2_src_files}
-         )
+        ${adaptor_window_system_ecore_wl2_src_files}
+    )
 ELSE()
     SET( SOURCES ${SOURCES}
-         ${adaptor_window_system_ecore_wl_src_files}
-         )
+        ${adaptor_window_system_ecore_wl_src_files}
+    )
 ENDIF()
 
 IF( ENABLE_NETWORK_LOGGING )
     SET( SOURCES ${SOURCES}
-         ${adaptor_performance_logging_src_files}
-         )
+        ${adaptor_performance_logging_src_files}
+    )
 ENDIF()
 
 IF( ENABLE_TRACE_STREAMLINE )
     SET( SOURCES ${SOURCES}
-         ${adaptor_trace_tizen_streamline_src_files}
-         )
+        ${adaptor_trace_tizen_streamline_src_files}
+    )
 ELSEIF( ENABLE_TRACE )
     SET( SOURCES ${SOURCES}
-         ${adaptor_trace_tizen_src_files}
-         )
+        ${adaptor_trace_tizen_src_files}
+    )
 ENDIF()
 
 IF( COMPONENT_APPLICATION_SUPPORT )
     SET( SOURCES ${SOURCES}
         ${adaptor_adaptor_component_application_src_files}
-      )
+    )
 ENDIF()
 
 # Set the linker flags
index f1261452064093b4d0c1147324cf5d9b971a6599..ee87d9b8275f1579b3f6f3b27c6af78168267cef 100644 (file)
 
 # Set the sources
 SET( SOURCES
-     ${adaptor_accessibility_common_src_files}
-     ${adaptor_accessibility_tizen_wayland_src_files}
-     ${adaptor_accessibility_tizen_ivi_src_files}
-     ${adaptor_adaptor_common_src_files}
-     ${adaptor_adaptor_tizen_wayland_src_files}
-     ${adaptor_canvas_renderer_tizen_src_files}
-     ${adaptor_clipboard_tizen_wayland_src_files}
-     ${adaptor_drag_and_drop_tizen_wayland_src_files}
-     ${adaptor_framework_generic_src_files}
-     ${devel_api_src_files}
-     ${adaptor_devel_api_text_abstraction_src_files}
-     ${adaptor_graphics_common_src_files}
-     ${adaptor_graphics_gles_src_files}
-     ${adaptor_graphics_tizen_src_files}
-     ${adaptor_haptics_common_src_files}
-     ${adaptor_haptics_tizen_src_files}
-     ${adaptor_imaging_common_src_files}
-     ${adaptor_imaging_tizen_src_files}
-     ${adaptor_input_common_src_files}
-     ${adaptor_input_tizen_wayland_src_files}
-     ${adaptor_integration_api_src_files}
-     ${adaptor_legacy_common_src_files}
-     ${adaptor_network_common_src_files}
-     ${adaptor_offscreen_common_src_files}
-     ${adaptor_public_api_src_files}
-     ${adaptor_sensor_common_src_files}
-     ${adaptor_sensor_tizen_src_files}
-     ${adaptor_styling_common_src_files}
-     ${adaptor_system_common_src_files}
-     ${adaptor_system_linux_src_files}
-     ${adaptor_system_tizen_wayland_src_files}
-     ${adaptor_text_common_src_files}
-     ${adaptor_resampler_src_files}
-     ${adaptor_vector_animation_common_src_files}
-     ${adaptor_vector_image_common_src_files}
-     ${adaptor_video_common_src_files}
-     ${adaptor_camera_common_src_files}
-     ${adaptor_web_engine_common_src_files}
-     ${adaptor_window_system_common_src_files}
-     ${adaptor_window_system_tizen_src_files}
-     ${adaptor_window_system_tizen_wayland_src_files}
-     ${adaptor_trace_common_src_files}
-     ${adaptor_thread_common_src_files}
-     ${adaptor_thread_linux_src_files}
-     ${adaptor_addons_common_src_files}
-     ${adaptor_addons_tizen_src_files}
-     ${devel_api_text_abstraction_src_files}
-     ${static_libraries_libunibreak_src_files}
-     )
+    ${adaptor_accessibility_common_src_files}
+    ${adaptor_accessibility_tizen_wayland_src_files}
+    ${adaptor_accessibility_tizen_ivi_src_files}
+    ${adaptor_adaptor_common_src_files}
+    ${adaptor_adaptor_tizen_wayland_src_files}
+    ${adaptor_canvas_renderer_tizen_src_files}
+    ${adaptor_clipboard_tizen_wayland_src_files}
+    ${adaptor_drag_and_drop_tizen_wayland_src_files}
+    ${adaptor_framework_generic_src_files}
+    ${devel_api_src_files}
+    ${adaptor_devel_api_text_abstraction_src_files}
+    ${adaptor_graphics_common_src_files}
+    ${adaptor_haptics_common_src_files}
+    ${adaptor_haptics_tizen_src_files}
+    ${adaptor_imaging_common_src_files}
+    ${adaptor_imaging_tizen_src_files}
+    ${adaptor_input_common_src_files}
+    ${adaptor_input_tizen_wayland_src_files}
+    ${adaptor_integration_api_src_files}
+    ${adaptor_legacy_common_src_files}
+    ${adaptor_network_common_src_files}
+    ${adaptor_offscreen_common_src_files}
+    ${adaptor_public_api_src_files}
+    ${adaptor_sensor_common_src_files}
+    ${adaptor_sensor_tizen_src_files}
+    ${adaptor_styling_common_src_files}
+    ${adaptor_system_common_src_files}
+    ${adaptor_system_linux_src_files}
+    ${adaptor_system_tizen_wayland_src_files}
+    ${adaptor_text_common_src_files}
+    ${adaptor_resampler_src_files}
+    ${adaptor_vector_animation_common_src_files}
+    ${adaptor_vector_image_common_src_files}
+    ${adaptor_video_common_src_files}
+    ${adaptor_camera_common_src_files}
+    ${adaptor_web_engine_common_src_files}
+    ${adaptor_window_system_common_src_files}
+    ${adaptor_window_system_tizen_src_files}
+    ${adaptor_window_system_tizen_wayland_src_files}
+    ${adaptor_trace_common_src_files}
+    ${adaptor_thread_common_src_files}
+    ${adaptor_thread_linux_src_files}
+    ${devel_api_text_abstraction_src_files}
+    ${adaptor_addons_common_src_files}
+    ${adaptor_addons_tizen_src_files}
+    ${static_libraries_libunibreak_src_files}
+)
 
-IF(NOT ENABLE_VULKAN)
+IF( ENABLE_VULKAN )
   SET(SOURCES ${SOURCES}
+    ${adaptor_graphics_vulkan_src_files}
+    ${adaptor_graphics_vulkan_wayland_src_files}
+    ${adaptor_imaging_tizen_vulkan_src_files}
+    ${adaptor_libraries_spirv_reflect_src_files}
+  )
+ELSE()
+  SET(SOURCES ${SOURCES}
+    ${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}
   )
 ENDIF()
 
-
 IF( ENABLE_VECTOR_BASED_TEXT_RENDERING )
     SET( SOURCES ${SOURCES}
-         ${static_libraries_glyphy_src_files}
-         )
+        ${static_libraries_glyphy_src_files}
+    )
 ENDIF()
 
 IF( NOT thorvg_support)
     SET( SOURCES ${SOURCES}
-         ${static_libraries_nanosvg_src_files}
-         )
+        ${static_libraries_nanosvg_src_files}
+    )
 ENDIF()
 
 IF( enable_ecore_wayland2 )
     SET( SOURCES ${SOURCES}
-         ${adaptor_window_system_ecore_wl2_src_files}
-         )
+        ${adaptor_window_system_ecore_wl2_src_files}
+    )
 ELSE()
     SET( SOURCES ${SOURCES}
-         ${adaptor_window_system_ecore_wl_src_files}
-         )
+        ${adaptor_window_system_ecore_wl_src_files}
+    )
 ENDIF()
 
 IF( ENABLE_NETWORK_LOGGING )
     SET( SOURCES ${SOURCES}
-         ${adaptor_performance_logging_src_files}
-         )
+        ${adaptor_performance_logging_src_files}
+    )
 ENDIF()
 
 IF( ENABLE_TRACE_STREAMLINE )
     SET( SOURCES ${SOURCES}
-         ${adaptor_trace_tizen_streamline_src_files}
-         )
+        ${adaptor_trace_tizen_streamline_src_files}
+    )
 ELSEIF( ENABLE_TRACE )
     SET( SOURCES ${SOURCES}
-         ${adaptor_trace_tizen_src_files}
-         )
+        ${adaptor_trace_tizen_src_files}
+    )
 ENDIF()
 
 IF( COMPONENT_APPLICATION_SUPPORT )
     SET( SOURCES ${SOURCES}
         ${adaptor_adaptor_component_application_src_files}
-      )
+    )
 ENDIF()
index caa04ec307056b5dbdf47ddbedd979a82508ef2c..642a7a8e53b1a428ec4d049fd30624b7be3a2647 100644 (file)
 
 # Set the sources
 SET( SOURCES
-        ${adaptor_accessibility_common_src_files}
-        ${adaptor_accessibility_tizen_wayland_src_files}
-        ${adaptor_accessibility_tizen_mobile_src_files}
-        ${adaptor_adaptor_common_src_files}
-        ${adaptor_adaptor_tizen_wayland_src_files}
-        ${adaptor_canvas_renderer_tizen_src_files}
-        ${adaptor_clipboard_tizen_wayland_src_files}
-        ${adaptor_drag_and_drop_tizen_wayland_src_files}
-        ${adaptor_framework_generic_src_files}
-        ${devel_api_src_files}
-        ${adaptor_devel_api_text_abstraction_src_files}
-        ${adaptor_graphics_common_src_files}
-        ${adaptor_graphics_gles_src_files}
-        ${adaptor_graphics_tizen_src_files}
-        ${adaptor_haptics_common_src_files}
-        ${adaptor_imaging_common_src_files}
-        ${adaptor_imaging_tizen_src_files}
-        ${adaptor_input_common_src_files}
-        ${adaptor_input_tizen_wayland_src_files}
-        ${adaptor_integration_api_src_files}
-        ${adaptor_legacy_common_src_files}
-        ${adaptor_network_common_src_files}
-        ${adaptor_offscreen_common_src_files}
-        ${adaptor_public_api_src_files}
-        ${adaptor_sensor_common_src_files}
-        ${adaptor_sensor_tizen_src_files}
-        ${adaptor_styling_common_src_files}
-        ${adaptor_system_common_src_files}
-        ${adaptor_system_linux_src_files}
-        ${adaptor_system_tizen_wayland_src_files}
-        ${adaptor_text_common_src_files}
-        ${adaptor_resampler_src_files}
-        ${adaptor_vector_animation_common_src_files}
-        ${adaptor_vector_image_common_src_files}
-        ${adaptor_video_common_src_files}
-        ${adaptor_camera_common_src_files}
-        ${adaptor_web_engine_common_src_files}
-        ${adaptor_window_system_common_src_files}
-        ${adaptor_window_system_tizen_src_files}
-        ${adaptor_window_system_tizen_wayland_src_files}
-        ${adaptor_trace_common_src_files}
-        ${adaptor_thread_common_src_files}
-        ${adaptor_thread_linux_src_files}
-        ${adaptor_addons_common_src_files}
-        ${adaptor_addons_tizen_src_files}
-        ${devel_api_text_abstraction_src_files}
-        ${static_libraries_libunibreak_src_files}
+    ${adaptor_accessibility_common_src_files}
+    ${adaptor_accessibility_tizen_wayland_src_files}
+    ${adaptor_accessibility_tizen_mobile_src_files}
+    ${adaptor_adaptor_common_src_files}
+    ${adaptor_adaptor_tizen_wayland_src_files}
+    ${adaptor_canvas_renderer_tizen_src_files}
+    ${adaptor_clipboard_tizen_wayland_src_files}
+    ${adaptor_drag_and_drop_tizen_wayland_src_files}
+    ${adaptor_framework_generic_src_files}
+    ${devel_api_src_files}
+    ${adaptor_devel_api_text_abstraction_src_files}
+    ${adaptor_graphics_common_src_files}
+    ${adaptor_haptics_common_src_files}
+    ${adaptor_imaging_common_src_files}
+    ${adaptor_imaging_tizen_src_files}
+    ${adaptor_input_common_src_files}
+    ${adaptor_input_tizen_wayland_src_files}
+    ${adaptor_integration_api_src_files}
+    ${adaptor_legacy_common_src_files}
+    ${adaptor_network_common_src_files}
+    ${adaptor_offscreen_common_src_files}
+    ${adaptor_public_api_src_files}
+    ${adaptor_sensor_common_src_files}
+    ${adaptor_sensor_tizen_src_files}
+    ${adaptor_styling_common_src_files}
+    ${adaptor_system_common_src_files}
+    ${adaptor_system_linux_src_files}
+    ${adaptor_system_tizen_wayland_src_files}
+    ${adaptor_text_common_src_files}
+    ${adaptor_resampler_src_files}
+    ${adaptor_vector_animation_common_src_files}
+    ${adaptor_vector_image_common_src_files}
+    ${adaptor_video_common_src_files}
+    ${adaptor_camera_common_src_files}
+    ${adaptor_web_engine_common_src_files}
+    ${adaptor_window_system_common_src_files}
+    ${adaptor_window_system_tizen_src_files}
+    ${adaptor_window_system_tizen_wayland_src_files}
+    ${adaptor_trace_common_src_files}
+    ${adaptor_thread_common_src_files}
+    ${adaptor_thread_linux_src_files}
+    ${devel_api_text_abstraction_src_files}
+    ${adaptor_addons_common_src_files}
+    ${adaptor_addons_tizen_src_files}
+    ${static_libraries_libunibreak_src_files}
 )
 
-IF(NOT ENABLE_VULKAN)
+IF( ENABLE_VULKAN )
   SET(SOURCES ${SOURCES}
+    ${adaptor_graphics_vulkan_src_files}
+    ${adaptor_graphics_vulkan_wayland_src_files}
+    ${adaptor_imaging_tizen_vulkan_src_files}
+    ${adaptor_libraries_spirv_reflect_src_files}
+  )
+ELSE()
+  SET(SOURCES ${SOURCES}
+    ${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}
   )
 ENDIF()
 
 IF( ENABLE_VECTOR_BASED_TEXT_RENDERING )
     SET( SOURCES ${SOURCES}
-         ${static_libraries_glyphy_src_files}
-         )
+        ${static_libraries_glyphy_src_files}
+    )
 ENDIF()
 
 IF( NOT thorvg_support)
     SET( SOURCES ${SOURCES}
-         ${static_libraries_nanosvg_src_files}
-         )
+        ${static_libraries_nanosvg_src_files}
+    )
 ENDIF()
 
 IF( enable_ecore_wayland2 )
     SET( SOURCES ${SOURCES}
-         ${adaptor_window_system_ecore_wl2_src_files}
-         )
+        ${adaptor_window_system_ecore_wl2_src_files}
+    )
 ELSE()
     SET( SOURCES ${SOURCES}
-         ${adaptor_window_system_ecore_wl_src_files}
-         )
+        ${adaptor_window_system_ecore_wl_src_files}
+    )
 ENDIF()
 
 IF( ENABLE_NETWORK_LOGGING )
     SET( SOURCES ${SOURCES}
-          ${adaptor_performance_logging_src_files}
+        ${adaptor_performance_logging_src_files}
     )
 ENDIF()
 
 IF( ENABLE_TRACE_STREAMLINE )
     SET( SOURCES ${SOURCES}
-         ${adaptor_trace_tizen_streamline_src_files}
-         )
+        ${adaptor_trace_tizen_streamline_src_files}
+    )
 ELSEIF( ENABLE_TRACE )
     SET( SOURCES ${SOURCES}
-         ${adaptor_trace_tizen_src_files}
-         )
+        ${adaptor_trace_tizen_src_files}
+    )
 ENDIF()
 
 IF( COMPONENT_APPLICATION_SUPPORT )
     SET( SOURCES ${SOURCES}
         ${adaptor_adaptor_component_application_src_files}
-      )
+    )
 ENDIF()
 
 # Set the linker flags
index 687c12891cfed5ecbb8aa4f8a2b63f0aecb2b8cf..e035c8dcf29cc11dd4a0e034e49fe38c2dd98de4 100644 (file)
@@ -14,8 +14,6 @@ SET( SOURCES
     ${devel_api_src_files}
     ${adaptor_devel_api_text_abstraction_src_files}
     ${adaptor_graphics_common_src_files}
-    ${adaptor_graphics_gles_src_files}
-    ${adaptor_graphics_tizen_src_files}
     ${adaptor_haptics_common_src_files}
     ${adaptor_imaging_common_src_files}
     ${adaptor_imaging_tizen_src_files}
@@ -49,59 +47,70 @@ SET( SOURCES
     ${adaptor_addons_common_src_files}
     ${adaptor_addons_tizen_src_files}
     ${static_libraries_libunibreak_src_files}
-     )
+)
 
-IF( NOT ENABLE_VULKAN )
+IF( ENABLE_VULKAN )
+  SET(SOURCES ${SOURCES}
+    ${adaptor_graphics_vulkan_src_files}
+    ${adaptor_graphics_vulkan_wayland_src_files}
+    ${adaptor_imaging_tizen_vulkan_src_files}
+    ${adaptor_libraries_spirv_reflect_src_files}
+  )
+ELSE()
   SET(SOURCES ${SOURCES}
+    ${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}
   )
 ENDIF()
 
 IF( ENABLE_VECTOR_BASED_TEXT_RENDERING )
     SET( SOURCES ${SOURCES}
-         ${static_libraries_glyphy_src_files}
-         )
+        ${static_libraries_glyphy_src_files}
+    )
 ENDIF()
 
 IF( NOT thorvg_support)
     SET( SOURCES ${SOURCES}
-         ${static_libraries_nanosvg_src_files}
-         )
+        ${static_libraries_nanosvg_src_files}
+    )
 ENDIF()
 
 IF( enable_ecore_wayland2 )
     SET( SOURCES ${SOURCES}
-         ${adaptor_window_system_ecore_wl2_src_files}
-         )
+        ${adaptor_window_system_ecore_wl2_src_files}
+    )
 ELSE()
     SET( SOURCES ${SOURCES}
-         ${adaptor_window_system_ecore_wl_src_files}
-         )
+        ${adaptor_window_system_ecore_wl_src_files}
+    )
 ENDIF()
 
 IF( ENABLE_NETWORK_LOGGING )
     SET( SOURCES ${SOURCES}
-         ${adaptor_performance_logging_src_files}
-         )
+        ${adaptor_performance_logging_src_files}
+    )
 ENDIF()
 
 IF( ENABLE_TRACE_STREAMLINE )
     SET( SOURCES ${SOURCES}
-         ${adaptor_trace_tizen_streamline_src_files}
-         )
+        ${adaptor_trace_tizen_streamline_src_files}
+    )
 ELSEIF( ENABLE_TRACE )
     SET( SOURCES ${SOURCES}
-         ${adaptor_trace_tizen_src_files}
-         )
+        ${adaptor_trace_tizen_src_files}
+    )
 ENDIF()
 
 IF( COMPONENT_APPLICATION_SUPPORT )
     SET( SOURCES ${SOURCES}
         ${adaptor_adaptor_component_application_src_files}
-      )
+    )
 ENDIF()
 
 # Set the linker flags
index a2847963321400caaf47432eb907b809c384de03..2fe519cca74dbf2639d89b6cd5e3052dfaa0c3fe 100644 (file)
@@ -8,15 +8,13 @@ SET( SOURCES
     ${adaptor_adaptor_common_src_files}
     ${adaptor_adaptor_tizen_wayland_src_files}
     ${adaptor_adaptor_tizen_wearable_src_files}
+    ${adaptor_canvas_renderer_tizen_src_files}
     ${adaptor_clipboard_tizen_wayland_src_files}
     ${adaptor_drag_and_drop_tizen_wayland_src_files}
-    ${adaptor_canvas_renderer_tizen_src_files}
     ${adaptor_framework_generic_src_files}
     ${devel_api_src_files}
     ${adaptor_devel_api_text_abstraction_src_files}
     ${adaptor_graphics_common_src_files}
-    ${adaptor_graphics_gles_src_files}
-    ${adaptor_graphics_tizen_src_files}
     ${adaptor_haptics_common_src_files}
     ${adaptor_imaging_common_src_files}
     ${adaptor_imaging_tizen_src_files}
@@ -47,61 +45,72 @@ SET( SOURCES
     ${adaptor_trace_common_src_files}
     ${adaptor_thread_common_src_files}
     ${adaptor_thread_linux_src_files}
+    ${devel_api_text_abstraction_src_files}
     ${adaptor_addons_common_src_files}
     ${adaptor_addons_tizen_src_files}
-    ${devel_api_text_abstraction_src_files}
     ${static_libraries_libunibreak_src_files}
 )
 
-IF(NOT ENABLE_VULKAN)
+IF( ENABLE_VULKAN )
   SET(SOURCES ${SOURCES}
-    ${adaptor_system_common_egl_src_files}
-    ${adaptor_window_system_common_egl_src_files}
+    ${adaptor_graphics_vulkan_src_files}
+    ${adaptor_graphics_vulkan_wayland_src_files}
+    ${adaptor_imaging_tizen_vulkan_src_files}
+    ${adaptor_libraries_spirv_reflect_src_files}
+  )
+ELSE()
+  SET(SOURCES ${SOURCES}
+    ${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}
   )
 ENDIF()
 
 IF( ENABLE_VECTOR_BASED_TEXT_RENDERING )
     SET( SOURCES ${SOURCES}
-         ${static_libraries_glyphy_src_files}
-         )
+        ${static_libraries_glyphy_src_files}
+    )
 ENDIF()
 
 IF( NOT thorvg_support)
     SET( SOURCES ${SOURCES}
-         ${static_libraries_nanosvg_src_files}
-         )
+        ${static_libraries_nanosvg_src_files}
+    )
 ENDIF()
 
 IF( enable_ecore_wayland2 )
     SET( SOURCES ${SOURCES}
-         ${adaptor_window_system_ecore_wl2_src_files}
-         )
+        ${adaptor_window_system_ecore_wl2_src_files}
+    )
 ELSE()
     SET( SOURCES ${SOURCES}
-         ${adaptor_window_system_ecore_wl_src_files}
-         )
+        ${adaptor_window_system_ecore_wl_src_files}
+    )
 ENDIF()
 
 IF( ENABLE_NETWORK_LOGGING )
     SET( SOURCES ${SOURCES}
-         ${adaptor_performance_logging_src_files}
-         )
+        ${adaptor_performance_logging_src_files}
+    )
 ENDIF()
 
 IF( ENABLE_TRACE_STREAMLINE )
     SET( SOURCES ${SOURCES}
-         ${adaptor_trace_tizen_streamline_src_files}
-         )
+        ${adaptor_trace_tizen_streamline_src_files}
+    )
 ELSEIF( ENABLE_TRACE )
     SET( SOURCES ${SOURCES}
-         ${adaptor_trace_tizen_src_files}
-         )
+        ${adaptor_trace_tizen_src_files}
+    )
 ENDIF()
 
 IF( COMPONENT_APPLICATION_SUPPORT )
     SET( SOURCES ${SOURCES}
         ${adaptor_adaptor_component_application_src_files}
-      )
+    )
 ENDIF()
index 11d76e5978734529d5a69f598e1909a406b338f2..d65a49d348a7fa01f31341c8ef89d4631d05bb09 100644 (file)
@@ -20,7 +20,7 @@
 #pragma GCC diagnostic ignored "-Wshadow"
 #pragma GCC diagnostic ignored "-Wsign-conversion"
 
-#include <dali/graphics/vulkan/wayland/vk-surface-wayland.h>
+#include <dali/internal/graphics/vulkan/wayland/vk-surface-wayland.h>
 #include <dali/internal/window-system/common/window-render-surface.h>
 
 // Ecore system headers need hardening!
index 20e6c1a296a2111351bc73fd39183a132d1a707b..87e541d91bfb55155c8e5870ce0edd4073e7accc 100644 (file)
@@ -31,11 +31,20 @@ SET( adaptor_imaging_common_egl_src_files
 # module: imaging, backend: tizen
 SET( adaptor_imaging_tizen_src_files
     ${adaptor_imaging_dir}/common/file-download.cpp
+)
+
+# module: imaging, backend: tizen/egl
+SET( adaptor_imaging_tizen_egl_src_files
     ${adaptor_imaging_dir}/tizen/native-image-source-factory-tizen.cpp
     ${adaptor_imaging_dir}/tizen/native-image-source-impl-tizen.cpp
     ${adaptor_imaging_dir}/tizen/native-image-source-queue-impl-tizen.cpp
 )
 
+# module: imaging, backend: tizen/vulkan
+SET( adaptor_imaging_tizen_vulkan_src_files
+    ${adaptor_imaging_dir}/tizen/native-image-source-factory-tizen-vulkan.cpp
+)
+
 # module: imaging, backend: ubuntu
 SET( adaptor_imaging_ubuntu_src_files
     ${adaptor_imaging_dir}/common/file-download.cpp
diff --git a/dali/internal/imaging/tizen/native-image-source-factory-tizen-vulkan.cpp b/dali/internal/imaging/tizen/native-image-source-factory-tizen-vulkan.cpp
new file mode 100644 (file)
index 0000000..664175a
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * 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/imaging/tizen/native-image-source-factory-tizen-vulkan.h>
+
+namespace Dali
+{
+namespace Internal
+{
+namespace Adaptor
+{
+std::unique_ptr<NativeImageSource> NativeImageSourceFactoryTizenVulkan::CreateNativeImageSource(uint32_t width, uint32_t height, Dali::NativeImageSource::ColorDepth depth, Any nativeImageSource)
+{
+  return nullptr;
+}
+
+std::unique_ptr<NativeImageSourceQueue> NativeImageSourceFactoryTizenVulkan::CreateNativeImageSourceQueue(uint32_t queueCount, uint32_t width, uint32_t height, Dali::NativeImageSourceQueue::ColorFormat colorFormat, Any nativeImageSourceQueue)
+{
+  return nullptr;
+}
+
+// this should be created from somewhere
+std::unique_ptr<NativeImageSourceFactory> GetNativeImageSourceFactory()
+{
+  // returns native image source factory
+  return std::unique_ptr<NativeImageSourceFactoryTizenVulkan>(new NativeImageSourceFactoryTizenVulkan());
+}
+
+} // namespace Adaptor
+} // namespace Internal
+} // namespace Dali
diff --git a/dali/internal/imaging/tizen/native-image-source-factory-tizen-vulkan.h b/dali/internal/imaging/tizen/native-image-source-factory-tizen-vulkan.h
new file mode 100644 (file)
index 0000000..89acb70
--- /dev/null
@@ -0,0 +1,44 @@
+#ifndef DALI_INTERNAL_NATIVE_IMAGE_SOURCE_FACTORY_VULKAN_H
+#define DALI_INTERNAL_NATIVE_IMAGE_SOURCE_FACTORY_VULKAN_H
+
+/*
+ * 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.
+ *
+ */
+
+// INTERNAL INCLUDES
+#include <dali/internal/imaging/common/native-image-source-factory.h>
+#include <dali/internal/imaging/common/native-image-source-impl.h>
+#include <dali/internal/imaging/common/native-image-source-queue-impl.h>
+
+namespace Dali
+{
+namespace Internal
+{
+namespace Adaptor
+{
+class NativeImageSourceFactoryTizenVulkan : public NativeImageSourceFactory
+{
+public:
+  std::unique_ptr<NativeImageSource> CreateNativeImageSource(uint32_t width, uint32_t height, Dali::NativeImageSource::ColorDepth depth, Any nativeImageSource) override;
+
+  std::unique_ptr<NativeImageSourceQueue> CreateNativeImageSourceQueue(uint32_t queueCount, uint32_t width, uint32_t height, Dali::NativeImageSourceQueue::ColorFormat colorFormat, Any nativeImageSourceQueue) override;
+};
+
+} // namespace Adaptor
+} // namespace Internal
+} // namespace Dali
+
+#endif // DALI_INTERNAL_NATIVE_IMAGE_SOURCE_FACTORY_VULKAN_H
index 37d91a5b53c148b6f8167c3d9e2a998d30278c5f..e06b931be000ce090c305e184cdfed232700ffff 100644 (file)
@@ -66,7 +66,6 @@ size_t GetNumberOfLowPriorityThreads(size_t defaultValue, size_t maxValue)
 Debug::Filter* gAsyncTasksManagerLogFilter = Debug::Filter::New(Debug::NoLogging, false, "LOG_ASYNC_TASK_MANAGER");
 
 uint32_t gThreadId = 0u; // Only for debug
-#endif
 
 /**
  * @brief Get the Task Name.
@@ -81,6 +80,8 @@ const char* GetTaskName(AsyncTaskPtr task)
   return task ? task->GetTaskName().data() : "(nil)";
 }
 
+#endif
+
 } // unnamed namespace
 
 // AsyncTaskThread
index 991541dbd2d76f7d6f2b88339da0869178c8a63b..0e92e36f3a3e37304fa7dae40f0f9486009413f8 100644 (file)
@@ -21,6 +21,9 @@ SET( adaptor_window_system_tizen_wayland_src_files
     ${adaptor_window_system_dir}/tizen-wayland/display-connection-factory-ecore-wl.cpp
     ${adaptor_window_system_dir}/tizen-wayland/display-connection-impl-ecore-wl.cpp
     ${adaptor_window_system_dir}/tizen-wayland/native-image-surface-factory-ecore-wl.cpp
+)
+
+SET( adaptor_window_system_tizen_wayland_egl_src_files
     ${adaptor_window_system_dir}/tizen-wayland/native-image-surface-impl-ecore-wl.cpp
     ${adaptor_window_system_dir}/tizen-wayland/native-render-surface-ecore-wl.cpp
 )
index 1dcdc028c4f279ea7c3d3ac4c6558b413a55df90..4251e325297699fe1bb5e6350ba2aa020f7f1886 100644 (file)
@@ -81,23 +81,19 @@ void DisplayConnectionEcoreWl::SetSurfaceType(Integration::RenderSurfaceInterfac
   {
 #ifdef ECORE_WAYLAND2
     Ecore_Wl2_Display* display = ecore_wl2_connected_display_get(NULL);
-    mDisplay                   = reinterpret_cast<EGLNativeDisplayType>(ecore_wl2_display_get(display));
+    mDisplay                   = NativeDisplayType(ecore_wl2_display_get(display));
 #else
-    mDisplay = reinterpret_cast<EGLNativeDisplayType>(ecore_wl_display_get());
+    mDisplay = reinterpret_cast<NativeDisplayType>(ecore_wl_display_get());
 #endif
   }
 }
 
 Any DisplayConnectionEcoreWl::GetNativeGraphicsDisplay()
 {
-#if defined(VULKAN_ENABLED)
-  return {nullptr};
-#else
-  return {mDisplay};
-#endif
+  return Any(mDisplay);
 }
 
-EGLNativeDisplayType DisplayConnectionEcoreWl::GetNativeDisplay()
+NativeDisplayType DisplayConnectionEcoreWl::GetNativeDisplay()
 {
   mBufMgr = tbm_bufmgr_init(-1); // -1 is meaningless. The parameter in this function is deprecated.
   if(mBufMgr == nullptr)
@@ -105,16 +101,23 @@ EGLNativeDisplayType DisplayConnectionEcoreWl::GetNativeDisplay()
     DALI_LOG_ERROR("Fail to init tbm buf mgr\n");
     return nullptr;
   }
-  return reinterpret_cast<EGLNativeDisplayType>(tbm_dummy_display_create());
+  return NativeDisplayType(tbm_dummy_display_create());
 }
 
 void DisplayConnectionEcoreWl::ReleaseNativeDisplay()
 {
+#ifdef VULKAN_ENABLED
+  if(!mDisplay.Empty())
+  {
+    // TODO: Fix this call for Vulkan
+    //tbm_dummy_display_destroy(mDisplay.Get<tbm_dummy_display>());
+  }
+#else
   if(mDisplay)
   {
     tbm_dummy_display_destroy(reinterpret_cast<tbm_dummy_display*>(mDisplay));
   }
-
+#endif
   if(mBufMgr != nullptr)
   {
     tbm_bufmgr_deinit(mBufMgr);
index e1d99c94686c6ec0ef80e2c2349e0f9b50c53c41..da7c91a622fbd22e80a12bcd3a7529ad8bc1dc9b 100644 (file)
@@ -26,6 +26,9 @@
 
 #if !defined(VULKAN_ENABLED)
 #include <dali/internal/graphics/gles/egl-graphics.h>
+using NativeDisplayType = EGLNativeDisplayType;
+#else
+using NativeDisplayType = Dali::Any;
 #endif
 
 namespace Dali
@@ -92,7 +95,7 @@ protected:
   /**
    * @brief Gets display connection for native surface
    */
-  EGLNativeDisplayType GetNativeDisplay();
+  NativeDisplayType GetNativeDisplay();
 
   /**
    * @brief Release display connection for native surface
@@ -100,7 +103,7 @@ protected:
   void ReleaseNativeDisplay();
 
 private:
-  EGLNativeDisplayType                            mDisplay;     ///< Wayland-display for rendering
+  NativeDisplayType                               mDisplay;     ///< Wayland-display for rendering
   Dali::Integration::RenderSurfaceInterface::Type mSurfaceType; ///< The surface type
   tbm_bufmgr                                      mBufMgr;      ///< For creating tbm_dummy_display
 };
index ad04f5e75f8c6527089176b3f0efb6dfd490feb8..3fe62440ce489eb789fb4b7d89338c52a66b668a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * 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.
 #include <dali/internal/window-system/common/display-utils.h>
 #include <dali/internal/window-system/common/pixmap-render-surface.h>
 #include <dali/internal/window-system/common/window-render-surface.h>
+#if(!VULKAN_ENABLED)
 #include <dali/internal/window-system/tizen-wayland/native-render-surface-ecore-wl.h>
+#else
+#include <dali/integration-api/adaptor-framework/native-render-surface.h>
+#endif
 
 // EXTERNAL INCLUDES
 #include <memory>
@@ -45,7 +49,11 @@ std::unique_ptr<PixmapRenderSurface> RenderSurfaceFactoryEcoreWl2::CreatePixmapR
 
 std::unique_ptr<NativeRenderSurface> RenderSurfaceFactoryEcoreWl2::CreateNativeRenderSurface(SurfaceSize surfaceSize, Any surface, bool isTransparent)
 {
+#if(!VULKAN_ENABLED)
   return Utils::MakeUnique<NativeRenderSurfaceEcoreWl>(surfaceSize, surface, isTransparent);
+#else
+  return nullptr;
+#endif
 }
 
 // this should be created from somewhere
index 2999e105d6cf69192008c0478e989372d671cf1f..81c928e7243f3e4cb75d9a258649ad9a30d73c73 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * 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.
 
 // INTERNAL INCLUDES
 #include <dali/internal/window-system/common/native-image-surface-factory.h>
+
+#if(!VULKAN_ENABLED)
 #include <dali/internal/window-system/tizen-wayland/native-image-surface-impl-ecore-wl.h>
+#else
+#include <dali/internal/window-system/common/native-image-surface-impl.h>
+#endif
 
 namespace Dali
 {
@@ -27,7 +32,11 @@ namespace Adaptor
 {
 std::unique_ptr<Dali::Internal::Adaptor::NativeImageSurface> NativeImageSurfaceFactory::CreateNativeImageSurface(Dali::NativeImageSourceQueuePtr queue)
 {
+#if(!VULKAN_ENABLED)
   return std::make_unique<Internal::Adaptor::NativeImageSurfaceEcoreWl>(queue);
+#else
+  return nullptr;
+#endif
 }
 
 } // namespace Adaptor
index 994a88edd7ba8e00d66155c843e3ce93086e071d..7b7b86b3271e64f83ca4c74f2679fd95c6f62df3 100644 (file)
 #include <system_info.h>
 
 // INTERNAL INCLUDES
+#if(!VULKAN_ENABLED)
 #include <dali/internal/graphics/gles/egl-graphics-factory.h>
 #include <dali/internal/graphics/gles/egl-graphics.h>
 #include <dali/internal/graphics/gles/egl-implementation.h>
+#endif
+
 #include <dali/internal/system/common/environment-options.h>
 #include <dali/internal/window-system/common/display-utils.h>
 
@@ -73,9 +76,11 @@ inline bool IsColorDepth32Required(const tbm_format format)
 NativeImageSurfaceEcoreWl::NativeImageSurfaceEcoreWl(Dali::NativeImageSourceQueuePtr queue)
 : mDisplayConnection(nullptr),
   mGraphics(nullptr),
+#if(!VULKAN_ENABLED)
   mEGL(nullptr),
   mEGLSurface(nullptr),
   mEGLContext(nullptr),
+#endif
   mColorDepth(COLOR_DEPTH_32),
   mTbmFormat(0u),
   mTbmQueue(nullptr),
@@ -123,6 +128,7 @@ Any NativeImageSurfaceEcoreWl::GetNativeRenderable()
 
 void NativeImageSurfaceEcoreWl::InitializeGraphics()
 {
+#if(!VULKAN_ENABLED)
   std::unique_ptr<GraphicsFactory> graphicsFactoryPtr = Utils::MakeUnique<GraphicsFactory>(*(new EnvironmentOptions()));
   auto                             graphicsFactory    = *graphicsFactoryPtr.get();
 
@@ -157,10 +163,12 @@ void NativeImageSurfaceEcoreWl::InitializeGraphics()
 
     MakeContextCurrent();
   }
+#endif
 }
 
 void NativeImageSurfaceEcoreWl::TerminateGraphics()
 {
+#if(!VULKAN_ENABLED)
   auto graphics    = mGraphics.get();
   auto eglGraphics = static_cast<EglGraphics*>(graphics);
 
@@ -174,15 +182,19 @@ void NativeImageSurfaceEcoreWl::TerminateGraphics()
   {
     eglImpl.DestroyContext(mEGLContext);
   }
+#endif
 }
 
 void NativeImageSurfaceEcoreWl::PreRender()
 {
+#if(!VULKAN_ENABLED)
   MakeContextCurrent();
+#endif
 }
 
 void NativeImageSurfaceEcoreWl::PostRender()
 {
+#if(!VULKAN_ENABLED)
   auto graphics    = mGraphics.get();
   auto eglGraphics = static_cast<EglGraphics*>(graphics);
   if(eglGraphics)
@@ -190,10 +202,12 @@ void NativeImageSurfaceEcoreWl::PostRender()
     Internal::Adaptor::EglImplementation& eglImpl = eglGraphics->GetEglImplementation();
     eglImpl.SwapBuffers(mEGLSurface);
   }
+#endif
 }
 
 void NativeImageSurfaceEcoreWl::MakeContextCurrent()
 {
+#if(!VULKAN_ENABLED)
   if(mEGL != nullptr)
   {
     if(mEGLSurface && mEGLContext)
@@ -205,6 +219,7 @@ void NativeImageSurfaceEcoreWl::MakeContextCurrent()
       DALI_LOG_ERROR("EGLSurface(%p) or mEGLContext(%p) is null\n", mEGLSurface, mEGLContext);
     }
   }
+#endif
 }
 
 bool NativeImageSurfaceEcoreWl::CanRender()
index 7ad6aa44bf90f48cbeea3ae103b5aedad9797431..bc6eefd2d59dea01cc9872f98f7dd8e4c991c5eb 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_INTERNAL_WINDOWSYSTEM_TIZENWAYLAND_NATIVE_IMAGE_SURFACE_IMPL_ECORE_WL_H
 
 /*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * 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.
@@ -88,15 +88,17 @@ public:
 private:
   void MakeContextCurrent();
 
-private:                                                       // Data
-  std::unique_ptr<Dali::DisplayConnection> mDisplayConnection; ///< The native display connection
+private:                                                           // Data
+  std::unique_ptr<Dali::DisplayConnection>     mDisplayConnection; ///< The native display connection
   std::unique_ptr<Graphics::GraphicsInterface> mGraphics;          ///< Graphics interface
-  EglInterface*                            mEGL;
-  EGLSurface                               mEGLSurface;
-  EGLContext                               mEGLContext;
-  ColorDepth                               mColorDepth;
-  tbm_format                               mTbmFormat;
-  tbm_surface_queue_h                      mTbmQueue;
+#if(!VULKAN_ENABLED)
+  EglInterface* mEGL;
+  EGLSurface    mEGLSurface;
+  EGLContext    mEGLContext;
+#endif
+  ColorDepth          mColorDepth;
+  tbm_format          mTbmFormat;
+  tbm_surface_queue_h mTbmQueue;
 
   bool mDepth : 1;
   bool mStencil : 1;
index 3f8e70b5dcd740dafb02c7451cfa5a93f8e89180..f38e10e05cc32d01d5f5669d10542253b363e5e5 100644 (file)
@@ -28,6 +28,10 @@ Requires(post): /sbin/ldconfig
 Requires(postun): /sbin/ldconfig
 Requires:       giflib
 
+%if 0%{?enable_vulkan}
+Requires:  glslang
+%endif
+
 %define tizen_platform_config_supported 1
 BuildRequires:  pkgconfig(libtzplatform-config)
 
@@ -58,7 +62,6 @@ BuildRequires:  pkgconfig(dlog)
 BuildRequires:  libdrm-devel
 BuildRequires:  pkgconfig(libexif)
 BuildRequires:  pkgconfig(libpng)
-BuildRequires:  pkgconfig(egl)
 BuildRequires:  libcurl-devel
 BuildRequires:  pkgconfig(harfbuzz)
 BuildRequires:  hyphen-devel
@@ -67,15 +70,20 @@ BuildRequires:  fribidi-devel
 BuildRequires:  pkgconfig(capi-system-info)
 BuildRequires:  pkgconfig(capi-system-sensor)
 
+%if 0%{?enable_vulkan}
+BuildRequires:  pkgconfig(vulkan)
+BuildRequires:  glslang-devel
+BuildRequires:  glslang
+%else
+BuildRequires:  pkgconfig(egl)
 BuildRequires:  pkgconfig(wayland-egl)
+%endif
+
 BuildRequires:  pkgconfig(wayland-client)
 BuildRequires:  pkgconfig(input-method-client)
 BuildRequires:  wayland-devel
 BuildRequires:  wayland-extension-client-devel
 
-BuildRequires:  glslang-devel
-BuildRequires:  glslang
-
 # WebP support only from Tizen 6 onwards
 %if 0%{?tizen_version_major} >= 6
 BuildRequires:  pkgconfig(libwebp)
@@ -87,7 +95,9 @@ BuildRequires:  pkgconfig(libwebpmux)
 # We use ecore mainloop
 %if 0%{?tizen_version_major} >= 5
 BuildRequires:  pkgconfig(ecore-wl2)
+%if !0%{?enable_vulkan}
 BuildRequires:  pkgconfig(wayland-egl-tizen)
+%endif
 %else
 BuildRequires:  pkgconfig(ecore-wayland)
 %endif
@@ -262,7 +272,7 @@ Feedback plugin to play haptic and audio feedback for Dali
 ##############################
 %build
 PREFIX+="/usr"
-CXXFLAGS+=" -Wall -g -Os -fPIC -fvisibility-inlines-hidden -fdata-sections -ffunction-sections -DGL_GLEXT_PROTOTYPES"
+CXXFLAGS+=" -Wall -g -Os -fPIC -fvisibility-inlines-hidden -fdata-sections -ffunction-sections -DGL_GLEXT_PROTOTYPES -Wno-psabi"
 LDFLAGS+=" -Wl,--rpath=%{_libdir} -Wl,--as-needed -Wl,--gc-sections -lttrace -Wl,-Bsymbolic-functions "
 
 %ifarch %{arm}
@@ -307,6 +317,10 @@ cmake_flags+=" -DCMAKE_BUILD_TYPE=Debug"
 cmake_flags+=" -DENABLE_NETWORK_LOGGING=ON"
 %endif
 
+%if 0%{?enable_vulkan}
+cmake_flags+=" -DENABLE_VULKAN=ON"
+%endif
+
 libtoolize --force
 cd %{_builddir}/%{name}-%{version}/build/tizen