KhronosGroup / KhronosGroup/Vulkan-Docs

[Specification] Missing sanity requirements for VkImageFormatProperties

Open
#672 1 comment 0 reactions 1 assignee View on GitHub

@oddhack is already working on this.

Since Apr 9, 2018.

Resolving Inside Khronos
Dominant language
JavaScript
Stars
3.3k
Forks
549
Avg merge
5d 5h
Merged PRs (30d)
2

Description

There are missing requirements regarding the VkImageFormatProperties from vkGetPhysicalDeviceImageFormatProperties

  • relationship of tiling and usage and VkFormatProperties feature flags (so far only defined for 0 flag; and only in a Note)
  • incompatible formats and usages (e.g. depth format and color attachment usage)
  • VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT and VK_IMAGE_TILING_LINEAR should have maxArrayLayers at least 6 (not 1)
  • VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT should return same number for maxExtent.width and maxExtent.height
  • Generally should respect image creation VUs, e.g.:
    • VK_FORMAT_UNDEFINED should always return unsupported
    • VK_IMAGE_TYPE_3D should return only maxArrayLayers of 1
    • VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT and 1D and 3D type should return unsupported
    • if usage has X_ATTACHMENT the returned maxExtent must be at least VkPhysicalDeviceLimits::maxFramebufferWidth\Height
  • should respect enabled\disabled features? E.g. should return unsupported if VK_IMAGE_CREATE_SPARSE_BINDING_BIT and sparseBinding is disabled?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.