Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net> On Fri, Jul 14, 2017 at 5:08 PM, Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl> wrote:
> Signed-off-by: Bas Nieuwenhuizen <ba...@google.com> > --- > src/amd/vulkan/radv_device.c | 36 ++++++++++++++++++++++++++++++ > ++-- > src/amd/vulkan/radv_entrypoints_gen.py | 1 + > 2 files changed, 35 insertions(+), 2 deletions(-) > > diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c > index c5d66b8bc6d..59c4ea8448e 100644 > --- a/src/amd/vulkan/radv_device.c > +++ b/src/amd/vulkan/radv_device.c > @@ -141,6 +141,10 @@ static const VkExtensionProperties > common_device_extensions[] = { > .extensionName = VK_KHR_GET_MEMORY_ > REQUIREMENTS_2_EXTENSION_NAME, > .specVersion = 1, > }, > + { > + .extensionName = VK_KHR_DEDICATED_ALLOCATION_ > EXTENSION_NAME, > + .specVersion = 1, > + }, > }; > > static VkResult > @@ -2072,8 +2076,8 @@ VkResult radv_AllocateMemory( > *pMem = VK_NULL_HANDLE; > return VK_SUCCESS; > } > - const VkDedicatedAllocationMemoryAllocateInfoNV *dedicate_info = > - vk_find_struct_const(pAllocateInfo->pNext, > DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV); > + const VkMemoryDedicatedAllocateInfoKHR *dedicate_info = > + vk_find_struct_const(pAllocateInfo->pNext, > MEMORY_DEDICATED_ALLOCATE_INFO_KHR); > > mem = vk_alloc2(&device->alloc, pAllocator, sizeof(*mem), 8, > VK_SYSTEM_ALLOCATION_SCOPE_OBJECT); > @@ -2217,6 +2221,20 @@ void radv_GetBufferMemoryRequirements2KHR( > { > radv_GetBufferMemoryRequirements(device, pInfo->buffer, > &pMemoryRequirements-> > memoryRequirements); > + > + vk_foreach_struct(ext, pMemoryRequirements->pNext) { > + switch (ext->sType) { > + case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR: > { > + VkMemoryDedicatedRequirementsKHR *req = > + (VkMemoryDedicatedRequirementsKHR > *) ext; > + req->requiresDedicatedAllocation = false; > + req->prefersDedicatedAllocation = req-> > requiresDedicatedAllocation; > + break; > + } > + default: > + break; > + } > + } > } > > void radv_GetImageMemoryRequirements( > @@ -2239,6 +2257,20 @@ void radv_GetImageMemoryRequirements2KHR( > { > radv_GetImageMemoryRequirements(device, pInfo->image, > &pMemoryRequirements-> > memoryRequirements); > + > + vk_foreach_struct(ext, pMemoryRequirements->pNext) { > + switch (ext->sType) { > + case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR: > { > + VkMemoryDedicatedRequirementsKHR *req = > + (VkMemoryDedicatedRequirementsKHR > *) ext; > + req->requiresDedicatedAllocation = false; > + req->prefersDedicatedAllocation = req-> > requiresDedicatedAllocation; > + break; > + } > + default: > + break; > + } > + } > } > > void radv_GetImageSparseMemoryRequirements( > diff --git a/src/amd/vulkan/radv_entrypoints_gen.py b/src/amd/vulkan/radv_ > entrypoints_gen.py > index d47a7011197..d305a07e7d7 100644 > --- a/src/amd/vulkan/radv_entrypoints_gen.py > +++ b/src/amd/vulkan/radv_entrypoints_gen.py > @@ -43,6 +43,7 @@ supported_extensions = [ > 'VK_KHR_xcb_surface', > 'VK_KHR_xlib_surface', > 'VK_KHR_get_memory_requirements2', > + 'VK_KHR_dedicated_allocation', > ] > > # We generate a static hash table for entry point lookup > -- > 2.13.2 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev