KhronosGroup / KhronosGroup/Vulkan-Docs
How to know the mandatory format support of VK_FORMAT_FEATURE_TRANSFER_SRC_BIT and VK_FORMAT_FEATURE_TRANSFER_DST_BIT
- Dominant language
- JavaScript
- Stars
- 3.3k
- Forks
- 549
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 2
Description
Hi Vulkan Working Group:
I have a question about the Tables 58 - 68"Mandatory Format Support" in the [Chapter 39.3 "Required Format Support"](https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#features-required-format-support).
In these tables we cannot find out if the support of ```VK_FORMAT_FEATURE_TRANSFER_SRC_BIT``` and ```VK_FORMAT_FEATURE_TRANSFER_DST_BIT``` is required or not for each format. I see the SPEC requires "formats that are required to support ```VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT``` must also support ```VK_FORMAT_FEATURE_TRANSFER_SRC_BIT``` and ```VK_FORMAT_FEATURE_TRANSFER_DST_BIT```", but does it mean that if a format is not required to support ```VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT```, then it is also not required to support ```VK_FORMAT_FEATURE_TRANSFER_SRC_BIT``` and ```VK_FORMAT_FEATURE_TRANSFER_DST_BIT```?
I am meeting this issue when I am investigating if it is allowed to copy a texture with depth stencil textures in Vulkan SPEC. From Table 65 "Mandatory format support: depth/stencil with VkImageType VK_IMAGE_TYPE_2D" we can see only ```VK_FORMAT_D16_UNORM``` and ```VK_FORMAT_D32_SFLOAT``` support ```VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT```, so does it mean all other depth stencil formats are not required to support being used in copy commands?
Furthermore, in [Chapter 19.4 "Copying Data Between Buffers and Images"](https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#copies-buffers-images), the statement **"data copied to or from the depth aspect of a VK_FORMAT_X8_D24_UNORM_PACK32 or VK_FORMAT_D24_UNORM_S8_UINT format is packed with one 32-bit word per texel with the D24 value in the LSBs of the word, and undefined values in the eight MSBs"** is not always true as ```VK_FORMAT_X8_D24_UNORM_PACK32``` and ```VK_FORMAT_D24_UNORM_S8_UINT``` may not be supported to be used in copy commands. Is it correct?
Contributor guide
Research direction
Read Chapter 39.3, Tables 58–68 and Table 65, together with Chapter 19.4 on copying data between buffers and images. Determine how the mandatory transfer feature requirements apply to the listed depth/stencil formats, then clarify the specification language so the requirements and the packing statement are consistent.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100