如何加载扩展
How to load extensions
我正在尝试编写 Vulkan 程序,但对扩展机制的工作原理有些模糊。
具体来说,我想访问 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT
(在编译时未找到)但不确定如何包含 swapchain_colorspace 扩展名。
VK_EXT_swapchain_colorspace
是一个 实例 扩展。
您可以通过 pCreateInfo->ppEnabledExtensionNames
.
将其名称传递给 vkCreateInstance
来启用扩展
您可以直接使用 "VK_EXT_swapchain_colorspace"
或使用 VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME
宏来避免拼写错误。
然后,一般来说,你必须加载扩展命令(函数),除非它是WSI并且你使用的是官方的Vulkan加载器。
VK_EXT_swapchain_colorspace
未定义新命令,因此可以跳过该步骤。
像VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT
这样的枚举总是present\defined(假设你已经更新了vulkan.h
header;如果没有,就下载最新的LunarG Vulkan SDK)。启用扩展仅授予使用它们的正式许可。
我正在尝试编写 Vulkan 程序,但对扩展机制的工作原理有些模糊。
具体来说,我想访问 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT
(在编译时未找到)但不确定如何包含 swapchain_colorspace 扩展名。
VK_EXT_swapchain_colorspace
是一个 实例 扩展。
您可以通过 pCreateInfo->ppEnabledExtensionNames
.
vkCreateInstance
来启用扩展
您可以直接使用 "VK_EXT_swapchain_colorspace"
或使用 VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME
宏来避免拼写错误。
然后,一般来说,你必须加载扩展命令(函数),除非它是WSI并且你使用的是官方的Vulkan加载器。
VK_EXT_swapchain_colorspace
未定义新命令,因此可以跳过该步骤。
像VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT
这样的枚举总是present\defined(假设你已经更新了vulkan.h
header;如果没有,就下载最新的LunarG Vulkan SDK)。启用扩展仅授予使用它们的正式许可。