From 9dd9f0ab2246e75fd65febdfb0c740d1c4813603 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Thu, 14 Mar 2019 21:40:03 +0100 Subject: [PATCH] [dxvk] Enable VK_EXT_host_query_reset if available --- src/dxvk/dxvk_adapter.cpp | 3 ++- src/dxvk/dxvk_extensions.h | 1 + src/vulkan/vulkan_loader.h | 4 ++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/dxvk/dxvk_adapter.cpp b/src/dxvk/dxvk_adapter.cpp index 9d28fe63..732a3ae9 100644 --- a/src/dxvk/dxvk_adapter.cpp +++ b/src/dxvk/dxvk_adapter.cpp @@ -236,9 +236,10 @@ namespace dxvk { Rc DxvkAdapter::createDevice(std::string clientApi, DxvkDeviceFeatures enabledFeatures) { DxvkDeviceExtensions devExtensions; - std::array devExtensionList = {{ + std::array devExtensionList = {{ &devExtensions.amdMemoryOverallocationBehaviour, &devExtensions.extDepthClipEnable, + &devExtensions.extHostQueryReset, &devExtensions.extMemoryPriority, &devExtensions.extShaderViewportIndexLayer, &devExtensions.extTransformFeedback, diff --git a/src/dxvk/dxvk_extensions.h b/src/dxvk/dxvk_extensions.h index d2fbf3cf..89932987 100644 --- a/src/dxvk/dxvk_extensions.h +++ b/src/dxvk/dxvk_extensions.h @@ -259,6 +259,7 @@ namespace dxvk { struct DxvkDeviceExtensions { DxvkExt amdMemoryOverallocationBehaviour= { VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME, DxvkExtMode::Optional }; DxvkExt extDepthClipEnable = { VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, DxvkExtMode::Optional }; + DxvkExt extHostQueryReset = { VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, DxvkExtMode::Optional }; DxvkExt extMemoryPriority = { VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, DxvkExtMode::Optional }; DxvkExt extShaderViewportIndexLayer = { VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME, DxvkExtMode::Optional }; DxvkExt extTransformFeedback = { VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, DxvkExtMode::Optional }; diff --git a/src/vulkan/vulkan_loader.h b/src/vulkan/vulkan_loader.h index 334ffac3..7dfa065a 100644 --- a/src/vulkan/vulkan_loader.h +++ b/src/vulkan/vulkan_loader.h @@ -286,6 +286,10 @@ namespace dxvk::vk { VULKAN_FN(vkGetBufferMemoryRequirements2KHR); VULKAN_FN(vkGetImageMemoryRequirements2KHR); #endif + + #ifdef VK_EXT_host_query_reset + VULKAN_FN(vkResetQueryPoolEXT); + #endif #ifdef VK_EXT_transform_feedback VULKAN_FN(vkCmdBindTransformFeedbackBuffersEXT);