Vulkan-Docs/doc/specs/vulkan/man/VkFormat.txt

1081 lines
42 KiB
Plaintext
Raw Normal View History

// Copyright (c) 2014-2016 Khronos Group. This work is licensed under a
// Creative Commons Attribution 4.0 International License; see
// http://creativecommons.org/licenses/by/4.0/
Change log for March 25, 2016 Vulkan 1.0.7 spec update: * Bump API patch number and header version number to 7 for this update. Github Issues: * Fix slink:VkSpecializationMapEntry example to avoid C/C++ strict aliasing issues (public issue 14). * Clarify the meaning of "matching" in flink:vkCmdBindDescriptorSets validity language (public issue 33). * Add stub reference pages so xrefs to not-yet-written pages don't generate 404 errors. However, the actual content of these pages still needs to be filled in as time allows (public issue 44, but does not close that issue out). * Remove incorrect validity statement for flink:vkGetImageSparseMemoryRequirements (public issue 85). * Reword the <<features-limits-bufferImageGranularity,bufferImageGranularity>> feature in terms of "aliasing", and clarify that it applies to bindings in the same memory object (public issue 90). * Clarify the relationship of the slink:VkPhysicalDeviceLimits pname:maxViewportDimensions and pname:viewportBoundsRange limits (public issue 92). * Specify sparse unbound texture replacement in the <<textures-texel-replacement,Texel Replacement>> section independently of robust buffer access language (public issue 100). * Add the <<fundamentals-architecture-model,Architecture Model>> section to explain architecture constraints Vulkan has chosen to accept in order to enable portable and performant code (public issue 122). * State that an object must not be destroyed until *all* (not *any*) uses of that object have completed (public issue 123). * Minor editorial cleanup (public issues 129, 134, 146, 148). * Add validity language for layer and extension names to slink:VkDeviceCreateInfo matching that used for slink:VkInstanceCreateInfo (public issue 130). * Clean up terminology for the case when the bits set in one bitmask are a subset of the bits set in another bitmask (public issue 138). * Document that input attachments are UniformConstant not Input, in the <<interfaces-inputattachment,Fragment Input Attachment Interface>> section (public glslang bug 169). Internal Issues: * Add max enum values to "flag bits" enums (internal issue #136). * Clarify language around the various uses of the term "block" in the <<appendix-compressedtex-bc,Block Compressed Image Formats>> section (internal issue #202). * Removed "expand" dependency from <enums> groups in vk.xml and added auto-generation code in the scripts to infer it instead, to ensure consistency. This caused renaming of sname:VkColorSpaceKHR and sname:VkPresentModeKHR etext:BEGIN_RANGE (etc.) tokens, but those tokens are metadata, not part of the API, and the Vulkan WG is OK with this change. This change adds ranges to two additional enums that were missing them due to not defining the "expand" attribute (internal issue 217). * Tweak makefile to generate ref page nroff (.3) files in the right output directory, working around an a2x limitation (internal issue 223). Other Commits: * Add validity requirements for flink:vkCmdCopyQueryPoolResults pname:dstBuffer parameter. * Fix ref page build to generate .3 targets in the right output directory.
2016-03-25 09:25:04 +00:00
VkFormat(3)
===========
Name
----
VkFormat - available image formats
Change log for March 25, 2016 Vulkan 1.0.7 spec update: * Bump API patch number and header version number to 7 for this update. Github Issues: * Fix slink:VkSpecializationMapEntry example to avoid C/C++ strict aliasing issues (public issue 14). * Clarify the meaning of "matching" in flink:vkCmdBindDescriptorSets validity language (public issue 33). * Add stub reference pages so xrefs to not-yet-written pages don't generate 404 errors. However, the actual content of these pages still needs to be filled in as time allows (public issue 44, but does not close that issue out). * Remove incorrect validity statement for flink:vkGetImageSparseMemoryRequirements (public issue 85). * Reword the <<features-limits-bufferImageGranularity,bufferImageGranularity>> feature in terms of "aliasing", and clarify that it applies to bindings in the same memory object (public issue 90). * Clarify the relationship of the slink:VkPhysicalDeviceLimits pname:maxViewportDimensions and pname:viewportBoundsRange limits (public issue 92). * Specify sparse unbound texture replacement in the <<textures-texel-replacement,Texel Replacement>> section independently of robust buffer access language (public issue 100). * Add the <<fundamentals-architecture-model,Architecture Model>> section to explain architecture constraints Vulkan has chosen to accept in order to enable portable and performant code (public issue 122). * State that an object must not be destroyed until *all* (not *any*) uses of that object have completed (public issue 123). * Minor editorial cleanup (public issues 129, 134, 146, 148). * Add validity language for layer and extension names to slink:VkDeviceCreateInfo matching that used for slink:VkInstanceCreateInfo (public issue 130). * Clean up terminology for the case when the bits set in one bitmask are a subset of the bits set in another bitmask (public issue 138). * Document that input attachments are UniformConstant not Input, in the <<interfaces-inputattachment,Fragment Input Attachment Interface>> section (public glslang bug 169). Internal Issues: * Add max enum values to "flag bits" enums (internal issue #136). * Clarify language around the various uses of the term "block" in the <<appendix-compressedtex-bc,Block Compressed Image Formats>> section (internal issue #202). * Removed "expand" dependency from <enums> groups in vk.xml and added auto-generation code in the scripts to infer it instead, to ensure consistency. This caused renaming of sname:VkColorSpaceKHR and sname:VkPresentModeKHR etext:BEGIN_RANGE (etc.) tokens, but those tokens are metadata, not part of the API, and the Vulkan WG is OK with this change. This change adds ranges to two additional enums that were missing them due to not defining the "expand" attribute (internal issue 217). * Tweak makefile to generate ref page nroff (.3) files in the right output directory, working around an a2x limitation (internal issue 223). Other Commits: * Add validity requirements for flink:vkCmdCopyQueryPoolResults pname:dstBuffer parameter. * Fix ref page build to generate .3 targets in the right output directory.
2016-03-25 09:25:04 +00:00
C Specification
---------------
// refBegin VkFormat available image formats
Change log for March 25, 2016 Vulkan 1.0.7 spec update: * Bump API patch number and header version number to 7 for this update. Github Issues: * Fix slink:VkSpecializationMapEntry example to avoid C/C++ strict aliasing issues (public issue 14). * Clarify the meaning of "matching" in flink:vkCmdBindDescriptorSets validity language (public issue 33). * Add stub reference pages so xrefs to not-yet-written pages don't generate 404 errors. However, the actual content of these pages still needs to be filled in as time allows (public issue 44, but does not close that issue out). * Remove incorrect validity statement for flink:vkGetImageSparseMemoryRequirements (public issue 85). * Reword the <<features-limits-bufferImageGranularity,bufferImageGranularity>> feature in terms of "aliasing", and clarify that it applies to bindings in the same memory object (public issue 90). * Clarify the relationship of the slink:VkPhysicalDeviceLimits pname:maxViewportDimensions and pname:viewportBoundsRange limits (public issue 92). * Specify sparse unbound texture replacement in the <<textures-texel-replacement,Texel Replacement>> section independently of robust buffer access language (public issue 100). * Add the <<fundamentals-architecture-model,Architecture Model>> section to explain architecture constraints Vulkan has chosen to accept in order to enable portable and performant code (public issue 122). * State that an object must not be destroyed until *all* (not *any*) uses of that object have completed (public issue 123). * Minor editorial cleanup (public issues 129, 134, 146, 148). * Add validity language for layer and extension names to slink:VkDeviceCreateInfo matching that used for slink:VkInstanceCreateInfo (public issue 130). * Clean up terminology for the case when the bits set in one bitmask are a subset of the bits set in another bitmask (public issue 138). * Document that input attachments are UniformConstant not Input, in the <<interfaces-inputattachment,Fragment Input Attachment Interface>> section (public glslang bug 169). Internal Issues: * Add max enum values to "flag bits" enums (internal issue #136). * Clarify language around the various uses of the term "block" in the <<appendix-compressedtex-bc,Block Compressed Image Formats>> section (internal issue #202). * Removed "expand" dependency from <enums> groups in vk.xml and added auto-generation code in the scripts to infer it instead, to ensure consistency. This caused renaming of sname:VkColorSpaceKHR and sname:VkPresentModeKHR etext:BEGIN_RANGE (etc.) tokens, but those tokens are metadata, not part of the API, and the Vulkan WG is OK with this change. This change adds ranges to two additional enums that were missing them due to not defining the "expand" attribute (internal issue 217). * Tweak makefile to generate ref page nroff (.3) files in the right output directory, working around an a2x limitation (internal issue 223). Other Commits: * Add validity requirements for flink:vkCmdCopyQueryPoolResults pname:dstBuffer parameter. * Fix ref page build to generate .3 targets in the right output directory.
2016-03-25 09:25:04 +00:00
The available formats are defined by the elink:VkFormat enumeration:
include::../enums/VkFormat.txt[]
Change log for March 25, 2016 Vulkan 1.0.7 spec update: * Bump API patch number and header version number to 7 for this update. Github Issues: * Fix slink:VkSpecializationMapEntry example to avoid C/C++ strict aliasing issues (public issue 14). * Clarify the meaning of "matching" in flink:vkCmdBindDescriptorSets validity language (public issue 33). * Add stub reference pages so xrefs to not-yet-written pages don't generate 404 errors. However, the actual content of these pages still needs to be filled in as time allows (public issue 44, but does not close that issue out). * Remove incorrect validity statement for flink:vkGetImageSparseMemoryRequirements (public issue 85). * Reword the <<features-limits-bufferImageGranularity,bufferImageGranularity>> feature in terms of "aliasing", and clarify that it applies to bindings in the same memory object (public issue 90). * Clarify the relationship of the slink:VkPhysicalDeviceLimits pname:maxViewportDimensions and pname:viewportBoundsRange limits (public issue 92). * Specify sparse unbound texture replacement in the <<textures-texel-replacement,Texel Replacement>> section independently of robust buffer access language (public issue 100). * Add the <<fundamentals-architecture-model,Architecture Model>> section to explain architecture constraints Vulkan has chosen to accept in order to enable portable and performant code (public issue 122). * State that an object must not be destroyed until *all* (not *any*) uses of that object have completed (public issue 123). * Minor editorial cleanup (public issues 129, 134, 146, 148). * Add validity language for layer and extension names to slink:VkDeviceCreateInfo matching that used for slink:VkInstanceCreateInfo (public issue 130). * Clean up terminology for the case when the bits set in one bitmask are a subset of the bits set in another bitmask (public issue 138). * Document that input attachments are UniformConstant not Input, in the <<interfaces-inputattachment,Fragment Input Attachment Interface>> section (public glslang bug 169). Internal Issues: * Add max enum values to "flag bits" enums (internal issue #136). * Clarify language around the various uses of the term "block" in the <<appendix-compressedtex-bc,Block Compressed Image Formats>> section (internal issue #202). * Removed "expand" dependency from <enums> groups in vk.xml and added auto-generation code in the scripts to infer it instead, to ensure consistency. This caused renaming of sname:VkColorSpaceKHR and sname:VkPresentModeKHR etext:BEGIN_RANGE (etc.) tokens, but those tokens are metadata, not part of the API, and the Vulkan WG is OK with this change. This change adds ranges to two additional enums that were missing them due to not defining the "expand" attribute (internal issue 217). * Tweak makefile to generate ref page nroff (.3) files in the right output directory, working around an a2x limitation (internal issue 223). Other Commits: * Add validity requirements for flink:vkCmdCopyQueryPoolResults pname:dstBuffer parameter. * Fix ref page build to generate .3 targets in the right output directory.
2016-03-25 09:25:04 +00:00
Description
-----------
ename:VK_FORMAT_UNDEFINED::
The format is not specified.
ename:VK_FORMAT_R4G4_UNORM_PACK8::
A two-component, 8-bit packed unsigned normalized format that has
a 4-bit R component in bits 4..7, and
a 4-bit G component in bits 0..3.
ename:VK_FORMAT_R4G4B4A4_UNORM_PACK16::
A four-component, 16-bit packed unsigned normalized format that has
a 4-bit R component in bits 12..15,
a 4-bit G component in bits 8..11,
a 4-bit B component in bits 4..7, and
a 4-bit A component in bits 0..3.
ename:VK_FORMAT_B4G4R4A4_UNORM_PACK16::
A four-component, 16-bit packed unsigned normalized format that has
a 4-bit B component in bits 12..15,
a 4-bit G component in bits 8..11,
a 4-bit R component in bits 4..7, and
a 4-bit A component in bits 0..3.
ename:VK_FORMAT_R5G6B5_UNORM_PACK16::
A three-component, 16-bit packed unsigned normalized format that has
a 5-bit R component in bits 11..15,
a 6-bit G component in bits 5..10, and
a 5-bit B component in bits 0..4.
ename:VK_FORMAT_B5G6R5_UNORM_PACK16::
A three-component, 16-bit packed unsigned normalized format that has
a 5-bit B component in bits 11..15,
a 6-bit G component in bits 5..10, and
a 5-bit R component in bits 0..4.
ename:VK_FORMAT_R5G5B5A1_UNORM_PACK16::
A four-component, 16-bit packed unsigned normalized format that has
a 5-bit R component in bits 11..15,
a 5-bit G component in bits 6..10,
a 5-bit B component in bits 1..5, and
a 1-bit A component in bit 0.
ename:VK_FORMAT_B5G5R5A1_UNORM_PACK16::
A four-component, 16-bit packed unsigned normalized format that has
a 5-bit B component in bits 11..15,
a 5-bit G component in bits 6..10,
a 5-bit R component in bits 1..5, and
a 1-bit A component in bit 0.
ename:VK_FORMAT_A1R5G5B5_UNORM_PACK16::
A four-component, 16-bit packed unsigned normalized format that has
a 1-bit A component in bit 15,
a 5-bit R component in bits 10..14,
a 5-bit G component in bits 5..9, and
a 5-bit B component in bits 0..4.
ename:VK_FORMAT_R8_UNORM::
A one-component, 8-bit unsigned normalized format that has
a single 8-bit R component.
ename:VK_FORMAT_R8_SNORM::
A one-component, 8-bit signed normalized format that has
a single 8-bit R component.
ename:VK_FORMAT_R8_USCALED::
A one-component, 8-bit unsigned scaled integer format that has
a single 8-bit R component.
ename:VK_FORMAT_R8_SSCALED::
A one-component, 8-bit signed scaled integer format that has
a single 8-bit R component.
ename:VK_FORMAT_R8_UINT::
A one-component, 8-bit unsigned integer format that has
a single 8-bit R component.
ename:VK_FORMAT_R8_SINT::
A one-component, 8-bit signed integer format that has
a single 8-bit R component.
ename:VK_FORMAT_R8_SRGB::
A one-component, 8-bit unsigned normalized format that has
a single 8-bit R component stored with sRGB nonlinear encoding.
ename:VK_FORMAT_R8G8_UNORM::
A two-component, 16-bit unsigned normalized format that has
an 8-bit R component in byte 0, and
an 8-bit G component in byte 1.
ename:VK_FORMAT_R8G8_SNORM::
A two-component, 16-bit signed normalized format that has
an 8-bit R component in byte 0, and
an 8-bit G component in byte 1.
ename:VK_FORMAT_R8G8_USCALED::
A two-component, 16-bit unsigned scaled integer format that has
an 8-bit R component in byte 0, and
an 8-bit G component in byte 1.
ename:VK_FORMAT_R8G8_SSCALED::
A two-component, 16-bit signed scaled integer format that has
an 8-bit R component in byte 0, and
an 8-bit G component in byte 1.
ename:VK_FORMAT_R8G8_UINT::
A two-component, 16-bit unsigned integer format that has
an 8-bit R component in byte 0, and
an 8-bit G component in byte 1.
ename:VK_FORMAT_R8G8_SINT::
A two-component, 16-bit signed integer format that has
an 8-bit R component in byte 0, and
an 8-bit G component in byte 1.
ename:VK_FORMAT_R8G8_SRGB::
A two-component, 16-bit unsigned normalized format that has
an 8-bit R component stored with sRGB nonlinear encoding in byte 0, and
an 8-bit G component stored with sRGB nonlinear encoding in byte 1.
ename:VK_FORMAT_R8G8B8_UNORM::
A three-component, 24-bit unsigned normalized format that has
an 8-bit R component in byte 0,
an 8-bit G component in byte 1, and
an 8-bit B component in byte 2.
ename:VK_FORMAT_R8G8B8_SNORM::
A three-component, 24-bit signed normalized format that has
an 8-bit R component in byte 0,
an 8-bit G component in byte 1, and
an 8-bit B component in byte 2.
ename:VK_FORMAT_R8G8B8_USCALED::
A three-component, 24-bit unsigned scaled format that has
an 8-bit R component in byte 0,
an 8-bit G component in byte 1, and
an 8-bit B component in byte 2.
ename:VK_FORMAT_R8G8B8_SSCALED::
A three-component, 24-bit signed scaled format that has
an 8-bit R component in byte 0,
an 8-bit G component in byte 1, and
an 8-bit B component in byte 2.
ename:VK_FORMAT_R8G8B8_UINT::
A three-component, 24-bit unsigned integer format that has
an 8-bit R component in byte 0,
an 8-bit G component in byte 1, and
an 8-bit B component in byte 2.
ename:VK_FORMAT_R8G8B8_SINT::
A three-component, 24-bit signed integer format that has
an 8-bit R component in byte 0,
an 8-bit G component in byte 1, and
an 8-bit B component in byte 2.
ename:VK_FORMAT_R8G8B8_SRGB::
A three-component, 24-bit unsigned normalized format that has
an 8-bit R component stored with sRGB nonlinear encoding in byte 0,
an 8-bit G component stored with sRGB nonlinear encoding in byte 1, and
an 8-bit B component stored with sRGB nonlinear encoding in byte 2.
ename:VK_FORMAT_B8G8R8_UNORM::
A three-component, 24-bit unsigned normalized format that has
an 8-bit B component in byte 0,
an 8-bit G component in byte 1, and
an 8-bit R component in byte 2.
ename:VK_FORMAT_B8G8R8_SNORM::
A three-component, 24-bit signed normalized format that has
an 8-bit B component in byte 0,
an 8-bit G component in byte 1, and
an 8-bit R component in byte 2.
ename:VK_FORMAT_B8G8R8_USCALED::
A three-component, 24-bit unsigned scaled format that has
an 8-bit B component in byte 0,
an 8-bit G component in byte 1, and
an 8-bit R component in byte 2.
ename:VK_FORMAT_B8G8R8_SSCALED::
A three-component, 24-bit signed scaled format that has
an 8-bit B component in byte 0,
an 8-bit G component in byte 1, and
an 8-bit R component in byte 2.
ename:VK_FORMAT_B8G8R8_UINT::
A three-component, 24-bit unsigned integer format that has
an 8-bit B component in byte 0,
an 8-bit G component in byte 1, and
an 8-bit R component in byte 2.
ename:VK_FORMAT_B8G8R8_SINT::
A three-component, 24-bit signed integer format that has
an 8-bit B component in byte 0,
an 8-bit G component in byte 1, and
an 8-bit R component in byte 2.
ename:VK_FORMAT_B8G8R8_SRGB::
A three-component, 24-bit unsigned normalized format that has
an 8-bit B component stored with sRGB nonlinear encoding in byte 0,
an 8-bit G component stored with sRGB nonlinear encoding in byte 1, and
an 8-bit R component stored with sRGB nonlinear encoding in byte 2.
ename:VK_FORMAT_R8G8B8A8_UNORM::
A four-component, 32-bit unsigned normalized format that has
an 8-bit R component in byte 0,
an 8-bit G component in byte 1,
an 8-bit B component in byte 2, and
an 8-bit A component in byte 3.
ename:VK_FORMAT_R8G8B8A8_SNORM::
A four-component, 32-bit signed normalized format that has
an 8-bit R component in byte 0,
an 8-bit G component in byte 1,
an 8-bit B component in byte 2, and
an 8-bit A component in byte 3.
ename:VK_FORMAT_R8G8B8A8_USCALED::
A four-component, 32-bit unsigned scaled format that has
an 8-bit R component in byte 0,
an 8-bit G component in byte 1,
an 8-bit B component in byte 2, and
an 8-bit A component in byte 3.
ename:VK_FORMAT_R8G8B8A8_SSCALED::
A four-component, 32-bit signed scaled format that has
an 8-bit R component in byte 0,
an 8-bit G component in byte 1,
an 8-bit B component in byte 2, and
an 8-bit A component in byte 3.
ename:VK_FORMAT_R8G8B8A8_UINT::
A four-component, 32-bit unsigned integer format that has
an 8-bit R component in byte 0,
an 8-bit G component in byte 1,
an 8-bit B component in byte 2, and
an 8-bit A component in byte 3.
ename:VK_FORMAT_R8G8B8A8_SINT::
A four-component, 32-bit signed integer format that has
an 8-bit R component in byte 0,
an 8-bit G component in byte 1,
an 8-bit B component in byte 2, and
an 8-bit A component in byte 3.
ename:VK_FORMAT_R8G8B8A8_SRGB::
A four-component, 32-bit unsigned normalized format that has
an 8-bit R component stored with sRGB nonlinear encoding in byte 0,
an 8-bit G component stored with sRGB nonlinear encoding in byte 1,
an 8-bit B component stored with sRGB nonlinear encoding in byte 2, and
an 8-bit A component in byte 3.
ename:VK_FORMAT_B8G8R8A8_UNORM::
A four-component, 32-bit unsigned normalized format that has
an 8-bit B component in byte 0,
an 8-bit G component in byte 1,
an 8-bit R component in byte 2, and
an 8-bit A component in byte 3.
ename:VK_FORMAT_B8G8R8A8_SNORM::
A four-component, 32-bit signed normalized format that has
an 8-bit B component in byte 0,
an 8-bit G component in byte 1,
an 8-bit R component in byte 2, and
an 8-bit A component in byte 3.
ename:VK_FORMAT_B8G8R8A8_USCALED::
A four-component, 32-bit unsigned scaled format that has
an 8-bit B component in byte 0,
an 8-bit G component in byte 1,
an 8-bit R component in byte 2, and
an 8-bit A component in byte 3.
ename:VK_FORMAT_B8G8R8A8_SSCALED::
A four-component, 32-bit signed scaled format that has
an 8-bit B component in byte 0,
an 8-bit G component in byte 1,
an 8-bit R component in byte 2, and
an 8-bit A component in byte 3.
ename:VK_FORMAT_B8G8R8A8_UINT::
A four-component, 32-bit unsigned integer format that has
an 8-bit B component in byte 0,
an 8-bit G component in byte 1,
an 8-bit R component in byte 2, and
an 8-bit A component in byte 3.
ename:VK_FORMAT_B8G8R8A8_SINT::
A four-component, 32-bit signed integer format that has
an 8-bit B component in byte 0,
an 8-bit G component in byte 1,
an 8-bit R component in byte 2, and
an 8-bit A component in byte 3.
ename:VK_FORMAT_B8G8R8A8_SRGB::
A four-component, 32-bit unsigned normalized format that has
an 8-bit B component stored with sRGB nonlinear encoding in byte 0,
an 8-bit G component stored with sRGB nonlinear encoding in byte 1,
an 8-bit R component stored with sRGB nonlinear encoding in byte 2, and
an 8-bit A component in byte 3.
ename:VK_FORMAT_A8B8G8R8_UNORM_PACK32::
A four-component, 32-bit packed unsigned normalized format that has
an 8-bit A component in bits 24..31,
an 8-bit B component in bits 16..23,
an 8-bit G component in bits 8..15, and
an 8-bit R component in bits 0..7.
ename:VK_FORMAT_A8B8G8R8_SNORM_PACK32::
A four-component, 32-bit packed signed normalized format that has
an 8-bit A component in bits 24..31,
an 8-bit B component in bits 16..23,
an 8-bit G component in bits 8..15, and
an 8-bit R component in bits 0..7.
ename:VK_FORMAT_A8B8G8R8_USCALED_PACK32::
A four-component, 32-bit packed unsigned scaled integer format that has
an 8-bit A component in bits 24..31,
an 8-bit B component in bits 16..23,
an 8-bit G component in bits 8..15, and
an 8-bit R component in bits 0..7.
ename:VK_FORMAT_A8B8G8R8_SSCALED_PACK32::
A four-component, 32-bit packed signed scaled integer format that has
an 8-bit A component in bits 24..31,
an 8-bit B component in bits 16..23,
an 8-bit G component in bits 8..15, and
an 8-bit R component in bits 0..7.
ename:VK_FORMAT_A8B8G8R8_UINT_PACK32::
A four-component, 32-bit packed unsigned integer format that has
an 8-bit A component in bits 24..31,
an 8-bit B component in bits 16..23,
an 8-bit G component in bits 8..15, and
an 8-bit R component in bits 0..7.
ename:VK_FORMAT_A8B8G8R8_SINT_PACK32::
A four-component, 32-bit packed signed integer format that has
an 8-bit A component in bits 24..31,
an 8-bit B component in bits 16..23,
an 8-bit G component in bits 8..15, and
an 8-bit R component in bits 0..7.
ename:VK_FORMAT_A8B8G8R8_SRGB_PACK32::
A four-component, 32-bit packed unsigned normalized format that has
an 8-bit A component in bits 24..31,
an 8-bit B component stored with sRGB nonlinear encoding in bits 16..23,
an 8-bit G component stored with sRGB nonlinear encoding in bits 8..15, and
an 8-bit R component stored with sRGB nonlinear encoding in bits
0..7.
ename:VK_FORMAT_A2R10G10B10_UNORM_PACK32::
A four-component, 32-bit packed unsigned normalized format that has
a 2-bit A component in bits 30..31,
a 10-bit R component in bits 20..29,
a 10-bit G component in bits 10..19, and
a 10-bit B component in bits 0..9.
ename:VK_FORMAT_A2R10G10B10_SNORM_PACK32::
A four-component, 32-bit packed signed normalized format that has
a 2-bit A component in bits 30..31,
a 10-bit R component in bits 20..29,
a 10-bit G component in bits 10..19, and
a 10-bit B component in bits 0..9.
ename:VK_FORMAT_A2R10G10B10_USCALED_PACK32::
A four-component, 32-bit packed unsigned scaled integer format that has
a 2-bit A component in bits 30..31,
a 10-bit R component in bits 20..29,
a 10-bit G component in bits 10..19, and
a 10-bit B component in bits 0..9.
ename:VK_FORMAT_A2R10G10B10_SSCALED_PACK32::
A four-component, 32-bit packed signed scaled integer format that has
a 2-bit A component in bits 30..31,
a 10-bit R component in bits 20..29,
a 10-bit G component in bits 10..19, and
a 10-bit B component in bits 0..9.
ename:VK_FORMAT_A2R10G10B10_UINT_PACK32::
A four-component, 32-bit packed unsigned integer format that has
a 2-bit A component in bits 30..31,
a 10-bit R component in bits 20..29,
a 10-bit G component in bits 10..19, and
a 10-bit B component in bits 0..9.
ename:VK_FORMAT_A2R10G10B10_SINT_PACK32::
A four-component, 32-bit packed signed integer format that has
a 2-bit A component in bits 30..31,
a 10-bit R component in bits 20..29,
a 10-bit G component in bits 10..19, and
a 10-bit B component in bits 0..9.
ename:VK_FORMAT_A2B10G10R10_UNORM_PACK32::
A four-component, 32-bit packed unsigned normalized format that has
a 2-bit A component in bits 30..31,
a 10-bit B component in bits 20..29,
a 10-bit G component in bits 10..19, and
a 10-bit R component in bits 0..9.
ename:VK_FORMAT_A2B10G10R10_SNORM_PACK32::
A four-component, 32-bit packed signed normalized format that has
a 2-bit A component in bits 30..31,
a 10-bit B component in bits 20..29,
a 10-bit G component in bits 10..19, and
a 10-bit R component in bits 0..9.
ename:VK_FORMAT_A2B10G10R10_USCALED_PACK32::
A four-component, 32-bit packed unsigned scaled integer format that has
a 2-bit A component in bits 30..31,
a 10-bit B component in bits 20..29,
a 10-bit G component in bits 10..19, and
a 10-bit R component in bits 0..9.
ename:VK_FORMAT_A2B10G10R10_SSCALED_PACK32::
A four-component, 32-bit packed signed scaled integer format that has
a 2-bit A component in bits 30..31,
a 10-bit B component in bits 20..29,
a 10-bit G component in bits 10..19, and
a 10-bit R component in bits 0..9.
ename:VK_FORMAT_A2B10G10R10_UINT_PACK32::
A four-component, 32-bit packed unsigned integer format that has
a 2-bit A component in bits 30..31,
a 10-bit B component in bits 20..29,
a 10-bit G component in bits 10..19, and
a 10-bit R component in bits 0..9.
ename:VK_FORMAT_A2B10G10R10_SINT_PACK32::
A four-component, 32-bit packed signed integer format that has
a 2-bit A component in bits 30..31,
a 10-bit B component in bits 20..29,
a 10-bit G component in bits 10..19, and
a 10-bit R component in bits 0..9.
ename:VK_FORMAT_R16_UNORM::
A one-component, 16-bit unsigned normalized format that has
a single 16-bit R component.
ename:VK_FORMAT_R16_SNORM::
A one-component, 16-bit signed normalized format that has
a single 16-bit R component.
ename:VK_FORMAT_R16_USCALED::
A one-component, 16-bit unsigned scaled integer format that has
a single 16-bit R component.
ename:VK_FORMAT_R16_SSCALED::
A one-component, 16-bit signed scaled integer format that has
a single 16-bit R component.
ename:VK_FORMAT_R16_UINT::
A one-component, 16-bit unsigned integer format that has
a single 16-bit R component.
ename:VK_FORMAT_R16_SINT::
A one-component, 16-bit signed integer format that has
a single 16-bit R component.
ename:VK_FORMAT_R16_SFLOAT::
A one-component, 16-bit signed floating-point format that has
a single 16-bit R component.
ename:VK_FORMAT_R16G16_UNORM::
A two-component, 32-bit unsigned normalized format that has
a 16-bit R component in bytes 0..1, and
a 16-bit G component in bytes 2..3.
ename:VK_FORMAT_R16G16_SNORM::
A two-component, 32-bit signed normalized format that has
a 16-bit R component in bytes 0..1, and
a 16-bit G component in bytes 2..3.
ename:VK_FORMAT_R16G16_USCALED::
A two-component, 32-bit unsigned scaled integer format that has
a 16-bit R component in bytes 0..1, and
a 16-bit G component in bytes 2..3.
ename:VK_FORMAT_R16G16_SSCALED::
A two-component, 32-bit signed scaled integer format that has
a 16-bit R component in bytes 0..1, and
a 16-bit G component in bytes 2..3.
ename:VK_FORMAT_R16G16_UINT::
A two-component, 32-bit unsigned integer format that has
a 16-bit R component in bytes 0..1, and
a 16-bit G component in bytes 2..3.
ename:VK_FORMAT_R16G16_SINT::
A two-component, 32-bit signed integer format that has
a 16-bit R component in bytes 0..1, and
a 16-bit G component in bytes 2..3.
ename:VK_FORMAT_R16G16_SFLOAT::
A two-component, 32-bit signed floating-point format that has
a 16-bit R component in bytes 0..1, and
a 16-bit G component in bytes 2..3.
ename:VK_FORMAT_R16G16B16_UNORM::
A three-component, 48-bit unsigned normalized format that has
a 16-bit R component in bytes 0..1,
a 16-bit G component in bytes 2..3, and
a 16-bit B component in bytes 4..5.
ename:VK_FORMAT_R16G16B16_SNORM::
A three-component, 48-bit signed normalized format that has
a 16-bit R component in bytes 0..1,
a 16-bit G component in bytes 2..3, and
a 16-bit B component in bytes 4..5.
ename:VK_FORMAT_R16G16B16_USCALED::
A three-component, 48-bit unsigned scaled integer format that has
a 16-bit R component in bytes 0..1,
a 16-bit G component in bytes 2..3, and
a 16-bit B component in bytes 4..5.
ename:VK_FORMAT_R16G16B16_SSCALED::
A three-component, 48-bit signed scaled integer format that has
a 16-bit R component in bytes 0..1,
a 16-bit G component in bytes 2..3, and
a 16-bit B component in bytes 4..5.
ename:VK_FORMAT_R16G16B16_UINT::
A three-component, 48-bit unsigned integer format that has
a 16-bit R component in bytes 0..1,
a 16-bit G component in bytes 2..3, and
a 16-bit B component in bytes 4..5.
ename:VK_FORMAT_R16G16B16_SINT::
A three-component, 48-bit signed integer format that has
a 16-bit R component in bytes 0..1,
a 16-bit G component in bytes 2..3, and
a 16-bit B component in bytes 4..5.
ename:VK_FORMAT_R16G16B16_SFLOAT::
A three-component, 48-bit signed floating-point format that has
a 16-bit R component in bytes 0..1,
a 16-bit G component in bytes 2..3, and
a 16-bit B component in bytes 4..5.
ename:VK_FORMAT_R16G16B16A16_UNORM::
A four-component, 64-bit unsigned normalized format that has
a 16-bit R component in bytes 0..1,
a 16-bit G component in bytes 2..3,
a 16-bit B component in bytes 4..5, and
a 16-bit A component in bytes 6..7.
ename:VK_FORMAT_R16G16B16A16_SNORM::
A four-component, 64-bit signed normalized format that has
a 16-bit R component in bytes 0..1,
a 16-bit G component in bytes 2..3,
a 16-bit B component in bytes 4..5, and
a 16-bit A component in bytes 6..7.
ename:VK_FORMAT_R16G16B16A16_USCALED::
A four-component, 64-bit unsigned scaled integer format that has
a 16-bit R component in bytes 0..1,
a 16-bit G component in bytes 2..3,
a 16-bit B component in bytes 4..5, and
a 16-bit A component in bytes 6..7.
ename:VK_FORMAT_R16G16B16A16_SSCALED::
A four-component, 64-bit signed scaled integer format that has
a 16-bit R component in bytes 0..1,
a 16-bit G component in bytes 2..3,
a 16-bit B component in bytes 4..5, and
a 16-bit A component in bytes 6..7.
ename:VK_FORMAT_R16G16B16A16_UINT::
A four-component, 64-bit unsigned integer format that has
a 16-bit R component in bytes 0..1,
a 16-bit G component in bytes 2..3,
a 16-bit B component in bytes 4..5, and
a 16-bit A component in bytes 6..7.
ename:VK_FORMAT_R16G16B16A16_SINT::
A four-component, 64-bit signed integer format that has
a 16-bit R component in bytes 0..1,
a 16-bit G component in bytes 2..3,
a 16-bit B component in bytes 4..5, and
a 16-bit A component in bytes 6..7.
ename:VK_FORMAT_R16G16B16A16_SFLOAT::
A four-component, 64-bit signed floating-point format that has
a 16-bit R component in bytes 0..1,
a 16-bit G component in bytes 2..3,
a 16-bit B component in bytes 4..5, and
a 16-bit A component in bytes 6..7.
ename:VK_FORMAT_R32_UINT::
A one-component, 32-bit unsigned integer format that has
a single 32-bit R component.
ename:VK_FORMAT_R32_SINT::
A one-component, 32-bit signed integer format that has
a single 32-bit R component.
ename:VK_FORMAT_R32_SFLOAT::
A one-component, 32-bit signed floating-point format that has
a single 32-bit R component.
ename:VK_FORMAT_R32G32_UINT::
A two-component, 64-bit unsigned integer format that has
a 32-bit R component in bytes 0..3, and
a 32-bit G component in bytes 4..7.
ename:VK_FORMAT_R32G32_SINT::
A two-component, 64-bit signed integer format that has
a 32-bit R component in bytes 0..3, and
a 32-bit G component in bytes 4..7.
ename:VK_FORMAT_R32G32_SFLOAT::
A two-component, 64-bit signed floating-point format that has
a 32-bit R component in bytes 0..3, and
a 32-bit G component in bytes 4..7.
ename:VK_FORMAT_R32G32B32_UINT::
A three-component, 96-bit unsigned integer format that has
a 32-bit R component in bytes 0..3,
a 32-bit G component in bytes 4..7, and
a 32-bit B component in bytes 8..11.
ename:VK_FORMAT_R32G32B32_SINT::
A three-component, 96-bit signed integer format that has
a 32-bit R component in bytes 0..3,
a 32-bit G component in bytes 4..7, and
a 32-bit B component in bytes 8..11.
ename:VK_FORMAT_R32G32B32_SFLOAT::
A three-component, 96-bit signed floating-point format that has
a 32-bit R component in bytes 0..3,
a 32-bit G component in bytes 4..7, and
a 32-bit B component in bytes 8..11.
ename:VK_FORMAT_R32G32B32A32_UINT::
A four-component, 128-bit unsigned integer format that has
a 32-bit R component in bytes 0..3,
a 32-bit G component in bytes 4..7,
a 32-bit B component in bytes 8..11, and
a 32-bit A component in bytes 12..15.
ename:VK_FORMAT_R32G32B32A32_SINT::
A four-component, 128-bit signed integer format that has
a 32-bit R component in bytes 0..3,
a 32-bit G component in bytes 4..7,
a 32-bit B component in bytes 8..11, and
a 32-bit A component in bytes 12..15.
ename:VK_FORMAT_R32G32B32A32_SFLOAT::
A four-component, 128-bit signed floating-point format that has
a 32-bit R component in bytes 0..3,
a 32-bit G component in bytes 4..7,
a 32-bit B component in bytes 8..11, and
a 32-bit A component in bytes 12..15.
ename:VK_FORMAT_R64_UINT::
A one-component, 64-bit unsigned integer format that has
a single 64-bit R component.
ename:VK_FORMAT_R64_SINT::
A one-component, 64-bit signed integer format that has
a single 64-bit R component.
ename:VK_FORMAT_R64_SFLOAT::
A one-component, 64-bit signed floating-point format that has
a single 64-bit R component.
ename:VK_FORMAT_R64G64_UINT::
A two-component, 128-bit unsigned integer format that has
a 64-bit R component in bytes 0..7, and
a 64-bit G component in bytes 8..15.
ename:VK_FORMAT_R64G64_SINT::
A two-component, 128-bit signed integer format that has
a 64-bit R component in bytes 0..7, and
a 64-bit G component in bytes 8..15.
ename:VK_FORMAT_R64G64_SFLOAT::
A two-component, 128-bit signed floating-point format that has
a 64-bit R component in bytes 0..7, and
a 64-bit G component in bytes 8..15.
ename:VK_FORMAT_R64G64B64_UINT::
A three-component, 192-bit unsigned integer format that has
a 64-bit R component in bytes 0..7,
a 64-bit G component in bytes 8..15, and
a 64-bit B component in bytes 16..23.
ename:VK_FORMAT_R64G64B64_SINT::
A three-component, 192-bit signed integer format that has
a 64-bit R component in bytes 0..7,
a 64-bit G component in bytes 8..15, and
a 64-bit B component in bytes 16..23.
ename:VK_FORMAT_R64G64B64_SFLOAT::
A three-component, 192-bit signed floating-point format that has
a 64-bit R component in bytes 0..7,
a 64-bit G component in bytes 8..15, and
a 64-bit B component in bytes 16..23.
ename:VK_FORMAT_R64G64B64A64_UINT::
A four-component, 256-bit unsigned integer format that has
a 64-bit R component in bytes 0..7,
a 64-bit G component in bytes 8..15,
a 64-bit B component in bytes 16..23, and
a 64-bit A component in bytes 24..31.
ename:VK_FORMAT_R64G64B64A64_SINT::
A four-component, 256-bit signed integer format that has
a 64-bit R component in bytes 0..7,
a 64-bit G component in bytes 8..15,
a 64-bit B component in bytes 16..23, and
a 64-bit A component in bytes 24..31.
ename:VK_FORMAT_R64G64B64A64_SFLOAT::
A four-component, 256-bit signed floating-point format that has
a 64-bit R component in bytes 0..7,
a 64-bit G component in bytes 8..15,
a 64-bit B component in bytes 16..23, and
a 64-bit A component in bytes 24..31.
ename:VK_FORMAT_B10G11R11_UFLOAT_PACK32::
A three-component, 32-bit packed unsigned floating-point format that has
a 10-bit B component in bits 22..31,
an 11-bit G component in bits 11..21,
an 11-bit R component in bits 0..10.
See <<fundamentals-fp10>> and <<fundamentals-fp11>>.
ename:VK_FORMAT_E5B9G9R9_UFLOAT_PACK32::
A three-component, 32-bit packed unsigned floating-point format that has
a 5-bit shared exponent in bits 27..31,
a 9-bit B component mantissa in bits 18..26,
a 9-bit G component mantissa in bits 9..17, and
a 9-bit R component mantissa in bits 0..8.
ename:VK_FORMAT_D16_UNORM::
A one-component, 16-bit unsigned normalized format that has a
single 16-bit depth component.
ename:VK_FORMAT_X8_D24_UNORM_PACK32::
A two-component, 32-bit format that has 24 unsigned normalized bits in
the depth component and, optionally:, 8 bits that are unused.
ename:VK_FORMAT_D32_SFLOAT::
A one-component, 32-bit signed floating-point format that has 32-bits in
the depth component.
ename:VK_FORMAT_S8_UINT::
A one-component, 8-bit unsigned integer format that has 8-bits in the
stencil component.
ename:VK_FORMAT_D16_UNORM_S8_UINT::
A two-component, 24-bit format that has 16 unsigned normalized bits in
the depth component and 8 unsigned integer bits in the stencil
component.
ename:VK_FORMAT_D24_UNORM_S8_UINT::
A two-component, 32-bit packed format that has
8 unsigned integer bits in the stencil component, and
24 unsigned normalized bits in the depth component.
ename:VK_FORMAT_D32_SFLOAT_S8_UINT::
A two-component format that has 32 signed float bits in the depth
component and 8 unsigned integer bits in the stencil component. There
are optionally: 24-bits that are unused.
ename:VK_FORMAT_BC1_RGB_UNORM_BLOCK::
A three-component, block-compressed format where each 64-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized RGB texel data.
This format has no alpha and is considered opaque.
ename:VK_FORMAT_BC1_RGB_SRGB_BLOCK::
A three-component, block-compressed format where each 64-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized RGB texel data
with sRGB nonlinear encoding. This format has no alpha and is considered
opaque.
ename:VK_FORMAT_BC1_RGBA_UNORM_BLOCK::
A four-component, block-compressed format where each 64-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized RGB texel data,
and provides 1 bit of alpha.
ename:VK_FORMAT_BC1_RGBA_SRGB_BLOCK::
A four-component, block-compressed format where each 64-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized RGB texel data
with sRGB nonlinear encoding, and provides 1 bit of alpha.
ename:VK_FORMAT_BC2_UNORM_BLOCK::
A four-component, block-compressed format where each 128-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized RGBA texel data
with the first 64 bits encoding alpha values followed by 64 bits encoding
RGB values.
ename:VK_FORMAT_BC2_SRGB_BLOCK::
A four-component, block-compressed format where each 128-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized RGBA texel data
with the first 64 bits encoding alpha values followed by 64 bits encoding
RGB values with sRGB nonlinear encoding.
ename:VK_FORMAT_BC3_UNORM_BLOCK::
A four-component, block-compressed format where each 128-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized RGBA texel data
with the first 64 bits encoding alpha values followed by 64 bits encoding
RGB values.
ename:VK_FORMAT_BC3_SRGB_BLOCK::
A four-component, block-compressed format where each 128-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized RGBA texel data
with the first 64 bits encoding alpha values followed by 64 bits encoding
RGB values with sRGB nonlinear encoding.
ename:VK_FORMAT_BC4_UNORM_BLOCK::
A one-component, block-compressed format where each 64-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized red texel data.
ename:VK_FORMAT_BC4_SNORM_BLOCK::
A one-component, block-compressed format where each 64-bit compressed
texel block encodes a 4x4 rectangle of signed normalized red texel data.
ename:VK_FORMAT_BC5_UNORM_BLOCK::
A two-component, block-compressed format where each 128-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized RG texel data
with the first 64 bits encoding red values followed by 64 bits encoding
green values.
ename:VK_FORMAT_BC5_SNORM_BLOCK::
A two-component, block-compressed format where each 128-bit compressed
texel block encodes a 4x4 rectangle of signed normalized RG texel data
with the first 64 bits encoding red values followed by 64 bits encoding
green values.
ename:VK_FORMAT_BC6H_UFLOAT_BLOCK::
A three-component, block-compressed format where each 128-bit compressed
texel block encodes a 4x4 rectangle of unsigned floating-point RGB texel
data.
ename:VK_FORMAT_BC6H_SFLOAT_BLOCK::
A three-component, block-compressed format where each 128-bit compressed
texel block encodes a 4x4 rectangle of signed floating-point RGB texel
data.
ename:VK_FORMAT_BC7_UNORM_BLOCK::
A four-component, block-compressed format where each 128-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized RGBA texel
data.
ename:VK_FORMAT_BC7_SRGB_BLOCK::
A four-component, block-compressed format where each 128-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized RGBA texel
data with sRGB nonlinear encoding applied to the RGB components.
ename:VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK::
A three-component, ETC2 compressed format where each 64-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized RGB texel data.
This format has no alpha and is considered opaque.
ename:VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK::
A three-component, ETC2 compressed format where each 64-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized RGB texel data
with sRGB nonlinear encoding. This format has no alpha and is considered
opaque.
ename:VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK::
A four-component, ETC2 compressed format where each 64-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized RGB texel data,
and provides 1 bit of alpha.
ename:VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK::
A four-component, ETC2 compressed format where each 64-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized RGB texel data
with sRGB nonlinear encoding, and provides 1 bit of alpha.
ename:VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK::
A four-component, ETC2 compressed format where each 128-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized RGBA texel data
with the first 64 bits encoding alpha values followed by 64 bits encoding
RGB values.
ename:VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK::
A four-component, ETC2 compressed format where each 64-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized RGBA texel data
with the first 64 bits encoding alpha values followed by 64 bits encoding
RGB values with sRGB nonlinear encoding applied.
ename:VK_FORMAT_EAC_R11_UNORM_BLOCK::
A one-component, ETC2 compressed format where each 64-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized red texel data.
ename:VK_FORMAT_EAC_R11_SNORM_BLOCK::
A one-component, ETC2 compressed format where each 64-bit compressed
texel block encodes a 4x4 rectangle of signed normalized red texel data.
ename:VK_FORMAT_EAC_R11G11_UNORM_BLOCK::
A two-component, ETC2 compressed format where each 128-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized RG texel data
with the first 64 bits encoding red values followed by 64 bits encoding
green values.
ename:VK_FORMAT_EAC_R11G11_SNORM_BLOCK::
A two-component, ETC2 compressed format where each 128-bit compressed
texel block encodes a 4x4 rectangle of signed normalized RG texel data
with the first 64 bits encoding red values followed by 64 bits encoding
green values.
ename:VK_FORMAT_ASTC_4x4_UNORM_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized RGBA texel data.
ename:VK_FORMAT_ASTC_4x4_SRGB_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 4x4 rectangle of unsigned normalized RGBA texel data
with sRGB nonlinear encoding applied to the RGB components.
ename:VK_FORMAT_ASTC_5x4_UNORM_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 5x4 rectangle of unsigned normalized RGBA texel data.
ename:VK_FORMAT_ASTC_5x4_SRGB_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 5x4 rectangle of unsigned normalized RGBA texel data
with sRGB nonlinear encoding applied to the RGB components.
ename:VK_FORMAT_ASTC_5x5_UNORM_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 5x5 rectangle of unsigned normalized RGBA texel data.
ename:VK_FORMAT_ASTC_5x5_SRGB_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 5x5 rectangle of unsigned normalized RGBA texel data
with sRGB nonlinear encoding applied to the RGB components.
ename:VK_FORMAT_ASTC_6x5_UNORM_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 6x5 rectangle of unsigned normalized RGBA texel data.
ename:VK_FORMAT_ASTC_6x5_SRGB_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 6x5 rectangle of unsigned normalized RGBA texel data
with sRGB nonlinear encoding applied to the RGB components.
ename:VK_FORMAT_ASTC_6x6_UNORM_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 6x6 rectangle of unsigned normalized RGBA texel data.
ename:VK_FORMAT_ASTC_6x6_SRGB_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 6x6 rectangle of unsigned normalized RGBA texel data
with sRGB nonlinear encoding applied to the RGB components.
ename:VK_FORMAT_ASTC_8x5_UNORM_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 8x5 rectangle of unsigned normalized RGBA texel data.
ename:VK_FORMAT_ASTC_8x5_SRGB_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 8x5 rectangle of unsigned normalized RGBA texel data
with sRGB nonlinear encoding applied to the RGB components.
ename:VK_FORMAT_ASTC_8x6_UNORM_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 8x6 rectangle of unsigned normalized RGBA texel data.
ename:VK_FORMAT_ASTC_8x6_SRGB_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 8x6 rectangle of unsigned normalized RGBA texel data
with sRGB nonlinear encoding applied to the RGB components.
ename:VK_FORMAT_ASTC_8x8_UNORM_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 8x8 rectangle of unsigned normalized RGBA texel data.
ename:VK_FORMAT_ASTC_8x8_SRGB_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 8x8 rectangle of unsigned normalized RGBA texel data
with sRGB nonlinear encoding applied to the RGB components.
ename:VK_FORMAT_ASTC_10x5_UNORM_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 10x5 rectangle of unsigned normalized RGBA texel
data.
ename:VK_FORMAT_ASTC_10x5_SRGB_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 10x5 rectangle of unsigned normalized RGBA texel data
with sRGB nonlinear encoding applied to the RGB components.
ename:VK_FORMAT_ASTC_10x6_UNORM_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 10x6 rectangle of unsigned normalized RGBA texel
data.
ename:VK_FORMAT_ASTC_10x6_SRGB_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 10x6 rectangle of unsigned normalized RGBA texel data
with sRGB nonlinear encoding applied to the RGB components.
ename:VK_FORMAT_ASTC_10x8_UNORM_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 10x8 rectangle of unsigned normalized RGBA texel
data.
ename:VK_FORMAT_ASTC_10x8_SRGB_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 10x8 rectangle of unsigned normalized RGBA texel data
with sRGB nonlinear encoding applied to the RGB components.
ename:VK_FORMAT_ASTC_10x10_UNORM_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 10x10 rectangle of unsigned normalized RGBA texel
data.
ename:VK_FORMAT_ASTC_10x10_SRGB_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 10x10 rectangle of unsigned normalized RGBA texel
data with sRGB nonlinear encoding applied to the RGB components.
ename:VK_FORMAT_ASTC_12x10_UNORM_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 12x10 rectangle of unsigned normalized RGBA texel
data.
ename:VK_FORMAT_ASTC_12x10_SRGB_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 12x10 rectangle of unsigned normalized RGBA texel
data with sRGB nonlinear encoding applied to the RGB components.
ename:VK_FORMAT_ASTC_12x12_UNORM_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 12x12 rectangle of unsigned normalized RGBA texel
data.
ename:VK_FORMAT_ASTC_12x12_SRGB_BLOCK::
A four-component, ASTC compressed format where each 128-bit compressed
texel block encodes a 12x12 rectangle of unsigned normalized RGBA texel
data with sRGB nonlinear encoding applied to the RGB components.
// refEnd VkFormat
Change log for March 25, 2016 Vulkan 1.0.7 spec update: * Bump API patch number and header version number to 7 for this update. Github Issues: * Fix slink:VkSpecializationMapEntry example to avoid C/C++ strict aliasing issues (public issue 14). * Clarify the meaning of "matching" in flink:vkCmdBindDescriptorSets validity language (public issue 33). * Add stub reference pages so xrefs to not-yet-written pages don't generate 404 errors. However, the actual content of these pages still needs to be filled in as time allows (public issue 44, but does not close that issue out). * Remove incorrect validity statement for flink:vkGetImageSparseMemoryRequirements (public issue 85). * Reword the <<features-limits-bufferImageGranularity,bufferImageGranularity>> feature in terms of "aliasing", and clarify that it applies to bindings in the same memory object (public issue 90). * Clarify the relationship of the slink:VkPhysicalDeviceLimits pname:maxViewportDimensions and pname:viewportBoundsRange limits (public issue 92). * Specify sparse unbound texture replacement in the <<textures-texel-replacement,Texel Replacement>> section independently of robust buffer access language (public issue 100). * Add the <<fundamentals-architecture-model,Architecture Model>> section to explain architecture constraints Vulkan has chosen to accept in order to enable portable and performant code (public issue 122). * State that an object must not be destroyed until *all* (not *any*) uses of that object have completed (public issue 123). * Minor editorial cleanup (public issues 129, 134, 146, 148). * Add validity language for layer and extension names to slink:VkDeviceCreateInfo matching that used for slink:VkInstanceCreateInfo (public issue 130). * Clean up terminology for the case when the bits set in one bitmask are a subset of the bits set in another bitmask (public issue 138). * Document that input attachments are UniformConstant not Input, in the <<interfaces-inputattachment,Fragment Input Attachment Interface>> section (public glslang bug 169). Internal Issues: * Add max enum values to "flag bits" enums (internal issue #136). * Clarify language around the various uses of the term "block" in the <<appendix-compressedtex-bc,Block Compressed Image Formats>> section (internal issue #202). * Removed "expand" dependency from <enums> groups in vk.xml and added auto-generation code in the scripts to infer it instead, to ensure consistency. This caused renaming of sname:VkColorSpaceKHR and sname:VkPresentModeKHR etext:BEGIN_RANGE (etc.) tokens, but those tokens are metadata, not part of the API, and the Vulkan WG is OK with this change. This change adds ranges to two additional enums that were missing them due to not defining the "expand" attribute (internal issue 217). * Tweak makefile to generate ref page nroff (.3) files in the right output directory, working around an a2x limitation (internal issue 223). Other Commits: * Add validity requirements for flink:vkCmdCopyQueryPoolResults pname:dstBuffer parameter. * Fix ref page build to generate .3 targets in the right output directory.
2016-03-25 09:25:04 +00:00
See Also
--------
slink:VkAttachmentDescription, slink:VkBufferViewCreateInfo, slink:VkImageCreateInfo, slink:VkImageViewCreateInfo, slink:VkVertexInputAttributeDescription, flink:vkGetPhysicalDeviceFormatProperties, flink:vkGetPhysicalDeviceImageFormatProperties, flink:vkGetPhysicalDeviceSparseImageFormatProperties
Document Notes
--------------
For more information, see the Vulkan Specification at URL
https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html#VkFormat
This page is extracted from the Vulkan Specification.
Fixes and changes should be made to the Specification,not directly.
Change log for March 25, 2016 Vulkan 1.0.7 spec update: * Bump API patch number and header version number to 7 for this update. Github Issues: * Fix slink:VkSpecializationMapEntry example to avoid C/C++ strict aliasing issues (public issue 14). * Clarify the meaning of "matching" in flink:vkCmdBindDescriptorSets validity language (public issue 33). * Add stub reference pages so xrefs to not-yet-written pages don't generate 404 errors. However, the actual content of these pages still needs to be filled in as time allows (public issue 44, but does not close that issue out). * Remove incorrect validity statement for flink:vkGetImageSparseMemoryRequirements (public issue 85). * Reword the <<features-limits-bufferImageGranularity,bufferImageGranularity>> feature in terms of "aliasing", and clarify that it applies to bindings in the same memory object (public issue 90). * Clarify the relationship of the slink:VkPhysicalDeviceLimits pname:maxViewportDimensions and pname:viewportBoundsRange limits (public issue 92). * Specify sparse unbound texture replacement in the <<textures-texel-replacement,Texel Replacement>> section independently of robust buffer access language (public issue 100). * Add the <<fundamentals-architecture-model,Architecture Model>> section to explain architecture constraints Vulkan has chosen to accept in order to enable portable and performant code (public issue 122). * State that an object must not be destroyed until *all* (not *any*) uses of that object have completed (public issue 123). * Minor editorial cleanup (public issues 129, 134, 146, 148). * Add validity language for layer and extension names to slink:VkDeviceCreateInfo matching that used for slink:VkInstanceCreateInfo (public issue 130). * Clean up terminology for the case when the bits set in one bitmask are a subset of the bits set in another bitmask (public issue 138). * Document that input attachments are UniformConstant not Input, in the <<interfaces-inputattachment,Fragment Input Attachment Interface>> section (public glslang bug 169). Internal Issues: * Add max enum values to "flag bits" enums (internal issue #136). * Clarify language around the various uses of the term "block" in the <<appendix-compressedtex-bc,Block Compressed Image Formats>> section (internal issue #202). * Removed "expand" dependency from <enums> groups in vk.xml and added auto-generation code in the scripts to infer it instead, to ensure consistency. This caused renaming of sname:VkColorSpaceKHR and sname:VkPresentModeKHR etext:BEGIN_RANGE (etc.) tokens, but those tokens are metadata, not part of the API, and the Vulkan WG is OK with this change. This change adds ranges to two additional enums that were missing them due to not defining the "expand" attribute (internal issue 217). * Tweak makefile to generate ref page nroff (.3) files in the right output directory, working around an a2x limitation (internal issue 223). Other Commits: * Add validity requirements for flink:vkCmdCopyQueryPoolResults pname:dstBuffer parameter. * Fix ref page build to generate .3 targets in the right output directory.
2016-03-25 09:25:04 +00:00
include::footer.txt[]