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

Viewed 136

The function vkGetPhysicalDeviceSurfaceFormatsKHR has to return at least one format, 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.

Why doesn't the same apply to vkGetPhysicalDeviceSurfacePresentModesKHR? I would assume that there should always be at least one present mode supported, as the Valid Usage Requirements for this function require that the surface be supported by the physicalDevice:

Valid Usage

  • VUID-vkGetPhysicalDeviceSurfacePresentModesKHR-surface-06211

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

Supporting the surface, I would imagine, would imply that presenting to it is possible, so a present mode should always be available. Perhaps this is an oversight in the specification?

1 Answers

There is always at least one present mode supported:

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

The standard just doesn't say it the same way.

Related