diff options
author | 2023-09-26 10:24:36 +0000 | |
---|---|---|
committer | 2023-10-03 16:13:33 +0000 | |
commit | 47989334c20a2ff97716d279e1343208c00034a8 (patch) | |
tree | 5d584b7d5979b5e22ac68f0fe0ffeb1b56c99858 | |
parent | f3425fab505e8b86c39e510bd549b0a6f1e9f843 (diff) |
Refactoring HAL Dataspace to AIDL Dataspace
Bug: 291142745
Test: Build
Change-Id: Icfa9562f03d58c4cb8d90151c3c5a4617c404375
-rw-r--r-- | libs/gralloc/types/Gralloc4.cpp | 4 | ||||
-rw-r--r-- | vulkan/libvulkan/swapchain.cpp | 59 |
2 files changed, 30 insertions, 33 deletions
diff --git a/libs/gralloc/types/Gralloc4.cpp b/libs/gralloc/types/Gralloc4.cpp index 61e6657621..ce35906949 100644 --- a/libs/gralloc/types/Gralloc4.cpp +++ b/libs/gralloc/types/Gralloc4.cpp @@ -1307,6 +1307,10 @@ std::string getChromaSitingName(const ExtendableType& chromaSiting) { return "SitedInterstitial"; case ChromaSiting::COSITED_HORIZONTAL: return "CositedHorizontal"; + case ChromaSiting::COSITED_VERTICAL: + return "CositedVertical"; + case ChromaSiting::COSITED_BOTH: + return "CositedBoth"; } } diff --git a/vulkan/libvulkan/swapchain.cpp b/vulkan/libvulkan/swapchain.cpp index dcef54dc38..483863db2e 100644 --- a/vulkan/libvulkan/swapchain.cpp +++ b/vulkan/libvulkan/swapchain.cpp @@ -16,6 +16,7 @@ #define ATRACE_TAG ATRACE_TAG_GRAPHICS +#include <aidl/android/hardware/graphics/common/Dataspace.h> #include <aidl/android/hardware/graphics/common/PixelFormat.h> #include <android/hardware/graphics/common/1.0/types.h> #include <grallocusage/GrallocUsageConversion.h> @@ -37,6 +38,7 @@ #include "driver.h" using PixelFormat = aidl::android::hardware::graphics::common::PixelFormat; +using DataSpace = aidl::android::hardware::graphics::common::Dataspace; using android::hardware::graphics::common::V1_0::BufferUsage; namespace vulkan { @@ -532,61 +534,51 @@ PixelFormat GetNativePixelFormat(VkFormat format) { return native_format; } -android_dataspace GetNativeDataspace(VkColorSpaceKHR colorspace, - PixelFormat pixelFormat) { +DataSpace GetNativeDataspace(VkColorSpaceKHR colorspace, + PixelFormat pixelFormat) { switch (colorspace) { case VK_COLOR_SPACE_SRGB_NONLINEAR_KHR: - return HAL_DATASPACE_V0_SRGB; + return DataSpace::SRGB; case VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT: - return HAL_DATASPACE_DISPLAY_P3; + return DataSpace::DISPLAY_P3; case VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT: - return HAL_DATASPACE_V0_SCRGB_LINEAR; + return DataSpace::SCRGB_LINEAR; case VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT: - return HAL_DATASPACE_V0_SCRGB; + return DataSpace::SCRGB; case VK_COLOR_SPACE_DCI_P3_LINEAR_EXT: - return HAL_DATASPACE_DCI_P3_LINEAR; + return DataSpace::DCI_P3_LINEAR; case VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT: - return HAL_DATASPACE_DCI_P3; + return DataSpace::DCI_P3; case VK_COLOR_SPACE_BT709_LINEAR_EXT: - return HAL_DATASPACE_V0_SRGB_LINEAR; + return DataSpace::SRGB_LINEAR; case VK_COLOR_SPACE_BT709_NONLINEAR_EXT: - return HAL_DATASPACE_V0_SRGB; + return DataSpace::SRGB; case VK_COLOR_SPACE_BT2020_LINEAR_EXT: if (pixelFormat == PixelFormat::RGBA_FP16) { - return static_cast<android_dataspace>( - HAL_DATASPACE_STANDARD_BT2020 | - HAL_DATASPACE_TRANSFER_LINEAR | - HAL_DATASPACE_RANGE_EXTENDED); + return DataSpace::BT2020_LINEAR_EXTENDED; } else { - return HAL_DATASPACE_BT2020_LINEAR; + return DataSpace::BT2020_LINEAR; } case VK_COLOR_SPACE_HDR10_ST2084_EXT: - return static_cast<android_dataspace>( - HAL_DATASPACE_STANDARD_BT2020 | HAL_DATASPACE_TRANSFER_ST2084 | - HAL_DATASPACE_RANGE_FULL); + return DataSpace::BT2020_PQ; case VK_COLOR_SPACE_DOLBYVISION_EXT: - return static_cast<android_dataspace>( - HAL_DATASPACE_STANDARD_BT2020 | HAL_DATASPACE_TRANSFER_ST2084 | - HAL_DATASPACE_RANGE_FULL); + return DataSpace::BT2020_PQ; case VK_COLOR_SPACE_HDR10_HLG_EXT: - return static_cast<android_dataspace>(HAL_DATASPACE_BT2020_HLG); + return DataSpace::BT2020_HLG; case VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT: - return static_cast<android_dataspace>( - HAL_DATASPACE_STANDARD_ADOBE_RGB | - HAL_DATASPACE_TRANSFER_LINEAR | HAL_DATASPACE_RANGE_FULL); + return DataSpace::ADOBE_RGB_LINEAR; case VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT: - return HAL_DATASPACE_ADOBE_RGB; - + return DataSpace::ADOBE_RGB; // Pass through is intended to allow app to provide data that is passed // to the display system without modification. case VK_COLOR_SPACE_PASS_THROUGH_EXT: - return HAL_DATASPACE_ARBITRARY; + return DataSpace::ARBITRARY; default: // This indicates that we don't know about the // dataspace specified and we should indicate that // it's unsupported - return HAL_DATASPACE_UNKNOWN; + return DataSpace::UNKNOWN; } } @@ -1393,9 +1385,9 @@ VkResult CreateSwapchainKHR(VkDevice device, PixelFormat native_pixel_format = GetNativePixelFormat(create_info->imageFormat); - android_dataspace native_dataspace = + DataSpace native_dataspace = GetNativeDataspace(create_info->imageColorSpace, native_pixel_format); - if (native_dataspace == HAL_DATASPACE_UNKNOWN) { + if (native_dataspace == DataSpace::UNKNOWN) { ALOGE( "CreateSwapchainKHR(VkSwapchainCreateInfoKHR.imageColorSpace = %d) " "failed: Unsupported color space", @@ -1501,8 +1493,9 @@ VkResult CreateSwapchainKHR(VkDevice device, } /* Respect consumer default dataspace upon HAL_DATASPACE_ARBITRARY. */ - if (native_dataspace != HAL_DATASPACE_ARBITRARY) { - err = native_window_set_buffers_data_space(window, native_dataspace); + if (native_dataspace != DataSpace::ARBITRARY) { + err = native_window_set_buffers_data_space( + window, static_cast<android_dataspace_t>(native_dataspace)); if (err != android::OK) { ALOGE("native_window_set_buffers_data_space(%d) failed: %s (%d)", native_dataspace, strerror(-err), err); |