radv: implement VK_EXT_private_data
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4886>
This commit is contained in:
parent
178adfa6a8
commit
9b1138e3f0
|
@ -1,2 +1,2 @@
|
|||
GL_ARB_compute_variable_group_size on Iris.
|
||||
VK_EXT_private_data on ANV.
|
||||
VK_EXT_private_data on ANV and RADV.
|
||||
|
|
|
@ -1274,6 +1274,12 @@ void radv_GetPhysicalDeviceFeatures2(
|
|||
features->nullDescriptor = true;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT: {
|
||||
VkPhysicalDevicePrivateDataFeaturesEXT *features =
|
||||
(VkPhysicalDevicePrivateDataFeaturesEXT *)ext;
|
||||
features->privateData = true;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -7778,3 +7784,48 @@ void radv_GetPhysicalDeviceMultisamplePropertiesEXT(
|
|||
pMultisampleProperties->maxSampleLocationGridSize = (VkExtent2D){ 0, 0 };
|
||||
}
|
||||
}
|
||||
|
||||
VkResult radv_CreatePrivateDataSlotEXT(
|
||||
VkDevice _device,
|
||||
const VkPrivateDataSlotCreateInfoEXT* pCreateInfo,
|
||||
const VkAllocationCallbacks* pAllocator,
|
||||
VkPrivateDataSlotEXT* pPrivateDataSlot)
|
||||
{
|
||||
RADV_FROM_HANDLE(radv_device, device, _device);
|
||||
return vk_private_data_slot_create(&device->vk, pCreateInfo, pAllocator,
|
||||
pPrivateDataSlot);
|
||||
}
|
||||
|
||||
void radv_DestroyPrivateDataSlotEXT(
|
||||
VkDevice _device,
|
||||
VkPrivateDataSlotEXT privateDataSlot,
|
||||
const VkAllocationCallbacks* pAllocator)
|
||||
{
|
||||
RADV_FROM_HANDLE(radv_device, device, _device);
|
||||
vk_private_data_slot_destroy(&device->vk, privateDataSlot, pAllocator);
|
||||
}
|
||||
|
||||
VkResult radv_SetPrivateDataEXT(
|
||||
VkDevice _device,
|
||||
VkObjectType objectType,
|
||||
uint64_t objectHandle,
|
||||
VkPrivateDataSlotEXT privateDataSlot,
|
||||
uint64_t data)
|
||||
{
|
||||
RADV_FROM_HANDLE(radv_device, device, _device);
|
||||
return vk_object_base_set_private_data(&device->vk, objectType,
|
||||
objectHandle, privateDataSlot,
|
||||
data);
|
||||
}
|
||||
|
||||
void radv_GetPrivateDataEXT(
|
||||
VkDevice _device,
|
||||
VkObjectType objectType,
|
||||
uint64_t objectHandle,
|
||||
VkPrivateDataSlotEXT privateDataSlot,
|
||||
uint64_t* pData)
|
||||
{
|
||||
RADV_FROM_HANDLE(radv_device, device, _device);
|
||||
vk_object_base_get_private_data(&device->vk, objectType, objectHandle,
|
||||
privateDataSlot, pData);
|
||||
}
|
||||
|
|
|
@ -159,6 +159,7 @@ EXTENSIONS = [
|
|||
Extension('VK_EXT_pci_bus_info', 2, True),
|
||||
Extension('VK_EXT_pipeline_creation_feedback', 1, True),
|
||||
Extension('VK_EXT_post_depth_coverage', 1, 'device->rad_info.chip_class >= GFX10'),
|
||||
Extension('VK_EXT_private_data', 1, True),
|
||||
Extension('VK_EXT_queue_family_foreign', 1, True),
|
||||
Extension('VK_EXT_robustness2', 1, True),
|
||||
# Disable sample locations on GFX10 until the CTS failures have been resolved.
|
||||
|
|
Loading…
Reference in New Issue