为什么 vkGetPhysicalDeviceSurfaceFormatsKHR 不必 return 至少一种当前模式?

Why doesn't vkGetPhysicalDeviceSurfaceFormatsKHR have to return at least one present mode?

函数vkGetPhysicalDeviceSurfaceFormatsKHR必须return至少一种格式,as described in the specification:

The number of format pairs supported must be greater than or equal to 1. pSurfaceFormats must not contain an entry whose value for format is VK_FORMAT_UNDEFINED.

为什么 vkGetPhysicalDeviceSurfacePresentModesKHR 不一样?我假设应该始终至少支持一种当前模式,因为 Valid Usage Requirements for this function 要求 surfacephysicalDevice:

支持

Valid Usage

  • VUID-vkGetPhysicalDeviceSurfacePresentModesKHR-surface-06211

    surface must be supported by physicalDevice, as reported by vkGetPhysicalDeviceSurfaceSupportKHR or an equivalent platform-specific mechanism

支持 surface,我想,这意味着向它展示是可能的,所以展示模式应该始终可用。也许这是规范中的疏忽?

始终至少支持一种呈现模式:

VK_PRESENT_MODE_FIFO_KHR specifies ... This is the only value of presentMode that is required to be supported.

标准中的表述方式不同。