Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e278daf8 authored by Courtney Goeltzenleuchter's avatar Courtney Goeltzenleuchter
Browse files

Use Surface::GetWideColorSupport in VK_EXT_swapchain_colorspace

Use the newly added Surface::GetWideColorSupport to
add wide color SurfaceFormats when appropriate.

Test: compile Vulkan CTS test TBD
Change-Id: I85dbe9617b8eba8b89c3ad788d5ffc9f0d66f935
parent c5b97c5b
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -4606,6 +4606,10 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
    VkPastPresentationTimingGOOGLE*             pPresentationTimings);
#endif

#define VK_EXT_swapchain_colorspace 1
#define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 1
#define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"

#define VK_EXT_hdr_metadata 1
#define VK_EXT_HDR_METADATA_SPEC_VERSION  0
#define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
+2 −1
Original line number Diff line number Diff line
@@ -683,12 +683,13 @@ bool InitDriverTable(VkDevice dev, PFN_vkGetDeviceProcAddr get_proc,
VK_ANDROID_native_buffer
VK_EXT_debug_report
VK_EXT_hdr_metadata
VK_EXT_swapchain_colorspace
VK_GOOGLE_display_timing
VK_KHR_android_surface
VK_KHR_incremental_present
VK_KHR_shared_presentable_image
VK_KHR_surface
VK_KHR_swapchain
VK_KHR_shared_presentable_image
{{end}}


+4 −1
Original line number Diff line number Diff line
@@ -447,6 +447,7 @@ void CreateInfoWrapper::FilterExtension(const char* name) {
        switch (ext_bit) {
            case ProcHook::KHR_android_surface:
            case ProcHook::KHR_surface:
            case ProcHook::EXT_swapchain_colorspace:
                hook_extensions_.set(ext_bit);
                // return now as these extensions do not require HAL support
                return;
@@ -673,11 +674,13 @@ VkResult EnumerateInstanceExtensionProperties(
    const char* pLayerName,
    uint32_t* pPropertyCount,
    VkExtensionProperties* pProperties) {
    static const std::array<VkExtensionProperties, 2> loader_extensions = {{
    static const std::array<VkExtensionProperties, 3> loader_extensions = {{
        // WSI extensions
        {VK_KHR_SURFACE_EXTENSION_NAME, VK_KHR_SURFACE_SPEC_VERSION},
        {VK_KHR_ANDROID_SURFACE_EXTENSION_NAME,
         VK_KHR_ANDROID_SURFACE_SPEC_VERSION},
        {VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME,
         VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION},
    }};
    static const VkExtensionProperties loader_debug_report_extension = {
        VK_EXT_DEBUG_REPORT_EXTENSION_NAME, VK_EXT_DEBUG_REPORT_SPEC_VERSION,
+2 −1
Original line number Diff line number Diff line
@@ -365,12 +365,13 @@ ProcHook::Extension GetProcHookExtension(const char* name) {
    if (strcmp(name, "VK_ANDROID_native_buffer") == 0) return ProcHook::ANDROID_native_buffer;
    if (strcmp(name, "VK_EXT_debug_report") == 0) return ProcHook::EXT_debug_report;
    if (strcmp(name, "VK_EXT_hdr_metadata") == 0) return ProcHook::EXT_hdr_metadata;
    if (strcmp(name, "VK_EXT_swapchain_colorspace") == 0) return ProcHook::EXT_swapchain_colorspace;
    if (strcmp(name, "VK_GOOGLE_display_timing") == 0) return ProcHook::GOOGLE_display_timing;
    if (strcmp(name, "VK_KHR_android_surface") == 0) return ProcHook::KHR_android_surface;
    if (strcmp(name, "VK_KHR_incremental_present") == 0) return ProcHook::KHR_incremental_present;
    if (strcmp(name, "VK_KHR_shared_presentable_image") == 0) return ProcHook::KHR_shared_presentable_image;
    if (strcmp(name, "VK_KHR_surface") == 0) return ProcHook::KHR_surface;
    if (strcmp(name, "VK_KHR_swapchain") == 0) return ProcHook::KHR_swapchain;
    if (strcmp(name, "VK_KHR_shared_presentable_image") == 0) return ProcHook::KHR_shared_presentable_image;
    if (strcmp(name, "VK_KHR_get_physical_device_properties2") == 0) return ProcHook::KHR_get_physical_device_properties2;
    // clang-format on
    return ProcHook::EXTENSION_UNKNOWN;
+2 −1
Original line number Diff line number Diff line
@@ -36,12 +36,13 @@ struct ProcHook {
        ANDROID_native_buffer,
        EXT_debug_report,
        EXT_hdr_metadata,
        EXT_swapchain_colorspace,
        GOOGLE_display_timing,
        KHR_android_surface,
        KHR_incremental_present,
        KHR_shared_presentable_image,
        KHR_surface,
        KHR_swapchain,
        KHR_shared_presentable_image,
        KHR_get_physical_device_properties2,

        EXTENSION_CORE,  // valid bit
Loading