mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
pvr: implement buffer device address
Reviewed-by: Frank Binns <frank.binns@imgtec.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37726>
This commit is contained in:
parent
38c3c89b0d
commit
85b170ab41
3 changed files with 33 additions and 4 deletions
|
|
@ -462,7 +462,7 @@ Vulkan 1.1 -- all DONE: anv, hk, lvp, nvk, panvk/v10+, pvr, radv, tu, vn
|
|||
Vulkan 1.2 -- all DONE: anv, hk, nvk, panvk/v10+, pvr, tu, vn
|
||||
|
||||
VK_KHR_8bit_storage DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu/a750+, v3dv, vn)
|
||||
VK_KHR_buffer_device_address DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
||||
VK_KHR_buffer_device_address DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_KHR_create_renderpass2 DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_KHR_depth_stencil_resolve DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_KHR_draw_indirect_count DONE (anv, dzn, hasvk, lvp, nvk, panvk/v10+, radv, tu, vn)
|
||||
|
|
|
|||
|
|
@ -83,3 +83,4 @@ VK_KHR_device_group_creation on pvr
|
|||
VK_KHR_map_memory2 on pvr
|
||||
VK_EXT_map_memory_placed on pvr
|
||||
VK_KHR_device_group on pvr
|
||||
VK_KHR_buffer_device_address on pvr
|
||||
|
|
|
|||
|
|
@ -173,6 +173,7 @@ static void pvr_physical_device_get_supported_extensions(
|
|||
{
|
||||
*extensions = (struct vk_device_extension_table){
|
||||
.KHR_bind_memory2 = true,
|
||||
.KHR_buffer_device_address = true,
|
||||
.KHR_copy_commands2 = true,
|
||||
.KHR_create_renderpass2 = true,
|
||||
.KHR_dedicated_allocation = true,
|
||||
|
|
@ -349,9 +350,6 @@ static void pvr_physical_device_get_supported_features(
|
|||
.descriptorBindingVariableDescriptorCount = false,
|
||||
.runtimeDescriptorArray = false,
|
||||
.samplerFilterMinmax = false,
|
||||
.bufferDeviceAddress = false,
|
||||
.bufferDeviceAddressCaptureReplay = false,
|
||||
.bufferDeviceAddressMultiDevice = false,
|
||||
.vulkanMemoryModel = false,
|
||||
.vulkanMemoryModelDeviceScope = false,
|
||||
.vulkanMemoryModelAvailabilityVisibilityChains = false,
|
||||
|
|
@ -465,6 +463,11 @@ static void pvr_physical_device_get_supported_features(
|
|||
/* Vulkan 1.3 / VK_EXT_texel_buffer_alignment */
|
||||
.texelBufferAlignment = true,
|
||||
|
||||
/* Vulkan 1.2 / VK_KHR_buffer_device_address */
|
||||
.bufferDeviceAddress = true,
|
||||
.bufferDeviceAddressCaptureReplay = false,
|
||||
.bufferDeviceAddressMultiDevice = false,
|
||||
|
||||
/* VK_KHR_shader_expect_assume */
|
||||
.shaderExpectAssume = false,
|
||||
|
||||
|
|
@ -3106,6 +3109,31 @@ VkResult pvr_CreateBuffer(VkDevice _device,
|
|||
return VK_SUCCESS;
|
||||
}
|
||||
|
||||
VkDeviceAddress
|
||||
pvr_GetBufferDeviceAddress(UNUSED VkDevice device,
|
||||
const VkBufferDeviceAddressInfo *pInfo)
|
||||
{
|
||||
VK_FROM_HANDLE(pvr_buffer, buffer, pInfo->buffer);
|
||||
|
||||
return buffer->dev_addr.addr;
|
||||
}
|
||||
|
||||
uint64_t
|
||||
pvr_GetBufferOpaqueCaptureAddress(UNUSED VkDevice device,
|
||||
UNUSED const VkBufferDeviceAddressInfo *pInfo)
|
||||
{
|
||||
pvr_finishme("Missing support for bufferDeviceAddressCaptureReplay");
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint64_t pvr_GetDeviceMemoryOpaqueCaptureAddress(
|
||||
UNUSED VkDevice device,
|
||||
UNUSED const VkDeviceMemoryOpaqueCaptureAddressInfo *pInfo)
|
||||
{
|
||||
pvr_finishme("Missing support for bufferDeviceAddressCaptureReplay");
|
||||
return 0;
|
||||
}
|
||||
|
||||
void pvr_DestroyBuffer(VkDevice _device,
|
||||
VkBuffer _buffer,
|
||||
const VkAllocationCallbacks *pAllocator)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue