Class VkImageDrmFormatModifierExplicitCreateInfoEXT
- All Implemented Interfaces:
AutoCloseable
,NativeResource
,Pointer
Description
The i
th member of pPlaneLayouts
describes the layout of the image’s i
th memory plane (that is, VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT
). In each element of pPlaneLayouts
, the implementation must ignore size
. The implementation calculates the size of each plane, which the application can query with GetImageSubresourceLayout
.
When creating an image with VkImageDrmFormatModifierExplicitCreateInfoEXT
, it is the application’s responsibility to satisfy all valid usage requirements. However, the implementation must validate that the provided pPlaneLayouts
, when combined with the provided drmFormatModifier
and other creation parameters in VkImageCreateInfo
and its pNext
chain, produce a valid image. (This validation is necessarily implementation-dependent and outside the scope of Vulkan, and therefore not described by valid usage requirements). If this validation fails, then CreateImage
returns ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT
.
Valid Usage
drmFormatModifier
must be compatible with the parameters inVkImageCreateInfo
and itspNext
chain, as determined by queryingVkPhysicalDeviceImageFormatInfo2
extended withVkPhysicalDeviceImageDrmFormatModifierInfoEXT
drmFormatModifierPlaneCount
must be equal to theVkDrmFormatModifierPropertiesEXT
::drmFormatModifierPlaneCount
associated withVkImageCreateInfo
::format
anddrmFormatModifier
, as found by queryingVkDrmFormatModifierPropertiesListEXT
- For each element of
pPlaneLayouts
,size
must be 0 - For each element of
pPlaneLayouts
,arrayPitch
must be 0 ifVkImageCreateInfo
::arrayLayers
is 1 - For each element of
pPlaneLayouts
,depthPitch
must be 0 ifVkImageCreateInfo
::extent.depth
is 1
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT
pPlaneLayouts
must be a valid pointer to an array ofdrmFormatModifierPlaneCount
VkSubresourceLayout
structuresdrmFormatModifierPlaneCount
must be greater than 0
See Also
Layout
struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
VkStructureType sType()
;
void const * pNext()
;
uint64_t drmFormatModifier()
;
uint32_t drmFormatModifierPlaneCount()
;
VkSubresourceLayout
const * pPlaneLayouts()
;
}
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
An array ofVkImageDrmFormatModifierExplicitCreateInfoEXT
structs.Nested classes/interfaces inherited from class org.lwjgl.system.Struct
Struct.StructValidation
Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer
Pointer.Default
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
The struct alignment in bytes.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct size in bytes.static final int
The struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE
-
Constructor Summary
ConstructorDescriptionCreates aVkImageDrmFormatModifierExplicitCreateInfoEXT
instance at the current position of the specifiedByteBuffer
container. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()
Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT
instance allocated withmemCalloc
.calloc
(int capacity) Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer
instance allocated withmemCalloc
.calloc
(int capacity, MemoryStack stack) Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.calloc
(MemoryStack stack) Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.Deprecated.callocStack
(int capacity) Deprecated.callocStack
(int capacity, MemoryStack stack) Deprecated.callocStack
(MemoryStack stack) Deprecated.create()
Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT
instance allocated withBufferUtils
.create
(int capacity) Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer
instance allocated withBufferUtils
.create
(long address) Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT
instance for the specified memory address.create
(long address, int capacity) Create aVkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer
instance at the specified memory.createSafe
(long address) createSafe
(long address, int capacity) long
the Linux DRM format modifier with which the image will be created.drmFormatModifier
(long value) Sets the specified value to thedrmFormatModifier()
field.int
the number of memory planes in the image (as reported byVkDrmFormatModifierPropertiesEXT
) as well as the length of thepPlaneLayouts
array.malloc()
Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT
instance allocated withmemAlloc
.malloc
(int capacity) Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer
instance allocated withmemAlloc
.malloc
(int capacity, MemoryStack stack) Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer
instance allocated on the specifiedMemoryStack
.malloc
(MemoryStack stack) Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT
instance allocated on the specifiedMemoryStack
.Deprecated.mallocStack
(int capacity) Deprecated.mallocStack
(int capacity, MemoryStack stack) Deprecated.mallocStack
(MemoryStack stack) Deprecated.static long
ndrmFormatModifier
(long struct) Unsafe version ofdrmFormatModifier()
.static void
ndrmFormatModifier
(long struct, long value) Unsafe version ofdrmFormatModifier
.static int
ndrmFormatModifierPlaneCount
(long struct) Unsafe version ofdrmFormatModifierPlaneCount()
.static void
ndrmFormatModifierPlaneCount
(long struct, int value) Sets the specified value to thedrmFormatModifierPlaneCount
field of the specifiedstruct
.static long
npNext
(long struct) Unsafe version ofpNext()
.static void
npNext
(long struct, long value) Unsafe version ofpNext
.static VkSubresourceLayout.Buffer
npPlaneLayouts
(long struct) Unsafe version ofpPlaneLayouts()
.static void
npPlaneLayouts
(long struct, VkSubresourceLayout.Buffer value) Unsafe version ofpPlaneLayouts
.static int
nsType
(long struct) Unsafe version ofsType()
.static void
nsType
(long struct, int value) Unsafe version ofsType
.long
pNext()
NULL
or a pointer to a structure extending this structure.pNext
(long value) Sets the specified value to thepNext()
field.a pointer to an array ofVkSubresourceLayout
structures describing the image’s memory planes.Sets the address of the specifiedVkSubresourceLayout.Buffer
to thepPlaneLayouts()
field.set
(int sType, long pNext, long drmFormatModifier, VkSubresourceLayout.Buffer pPlaneLayouts) Initializes this struct with the specified values.Copies the specified struct data to this struct.int
sizeof()
Returnssizeof(struct)
.int
sType()
aVkStructureType
value identifying this structure.sType
(int value) Sets the specified value to thesType()
field.Sets theSTRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT
value to thesType()
field.static void
validate
(long struct) Validates pointer members that should not beNULL
.Methods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toString
Methods 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. -
DRMFORMATMODIFIER
public static final int DRMFORMATMODIFIERThe struct member offsets. -
DRMFORMATMODIFIERPLANECOUNT
public static final int DRMFORMATMODIFIERPLANECOUNTThe struct member offsets. -
PPLANELAYOUTS
public static final int PPLANELAYOUTSThe struct member offsets.
-
-
Constructor Details
-
VkImageDrmFormatModifierExplicitCreateInfoEXT
Creates aVkImageDrmFormatModifierExplicitCreateInfoEXT
instance at the current position of the specifiedByteBuffer
container. 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()Description copied from class:Struct
Returnssizeof(struct)
.- Specified by:
sizeof
in classStruct<VkImageDrmFormatModifierExplicitCreateInfoEXT>
-
sType
public int sType()aVkStructureType
value identifying this structure. -
pNext
public long pNext()NULL
or a pointer to a structure extending this structure. -
drmFormatModifier
public long drmFormatModifier()the Linux DRM format modifier with which the image will be created. -
drmFormatModifierPlaneCount
public int drmFormatModifierPlaneCount()the number of memory planes in the image (as reported byVkDrmFormatModifierPropertiesEXT
) as well as the length of thepPlaneLayouts
array. -
pPlaneLayouts
a pointer to an array ofVkSubresourceLayout
structures describing the image’s memory planes. -
sType
Sets the specified value to thesType()
field. -
sType$Default
Sets theSTRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT
value to thesType()
field. -
pNext
Sets the specified value to thepNext()
field. -
drmFormatModifier
Sets the specified value to thedrmFormatModifier()
field. -
pPlaneLayouts
public VkImageDrmFormatModifierExplicitCreateInfoEXT pPlaneLayouts(VkSubresourceLayout.Buffer value) Sets the address of the specifiedVkSubresourceLayout.Buffer
to thepPlaneLayouts()
field. -
set
public VkImageDrmFormatModifierExplicitCreateInfoEXT set(int sType, long pNext, long drmFormatModifier, VkSubresourceLayout.Buffer pPlaneLayouts) Initializes this struct with the specified values. -
set
public VkImageDrmFormatModifierExplicitCreateInfoEXT set(VkImageDrmFormatModifierExplicitCreateInfoEXT src) Copies the specified struct data to this struct.- Parameters:
src
- the source struct- Returns:
- this struct
-
malloc
Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT
instance allocated withmemAlloc
. The instance must be explicitly freed. -
calloc
Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT
instance allocated withmemCalloc
. The instance must be explicitly freed. -
create
Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT
instance allocated withBufferUtils
. -
create
Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT
instance for the specified memory address. -
createSafe
-
malloc
Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
public static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer create(long address, int capacity) Create aVkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
@Nullable public static VkImageDrmFormatModifierExplicitCreateInfoEXT.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 VkImageDrmFormatModifierExplicitCreateInfoEXT mallocStack(MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)
instead. -
callocStack
@Deprecated public static VkImageDrmFormatModifierExplicitCreateInfoEXT callocStack(MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)
instead. -
mallocStack
@Deprecated public static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer mallocStack(int capacity) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)
instead. -
callocStack
@Deprecated public static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer callocStack(int capacity) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)
instead. -
mallocStack
@Deprecated public static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer mallocStack(int capacity, MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)
instead. -
callocStack
@Deprecated public static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer callocStack(int capacity, MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)
instead. -
malloc
Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
calloc
Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
malloc
public static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer malloc(int capacity, MemoryStack stack) Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
capacity
- the buffer capacitystack
- the stack from which to allocate
-
calloc
public static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer calloc(int capacity, MemoryStack stack) Returns a newVkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer
instance allocated on the specifiedMemoryStack
and 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()
. -
ndrmFormatModifier
public static long ndrmFormatModifier(long struct) Unsafe version ofdrmFormatModifier()
. -
ndrmFormatModifierPlaneCount
public static int ndrmFormatModifierPlaneCount(long struct) Unsafe version ofdrmFormatModifierPlaneCount()
. -
npPlaneLayouts
Unsafe version ofpPlaneLayouts()
. -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType
. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext
. -
ndrmFormatModifier
public static void ndrmFormatModifier(long struct, long value) Unsafe version ofdrmFormatModifier
. -
ndrmFormatModifierPlaneCount
public static void ndrmFormatModifierPlaneCount(long struct, int value) Sets the specified value to thedrmFormatModifierPlaneCount
field of the specifiedstruct
. -
npPlaneLayouts
Unsafe version ofpPlaneLayouts
. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL
.- Parameters:
struct
- the struct to validate
-