vkd3d: Do not enable VK_KHR_dedicated_allocation.
Core in 1.1. Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
This commit is contained in:
parent
45109686be
commit
e6857939e7
|
@ -138,9 +138,7 @@ static const struct vkd3d_optional_extension_info optional_device_extensions[] =
|
|||
{
|
||||
/* KHR extensions */
|
||||
VK_EXTENSION(KHR_BUFFER_DEVICE_ADDRESS, KHR_buffer_device_address),
|
||||
VK_EXTENSION(KHR_DEDICATED_ALLOCATION, KHR_dedicated_allocation),
|
||||
VK_EXTENSION(KHR_DRAW_INDIRECT_COUNT, KHR_draw_indirect_count),
|
||||
VK_EXTENSION(KHR_GET_MEMORY_REQUIREMENTS_2, KHR_get_memory_requirements2),
|
||||
VK_EXTENSION(KHR_IMAGE_FORMAT_LIST, KHR_image_format_list),
|
||||
VK_EXTENSION(KHR_PUSH_DESCRIPTOR, KHR_push_descriptor),
|
||||
VK_EXTENSION(KHR_TIMELINE_SEMAPHORE, KHR_timeline_semaphore),
|
||||
|
|
|
@ -171,34 +171,26 @@ HRESULT vkd3d_allocate_buffer_memory(struct d3d12_device *device, VkBuffer vk_bu
|
|||
|
||||
memory_requirements = &memory_requirements2.memoryRequirements;
|
||||
|
||||
if (heap_flags == D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS &&
|
||||
device->vk_info.KHR_dedicated_allocation)
|
||||
info.sType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2;
|
||||
info.pNext = NULL;
|
||||
info.buffer = vk_buffer;
|
||||
|
||||
dedicated_requirements.sType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS;
|
||||
dedicated_requirements.pNext = NULL;
|
||||
|
||||
memory_requirements2.sType = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2;
|
||||
memory_requirements2.pNext = &dedicated_requirements;
|
||||
|
||||
VK_CALL(vkGetBufferMemoryRequirements2(device->vk_device, &info, &memory_requirements2));
|
||||
|
||||
if (heap_flags == D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS && dedicated_requirements.prefersDedicatedAllocation)
|
||||
{
|
||||
info.sType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2;
|
||||
info.pNext = NULL;
|
||||
info.buffer = vk_buffer;
|
||||
dedicated_allocation = &dedicated_info;
|
||||
|
||||
dedicated_requirements.sType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS;
|
||||
dedicated_requirements.pNext = NULL;
|
||||
|
||||
memory_requirements2.sType = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2;
|
||||
memory_requirements2.pNext = &dedicated_requirements;
|
||||
|
||||
VK_CALL(vkGetBufferMemoryRequirements2KHR(device->vk_device, &info, &memory_requirements2));
|
||||
|
||||
if (dedicated_requirements.prefersDedicatedAllocation)
|
||||
{
|
||||
dedicated_allocation = &dedicated_info;
|
||||
|
||||
dedicated_info.sType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO;
|
||||
dedicated_info.pNext = NULL;
|
||||
dedicated_info.image = VK_NULL_HANDLE;
|
||||
dedicated_info.buffer = vk_buffer;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
VK_CALL(vkGetBufferMemoryRequirements(device->vk_device, vk_buffer, memory_requirements));
|
||||
dedicated_info.sType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO;
|
||||
dedicated_info.pNext = NULL;
|
||||
dedicated_info.image = VK_NULL_HANDLE;
|
||||
dedicated_info.buffer = vk_buffer;
|
||||
}
|
||||
|
||||
if (FAILED(hr = vkd3d_allocate_device_memory(device, heap_properties, heap_flags,
|
||||
|
@ -234,33 +226,26 @@ static HRESULT vkd3d_allocate_image_memory(struct d3d12_device *device, VkImage
|
|||
|
||||
memory_requirements = &memory_requirements2.memoryRequirements;
|
||||
|
||||
if (device->vk_info.KHR_dedicated_allocation)
|
||||
info.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2;
|
||||
info.pNext = NULL;
|
||||
info.image = vk_image;
|
||||
|
||||
dedicated_requirements.sType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS;
|
||||
dedicated_requirements.pNext = NULL;
|
||||
|
||||
memory_requirements2.sType = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2;
|
||||
memory_requirements2.pNext = &dedicated_requirements;
|
||||
|
||||
VK_CALL(vkGetImageMemoryRequirements2(device->vk_device, &info, &memory_requirements2));
|
||||
|
||||
if (dedicated_requirements.prefersDedicatedAllocation)
|
||||
{
|
||||
info.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2;
|
||||
info.pNext = NULL;
|
||||
info.image = vk_image;
|
||||
dedicated_allocation = &dedicated_info;
|
||||
|
||||
dedicated_requirements.sType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS;
|
||||
dedicated_requirements.pNext = NULL;
|
||||
|
||||
memory_requirements2.sType = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2;
|
||||
memory_requirements2.pNext = &dedicated_requirements;
|
||||
|
||||
VK_CALL(vkGetImageMemoryRequirements2KHR(device->vk_device, &info, &memory_requirements2));
|
||||
|
||||
if (dedicated_requirements.prefersDedicatedAllocation)
|
||||
{
|
||||
dedicated_allocation = &dedicated_info;
|
||||
|
||||
dedicated_info.sType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO;
|
||||
dedicated_info.pNext = NULL;
|
||||
dedicated_info.image = vk_image;
|
||||
dedicated_info.buffer = VK_NULL_HANDLE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
VK_CALL(vkGetImageMemoryRequirements(device->vk_device, vk_image, memory_requirements));
|
||||
dedicated_info.sType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO;
|
||||
dedicated_info.pNext = NULL;
|
||||
dedicated_info.image = vk_image;
|
||||
dedicated_info.buffer = VK_NULL_HANDLE;
|
||||
}
|
||||
|
||||
if (FAILED(hr = vkd3d_allocate_device_memory(device, heap_properties, heap_flags,
|
||||
|
|
|
@ -112,9 +112,7 @@ struct vkd3d_vulkan_info
|
|||
|
||||
/* KHR device extensions */
|
||||
bool KHR_buffer_device_address;
|
||||
bool KHR_dedicated_allocation;
|
||||
bool KHR_draw_indirect_count;
|
||||
bool KHR_get_memory_requirements2;
|
||||
bool KHR_image_format_list;
|
||||
bool KHR_push_descriptor;
|
||||
bool KHR_timeline_semaphore;
|
||||
|
|
|
@ -151,13 +151,16 @@ VK_DEVICE_PFN(vkFreeCommandBuffers)
|
|||
VK_DEVICE_PFN(vkFreeDescriptorSets)
|
||||
VK_DEVICE_PFN(vkFreeMemory)
|
||||
VK_DEVICE_PFN(vkGetBufferMemoryRequirements)
|
||||
VK_DEVICE_PFN(vkGetBufferMemoryRequirements2)
|
||||
VK_DEVICE_PFN(vkGetDescriptorSetLayoutSupport)
|
||||
VK_DEVICE_PFN(vkGetDeviceMemoryCommitment)
|
||||
VK_DEVICE_PFN(vkGetDeviceQueue)
|
||||
VK_DEVICE_PFN(vkGetEventStatus)
|
||||
VK_DEVICE_PFN(vkGetFenceStatus)
|
||||
VK_DEVICE_PFN(vkGetImageMemoryRequirements)
|
||||
VK_DEVICE_PFN(vkGetImageMemoryRequirements2)
|
||||
VK_DEVICE_PFN(vkGetImageSparseMemoryRequirements)
|
||||
VK_DEVICE_PFN(vkGetImageSparseMemoryRequirements2)
|
||||
VK_DEVICE_PFN(vkGetImageSubresourceLayout)
|
||||
VK_DEVICE_PFN(vkGetPipelineCacheData)
|
||||
VK_DEVICE_PFN(vkGetQueryPoolResults)
|
||||
|
@ -192,11 +195,6 @@ VK_DEVICE_EXT_PFN(vkSignalSemaphoreKHR)
|
|||
VK_DEVICE_EXT_PFN(vkCmdDrawIndirectCountKHR)
|
||||
VK_DEVICE_EXT_PFN(vkCmdDrawIndexedIndirectCountKHR)
|
||||
|
||||
/* VK_KHR_get_memory_requirements2 */
|
||||
VK_DEVICE_EXT_PFN(vkGetBufferMemoryRequirements2KHR)
|
||||
VK_DEVICE_EXT_PFN(vkGetImageMemoryRequirements2KHR)
|
||||
VK_DEVICE_EXT_PFN(vkGetImageSparseMemoryRequirements2KHR)
|
||||
|
||||
/* VK_KHR_push_descriptor */
|
||||
VK_DEVICE_EXT_PFN(vkCmdPushDescriptorSetKHR)
|
||||
|
||||
|
|
Loading…
Reference in New Issue