[Mesa-dev] [PATCH 2/3] radv: Add support for VK_KHR_dedicated_allocation.

Jason Ekstrand jason at jlekstrand.net
Sat Jul 15 04:24:49 UTC 2017


Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

On Fri, Jul 14, 2017 at 5:08 PM, Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
wrote:

> Signed-off-by: Bas Nieuwenhuizen <basni at 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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170714/9699ffae/attachment-0001.html>


More information about the mesa-dev mailing list