| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Graphics.Vulkan.Core11.Promoted_from_VK_KHR_sampler_ycbcr_conversion
- newtype VkSamplerYcbcrModelConversion = VkSamplerYcbcrModelConversion Int32
- pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY :: VkSamplerYcbcrModelConversion
- pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY :: VkSamplerYcbcrModelConversion
- pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 :: VkSamplerYcbcrModelConversion
- pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 :: VkSamplerYcbcrModelConversion
- pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 :: VkSamplerYcbcrModelConversion
- newtype VkSamplerYcbcrRange = VkSamplerYcbcrRange Int32
- pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL :: VkSamplerYcbcrRange
- pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW :: VkSamplerYcbcrRange
- newtype VkChromaLocation = VkChromaLocation Int32
- pattern VK_CHROMA_LOCATION_COSITED_EVEN :: VkChromaLocation
- pattern VK_CHROMA_LOCATION_MIDPOINT :: VkChromaLocation
- pattern VK_FORMAT_G8B8G8R8_422_UNORM :: VkFormat
- pattern VK_FORMAT_B8G8R8G8_422_UNORM :: VkFormat
- pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM :: VkFormat
- pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM :: VkFormat
- pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM :: VkFormat
- pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM :: VkFormat
- pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM :: VkFormat
- pattern VK_FORMAT_R10X6_UNORM_PACK16 :: VkFormat
- pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16 :: VkFormat
- pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 :: VkFormat
- pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 :: VkFormat
- pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 :: VkFormat
- pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 :: VkFormat
- pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 :: VkFormat
- pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 :: VkFormat
- pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 :: VkFormat
- pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 :: VkFormat
- pattern VK_FORMAT_R12X4_UNORM_PACK16 :: VkFormat
- pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16 :: VkFormat
- pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 :: VkFormat
- pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 :: VkFormat
- pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 :: VkFormat
- pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 :: VkFormat
- pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 :: VkFormat
- pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 :: VkFormat
- pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 :: VkFormat
- pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 :: VkFormat
- pattern VK_FORMAT_G16B16G16R16_422_UNORM :: VkFormat
- pattern VK_FORMAT_B16G16R16G16_422_UNORM :: VkFormat
- pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM :: VkFormat
- pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM :: VkFormat
- pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM :: VkFormat
- pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM :: VkFormat
- pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM :: VkFormat
- pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: VkStructureType
- pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: VkStructureType
- pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: VkStructureType
- pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: VkStructureType
- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: VkStructureType
- pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: VkStructureType
- pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION :: VkObjectType
- pattern VK_IMAGE_CREATE_DISJOINT_BIT :: VkImageCreateFlagBits
- pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT :: VkFormatFeatureFlagBits
- pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT :: VkFormatFeatureFlagBits
- pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT :: VkFormatFeatureFlagBits
- pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT :: VkFormatFeatureFlagBits
- pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT :: VkFormatFeatureFlagBits
- pattern VK_FORMAT_FEATURE_DISJOINT_BIT :: VkFormatFeatureFlagBits
- pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT :: VkFormatFeatureFlagBits
- pattern VK_IMAGE_ASPECT_PLANE_0_BIT :: VkImageAspectFlagBits
- pattern VK_IMAGE_ASPECT_PLANE_1_BIT :: VkImageAspectFlagBits
- pattern VK_IMAGE_ASPECT_PLANE_2_BIT :: VkImageAspectFlagBits
- type VkSamplerYcbcrConversion = Ptr VkSamplerYcbcrConversion_T
- vkCreateSamplerYcbcrConversion :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerYcbcrConversionCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pYcbcrConversion" ::: Ptr VkSamplerYcbcrConversion) -> IO VkResult
- vkDestroySamplerYcbcrConversion :: ("device" ::: VkDevice) -> ("ycbcrConversion" ::: VkSamplerYcbcrConversion) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()
- data VkSamplerYcbcrConversionInfo = VkSamplerYcbcrConversionInfo {}
- data VkSamplerYcbcrConversionCreateInfo = VkSamplerYcbcrConversionCreateInfo {
- vkSType :: VkStructureType
- vkPNext :: Ptr ()
- vkFormat :: VkFormat
- vkYcbcrModel :: VkSamplerYcbcrModelConversion
- vkYcbcrRange :: VkSamplerYcbcrRange
- vkComponents :: VkComponentMapping
- vkXChromaOffset :: VkChromaLocation
- vkYChromaOffset :: VkChromaLocation
- vkChromaFilter :: VkFilter
- vkForceExplicitReconstruction :: VkBool32
- data VkBindImagePlaneMemoryInfo = VkBindImagePlaneMemoryInfo {}
- data VkImagePlaneMemoryRequirementsInfo = VkImagePlaneMemoryRequirementsInfo {}
- data VkPhysicalDeviceSamplerYcbcrConversionFeatures = VkPhysicalDeviceSamplerYcbcrConversionFeatures {}
- data VkSamplerYcbcrConversionImageFormatProperties = VkSamplerYcbcrConversionImageFormatProperties {}
Documentation
newtype VkSamplerYcbcrModelConversion Source #
VkSamplerYcbcrModelConversion - Color model component of a color space
Description
VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITYspecifies that the input values to the conversion are unmodified.
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITYspecifies no model conversion but the inputs are range expanded as for Y’CBCR.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709specifies the color model conversion from Y’CBCR to R’G’B' defined in BT.709 and described in the “BT.709 Y’CBCR conversion” section of the Khronos Data Format Specification.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601specifies the color model conversion from Y’CBCR to R’G’B' defined in BT.601 and described in the “BT.601 Y’CBCR conversion” section of the Khronos Data Format Specification.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020specifies the color model conversion from Y’CBCR to R’G’B' defined in BT.2020 and described in the “BT.2020 Y’CBCR conversion” section of the Khronos Data Format Specification.
In the VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_* color models, for the
input to the sampler Y’CBCR range expansion and model conversion:
- the Y (Y' luma) channel corresponds to the G channel of an RGB image.
- the CB (CB or “U” blue color difference) channel corresponds to the B channel of an RGB image.
- the CR (CR or “V” red color difference) channel corresponds to the R channel of an RGB image.
- the alpha channel, if present, is not modified by color model conversion.
These rules reflect the mapping of channels after the channel swizzle
operation (controlled by
VkSamplerYcbcrConversionCreateInfo::components).
Note
For example, an “YUVA” 32-bit format comprising four 8-bit channels can
be implemented as VK_FORMAT_R8G8B8A8_UNORM with a component mapping:
components.a=VK_COMPONENT_SWIZZLE_IDENTITYcomponents.r=VK_COMPONENT_SWIZZLE_Bcomponents.g=VK_COMPONENT_SWIZZLE_Rcomponents.b=VK_COMPONENT_SWIZZLE_G
See Also
VkAndroidHardwareBufferFormatPropertiesANDROID,
VkSamplerYcbcrConversionCreateInfo
Constructors
| VkSamplerYcbcrModelConversion Int32 |
newtype VkSamplerYcbcrRange Source #
VkSamplerYcbcrRange - Range of encoded values in a color space
Description
VK_SAMPLER_YCBCR_RANGE_ITU_FULLspecifies that the full range of the encoded values are valid and interpreted according to the ITU “full range” quantization rules.
VK_SAMPLER_YCBCR_RANGE_ITU_NARROWspecifies that headroom and foot room are reserved in the numerical range of encoded values, and the remaining values are expanded according to the ITU “narrow range” quantization rules.
The formulae for these conversions is described in the Sampler Y’CBCR Range Expansion section of the Image Operations chapter.
No range modification takes place if ycbcrModel is
VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY; the ycbcrRange field
of VkSamplerYcbcrConversionCreateInfo is ignored in this case.
See Also
VkAndroidHardwareBufferFormatPropertiesANDROID,
VkSamplerYcbcrConversionCreateInfo
Constructors
| VkSamplerYcbcrRange Int32 |
newtype VkChromaLocation Source #
VkChromaLocation - Position of downsampled chroma samples
See Also
VkAndroidHardwareBufferFormatPropertiesANDROID,
VkSamplerYcbcrConversionCreateInfo
Constructors
| VkChromaLocation Int32 |
pattern VK_CHROMA_LOCATION_COSITED_EVEN :: VkChromaLocation Source #
VK_CHROMA_LOCATION_COSITED_EVEN specifies that downsampled chroma
samples are aligned with luma samples with even coordinates.
pattern VK_CHROMA_LOCATION_MIDPOINT :: VkChromaLocation Source #
VK_CHROMA_LOCATION_MIDPOINT specifies that downsampled chroma samples
are located half way between each even luma sample and the nearest
higher odd luma sample.
pattern VK_FORMAT_G8B8G8R8_422_UNORM :: VkFormat Source #
VK_FORMAT_G8B8G8R8_422_UNORM specifies a four-component, 32-bit format
containing a pair of G components, an R component, and a B component,
collectively encoding a 2×1 rectangle of unsigned normalized RGB texel
data. One G value is present at each i coordinate, with the B and R
values shared across both G values and thus recorded at half the
horizontal resolution of the image. This format has an 8-bit G component
for the even i coordinate in byte 0, an 8-bit B component in byte 1,
an 8-bit G component for the odd i coordinate in byte 2, and an 8-bit
R component in byte 3. Images in this format must be defined with a
width that is a multiple of two. For the purposes of the constraints on
copy extents, this format is treated as a compressed format with a 2×1
compressed texel block.
pattern VK_FORMAT_B8G8R8G8_422_UNORM :: VkFormat Source #
VK_FORMAT_B8G8R8G8_422_UNORM specifies a four-component, 32-bit format
containing a pair of G components, an R component, and a B component,
collectively encoding a 2×1 rectangle of unsigned normalized RGB texel
data. One G value is present at each i coordinate, with the B and R
values shared across both G values and thus recorded at half the
horizontal resolution of the image. This format has an 8-bit B component
in byte 0, an 8-bit G component for the even i coordinate in byte 1,
an 8-bit R component in byte 2, and an 8-bit G component for the odd i
coordinate in byte 3. Images in this format must be defined with a
width that is a multiple of two. For the purposes of the constraints on
copy extents, this format is treated as a compressed format with a 2×1
compressed texel block.
pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM :: VkFormat Source #
VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM specifies a unsigned normalized
multi-planar format that has an 8-bit G component in plane 0, an 8-bit
B component in plane 1, and an 8-bit R component in plane 2. The
horizontal and vertical dimensions of the R and B planes are halved
relative to the image dimensions, and each R and B component is shared
with the G components for which (\lfloor i_G \times 0.5
\rfloor = i_B = i_R) and (\lfloor j_G \times 0.5 \rfloor = j_B
= j_R). The location of each plane when this image is in linear layout
can be determined via
vkGetImageSubresourceLayout, using
VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane. Images in this format
must be defined with a width and height that is a multiple of two.
pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM :: VkFormat Source #
VK_FORMAT_G8_B8R8_2PLANE_420_UNORM specifies a unsigned normalized
multi-planar format that has an 8-bit G component in plane 0, and a
two-component, 16-bit BR plane 1 consisting of an 8-bit B component in
byte 0 and an 8-bit R component in byte 1. The horizontal and vertical
dimensions of the BR plane is halved relative to the image dimensions,
and each R and B value is shared with the G components for which
(\lfloor i_G \times 0.5 \rfloor =
i_B = i_R) and \(\\lfloor j_G \\times 0.5 \\rfloor = j_B = j_R\). The
location of each plane when this image is in linear layout can be
determined via
vkGetImageSubresourceLayout, using
VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane, and
VK_IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this format
must be defined with a width and height that is a multiple of two.
pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM :: VkFormat Source #
VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM specifies a unsigned normalized
multi-planar format that has an 8-bit G component in plane 0, an 8-bit
B component in plane 1, and an 8-bit R component in plane 2. The
horizontal dimension of the R and B plane is halved relative to the
image dimensions, and each R and B value is shared with the G components
for which \(\\lfloor i_G \\times 0.5 \\rfloor = i_B = i_R\). The
location of each plane when this image is in linear layout can be
determined via
vkGetImageSubresourceLayout, using
VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane. Images in this format
must be defined with a width that is a multiple of two.
pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM :: VkFormat Source #
VK_FORMAT_G8_B8R8_2PLANE_422_UNORM specifies a unsigned normalized
multi-planar format that has an 8-bit G component in plane 0, and a
two-component, 16-bit BR plane 1 consisting of an 8-bit B component in
byte 0 and an 8-bit R component in byte 1. The horizontal dimensions of
the BR plane is halved relative to the image dimensions, and each R and
B value is shared with the G components for which
\(\\lfloor i_G \\times 0.5 \\rfloor = i_B = i_R\). The location of each
plane when this image is in linear layout can be determined via
vkGetImageSubresourceLayout, using
VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane, and
VK_IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this format
must be defined with a width that is a multiple of two.
pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM :: VkFormat Source #
VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM specifies a unsigned normalized
multi-planar format that has an 8-bit G component in plane 0, an 8-bit
B component in plane 1, and an 8-bit R component in plane 2. Each plane
has the same dimensions and each R, G and B component contributes to a
single texel. The location of each plane when this image is in linear
layout can be determined via
vkGetImageSubresourceLayout, using
VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane.
pattern VK_FORMAT_R10X6_UNORM_PACK16 :: VkFormat Source #
VK_FORMAT_R10X6_UNORM_PACK16 specifies a one-component, 16-bit
unsigned normalized format that has a single 10-bit R component in the
top 10 bits of a 16-bit word, with the bottom 6 bits set to 0.
pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16 :: VkFormat Source #
VK_FORMAT_R10X6G10X6_UNORM_2PACK16 specifies a two-component, 32-bit
unsigned normalized format that has a 10-bit R component in the top 10
bits of the word in bytes 0..1, and a 10-bit G component in the top 10
bits of the word in bytes 2..3, with the bottom 6 bits of each word set
to 0.
pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 :: VkFormat Source #
VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 specifies a
four-component, 64-bit unsigned normalized format that has a 10-bit R
component in the top 10 bits of the word in bytes 0..1, a 10-bit G
component in the top 10 bits of the word in bytes 2..3, a 10-bit B
component in the top 10 bits of the word in bytes 4..5, and a 10-bit A
component in the top 10 bits of the word in bytes 6..7, with the bottom
6 bits of each word set to 0.
pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 :: VkFormat Source #
VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 specifies a
four-component, 64-bit format containing a pair of G components, an R
component, and a B component, collectively encoding a 2×1 rectangle of
unsigned normalized RGB texel data. One G value is present at each i
coordinate, with the B and R values shared across both G values and thus
recorded at half the horizontal resolution of the image. This format has
a 10-bit G component for the even i coordinate in the top 10 bits of
the word in bytes 0..1, a 10-bit B component in the top 10 bits of the
word in bytes 2..3, a 10-bit G component for the odd i coordinate in
the top 10 bits of the word in bytes 4..5, and a 10-bit R component in
the top 10 bits of the word in bytes 6..7, with the bottom 6 bits of
each word set to 0. Images in this format must be defined with a width
that is a multiple of two. For the purposes of the constraints on copy
extents, this format is treated as a compressed format with a 2×1
compressed texel block.
pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 :: VkFormat Source #
VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 specifies a
four-component, 64-bit format containing a pair of G components, an R
component, and a B component, collectively encoding a 2×1 rectangle of
unsigned normalized RGB texel data. One G value is present at each i
coordinate, with the B and R values shared across both G values and thus
recorded at half the horizontal resolution of the image. This format has
a 10-bit B component in the top 10 bits of the word in bytes 0..1, a
10-bit G component for the even i coordinate in the top 10 bits of the
word in bytes 2..3, a 10-bit R component in the top 10 bits of the word
in bytes 4..5, and a 10-bit G component for the odd i coordinate in
the top 10 bits of the word in bytes 6..7, with the bottom 6 bits of
each word set to 0. Images in this format must be defined with a width
that is a multiple of two. For the purposes of the constraints on copy
extents, this format is treated as a compressed format with a 2×1
compressed texel block.
pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 :: VkFormat Source #
VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 specifies a
unsigned normalized multi-planar format that has a 10-bit G component
in the top 10 bits of each 16-bit word of plane 0, a 10-bit B component
in the top 10 bits of each 16-bit word of plane 1, and a 10-bit R
component in the top 10 bits of each 16-bit word of plane 2, with the
bottom 6 bits of each word set to 0. The horizontal and vertical
dimensions of the R and B planes are halved relative to the image
dimensions, and each R and B component is shared with the G components
for which (\lfloor i_G \times 0.5
\rfloor = i_B = i_R) and (\lfloor j_G \times 0.5 \rfloor = j_B
= j_R). The location of each plane when this image is in linear layout
can be determined via
vkGetImageSubresourceLayout, using
VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane. Images in this format
must be defined with a width and height that is a multiple of two.
pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 :: VkFormat Source #
VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 specifies a
unsigned normalized multi-planar format that has a 10-bit G component
in the top 10 bits of each 16-bit word of plane 0, and a two-component,
32-bit BR plane 1 consisting of a 10-bit B component in the top 10 bits
of the word in bytes 0..1, and a 10-bit R component in the top 10 bits
of the word in bytes 2..3, the bottom 6 bits of each word set to 0. The
horizontal and vertical dimensions of the BR plane is halved relative to
the image dimensions, and each R and B value is shared with the G
components for which (\lfloor i_G \times 0.5 \rfloor =
i_B = i_R) and \(\\lfloor j_G \\times 0.5 \\rfloor = j_B = j_R\). The
location of each plane when this image is in linear layout can be
determined via
vkGetImageSubresourceLayout, using
VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane, and
VK_IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this format
must be defined with a width and height that is a multiple of two.
pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 :: VkFormat Source #
VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 specifies a
unsigned normalized multi-planar format that has a 10-bit G component
in the top 10 bits of each 16-bit word of plane 0, a 10-bit B component
in the top 10 bits of each 16-bit word of plane 1, and a 10-bit R
component in the top 10 bits of each 16-bit word of plane 2, with the
bottom 6 bits of each word set to 0. The horizontal dimension of the R
and B plane is halved relative to the image dimensions, and each R and B
value is shared with the G components for which
\(\\lfloor i_G \\times 0.5 \\rfloor = i_B = i_R\). The location of each
plane when this image is in linear layout can be determined via
vkGetImageSubresourceLayout, using
VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane. Images in this format
must be defined with a width that is a multiple of two.
pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 :: VkFormat Source #
VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 specifies a
unsigned normalized multi-planar format that has a 10-bit G component
in the top 10 bits of each 16-bit word of plane 0, and a two-component,
32-bit BR plane 1 consisting of a 10-bit B component in the top 10 bits
of the word in bytes 0..1, and a 10-bit R component in the top 10 bits
of the word in bytes 2..3, the bottom 6 bits of each word set to 0. The
horizontal dimensions of the BR plane is halved relative to the image
dimensions, and each R and B value is shared with the G components for
which \(\\lfloor i_G \\times 0.5 \\rfloor = i_B = i_R\). The location of
each plane when this image is in linear layout can be determined via
vkGetImageSubresourceLayout, using
VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane, and
VK_IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this format
must be defined with a width that is a multiple of two.
pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 :: VkFormat Source #
VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 specifies a
unsigned normalized multi-planar format that has a 10-bit G component
in the top 10 bits of each 16-bit word of plane 0, a 10-bit B component
in the top 10 bits of each 16-bit word of plane 1, and a 10-bit R
component in the top 10 bits of each 16-bit word of plane 2, with the
bottom 6 bits of each word set to 0. Each plane has the same dimensions
and each R, G and B component contributes to a single texel. The
location of each plane when this image is in linear layout can be
determined via
vkGetImageSubresourceLayout, using
VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane.
pattern VK_FORMAT_R12X4_UNORM_PACK16 :: VkFormat Source #
VK_FORMAT_R12X4_UNORM_PACK16 specifies a one-component, 16-bit
unsigned normalized format that has a single 12-bit R component in the
top 12 bits of a 16-bit word, with the bottom 4 bits set to 0.
pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16 :: VkFormat Source #
VK_FORMAT_R12X4G12X4_UNORM_2PACK16 specifies a two-component, 32-bit
unsigned normalized format that has a 12-bit R component in the top 12
bits of the word in bytes 0..1, and a 12-bit G component in the top 12
bits of the word in bytes 2..3, with the bottom 4 bits of each word set
to 0.
pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 :: VkFormat Source #
VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 specifies a
four-component, 64-bit unsigned normalized format that has a 12-bit R
component in the top 12 bits of the word in bytes 0..1, a 12-bit G
component in the top 12 bits of the word in bytes 2..3, a 12-bit B
component in the top 12 bits of the word in bytes 4..5, and a 12-bit A
component in the top 12 bits of the word in bytes 6..7, with the bottom
4 bits of each word set to 0.
pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 :: VkFormat Source #
VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 specifies a
four-component, 64-bit format containing a pair of G components, an R
component, and a B component, collectively encoding a 2×1 rectangle of
unsigned normalized RGB texel data. One G value is present at each i
coordinate, with the B and R values shared across both G values and thus
recorded at half the horizontal resolution of the image. This format has
a 12-bit G component for the even i coordinate in the top 12 bits of
the word in bytes 0..1, a 12-bit B component in the top 12 bits of the
word in bytes 2..3, a 12-bit G component for the odd i coordinate in
the top 12 bits of the word in bytes 4..5, and a 12-bit R component in
the top 12 bits of the word in bytes 6..7, with the bottom 4 bits of
each word set to 0. Images in this format must be defined with a width
that is a multiple of two. For the purposes of the constraints on copy
extents, this format is treated as a compressed format with a 2×1
compressed texel block.
pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 :: VkFormat Source #
VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 specifies a
four-component, 64-bit format containing a pair of G components, an R
component, and a B component, collectively encoding a 2×1 rectangle of
unsigned normalized RGB texel data. One G value is present at each i
coordinate, with the B and R values shared across both G values and thus
recorded at half the horizontal resolution of the image. This format has
a 12-bit B component in the top 12 bits of the word in bytes 0..1, a
12-bit G component for the even i coordinate in the top 12 bits of the
word in bytes 2..3, a 12-bit R component in the top 12 bits of the word
in bytes 4..5, and a 12-bit G component for the odd i coordinate in
the top 12 bits of the word in bytes 6..7, with the bottom 4 bits of
each word set to 0. Images in this format must be defined with a width
that is a multiple of two. For the purposes of the constraints on copy
extents, this format is treated as a compressed format with a 2×1
compressed texel block.
pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 :: VkFormat Source #
VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 specifies a
unsigned normalized multi-planar format that has a 12-bit G component
in the top 12 bits of each 16-bit word of plane 0, a 12-bit B component
in the top 12 bits of each 16-bit word of plane 1, and a 12-bit R
component in the top 12 bits of each 16-bit word of plane 2, with the
bottom 4 bits of each word set to 0. The horizontal and vertical
dimensions of the R and B planes are halved relative to the image
dimensions, and each R and B component is shared with the G components
for which (\lfloor i_G \times 0.5
\rfloor = i_B = i_R) and (\lfloor j_G \times 0.5 \rfloor = j_B
= j_R). The location of each plane when this image is in linear layout
can be determined via
vkGetImageSubresourceLayout, using
VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane. Images in this format
must be defined with a width and height that is a multiple of two.
pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 :: VkFormat Source #
VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 specifies a
unsigned normalized multi-planar format that has a 12-bit G component
in the top 12 bits of each 16-bit word of plane 0, and a two-component,
32-bit BR plane 1 consisting of a 12-bit B component in the top 12 bits
of the word in bytes 0..1, and a 12-bit R component in the top 12 bits
of the word in bytes 2..3, the bottom 4 bits of each word set to 0. The
horizontal and vertical dimensions of the BR plane is halved relative to
the image dimensions, and each R and B value is shared with the G
components for which (\lfloor i_G \times 0.5 \rfloor =
i_B = i_R) and \(\\lfloor j_G \\times 0.5 \\rfloor = j_B = j_R\). The
location of each plane when this image is in linear layout can be
determined via
vkGetImageSubresourceLayout, using
VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane, and
VK_IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this format
must be defined with a width and height that is a multiple of two.
pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 :: VkFormat Source #
VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 specifies a
unsigned normalized multi-planar format that has a 12-bit G component
in the top 12 bits of each 16-bit word of plane 0, a 12-bit B component
in the top 12 bits of each 16-bit word of plane 1, and a 12-bit R
component in the top 12 bits of each 16-bit word of plane 2, with the
bottom 4 bits of each word set to 0. The horizontal dimension of the R
and B plane is halved relative to the image dimensions, and each R and B
value is shared with the G components for which
\(\\lfloor i_G \\times 0.5 \\rfloor = i_B = i_R\). The location of each
plane when this image is in linear layout can be determined via
vkGetImageSubresourceLayout, using
VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane. Images in this format
must be defined with a width that is a multiple of two.
pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 :: VkFormat Source #
VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 specifies a
unsigned normalized multi-planar format that has a 12-bit G component
in the top 12 bits of each 16-bit word of plane 0, and a two-component,
32-bit BR plane 1 consisting of a 12-bit B component in the top 12 bits
of the word in bytes 0..1, and a 12-bit R component in the top 12 bits
of the word in bytes 2..3, the bottom 4 bits of each word set to 0. The
horizontal dimensions of the BR plane is halved relative to the image
dimensions, and each R and B value is shared with the G components for
which \(\\lfloor i_G \\times 0.5 \\rfloor = i_B = i_R\). The location of
each plane when this image is in linear layout can be determined via
vkGetImageSubresourceLayout, using
VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane, and
VK_IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this format
must be defined with a width that is a multiple of two.
pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 :: VkFormat Source #
VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 specifies a
unsigned normalized multi-planar format that has a 12-bit G component
in the top 12 bits of each 16-bit word of plane 0, a 12-bit B component
in the top 12 bits of each 16-bit word of plane 1, and a 12-bit R
component in the top 12 bits of each 16-bit word of plane 2, with the
bottom 4 bits of each word set to 0. Each plane has the same dimensions
and each R, G and B component contributes to a single texel. The
location of each plane when this image is in linear layout can be
determined via
vkGetImageSubresourceLayout, using
VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane.
pattern VK_FORMAT_G16B16G16R16_422_UNORM :: VkFormat Source #
VK_FORMAT_G16B16G16R16_422_UNORM specifies a four-component, 64-bit
format containing a pair of G components, an R component, and a B
component, collectively encoding a 2×1 rectangle of unsigned normalized
RGB texel data. One G value is present at each i coordinate, with the
B and R values shared across both G values and thus recorded at half the
horizontal resolution of the image. This format has a 16-bit G component
for the even i coordinate in the word in bytes 0..1, a 16-bit B
component in the word in bytes 2..3, a 16-bit G component for the odd
i coordinate in the word in bytes 4..5, and a 16-bit R component in
the word in bytes 6..7. Images in this format must be defined with a
width that is a multiple of two. For the purposes of the constraints on
copy extents, this format is treated as a compressed format with a 2×1
compressed texel block.
pattern VK_FORMAT_B16G16R16G16_422_UNORM :: VkFormat Source #
VK_FORMAT_B16G16R16G16_422_UNORM specifies a four-component, 64-bit
format containing a pair of G components, an R component, and a B
component, collectively encoding a 2×1 rectangle of unsigned normalized
RGB texel data. One G value is present at each i coordinate, with the
B and R values shared across both G values and thus recorded at half the
horizontal resolution of the image. This format has a 16-bit B component
in the word in bytes 0..1, a 16-bit G component for the even i
coordinate in the word in bytes 2..3, a 16-bit R component in the word
in bytes 4..5, and a 16-bit G component for the odd i coordinate in
the word in bytes 6..7. Images in this format must be defined with a
width that is a multiple of two. For the purposes of the constraints on
copy extents, this format is treated as a compressed format with a 2×1
compressed texel block.
pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM :: VkFormat Source #
VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM specifies a unsigned normalized
multi-planar format that has a 16-bit G component in each 16-bit word
of plane 0, a 16-bit B component in each 16-bit word of plane 1, and a
16-bit R component in each 16-bit word of plane 2. The horizontal and
vertical dimensions of the R and B planes are halved relative to the
image dimensions, and each R and B component is shared with the G
components for which (\lfloor i_G \times 0.5
\rfloor = i_B = i_R) and (\lfloor j_G \times 0.5 \rfloor = j_B
= j_R). The location of each plane when this image is in linear layout
can be determined via
vkGetImageSubresourceLayout, using
VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane. Images in this format
must be defined with a width and height that is a multiple of two.
pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM :: VkFormat Source #
VK_FORMAT_G16_B16R16_2PLANE_420_UNORM specifies a unsigned normalized
multi-planar format that has a 16-bit G component in each 16-bit word
of plane 0, and a two-component, 32-bit BR plane 1 consisting of a
16-bit B component in the word in bytes 0..1, and a 16-bit R component
in the word in bytes 2..3. The horizontal and vertical dimensions of the
BR plane is halved relative to the image dimensions, and each R and B
value is shared with the G components for which
(\lfloor i_G \times 0.5 \rfloor =
i_B = i_R) and \(\\lfloor j_G \\times 0.5 \\rfloor = j_B = j_R\). The
location of each plane when this image is in linear layout can be
determined via
vkGetImageSubresourceLayout, using
VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane, and
VK_IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this format
must be defined with a width and height that is a multiple of two.
pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM :: VkFormat Source #
VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM specifies a unsigned normalized
multi-planar format that has a 16-bit G component in each 16-bit word
of plane 0, a 16-bit B component in each 16-bit word of plane 1, and a
16-bit R component in each 16-bit word of plane 2. The horizontal
dimension of the R and B plane is halved relative to the image
dimensions, and each R and B value is shared with the G components for
which \(\\lfloor i_G \\times 0.5 \\rfloor = i_B = i_R\). The location of
each plane when this image is in linear layout can be determined via
vkGetImageSubresourceLayout, using
VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane. Images in this format
must be defined with a width that is a multiple of two.
pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM :: VkFormat Source #
VK_FORMAT_G16_B16R16_2PLANE_422_UNORM specifies a unsigned normalized
multi-planar format that has a 16-bit G component in each 16-bit word
of plane 0, and a two-component, 32-bit BR plane 1 consisting of a
16-bit B component in the word in bytes 0..1, and a 16-bit R component
in the word in bytes 2..3. The horizontal dimensions of the BR plane is
halved relative to the image dimensions, and each R and B value is
shared with the G components for which
\(\\lfloor i_G \\times 0.5 \\rfloor = i_B = i_R\). The location of each
plane when this image is in linear layout can be determined via
vkGetImageSubresourceLayout, using
VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane, and
VK_IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this format
must be defined with a width that is a multiple of two.
pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM :: VkFormat Source #
VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM specifies a unsigned normalized
multi-planar format that has a 16-bit G component in each 16-bit word
of plane 0, a 16-bit B component in each 16-bit word of plane 1, and a
16-bit R component in each 16-bit word of plane 2. Each plane has the
same dimensions and each R, G and B component contributes to a single
texel. The location of each plane when this image is in linear layout
can be determined via
vkGetImageSubresourceLayout, using
VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane.
pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: VkStructureType Source #
pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: VkStructureType Source #
pattern VK_IMAGE_CREATE_DISJOINT_BIT :: VkImageCreateFlagBits Source #
pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT :: VkFormatFeatureFlagBits Source #
pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT :: VkFormatFeatureFlagBits Source #
pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT :: VkFormatFeatureFlagBits Source #
pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT :: VkFormatFeatureFlagBits Source #
pattern VK_IMAGE_ASPECT_PLANE_0_BIT :: VkImageAspectFlagBits Source #
pattern VK_IMAGE_ASPECT_PLANE_1_BIT :: VkImageAspectFlagBits Source #
pattern VK_IMAGE_ASPECT_PLANE_2_BIT :: VkImageAspectFlagBits Source #
type VkSamplerYcbcrConversion = Ptr VkSamplerYcbcrConversion_T Source #
VkSamplerYcbcrConversion - NO SHORT DESCRIPTION PROVIDED
Description
See Also
VkSamplerYcbcrConversionInfo, vkCreateSamplerYcbcrConversion,
vkCreateSamplerYcbcrConversionKHR,
vkDestroySamplerYcbcrConversion,
vkDestroySamplerYcbcrConversionKHR
vkCreateSamplerYcbcrConversion :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerYcbcrConversionCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pYcbcrConversion" ::: Ptr VkSamplerYcbcrConversion) -> IO VkResult Source #
vkCreateSamplerYcbcrConversion - Create a new Ycbcr conversion
Parameters
deviceis the logical device that creates the sampler Y’CBCR conversion.
pCreateInfois a pointer to an instance of theVkSamplerYcbcrConversionCreateInfospecifying the requested sampler Y’CBCR conversion.pAllocatorcontrols host memory allocation as described in the Memory Allocation chapter.pYcbcrConversionpoints to aVkSamplerYcbcrConversionhandle in which the resulting sampler Y’CBCR conversion is returned.
Description
The interpretation of the configured sampler Y’CBCR conversion is described in more detail in the description of sampler Y’CBCR conversion in the Image Operations chapter.
Valid Usage
- The sampler Y’CBCR conversion feature must be enabled
Valid Usage (Implicit)
devicemust be a validVkDevicehandle
pCreateInfomust be a valid pointer to a validVkSamplerYcbcrConversionCreateInfostructure- If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validVkAllocationCallbacksstructure pYcbcrConversionmust be a valid pointer to aVkSamplerYcbcrConversionhandle
Return Codes
- Success
- -
VK_SUCCESS
- Failure
- -
VK_ERROR_OUT_OF_HOST_MEMORYVK_ERROR_OUT_OF_DEVICE_MEMORY
See Also
VkAllocationCallbacks,
VkDevice,
VkSamplerYcbcrConversion, VkSamplerYcbcrConversionCreateInfo
vkDestroySamplerYcbcrConversion :: ("device" ::: VkDevice) -> ("ycbcrConversion" ::: VkSamplerYcbcrConversion) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () Source #
vkDestroySamplerYcbcrConversion - Destroy a created Y’CbCr conversion
Parameters
deviceis the logical device that destroys the Y’CBCR conversion.
ycbcrConversionis the conversion to destroy.pAllocatorcontrols host memory allocation as described in the Memory Allocation chapter.
Description
Valid Usage (Implicit)
devicemust be a validVkDevicehandle
- If
ycbcrConversionis notVK_NULL_HANDLE,ycbcrConversionmust be a validVkSamplerYcbcrConversionhandle - If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validVkAllocationCallbacksstructure - If
ycbcrConversionis a valid handle, it must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
ycbcrConversionmust be externally synchronized
See Also
data VkSamplerYcbcrConversionInfo Source #
VkSamplerYcbcrConversionInfo - Structure specifying Y’CbCr conversion to a sampler or image view
Description
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO
conversionmust be a validVkSamplerYcbcrConversionhandle
See Also
Constructors
| VkSamplerYcbcrConversionInfo | |
Fields
| |
data VkSamplerYcbcrConversionCreateInfo Source #
VkSamplerYcbcrConversionCreateInfo - Structure specifying the parameters of the newly created conversion
Description
Note
Setting forceExplicitReconstruction to VK_TRUE may have a
performance penalty on implementations where explicit reconstruction is
not the default mode of operation.
If the pNext chain has an instance of
VkExternalFormatANDROID
with non-zero externalFormat member, the sampler Y’CBCR conversion
object represents an external format conversion, and format must
be VK_FORMAT_UNDEFINED. Such conversions must only be used to sample
image views with a matching
external format.
When creating an external format conversion, the value of components
is ignored.
Valid Usage
- If an external format conversion is being created,
formatmust beVK_FORMAT_UNDEFINED, otherwise it must not beVK_FORMAT_UNDEFINED.
formatmust supportVK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BITorVK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT- If the format does not support
VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,xChromaOffsetandyChromaOffsetmust not beVK_CHROMA_LOCATION_COSITED_EVEN - If the format does not support
VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,xChromaOffsetandyChromaOffsetmust not beVK_CHROMA_LOCATION_MIDPOINT formatmust represent unsigned normalized values (i.e. the format must be aUNORMformat)If the format has a
_422or_420suffix:components.gmust beVK_COMPONENT_SWIZZLE_IDENTITYcomponents.amust beVK_COMPONENT_SWIZZLE_IDENTITY,VK_COMPONENT_SWIZZLE_ONE, orVK_COMPONENT_SWIZZLE_ZEROcomponents.rmust beVK_COMPONENT_SWIZZLE_IDENTITYorVK_COMPONENT_SWIZZLE_Bcomponents.bmust beVK_COMPONENT_SWIZZLE_IDENTITYorVK_COMPONENT_SWIZZLE_R- If either
components.rorcomponents.bisVK_COMPONENT_SWIZZLE_IDENTITY, both values must beVK_COMPONENT_SWIZZLE_IDENTITY
- If
ycbcrModelis notVK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, thencomponents.r,components.g, andcomponents.bmust correspond to channels of theformat; that is,components.r,components.g, andcomponents.bmust not beVK_COMPONENT_SWIZZLE_ZEROorVK_COMPONENT_SWIZZLE_ONE, and must not correspond to a channel which contains zero or one as a consequence of conversion to RGBA - If the format does not support
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,forceExplicitReconstructionmust be FALSE - If the format does not support
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,chromaFiltermust beVK_FILTER_NEAREST
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO
pNextmust beNULLor a pointer to a valid instance ofVkExternalFormatANDROIDformatmust be a validVkFormatvalueycbcrModelmust be a validVkSamplerYcbcrModelConversionvalueycbcrRangemust be a validVkSamplerYcbcrRangevaluecomponentsmust be a validVkComponentMappingstructurexChromaOffsetmust be a validVkChromaLocationvalueyChromaOffsetmust be a validVkChromaLocationvaluechromaFiltermust be a validVkFiltervalue
If chromaFilter is VK_FILTER_NEAREST, chroma samples are
reconstructed to luma channel resolution using nearest-neighbour
sampling. Otherwise, chroma samples are reconstructed using
interpolation. More details can be found in
the description of sampler Y’CBCR conversion
in the Image Operations chapter.
See Also
VkBool32, VkChromaLocation,
VkComponentMapping,
VkFilter,
VkFormat, VkSamplerYcbcrModelConversion,
VkSamplerYcbcrRange, VkStructureType,
vkCreateSamplerYcbcrConversion,
vkCreateSamplerYcbcrConversionKHR
Constructors
| VkSamplerYcbcrConversionCreateInfo | |
Fields
| |
data VkBindImagePlaneMemoryInfo Source #
VkBindImagePlaneMemoryInfo - Structure specifying how to bind an image plane to memory
Description
Valid Usage
planeAspectmust be a single valid plane aspect for the image format (that is,planeAspectmust beVK_IMAGE_ASPECT_PLANE_0_BITorVK_IMAGE_ASPECT_PLANE_1_BITfor “_2PLANE” formats andplaneAspectmust beVK_IMAGE_ASPECT_PLANE_0_BIT,VK_IMAGE_ASPECT_PLANE_1_BIT, orVK_IMAGE_ASPECT_PLANE_2_BITfor “_3PLANE” formats)
- A single call to
vkBindImageMemory2must bind all or none of the planes of an image (i.e. bindings to all planes of an image must be made in a singlevkBindImageMemory2call), as separate bindings
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO
planeAspectmust be a validVkImageAspectFlagBitsvalue
See Also
Constructors
| VkBindImagePlaneMemoryInfo | |
Fields
| |
data VkImagePlaneMemoryRequirementsInfo Source #
VkImagePlaneMemoryRequirementsInfo - Structure specifying image plane for memory requirements
Description
Valid Usage
planeAspectmust be an aspect that exists in the format; that is, for a two-plane imageplaneAspectmust beVK_IMAGE_ASPECT_PLANE_0_BITorVK_IMAGE_ASPECT_PLANE_1_BIT, and for a three-plane imageplaneAspectmust beVK_IMAGE_ASPECT_PLANE_0_BIT,VK_IMAGE_ASPECT_PLANE_1_BITorVK_IMAGE_ASPECT_PLANE_2_BIT
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO
planeAspectmust be a validVkImageAspectFlagBitsvalue
See Also
Constructors
| VkImagePlaneMemoryRequirementsInfo | |
Fields
| |
data VkPhysicalDeviceSamplerYcbcrConversionFeatures Source #
VkPhysicalDeviceSamplerYcbcrConversionFeatures - Structure describing Y’CbCr conversion features that can be supported by an implementation
Members
The members of the VkPhysicalDeviceSamplerYcbcrConversionFeatures
structure describe the following feature:
Description
samplerYcbcrConversionspecifies whether the implementation supports sampler Y’CBCR conversion. IfsamplerYcbcrConversionisVK_FALSE, sampler Y’CBCR conversion is not supported, and samplers using sampler Y’CBCR conversion must not be used.
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
See Also
VkBool32, VkStructureType
Constructors
| VkPhysicalDeviceSamplerYcbcrConversionFeatures | |
Fields
| |
data VkSamplerYcbcrConversionImageFormatProperties Source #
VkSamplerYcbcrConversionImageFormatProperties - Structure specifying combined image sampler descriptor count for multi-planar images
Description
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES
See Also
Constructors
| VkSamplerYcbcrConversionImageFormatProperties | |
Fields
| |