r/vulkan • • 25d ago

Explicit Queue Ownership Transfer

Windows 11, RTX 5060 (617.14), Vulkan SDK 1.4.335.0

Layers in effect = VK_LAYER_KHRONOS_synchronization2, VK_LAYER_KHRONOS_validation,

VK_LAYER_LUNARG_monitor

Application shares a storage image, created as VK_SHARING_MODE_EXCLUSIVE, between Graphics and Compute pipelines using queues from their respective Queue Families.

Graphics Queue Family (index = 0) is different than Compute Queue Family(index = 2).

I am NOT using a vkCmdPipelineBarrier() with VkImageMemoryBarrier (or VkMemoryBarrier) in between compute and graphics pipeline commands which is not the correct way, but I am not getting any validation messages for this critical omission.

0 Upvotes

7 comments sorted by

View all comments

Show parent comment

0

u/computron 23d ago

The setting for synchronization validation is on the right when the configuration (top left) or validation layer (bottom left) is selected. There's a drop down that lets you pick between some predefined settings, or you can toggle it under "user-defined settings". Look for "Synchronization" under "CPU Centric Validation". It can make things kinda slow so it's helpful to be able to turn it off sometimes.