mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 06:40:11 +01:00
turnip: require syncobj support
Note: this means turnip requires kernel 5.8 (or older with syncobj patch). Signed-off-by: Jonathan Marek <jonathan@marek.ca> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6683>
This commit is contained in:
parent
89ffe859a8
commit
c23206757a
1 changed files with 4 additions and 15 deletions
|
|
@ -310,9 +310,9 @@ tu_drm_device_init(struct tu_physical_device *device,
|
|||
"failed to open device %s", path);
|
||||
}
|
||||
|
||||
/* Version 1.3 added MSM_INFO_IOVA. */
|
||||
/* Version 1.6 added SYNCOBJ support. */
|
||||
const int min_version_major = 1;
|
||||
const int min_version_minor = 3;
|
||||
const int min_version_minor = 6;
|
||||
|
||||
version = drmGetVersion(fd);
|
||||
if (!version) {
|
||||
|
|
@ -618,25 +618,14 @@ tu_GetSemaphoreFdKHR(VkDevice _device,
|
|||
return VK_SUCCESS;
|
||||
}
|
||||
|
||||
static bool tu_has_syncobj(struct tu_physical_device *pdev)
|
||||
{
|
||||
uint64_t value;
|
||||
if (drmGetCap(pdev->local_fd, DRM_CAP_SYNCOBJ, &value))
|
||||
return false;
|
||||
return value && pdev->msm_major_version == 1 && pdev->msm_minor_version >= 6;
|
||||
}
|
||||
|
||||
void
|
||||
tu_GetPhysicalDeviceExternalSemaphoreProperties(
|
||||
VkPhysicalDevice physicalDevice,
|
||||
const VkPhysicalDeviceExternalSemaphoreInfo *pExternalSemaphoreInfo,
|
||||
VkExternalSemaphoreProperties *pExternalSemaphoreProperties)
|
||||
{
|
||||
TU_FROM_HANDLE(tu_physical_device, pdev, physicalDevice);
|
||||
|
||||
if (tu_has_syncobj(pdev) &&
|
||||
(pExternalSemaphoreInfo->handleType == VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT ||
|
||||
pExternalSemaphoreInfo->handleType == VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT)) {
|
||||
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 |
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue