version - VK_MAKE_API_VERSION 中的 Vulkan API 版本变体是什么?

标签 version specifications vulkan

我在使用 VK_MAKE_VERSION 时才意识到它已被弃用。弃用消息建议使用 VK_MAKE_API_VERSION反而。它们之间唯一的区别是后者有一个额外的 variant 参数。

我知道主要次要补丁的含义,但我从未见过变体版本前。这是什么意思?

最佳答案

这在 30.2.1. Version Numbers 节中有解释。的the current Vulkan specification :

The Vulkan version number comprises four parts indicating the variant, major, minor and patch version of the Vulkan API Specification.

The variant indicates the variant of the Vulkan API supported by the implementation. This is always 0 for the Vulkan API.

Note

A non-zero variant indicates the API is a variant of the Vulkan API and applications will typically need to be modified to run against it. The variant field was a later addition to the version number, added in version 1.2.175 of the Specification. As Vulkan uses variant 0, this change is fully backwards compatible with the previous version number format for Vulkan implementations. New version number macros have been added for this change and the old macros deprecated. For existing applications using the older format and macros, an implementation with non-zero variant will decode as a very high Vulkan version. The high version number should be detectable by applications performing suitable version checking.

关于version - VK_MAKE_API_VERSION 中的 Vulkan API 版本变体是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68695260/

相关文章:

objective-c - 如何在iPhone上维护2个不同版本的应用程序

ios - 安装Xcode10.2.1还是报错 'Module compiled with Swift 5.0.1 cannot be imported by the Swift 5.1 compiler'

安卓平台版本

java - Spring Data @Query + 规范

c++ - Vulkan Vulkan.hpp 从对象实例中获取对象类型

c++ - VkSurfaceKHR 指针的值在函数调用后发生变化,无需任何显式赋值

python - 不同实现(jython/ironpython/pypy/etc)大致兼容的 cpython 版本有哪些

c - 结构的指针符号是否具有访问元素的特定样式?

html - 为什么 <s> 没有在 MDN 上列为短语内容?

c++ - 在 Windows 上制作期间未定义 Qt vulkan 类