Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- 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_IDENTITY
specifies that the input values to the conversion are unmodified.
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY
specifies no model conversion but the inputs are range expanded as for Y’CBCR.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709
specifies 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_601
specifies 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_2020
specifies 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_IDENTITY
components.r
=VK_COMPONENT_SWIZZLE_B
components.g
=VK_COMPONENT_SWIZZLE_R
components.b
=VK_COMPONENT_SWIZZLE_G
See Also
VkAndroidHardwareBufferFormatPropertiesANDROID
,
VkSamplerYcbcrConversionCreateInfo
Instances
newtype VkSamplerYcbcrRange Source #
VkSamplerYcbcrRange - Range of encoded values in a color space
Description
VK_SAMPLER_YCBCR_RANGE_ITU_FULL
specifies 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_NARROW
specifies 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
Instances
newtype VkChromaLocation Source #
VkChromaLocation - Position of downsampled chroma samples
See Also
VkAndroidHardwareBufferFormatPropertiesANDROID
,
VkSamplerYcbcrConversionCreateInfo
Instances
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
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
device
is the logical device that creates the sampler Y’CBCR conversion.
pCreateInfo
is a pointer to an instance of theVkSamplerYcbcrConversionCreateInfo
specifying the requested sampler Y’CBCR conversion.pAllocator
controls host memory allocation as described in the Memory Allocation chapter.pYcbcrConversion
points to aVkSamplerYcbcrConversion
handle 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)
device
must be a validVkDevice
handle
pCreateInfo
must be a valid pointer to a validVkSamplerYcbcrConversionCreateInfo
structure- If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validVkAllocationCallbacks
structure pYcbcrConversion
must be a valid pointer to aVkSamplerYcbcrConversion
handle
Return Codes
[Success]
- VK_SUCCESS
[Failure]
- VK_ERROR_OUT_OF_HOST_MEMORY
VK_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
device
is the logical device that destroys the Y’CBCR conversion.
ycbcrConversion
is the conversion to destroy.pAllocator
controls host memory allocation as described in the Memory Allocation chapter.
Valid Usage (Implicit)
device
must be a validVkDevice
handle
- If
ycbcrConversion
is notVK_NULL_HANDLE
,ycbcrConversion
must be a validVkSamplerYcbcrConversion
handle - If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validVkAllocationCallbacks
structure - If
ycbcrConversion
is a valid handle, it must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
ycbcrConversion
must be externally synchronized
See Also
data VkSamplerYcbcrConversionInfo Source #
VkSamplerYcbcrConversionInfo - Structure specifying Y’CbCr conversion to a sampler or image view
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO
conversion
must be a validVkSamplerYcbcrConversion
handle
See Also
VkSamplerYcbcrConversionInfo | |
|
Instances
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,
format
must beVK_FORMAT_UNDEFINED
, otherwise it must not beVK_FORMAT_UNDEFINED
.
format
must supportVK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT
orVK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT
- If the format does not support
VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT
,xChromaOffset
andyChromaOffset
must not beVK_CHROMA_LOCATION_COSITED_EVEN
- If the format does not support
VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT
,xChromaOffset
andyChromaOffset
must not beVK_CHROMA_LOCATION_MIDPOINT
format
must represent unsigned normalized values (i.e. the format must be aUNORM
format)If the format has a
_422
or_420
suffix:components.g
must beVK_COMPONENT_SWIZZLE_IDENTITY
components.a
must beVK_COMPONENT_SWIZZLE_IDENTITY
,VK_COMPONENT_SWIZZLE_ONE
, orVK_COMPONENT_SWIZZLE_ZERO
components.r
must beVK_COMPONENT_SWIZZLE_IDENTITY
orVK_COMPONENT_SWIZZLE_B
components.b
must beVK_COMPONENT_SWIZZLE_IDENTITY
orVK_COMPONENT_SWIZZLE_R
- If either
components.r
orcomponents.b
isVK_COMPONENT_SWIZZLE_IDENTITY
, both values must beVK_COMPONENT_SWIZZLE_IDENTITY
- If
ycbcrModel
is notVK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY
, thencomponents.r
,components.g
, andcomponents.b
must correspond to channels of theformat
; that is,components.r
,components.g
, andcomponents.b
must not beVK_COMPONENT_SWIZZLE_ZERO
orVK_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
,forceExplicitReconstruction
must be FALSE - If the format does not support
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
,chromaFilter
must beVK_FILTER_NEAREST
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO
pNext
must beNULL
or a pointer to a valid instance ofVkExternalFormatANDROID
format
must be a validVkFormat
valueycbcrModel
must be a validVkSamplerYcbcrModelConversion
valueycbcrRange
must be a validVkSamplerYcbcrRange
valuecomponents
must be a validVkComponentMapping
structurexChromaOffset
must be a validVkChromaLocation
valueyChromaOffset
must be a validVkChromaLocation
valuechromaFilter
must be a validVkFilter
value
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
VkSamplerYcbcrConversionCreateInfo | |
|
Instances
data VkBindImagePlaneMemoryInfo Source #
VkBindImagePlaneMemoryInfo - Structure specifying how to bind an image plane to memory
Valid Usage
planeAspect
must be a single valid plane aspect for the image format (that is,planeAspect
must beVK_IMAGE_ASPECT_PLANE_0_BIT
orVK_IMAGE_ASPECT_PLANE_1_BIT
for “_2PLANE
” formats andplaneAspect
must beVK_IMAGE_ASPECT_PLANE_0_BIT
,VK_IMAGE_ASPECT_PLANE_1_BIT
, orVK_IMAGE_ASPECT_PLANE_2_BIT
for “_3PLANE
” formats)
- A single call to
vkBindImageMemory2
must bind all or none of the planes of an image (i.e. bindings to all planes of an image must be made in a singlevkBindImageMemory2
call), as separate bindings
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO
planeAspect
must be a validVkImageAspectFlagBits
value
See Also
VkBindImagePlaneMemoryInfo | |
|
Instances
data VkImagePlaneMemoryRequirementsInfo Source #
VkImagePlaneMemoryRequirementsInfo - Structure specifying image plane for memory requirements
Valid Usage
planeAspect
must be an aspect that exists in the format; that is, for a two-plane imageplaneAspect
must beVK_IMAGE_ASPECT_PLANE_0_BIT
orVK_IMAGE_ASPECT_PLANE_1_BIT
, and for a three-plane imageplaneAspect
must beVK_IMAGE_ASPECT_PLANE_0_BIT
,VK_IMAGE_ASPECT_PLANE_1_BIT
orVK_IMAGE_ASPECT_PLANE_2_BIT
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO
planeAspect
must be a validVkImageAspectFlagBits
value
See Also
VkImagePlaneMemoryRequirementsInfo | |
|
Instances
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
samplerYcbcrConversion
specifies whether the implementation supports sampler Y’CBCR conversion. IfsamplerYcbcrConversion
isVK_FALSE
, sampler Y’CBCR conversion is not supported, and samplers using sampler Y’CBCR conversion must not be used.
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
See Also
VkBool32
, VkStructureType
VkPhysicalDeviceSamplerYcbcrConversionFeatures | |
|
Instances
data VkSamplerYcbcrConversionImageFormatProperties Source #
VkSamplerYcbcrConversionImageFormatProperties - Structure specifying combined image sampler descriptor count for multi-planar images
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES
See Also
VkSamplerYcbcrConversionImageFormatProperties | |
|