mirror of
https://github.com/elwrcl/intel-hard-graphics.git
synced 2026-10-31 10:58:03 +03:00
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:
1 parent
2e5cca4d05
commit
cd1018d5ea
1 file changed
+5
-1
@@ -282,6 +282,7 @@ get_device_extensions(const struct anv_physical_device *device,
|
|||||||
.KHR_video_maintenance2 = video_decode,
|
.KHR_video_maintenance2 = video_decode,
|
||||||
.KHR_synchronization2 = true,
|
.KHR_synchronization2 = true,
|
||||||
.KHR_timeline_semaphore = true,
|
.KHR_timeline_semaphore = true,
|
||||||
|
.KHR_internally_synchronized_queues = true,
|
||||||
.KHR_uniform_buffer_standard_layout = true,
|
.KHR_uniform_buffer_standard_layout = true,
|
||||||
.KHR_variable_pointers = true,
|
.KHR_variable_pointers = true,
|
||||||
.KHR_vulkan_memory_model = true,
|
.KHR_vulkan_memory_model = true,
|
||||||
@@ -692,6 +693,9 @@ get_features(const struct anv_physical_device *pdevice,
|
|||||||
|
|
||||||
/* VK_KHR_video_maintenance2 */
|
/* VK_KHR_video_maintenance2 */
|
||||||
.videoMaintenance2 = true,
|
.videoMaintenance2 = true,
|
||||||
|
|
||||||
|
/* VK_KHR_internally_synchronized_queues */
|
||||||
|
.internallySynchronizedQueues = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* We can't do image stores in vec4 shaders */
|
/* We can't do image stores in vec4 shaders */
|
||||||
@@ -2514,7 +2518,7 @@ VkResult anv_CreateDevice(
|
|||||||
*/
|
*/
|
||||||
assert(pCreateInfo->queueCreateInfoCount > 0);
|
assert(pCreateInfo->queueCreateInfoCount > 0);
|
||||||
for (uint32_t i = 0; i < pCreateInfo->queueCreateInfoCount; i++) {
|
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);
|
return vk_error(physical_device, VK_ERROR_INITIALIZATION_FAILED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user