public class VkImageDrmFormatModifierExplicitCreateInfoEXT
extends org.lwjgl.system.Struct
implements org.lwjgl.system.NativeResource
The ith member of pPlaneLayouts describes the layout of the image's ith 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.
drmFormatModifier must be compatible with the parameters in VkImageCreateInfo and its pNext chain, as determined by querying VkPhysicalDeviceImageFormatInfo2 extended with VkPhysicalDeviceImageDrmFormatModifierInfoEXT.drmFormatModifierPlaneCount must be equal to the VkDrmFormatModifierPropertiesEXT::drmFormatModifierPlaneCount associated with VkImageCreateInfo::format and drmFormatModifier, as found by querying VkDrmFormatModifierPropertiesListEXT.pPlaneLayouts, size must be 0pPlaneLayouts, arrayPitch must be 0 if VkImageCreateInfo::arrayLayers is 1.pPlaneLayouts, depthPitch must be 0 if VkImageCreateInfo::extent.depth is 1.sType must be STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXTdrmFormatModifierPlaneCount is not 0, pPlaneLayouts must be a valid pointer to an array of drmFormatModifierPlaneCount VkSubresourceLayout structuressType – the type of this structure.pNext – NULL or a pointer to an extension-specific structure.drmFormatModifier – the Linux DRM format modifier with which the image will be created.drmFormatModifierPlaneCount – the number of memory planes in the image (as reported by VkDrmFormatModifierPropertiesEXT) as well as the length of the pPlaneLayouts array.pPlaneLayouts – a pointer to an array of VkSubresourceLayout structures describing the image’s memory planes.
struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
VkStructureType sType;
void const * pNext;
uint64_t drmFormatModifier;
uint32_t drmFormatModifierPlaneCount;
VkSubresourceLayout const * pPlaneLayouts;
}| Modifier and Type | Class and Description |
|---|---|
static class |
VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer
An array of
VkImageDrmFormatModifierExplicitCreateInfoEXT structs. |
| Modifier and Type | Field and Description |
|---|---|
static int |
ALIGNOF
The struct alignment in bytes.
|
static int |
DRMFORMATMODIFIER
The struct member offsets.
|
static int |
DRMFORMATMODIFIERPLANECOUNT
The struct member offsets.
|
static int |
PNEXT
The struct member offsets.
|
static int |
PPLANELAYOUTS
The struct member offsets.
|
static int |
SIZEOF
The struct size in bytes.
|
static int |
STYPE
The struct member offsets.
|
| Constructor and Description |
|---|
VkImageDrmFormatModifierExplicitCreateInfoEXT(java.nio.ByteBuffer container)
Creates a
VkImageDrmFormatModifierExplicitCreateInfoEXT instance at the current position of the specified ByteBuffer container. |
| Modifier and Type | Method and Description |
|---|---|
static VkImageDrmFormatModifierExplicitCreateInfoEXT |
calloc()
Returns a new
VkImageDrmFormatModifierExplicitCreateInfoEXT instance allocated with memCalloc. |
static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer |
calloc(int capacity)
Returns a new
VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer instance allocated with memCalloc. |
static VkImageDrmFormatModifierExplicitCreateInfoEXT |
callocStack()
Returns a new
VkImageDrmFormatModifierExplicitCreateInfoEXT instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer |
callocStack(int capacity)
Returns a new
VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer |
callocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkImageDrmFormatModifierExplicitCreateInfoEXT |
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkImageDrmFormatModifierExplicitCreateInfoEXT instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkImageDrmFormatModifierExplicitCreateInfoEXT |
create()
Returns a new
VkImageDrmFormatModifierExplicitCreateInfoEXT instance allocated with BufferUtils. |
static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer |
create(int capacity)
Returns a new
VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer instance allocated with BufferUtils. |
static VkImageDrmFormatModifierExplicitCreateInfoEXT |
create(long address)
Returns a new
VkImageDrmFormatModifierExplicitCreateInfoEXT instance for the specified memory address. |
static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer |
create(long address,
int capacity)
Create a
VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer instance at the specified memory. |
static VkImageDrmFormatModifierExplicitCreateInfoEXT |
createSafe(long address)
|
static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer |
createSafe(long address,
int capacity)
|
long |
drmFormatModifier()
Returns the value of the
drmFormatModifier field. |
VkImageDrmFormatModifierExplicitCreateInfoEXT |
drmFormatModifier(long value)
Sets the specified value to the
drmFormatModifier field. |
int |
drmFormatModifierPlaneCount()
Returns the value of the
drmFormatModifierPlaneCount field. |
static VkImageDrmFormatModifierExplicitCreateInfoEXT |
malloc()
Returns a new
VkImageDrmFormatModifierExplicitCreateInfoEXT instance allocated with memAlloc. |
static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer |
malloc(int capacity)
Returns a new
VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer instance allocated with memAlloc. |
static VkImageDrmFormatModifierExplicitCreateInfoEXT |
mallocStack()
Returns a new
VkImageDrmFormatModifierExplicitCreateInfoEXT instance allocated on the thread-local MemoryStack. |
static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer |
mallocStack(int capacity)
Returns a new
VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer instance allocated on the thread-local MemoryStack. |
static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer |
mallocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer instance allocated on the specified MemoryStack. |
static VkImageDrmFormatModifierExplicitCreateInfoEXT |
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkImageDrmFormatModifierExplicitCreateInfoEXT instance allocated on the specified MemoryStack. |
static long |
ndrmFormatModifier(long struct)
Unsafe version of
drmFormatModifier(). |
static void |
ndrmFormatModifier(long struct,
long value)
Unsafe version of
drmFormatModifier. |
static int |
ndrmFormatModifierPlaneCount(long struct)
Unsafe version of
drmFormatModifierPlaneCount(). |
static void |
ndrmFormatModifierPlaneCount(long struct,
int value)
Sets the specified value to the
drmFormatModifierPlaneCount field of the specified struct. |
static long |
npNext(long struct)
Unsafe version of
pNext(). |
static void |
npNext(long struct,
long value)
Unsafe version of
pNext. |
static VkSubresourceLayout.Buffer |
npPlaneLayouts(long struct)
Unsafe version of
pPlaneLayouts(). |
static void |
npPlaneLayouts(long struct,
VkSubresourceLayout.Buffer value)
Unsafe version of
pPlaneLayouts. |
static int |
nsType(long struct)
Unsafe version of
sType(). |
static void |
nsType(long struct,
int value)
Unsafe version of
sType. |
long |
pNext()
Returns the value of the
pNext field. |
VkImageDrmFormatModifierExplicitCreateInfoEXT |
pNext(long value)
Sets the specified value to the
pNext field. |
VkSubresourceLayout.Buffer |
pPlaneLayouts()
Returns a
VkSubresourceLayout.Buffer view of the struct array pointed to by the pPlaneLayouts field. |
VkImageDrmFormatModifierExplicitCreateInfoEXT |
pPlaneLayouts(VkSubresourceLayout.Buffer value)
Sets the address of the specified
VkSubresourceLayout.Buffer to the pPlaneLayouts field. |
VkImageDrmFormatModifierExplicitCreateInfoEXT |
set(int sType,
long pNext,
long drmFormatModifier,
VkSubresourceLayout.Buffer pPlaneLayouts)
Initializes this struct with the specified values.
|
VkImageDrmFormatModifierExplicitCreateInfoEXT |
set(VkImageDrmFormatModifierExplicitCreateInfoEXT src)
Copies the specified struct data to this struct.
|
int |
sizeof() |
int |
sType()
Returns the value of the
sType field. |
VkImageDrmFormatModifierExplicitCreateInfoEXT |
sType(int value)
Sets the specified value to the
sType field. |
static void |
validate(long struct)
Validates pointer members that should not be
NULL. |
static void |
validate(long array,
int count)
Calls
validate(long) for each struct contained in the specified struct array. |
public static final int SIZEOF
public static final int ALIGNOF
public static final int STYPE
public static final int PNEXT
public static final int DRMFORMATMODIFIER
public static final int DRMFORMATMODIFIERPLANECOUNT
public static final int PPLANELAYOUTS
public VkImageDrmFormatModifierExplicitCreateInfoEXT(java.nio.ByteBuffer container)
VkImageDrmFormatModifierExplicitCreateInfoEXT instance at the current position of the specified ByteBuffer 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.
public int sizeof()
sizeof in class org.lwjgl.system.Structpublic int sType()
sType field.public long pNext()
pNext field.public long drmFormatModifier()
drmFormatModifier field.public int drmFormatModifierPlaneCount()
drmFormatModifierPlaneCount field.@Nullable public VkSubresourceLayout.Buffer pPlaneLayouts()
VkSubresourceLayout.Buffer view of the struct array pointed to by the pPlaneLayouts field.public VkImageDrmFormatModifierExplicitCreateInfoEXT sType(int value)
sType field.public VkImageDrmFormatModifierExplicitCreateInfoEXT pNext(long value)
pNext field.public VkImageDrmFormatModifierExplicitCreateInfoEXT drmFormatModifier(long value)
drmFormatModifier field.public VkImageDrmFormatModifierExplicitCreateInfoEXT pPlaneLayouts(@Nullable VkSubresourceLayout.Buffer value)
VkSubresourceLayout.Buffer to the pPlaneLayouts field.public VkImageDrmFormatModifierExplicitCreateInfoEXT set(int sType, long pNext, long drmFormatModifier, @Nullable VkSubresourceLayout.Buffer pPlaneLayouts)
public VkImageDrmFormatModifierExplicitCreateInfoEXT set(VkImageDrmFormatModifierExplicitCreateInfoEXT src)
src - the source structpublic static VkImageDrmFormatModifierExplicitCreateInfoEXT malloc()
VkImageDrmFormatModifierExplicitCreateInfoEXT instance allocated with memAlloc. The instance must be explicitly freed.public static VkImageDrmFormatModifierExplicitCreateInfoEXT calloc()
VkImageDrmFormatModifierExplicitCreateInfoEXT instance allocated with memCalloc. The instance must be explicitly freed.public static VkImageDrmFormatModifierExplicitCreateInfoEXT create()
VkImageDrmFormatModifierExplicitCreateInfoEXT instance allocated with BufferUtils.public static VkImageDrmFormatModifierExplicitCreateInfoEXT create(long address)
VkImageDrmFormatModifierExplicitCreateInfoEXT instance for the specified memory address.@Nullable public static VkImageDrmFormatModifierExplicitCreateInfoEXT createSafe(long address)
public static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer malloc(int capacity)
VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer instance allocated with memAlloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer calloc(int capacity)
VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer instance allocated with memCalloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer create(int capacity)
VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer instance allocated with BufferUtils.capacity - the buffer capacitypublic static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer create(long address, int capacity)
VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer instance at the specified memory.address - the memory addresscapacity - the buffer capacity@Nullable public static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer createSafe(long address, int capacity)
public static VkImageDrmFormatModifierExplicitCreateInfoEXT mallocStack()
VkImageDrmFormatModifierExplicitCreateInfoEXT instance allocated on the thread-local MemoryStack.public static VkImageDrmFormatModifierExplicitCreateInfoEXT callocStack()
VkImageDrmFormatModifierExplicitCreateInfoEXT instance allocated on the thread-local MemoryStack and initializes all its bits to zero.public static VkImageDrmFormatModifierExplicitCreateInfoEXT mallocStack(org.lwjgl.system.MemoryStack stack)
VkImageDrmFormatModifierExplicitCreateInfoEXT instance allocated on the specified MemoryStack.stack - the stack from which to allocatepublic static VkImageDrmFormatModifierExplicitCreateInfoEXT callocStack(org.lwjgl.system.MemoryStack stack)
VkImageDrmFormatModifierExplicitCreateInfoEXT instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatepublic static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer mallocStack(int capacity)
VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer instance allocated on the thread-local MemoryStack.capacity - the buffer capacitypublic static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer callocStack(int capacity)
VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.capacity - the buffer capacitypublic static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer instance allocated on the specified MemoryStack.stack - the stack from which to allocatecapacity - the buffer capacitypublic static VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkImageDrmFormatModifierExplicitCreateInfoEXT.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatecapacity - the buffer capacitypublic static int nsType(long struct)
sType().public static long npNext(long struct)
pNext().public static long ndrmFormatModifier(long struct)
drmFormatModifier().public static int ndrmFormatModifierPlaneCount(long struct)
drmFormatModifierPlaneCount().@Nullable public static VkSubresourceLayout.Buffer npPlaneLayouts(long struct)
pPlaneLayouts().public static void nsType(long struct,
int value)
sType.public static void npNext(long struct,
long value)
pNext.public static void ndrmFormatModifier(long struct,
long value)
drmFormatModifier.public static void ndrmFormatModifierPlaneCount(long struct,
int value)
drmFormatModifierPlaneCount field of the specified struct.public static void npPlaneLayouts(long struct,
@Nullable
VkSubresourceLayout.Buffer value)
pPlaneLayouts.public static void validate(long struct)
NULL.struct - the struct to validatepublic static void validate(long array,
int count)
validate(long) for each struct contained in the specified struct array.array - the struct array to validatecount - the number of structs in arrayCopyright LWJGL. All Rights Reserved. License terms.