Class VkImageStencilUsageCreateInfo
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkImageStencilUsageCreateInfoEXT
Description
If the pNext chain of VkImageCreateInfo includes a VkImageStencilUsageCreateInfo structure, then that structure includes the usage flags specific to the stencil aspect of the image for an image with a depth-stencil format.
This structure specifies image usages which only apply to the stencil aspect of a depth/stencil format image. When this structure is included in the pNext chain of VkImageCreateInfo, the stencil aspect of the image must only be used as specified by stencilUsage. When this structure is not included in the pNext chain of VkImageCreateInfo, the stencil aspect of an image must only be used as specified by VkImageCreateInfo::usage. Use of other aspects of an image are unaffected by this structure.
This structure can also be included in the pNext chain of VkPhysicalDeviceImageFormatInfo2 to query additional capabilities specific to image creation parameter combinations including a separate set of usage flags for the stencil aspect of the image using GetPhysicalDeviceImageFormatProperties2. When this structure is not included in the pNext chain of VkPhysicalDeviceImageFormatInfo2 then the implicit value of stencilUsage matches that of VkPhysicalDeviceImageFormatInfo2::usage.
Valid Usage
- If
stencilUsageincludesIMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, it must not include bits other thanIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BITorIMAGE_USAGE_INPUT_ATTACHMENT_BIT
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFOstencilUsagemust be a valid combination ofVkImageUsageFlagBitsvaluesstencilUsagemust not be 0
Layout
struct VkImageStencilUsageCreateInfo {
VkStructureType sType();
void const * pNext();
VkImageUsageFlags stencilUsage();
}-
Nested Class Summary
Nested ClassesNested 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 size in bytes.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
ConstructorsConstructorDescriptionVkImageStencilUsageCreateInfo(ByteBuffer container) Creates aVkImageStencilUsageCreateInfoinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newVkImageStencilUsageCreateInfoinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkImageStencilUsageCreateInfo.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkImageStencilUsageCreateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkImageStencilUsageCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkImageStencilUsageCreateInfoinstance allocated withBufferUtils.create(int capacity) Returns a newVkImageStencilUsageCreateInfo.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkImageStencilUsageCreateInfoinstance for the specified memory address.create(long address, int capacity) Create aVkImageStencilUsageCreateInfo.Bufferinstance at the specified memory.static @Nullable VkImageStencilUsageCreateInfocreateSafe(long address) static @Nullable VkImageStencilUsageCreateInfo.BuffercreateSafe(long address, int capacity) malloc()Returns a newVkImageStencilUsageCreateInfoinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkImageStencilUsageCreateInfo.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkImageStencilUsageCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkImageStencilUsageCreateInfoinstance allocated on the specifiedMemoryStack.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static intnstencilUsage(long struct) Unsafe version ofstencilUsage().static voidnstencilUsage(long struct, int value) Unsafe version ofstencilUsage.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.set(int sType, long pNext, int stencilUsage) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()inta bitmask ofVkImageUsageFlagBitsdescribing the intended usage of the stencil aspect of the image.stencilUsage(int value) Sets the specified value to thestencilUsage()field.intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFOvalue to thesType()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. -
STENCILUSAGE
public static final int STENCILUSAGEThe struct member offsets.
-
-
Constructor Details
-
VkImageStencilUsageCreateInfo
Creates aVkImageStencilUsageCreateInfoinstance 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<VkImageStencilUsageCreateInfo>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
stencilUsage
public int stencilUsage()a bitmask ofVkImageUsageFlagBitsdescribing the intended usage of the stencil aspect of the image. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFOvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
stencilUsage
Sets the specified value to thestencilUsage()field. -
set
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 newVkImageStencilUsageCreateInfoinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkImageStencilUsageCreateInfoinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkImageStencilUsageCreateInfoinstance allocated withBufferUtils. -
create
Returns a newVkImageStencilUsageCreateInfoinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkImageStencilUsageCreateInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkImageStencilUsageCreateInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkImageStencilUsageCreateInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkImageStencilUsageCreateInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
malloc
Returns a newVkImageStencilUsageCreateInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkImageStencilUsageCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkImageStencilUsageCreateInfo.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkImageStencilUsageCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkImageStencilUsageCreateInfo.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkImageStencilUsageCreateInfo.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(). -
nstencilUsage
public static int nstencilUsage(long struct) Unsafe version ofstencilUsage(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nstencilUsage
public static void nstencilUsage(long struct, int value) Unsafe version ofstencilUsage.
-