为什么 VK_SAMPLE_COUNT_1_BIT 是 Vulkan 中多重采样的无效选择?
Why is VK_SAMPLE_COUNT_1_BIT an invalid choice for multisampling in Vulkan?
大家好 Whosebug 的朋友们,
我目前正在开发一个使用 Vulkan 图形的游戏引擎 API,过去我只是将抗锯齿设置到最大。但是今天我试图将其关闭(以提高较弱系统的性能)。为此,我尝试将引擎上的 MSAA 样本设置为 VK_SAMPLE_COUNT_1_BIT,但这会产生验证错误:
Validation Error: [ VUID-VkSubpassDescription-pResolveAttachments-00848 ] Object 0: handle = 0x55aaa6e32828, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xfad6c3cb | ValidateCreateRenderPass(): Subpass 0 requests multisample resolve from attachment 0 which has VK_SAMPLE_COUNT_1_BIT. The Vulkan spec states: If pResolveAttachments is not NULL, for each resolve attachment that is not VK_ATTACHMENT_UNUSED, the corresponding color attachment must not have a sample count of VK_SAMPLE_COUNT_1_BIT (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkSubpassDescription-pResolveAttachments-00848)
我可以相对轻松地解决这个问题,所以这对我来说不是真正的问题,但是我想知道为什么要实施这个限制。如果我想将 MSAA 样本设置为 1,为什么不能?
谢谢,
斯克佐尔
样本数为 1 表示“不是多重采样图像”。而且,如果您正在进行多重采样解析,那么从非多重采样图像解析就没有意义。这也是为什么你不能将此类图像用于任何其他需要多重采样图像的东西(你不能对它们使用 MS 样式的采样器或纹理函数)。
大家好 Whosebug 的朋友们,
我目前正在开发一个使用 Vulkan 图形的游戏引擎 API,过去我只是将抗锯齿设置到最大。但是今天我试图将其关闭(以提高较弱系统的性能)。为此,我尝试将引擎上的 MSAA 样本设置为 VK_SAMPLE_COUNT_1_BIT,但这会产生验证错误:
Validation Error: [ VUID-VkSubpassDescription-pResolveAttachments-00848 ] Object 0: handle = 0x55aaa6e32828, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xfad6c3cb | ValidateCreateRenderPass(): Subpass 0 requests multisample resolve from attachment 0 which has VK_SAMPLE_COUNT_1_BIT. The Vulkan spec states: If pResolveAttachments is not NULL, for each resolve attachment that is not VK_ATTACHMENT_UNUSED, the corresponding color attachment must not have a sample count of VK_SAMPLE_COUNT_1_BIT (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkSubpassDescription-pResolveAttachments-00848)
我可以相对轻松地解决这个问题,所以这对我来说不是真正的问题,但是我想知道为什么要实施这个限制。如果我想将 MSAA 样本设置为 1,为什么不能?
谢谢, 斯克佐尔
样本数为 1 表示“不是多重采样图像”。而且,如果您正在进行多重采样解析,那么从非多重采样图像解析就没有意义。这也是为什么你不能将此类图像用于任何其他需要多重采样图像的东西(你不能对它们使用 MS 样式的采样器或纹理函数)。