Class VkSamplerYcbcrConversionCreateInfo
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkSamplerYcbcrConversionCreateInfoKHR
Description
Note
Setting forceExplicitReconstruction to TRUE may have a performance penalty on implementations where explicit reconstruction is not the default mode of operation.
If format supports FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT the forceExplicitReconstruction value behaves as if it were TRUE.
If the pNext chain includes a VkExternalFormatANDROID structure with non-zero externalFormat member, the sampler Y′CBCR conversion object represents an external format conversion, and format must be 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 beFORMAT_UNDEFINED - If an external format conversion is not being created,
formatmust represent unsigned normalized values (i.e. the format must be aUNORMformat) - The potential format features of the sampler Y′CBCR conversion must support
FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BITorFORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT - If the potential format features of the sampler Y′CBCR conversion do not support
FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,xChromaOffsetandyChromaOffsetmust not beCHROMA_LOCATION_COSITED_EVENif the corresponding components are downsampled - If the potential format features of the sampler Y′CBCR conversion do not support
FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,xChromaOffsetandyChromaOffsetmust not beCHROMA_LOCATION_MIDPOINTif the corresponding components are downsampled - If the format has a
_422or_420suffix, thencomponents.gmust be the identity swizzle - If the format has a
_422or_420suffix, thencomponents.amust be the identity swizzle,COMPONENT_SWIZZLE_ONE, orCOMPONENT_SWIZZLE_ZERO - If the format has a
_422or_420suffix, thencomponents.rmust be the identity swizzle orCOMPONENT_SWIZZLE_B - If the format has a
_422or_420suffix, thencomponents.bmust be the identity swizzle orCOMPONENT_SWIZZLE_R - If the format has a
_422or_420suffix, and if eithercomponents.rorcomponents.bis the identity swizzle, both values must be the identity swizzle - If
ycbcrModelis notSAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, thencomponents.r,components.g, andcomponents.bmust correspond to components of theformat; that is,components.r,components.g, andcomponents.bmust not beCOMPONENT_SWIZZLE_ZEROorCOMPONENT_SWIZZLE_ONE, and must not correspond to a component containing zero or one as a consequence of conversion to RGBA - If
ycbcrRangeisSAMPLER_YCBCR_RANGE_ITU_NARROWthen the R, G and B components obtained by applying thecomponentswizzle toformatmust each have a bit-depth greater than or equal to 8 - If the potential format features of the sampler Y′CBCR conversion do not support
FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BITforceExplicitReconstructionmust beFALSE - If the potential format features of the sampler Y′CBCR conversion do not support
FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,chromaFiltermust not beFILTER_LINEAR - If the
pNextchain includes aVkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOMstructure, and if theycbcrDegammafeature is not enabled, thenVkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM::enableYDegammamust beFALSE - If the
pNextchain includes aVkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOMstructure, and if theycbcrDegammafeature is not enabled, thenVkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM::enableCbCrDegammamust beFALSE - If the
pNextchain includes aVkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOMstructure,formatmust be a format with 8-bit R, G, and B components
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO- Each
pNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance ofVkExternalFormatANDROIDorVkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM - The
sTypevalue of each struct in thepNextchain must be unique formatmust be a validVkFormatvalueycbcrModelmust be a validVkSamplerYcbcrModelConversionvalueycbcrRangemust be a validVkSamplerYcbcrRangevaluecomponentsmust be a validVkComponentMappingstructurexChromaOffsetmust be a validVkChromaLocationvalueyChromaOffsetmust be a validVkChromaLocationvaluechromaFiltermust be a validVkFiltervalue
If chromaFilter is FILTER_NEAREST, chroma samples are reconstructed to luma component 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
VkComponentMapping, CreateSamplerYcbcrConversion, CreateSamplerYcbcrConversionKHR
Layout
struct VkSamplerYcbcrConversionCreateInfo {
VkStructureType sType();
void const * pNext();
VkFormat format();
VkSamplerYcbcrModelConversion ycbcrModel();
VkSamplerYcbcrRange ycbcrRange();
VkComponentMapping components();
VkChromaLocation xChromaOffset();
VkChromaLocation yChromaOffset();
VkFilter chromaFilter();
VkBool32 forceExplicitReconstruction();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkSamplerYcbcrConversionCreateInfostructs.Nested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkSamplerYcbcrConversionCreateInfo(ByteBuffer container) Creates aVkSamplerYcbcrConversionCreateInfoinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newVkSamplerYcbcrConversionCreateInfoinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkSamplerYcbcrConversionCreateInfo.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSamplerYcbcrConversionCreateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkSamplerYcbcrConversionCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.Deprecated.callocStack(int capacity) Deprecated.callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.callocStack(org.lwjgl.system.MemoryStack stack) Deprecated.intthe filter for chroma reconstruction.chromaFilter(int value) Sets the specified value to thechromaFilter()field.applies a swizzle based onVkComponentSwizzleenums prior to range expansion and color model conversion.components(Consumer<VkComponentMapping> consumer) Passes thecomponents()field to the specifiedConsumer.components(VkComponentMapping value) Copies the specifiedVkComponentMappingto thecomponents()field.create()Returns a newVkSamplerYcbcrConversionCreateInfoinstance allocated withBufferUtils.create(int capacity) Returns a newVkSamplerYcbcrConversionCreateInfo.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkSamplerYcbcrConversionCreateInfoinstance for the specified memory address.create(long address, int capacity) Create aVkSamplerYcbcrConversionCreateInfo.Bufferinstance at the specified memory.static @Nullable VkSamplerYcbcrConversionCreateInfocreateSafe(long address) static @Nullable VkSamplerYcbcrConversionCreateInfo.BuffercreateSafe(long address, int capacity) booleancan be used to ensure that reconstruction is done explicitly, if supported.forceExplicitReconstruction(boolean value) Sets the specified value to theforceExplicitReconstruction()field.intformat()the format of the image from which color information will be retrieved.format(int value) Sets the specified value to theformat()field.malloc()Returns a newVkSamplerYcbcrConversionCreateInfoinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkSamplerYcbcrConversionCreateInfo.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSamplerYcbcrConversionCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkSamplerYcbcrConversionCreateInfoinstance allocated on the specifiedMemoryStack.Deprecated.mallocStack(int capacity) Deprecated.mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.mallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.static intnchromaFilter(long struct) Unsafe version ofchromaFilter().static voidnchromaFilter(long struct, int value) Unsafe version ofchromaFilter.static VkComponentMappingncomponents(long struct) Unsafe version ofcomponents().static voidncomponents(long struct, VkComponentMapping value) Unsafe version ofcomponents.static intnforceExplicitReconstruction(long struct) Unsafe version offorceExplicitReconstruction().static voidnforceExplicitReconstruction(long struct, int value) Unsafe version offorceExplicitReconstruction.static intnformat(long struct) Unsafe version offormat().static voidnformat(long struct, int value) Unsafe version offormat.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.static intnxChromaOffset(long struct) Unsafe version ofxChromaOffset().static voidnxChromaOffset(long struct, int value) Unsafe version ofxChromaOffset.static intnycbcrModel(long struct) Unsafe version ofycbcrModel().static voidnycbcrModel(long struct, int value) Unsafe version ofycbcrModel.static intnycbcrRange(long struct) Unsafe version ofycbcrRange().static voidnycbcrRange(long struct, int value) Unsafe version ofycbcrRange.static intnyChromaOffset(long struct) Unsafe version ofyChromaOffset().static voidnyChromaOffset(long struct, int value) Unsafe version ofyChromaOffset.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.pNext(VkExternalFormatANDROID value) Prepends the specifiedVkExternalFormatANDROIDvalue to thepNextchain.Prepends the specifiedVkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOMvalue to thepNextchain.set(int sType, long pNext, int format, int ycbcrModel, int ycbcrRange, VkComponentMapping components, int xChromaOffset, int yChromaOffset, int chromaFilter, boolean forceExplicitReconstruction) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFOvalue to thesType()field.intdescribes the sample location associated with downsampled chroma components in the x dimension.xChromaOffset(int value) Sets the specified value to thexChromaOffset()field.intdescribes the color matrix for conversion between color models.ycbcrModel(int value) Sets the specified value to theycbcrModel()field.intdescribes whether the encoded values have headroom and foot room, or whether the encoding uses the full numerical range.ycbcrRange(int value) Sets the specified value to theycbcrRange()field.intdescribes the sample location associated with downsampled chroma components in the y dimension.yChromaOffset(int value) Sets the specified value to theyChromaOffset()field.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
STYPE
public static final int STYPEThe struct member offsets. -
PNEXT
public static final int PNEXTThe struct member offsets. -
FORMAT
public static final int FORMATThe struct member offsets. -
YCBCRMODEL
public static final int YCBCRMODELThe struct member offsets. -
YCBCRRANGE
public static final int YCBCRRANGEThe struct member offsets. -
COMPONENTS
public static final int COMPONENTSThe struct member offsets. -
XCHROMAOFFSET
public static final int XCHROMAOFFSETThe struct member offsets. -
YCHROMAOFFSET
public static final int YCHROMAOFFSETThe struct member offsets. -
CHROMAFILTER
public static final int CHROMAFILTERThe struct member offsets. -
FORCEEXPLICITRECONSTRUCTION
public static final int FORCEEXPLICITRECONSTRUCTIONThe struct member offsets.
-
-
Constructor Details
-
VkSamplerYcbcrConversionCreateInfo
Creates aVkSamplerYcbcrConversionCreateInfoinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkSamplerYcbcrConversionCreateInfo>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
format
public int format()the format of the image from which color information will be retrieved. -
ycbcrModel
public int ycbcrModel()describes the color matrix for conversion between color models. -
ycbcrRange
public int ycbcrRange()describes whether the encoded values have headroom and foot room, or whether the encoding uses the full numerical range. -
components
applies a swizzle based onVkComponentSwizzleenums prior to range expansion and color model conversion. -
xChromaOffset
public int xChromaOffset()describes the sample location associated with downsampled chroma components in the x dimension.xChromaOffsethas no effect for formats in which chroma components are not downsampled horizontally. -
yChromaOffset
public int yChromaOffset()describes the sample location associated with downsampled chroma components in the y dimension.yChromaOffsethas no effect for formats in which the chroma components are not downsampled vertically. -
chromaFilter
public int chromaFilter()the filter for chroma reconstruction. -
forceExplicitReconstruction
public boolean forceExplicitReconstruction()can be used to ensure that reconstruction is done explicitly, if supported. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFOvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pNext
Prepends the specifiedVkExternalFormatANDROIDvalue to thepNextchain. -
pNext
public VkSamplerYcbcrConversionCreateInfo pNext(VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM value) Prepends the specifiedVkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOMvalue to thepNextchain. -
format
Sets the specified value to theformat()field. -
ycbcrModel
Sets the specified value to theycbcrModel()field. -
ycbcrRange
Sets the specified value to theycbcrRange()field. -
components
Copies the specifiedVkComponentMappingto thecomponents()field. -
components
Passes thecomponents()field to the specifiedConsumer. -
xChromaOffset
Sets the specified value to thexChromaOffset()field. -
yChromaOffset
Sets the specified value to theyChromaOffset()field. -
chromaFilter
Sets the specified value to thechromaFilter()field. -
forceExplicitReconstruction
Sets the specified value to theforceExplicitReconstruction()field. -
set
public VkSamplerYcbcrConversionCreateInfo set(int sType, long pNext, int format, int ycbcrModel, int ycbcrRange, VkComponentMapping components, int xChromaOffset, int yChromaOffset, int chromaFilter, boolean forceExplicitReconstruction) Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkSamplerYcbcrConversionCreateInfoinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkSamplerYcbcrConversionCreateInfoinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkSamplerYcbcrConversionCreateInfoinstance allocated withBufferUtils. -
create
Returns a newVkSamplerYcbcrConversionCreateInfoinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkSamplerYcbcrConversionCreateInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkSamplerYcbcrConversionCreateInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkSamplerYcbcrConversionCreateInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkSamplerYcbcrConversionCreateInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkSamplerYcbcrConversionCreateInfo.Buffer createSafe(long address, int capacity) -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
@Deprecated public static VkSamplerYcbcrConversionCreateInfo mallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
@Deprecated public static VkSamplerYcbcrConversionCreateInfo callocStack(org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
mallocStack
@Deprecated public static VkSamplerYcbcrConversionCreateInfo.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
@Deprecated public static VkSamplerYcbcrConversionCreateInfo.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
malloc
Returns a newVkSamplerYcbcrConversionCreateInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkSamplerYcbcrConversionCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkSamplerYcbcrConversionCreateInfo.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSamplerYcbcrConversionCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkSamplerYcbcrConversionCreateInfo.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSamplerYcbcrConversionCreateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nsType
public static int nsType(long struct) Unsafe version ofsType(). -
npNext
public static long npNext(long struct) Unsafe version ofpNext(). -
nformat
public static int nformat(long struct) Unsafe version offormat(). -
nycbcrModel
public static int nycbcrModel(long struct) Unsafe version ofycbcrModel(). -
nycbcrRange
public static int nycbcrRange(long struct) Unsafe version ofycbcrRange(). -
ncomponents
Unsafe version ofcomponents(). -
nxChromaOffset
public static int nxChromaOffset(long struct) Unsafe version ofxChromaOffset(). -
nyChromaOffset
public static int nyChromaOffset(long struct) Unsafe version ofyChromaOffset(). -
nchromaFilter
public static int nchromaFilter(long struct) Unsafe version ofchromaFilter(). -
nforceExplicitReconstruction
public static int nforceExplicitReconstruction(long struct) Unsafe version offorceExplicitReconstruction(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nformat
public static void nformat(long struct, int value) Unsafe version offormat. -
nycbcrModel
public static void nycbcrModel(long struct, int value) Unsafe version ofycbcrModel. -
nycbcrRange
public static void nycbcrRange(long struct, int value) Unsafe version ofycbcrRange. -
ncomponents
Unsafe version ofcomponents. -
nxChromaOffset
public static void nxChromaOffset(long struct, int value) Unsafe version ofxChromaOffset. -
nyChromaOffset
public static void nyChromaOffset(long struct, int value) Unsafe version ofyChromaOffset. -
nchromaFilter
public static void nchromaFilter(long struct, int value) Unsafe version ofchromaFilter. -
nforceExplicitReconstruction
public static void nforceExplicitReconstruction(long struct, int value) Unsafe version offorceExplicitReconstruction.
-