From 53cd3a00a1cc7494ea9691daf0c8aef86522a238 Mon Sep 17 00:00:00 2001 From: Hans-Kristian Arntzen Date: Wed, 27 Dec 2023 12:20:04 +0100 Subject: [PATCH] Enable KHR_video_maintenance1 if available. I'm sure FFmpeg likes this one. --- vulkan/context.cpp | 6 ++++++ vulkan/context.hpp | 1 + 2 files changed, 7 insertions(+) diff --git a/vulkan/context.cpp b/vulkan/context.cpp index 83517038..54f2fe4d 100644 --- a/vulkan/context.cpp +++ b/vulkan/context.cpp @@ -1362,6 +1362,12 @@ bool Context::create_device(VkPhysicalDevice gpu_, VkSurfaceKHR surface, ADD_CHAIN(ext.barycentric_features, FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR); } + if (ext.supports_video_queue && has_extension(VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME)) + { + enabled_extensions.push_back(VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME); + ADD_CHAIN(ext.video_maintenance1_features, VIDEO_MAINTENANCE_1_FEATURES_KHR); + } + if ((flags & CONTEXT_CREATION_ENABLE_ADVANCED_WSI_BIT) != 0 && requires_swapchain) { if (has_extension(VK_KHR_PRESENT_ID_EXTENSION_NAME)) diff --git a/vulkan/context.hpp b/vulkan/context.hpp index bf9e4844..9584218a 100644 --- a/vulkan/context.hpp +++ b/vulkan/context.hpp @@ -86,6 +86,7 @@ struct DeviceFeatures VkPhysicalDevicePresentIdFeaturesKHR present_id_features = {}; VkPhysicalDevicePresentWaitFeaturesKHR present_wait_features = {}; VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR barycentric_features = {}; + VkPhysicalDeviceVideoMaintenance1FeaturesKHR video_maintenance1_features = {}; // EXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT host_memory_properties = {};