=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: winevulkan: Enable VK_EXT_memory_priority.
Alexandre Julliard
julliard at winehq.org
Wed Apr 10 15:19:59 CDT 2019
Module: wine
Branch: master
Commit: 4b269f029324e8b47644cc6234c644edaae3c7e9
URL: https://source.winehq.org/git/wine.git/?a=commit;h=4b269f029324e8b47644cc6234c644edaae3c7e9
Author: Józef Kucia <jkucia at codeweavers.com>
Date: Wed Apr 10 11:59:52 2019 +0200
winevulkan: Enable VK_EXT_memory_priority.
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/winevulkan/make_vulkan | 1 -
dlls/winevulkan/vulkan_thunks.c | 17 +++++++++++++++++
include/wine/vulkan.h | 18 ++++++++++++++++++
3 files changed, 35 insertions(+), 1 deletion(-)
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan
index 46294f7..f6a63cb 100755
--- a/dlls/winevulkan/make_vulkan
+++ b/dlls/winevulkan/make_vulkan
@@ -105,7 +105,6 @@ BLACKLISTED_EXTENSIONS = [
"VK_EXT_external_memory_host",
"VK_EXT_full_screen_exclusive",
"VK_EXT_hdr_metadata", # Needs WSI work.
- "VK_EXT_memory_priority",
"VK_EXT_pipeline_creation_feedback",
"VK_EXT_ycbcr_image_arrays",
"VK_GOOGLE_display_timing",
diff --git a/dlls/winevulkan/vulkan_thunks.c b/dlls/winevulkan/vulkan_thunks.c
index 9919642..b2b0037 100644
--- a/dlls/winevulkan/vulkan_thunks.c
+++ b/dlls/winevulkan/vulkan_thunks.c
@@ -1894,6 +1894,22 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT:
+ {
+ const VkPhysicalDeviceMemoryPriorityFeaturesEXT *in = (const VkPhysicalDeviceMemoryPriorityFeaturesEXT *)in_header;
+ VkPhysicalDeviceMemoryPriorityFeaturesEXT *out;
+
+ if (!(out = heap_alloc(sizeof(*out)))) goto out_of_memory;
+
+ out->sType = in->sType;
+ out->pNext = NULL;
+ out->memoryPriority = in->memoryPriority;
+
+ out_header->pNext = (VkBaseOutStructure *)out;
+ out_header = out_header->pNext;
+ break;
+ }
+
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT:
{
const VkPhysicalDeviceBufferAddressFeaturesEXT *in = (const VkPhysicalDeviceBufferAddressFeaturesEXT *)in_header;
@@ -4268,6 +4284,7 @@ static const char * const vk_device_extensions[] =
"VK_EXT_host_query_reset",
"VK_EXT_inline_uniform_block",
"VK_EXT_memory_budget",
+ "VK_EXT_memory_priority",
"VK_EXT_pci_bus_info",
"VK_EXT_post_depth_coverage",
"VK_EXT_queue_family_foreign",
diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h
index 5a48441..7a98951 100644
--- a/include/wine/vulkan.h
+++ b/include/wine/vulkan.h
@@ -300,6 +300,8 @@
#define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
#define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
#define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
+#define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
+#define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
#define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
#define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
#define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
@@ -2101,6 +2103,8 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = 1000221000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
+ VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = 1000244000,
VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001,
VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
@@ -2966,6 +2970,13 @@ typedef struct VkPhysicalDeviceLimits
VkDeviceSize WINE_VK_ALIGN(8) nonCoherentAtomSize;
} VkPhysicalDeviceLimits;
+typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT
+{
+ VkStructureType sType;
+ void *pNext;
+ VkBool32 memoryPriority;
+} VkPhysicalDeviceMemoryPriorityFeaturesEXT;
+
typedef struct VkPhysicalDeviceMeshShaderPropertiesNV
{
VkStructureType sType;
@@ -3659,6 +3670,13 @@ typedef struct VkMemoryDedicatedRequirements
VkBool32 requiresDedicatedAllocation;
} VkMemoryDedicatedRequirements;
+typedef struct VkMemoryPriorityAllocateInfoEXT
+{
+ VkStructureType sType;
+ const void *pNext;
+ float priority;
+} VkMemoryPriorityAllocateInfoEXT;
+
typedef struct VkMemoryType
{
VkMemoryPropertyFlags propertyFlags;
More information about the wine-cvs
mailing list