Bladeren bron

radv: Add support for VK_KHR_get_memory_requirements2.

Fished the SparseImage call out of the headers as the spec missed
the definition.

Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Acked-by: Dave Airlie <airlied@redhat.com>
undefined
Bas Nieuwenhuizen 8 jaren geleden
bovenliggende
commit
97931f0297
2 gewijzigde bestanden met toevoegingen van 32 en 0 verwijderingen
  1. 31
    0
      src/amd/vulkan/radv_device.c
  2. 1
    0
      src/amd/vulkan/radv_entrypoints_gen.py

+ 31
- 0
src/amd/vulkan/radv_device.c Bestand weergeven

@@ -137,6 +137,10 @@ static const VkExtensionProperties common_device_extensions[] = {
.extensionName = VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME,
.specVersion = 1,
},
{
.extensionName = VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME,
.specVersion = 1,
},
};

static VkResult
@@ -2206,6 +2210,15 @@ void radv_GetBufferMemoryRequirements(
pMemoryRequirements->size = align64(buffer->size, pMemoryRequirements->alignment);
}

void radv_GetBufferMemoryRequirements2KHR(
VkDevice device,
const VkBufferMemoryRequirementsInfo2KHR* pInfo,
VkMemoryRequirements2KHR* pMemoryRequirements)
{
radv_GetBufferMemoryRequirements(device, pInfo->buffer,
&pMemoryRequirements->memoryRequirements);
}

void radv_GetImageMemoryRequirements(
VkDevice device,
VkImage _image,
@@ -2219,6 +2232,15 @@ void radv_GetImageMemoryRequirements(
pMemoryRequirements->alignment = image->alignment;
}

void radv_GetImageMemoryRequirements2KHR(
VkDevice device,
const VkImageMemoryRequirementsInfo2KHR* pInfo,
VkMemoryRequirements2KHR* pMemoryRequirements)
{
radv_GetImageMemoryRequirements(device, pInfo->image,
&pMemoryRequirements->memoryRequirements);
}

void radv_GetImageSparseMemoryRequirements(
VkDevice device,
VkImage image,
@@ -2228,6 +2250,15 @@ void radv_GetImageSparseMemoryRequirements(
stub();
}

void radv_GetImageSparseMemoryRequirements2KHR(
VkDevice device,
const VkImageSparseMemoryRequirementsInfo2KHR* pInfo,
uint32_t* pSparseMemoryRequirementCount,
VkSparseImageMemoryRequirements2KHR* pSparseMemoryRequirements)
{
stub();
}

void radv_GetDeviceMemoryCommitment(
VkDevice device,
VkDeviceMemory memory,

+ 1
- 0
src/amd/vulkan/radv_entrypoints_gen.py Bestand weergeven

@@ -42,6 +42,7 @@ supported_extensions = [
'VK_KHR_wayland_surface',
'VK_KHR_xcb_surface',
'VK_KHR_xlib_surface',
'VK_KHR_get_memory_requirements2',
]

# We generate a static hash table for entry point lookup

Laden…
Annuleren
Opslaan