hasvk: Advertise VK_KHR_internally_synchronized_queues.

Advertise the extension and feature and accept the internally synchronized
queue create flag. FFmpeg has deprecated its own queue locking mechanism.

Assisted-by: Claude
This commit is contained in:
dancingmirrors authored and elwrcl committed 2026-07-21 22:25:26 +03:00
1 parent 2e5cca4d05
commit cd1018d5ea
1 file changed
+5 -1
+5 -1
View File
@@ -282,6 +282,7 @@ get_device_extensions(const struct anv_physical_device *device,
.KHR_video_maintenance2 = video_decode,
.KHR_synchronization2 = true,
.KHR_timeline_semaphore = true,
.KHR_internally_synchronized_queues = true,
.KHR_uniform_buffer_standard_layout = true,
.KHR_variable_pointers = true,
.KHR_vulkan_memory_model = true,
@@ -692,6 +693,9 @@ get_features(const struct anv_physical_device *pdevice,
/* VK_KHR_video_maintenance2 */
.videoMaintenance2 = true,
/* VK_KHR_internally_synchronized_queues */
.internallySynchronizedQueues = true,
};
/* We can't do image stores in vec4 shaders */
@@ -2514,7 +2518,7 @@ VkResult anv_CreateDevice(
*/
assert(pCreateInfo->queueCreateInfoCount > 0);
for (uint32_t i = 0; i < pCreateInfo->queueCreateInfoCount; i++) {
if (pCreateInfo->pQueueCreateInfos[i].flags != 0)
if (pCreateInfo->pQueueCreateInfos[i].flags & ~VK_DEVICE_QUEUE_CREATE_INTERNALLY_SYNCHRONIZED_BIT_KHR)
return vk_error(physical_device, VK_ERROR_INITIALIZATION_FAILED);
}