Vulkan® VK_KHR_synchronization2 扩展支持

首次发布时间:

我们最新的开发者驱动程序中支持 VK_KHR_synchronization2 扩展

我们最新的 Radeon Software Adrenalin 开发者驱动程序已发布,为 VK_KHR_synchronization2 扩展提供了初步支持。

此扩展程序修改了原始的核心同步 API,以简化接口并提高这些 API 的可用性。它还增加了新的管线阶段和访问标志类型,这些类型扩展到 64 位范围;新标志在 32 位范围内与旧值相同,之后将添加新的阶段和位。

虽然新 API 中同步的整体结构与原始 API 相似,但存在许多有用的更改,可以使开发者的工作更轻松。

  • 特别值得注意的是,VkEvent API 已更改为在触发事件时包含访问和布局更改信息。我们的驱动程序现在将利用此信息异步执行缓存维护操作和图像布局更改,而不会干扰其他操作——这在原始事件 API 中仅在有限的情况下才可能实现。
  • 同样,事件中的新“仅 GPU”标志允许在不需要 CPU 交互时进行额外的优化——我们利用这一点来降低延迟和系统内存流量。

其他更改主要集中在使 API 更直观,特别是关于访问掩码、图像布局和管线阶段之间的关系:现在可以以更具上下文的方式提供更多信息。

例如:

  • 现在每个内存屏障都提供管线阶段,并且使用 VK_ACCESS_MEMORY_READ_BIT 现在保证仅刷新影响同一内存屏障中管线阶段的缓存。
  • 新的 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR 布局。对于颜色图像,它与 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_ONLY_KHR 相同,但对于深度/模板图像,它与 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL 相同。

确切更改的完整详细信息可在 Vulkan 规范中找到,并在 VK_KHR_synchronization2 的 man page 中进行了总结。

我们期待看到开发人员如何利用新 API 在 AMD GPU 上提高性能,并希望它能帮助简化其引擎中的同步 API 使用。

阅读 21.2.2 版本说明

下载最新的 Radeon Software Adrenalin 驱动程序

更多 GPUOpen Vulkan® 内容

相关新闻和技术文章

© . This site is unofficial and not affiliated with AMD.