mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2024-11-23 18:24:13 +08:00
panvk: advertise VK_KHR_external_{fence,semaphore}_fd
Remove panvk_GetPhysicalDeviceExternal{Fence,Semaphore}Properties and let vk_common_GetPhysicalDeviceExternal{Fence,Semaphore}Properties handle them. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31647>
This commit is contained in:
parent
fc52c6358c
commit
7f4f20c811
@ -516,11 +516,11 @@ Khronos extensions that are not part of any Vulkan version:
|
||||
VK_KHR_display DONE (anv, nvk, pvr, radv, tu, v3dv)
|
||||
VK_KHR_display_swapchain not started
|
||||
VK_KHR_dynamic_rendering_local_read DONE (lvp, nvk, radv)
|
||||
VK_KHR_external_fence_fd DONE (anv, hasvk, nvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_KHR_external_fence_fd DONE (anv, hasvk, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_KHR_external_fence_win32 not started
|
||||
VK_KHR_external_memory_fd DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_KHR_external_memory_win32 DONE (dzn)
|
||||
VK_KHR_external_semaphore_fd DONE (anv, dzn, hasvk, nvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_KHR_external_semaphore_fd DONE (anv, dzn, hasvk, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_KHR_external_semaphore_win32 DONE (dzn)
|
||||
VK_KHR_fragment_shader_barycentric DONE (nvk/Turing+, radv/gfx10.3+)
|
||||
VK_KHR_fragment_shading_rate DONE (anv/gen11+, nvk/Turing+, radv/gfx10.3+, vn)
|
||||
|
@ -154,9 +154,11 @@ get_device_extensions(const struct panvk_physical_device *device,
|
||||
.KHR_driver_properties = true,
|
||||
.KHR_dynamic_rendering = true,
|
||||
.KHR_external_fence = true,
|
||||
.KHR_external_fence_fd = true,
|
||||
.KHR_external_memory = true,
|
||||
.KHR_external_memory_fd = true,
|
||||
.KHR_external_semaphore = true,
|
||||
.KHR_external_semaphore_fd = true,
|
||||
.KHR_get_memory_requirements2 = true,
|
||||
.KHR_maintenance1 = true,
|
||||
.KHR_maintenance2 = true,
|
||||
@ -905,43 +907,6 @@ panvk_GetPhysicalDeviceMemoryProperties2(
|
||||
};
|
||||
}
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL
|
||||
panvk_GetPhysicalDeviceExternalSemaphoreProperties(
|
||||
VkPhysicalDevice physicalDevice,
|
||||
const VkPhysicalDeviceExternalSemaphoreInfo *pExternalSemaphoreInfo,
|
||||
VkExternalSemaphoreProperties *pExternalSemaphoreProperties)
|
||||
{
|
||||
if ((pExternalSemaphoreInfo->handleType ==
|
||||
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT ||
|
||||
pExternalSemaphoreInfo->handleType ==
|
||||
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT)) {
|
||||
pExternalSemaphoreProperties->exportFromImportedHandleTypes =
|
||||
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT |
|
||||
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT;
|
||||
pExternalSemaphoreProperties->compatibleHandleTypes =
|
||||
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT |
|
||||
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT;
|
||||
pExternalSemaphoreProperties->externalSemaphoreFeatures =
|
||||
VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT |
|
||||
VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT;
|
||||
} else {
|
||||
pExternalSemaphoreProperties->exportFromImportedHandleTypes = 0;
|
||||
pExternalSemaphoreProperties->compatibleHandleTypes = 0;
|
||||
pExternalSemaphoreProperties->externalSemaphoreFeatures = 0;
|
||||
}
|
||||
}
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL
|
||||
panvk_GetPhysicalDeviceExternalFenceProperties(
|
||||
VkPhysicalDevice physicalDevice,
|
||||
const VkPhysicalDeviceExternalFenceInfo *pExternalFenceInfo,
|
||||
VkExternalFenceProperties *pExternalFenceProperties)
|
||||
{
|
||||
pExternalFenceProperties->exportFromImportedHandleTypes = 0;
|
||||
pExternalFenceProperties->compatibleHandleTypes = 0;
|
||||
pExternalFenceProperties->externalFenceFeatures = 0;
|
||||
}
|
||||
|
||||
#define DEVICE_PER_ARCH_FUNCS(_ver) \
|
||||
VkResult panvk_v##_ver##_create_device( \
|
||||
struct panvk_physical_device *physical_device, \
|
||||
|
Loading…
Reference in New Issue
Block a user