Class VkImageStencilUsageCreateInfo
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkImageStencilUsageCreateInfo
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkImageStencilUsageCreateInfoEXT
public class VkImageStencilUsageCreateInfo extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResourceSpecify separate usage flags for the stencil aspect of a depth-stencil image.Description
If the
pNextchain ofVkImageCreateInfoincludes aVkImageStencilUsageCreateInfostructure, 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
pNextchain ofVkImageCreateInfo, the stencil aspect of the image must only be used as specified bystencilUsage. When this structure is not included in thepNextchain ofVkImageCreateInfo, the stencil aspect of an image must only be used as specified byVkImageCreateInfo::usage. Use of other aspects of an image are unaffected by this structure.This structure can also be included in the
pNextchain ofVkPhysicalDeviceImageFormatInfo2to query additional capabilities specific to image creation parameter combinations including a separate set of usage flags for the stencil aspect of the image usingGetPhysicalDeviceImageFormatProperties2. When this structure is not included in thepNextchain ofVkPhysicalDeviceImageFormatInfo2then the implicit value ofstencilUsagematches that ofVkPhysicalDeviceImageFormatInfo2::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 { VkStructureTypesType(); void const *pNext(); VkImageUsageFlagsstencilUsage(); }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVkImageStencilUsageCreateInfo.BufferAn array ofVkImageStencilUsageCreateInfostructs.
-
Field Summary
Fields Modifier and Type Field Description static intALIGNOFThe struct alignment in bytes.static intPNEXTThe struct member offsets.static intSIZEOFThe struct size in bytes.static intSTENCILUSAGE
STYPEThe struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkImageStencilUsageCreateInfo(java.nio.ByteBuffer container)Creates aVkImageStencilUsageCreateInfoinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static VkImageStencilUsageCreateInfocalloc()Returns a newVkImageStencilUsageCreateInfoinstance allocated withmemCalloc.static VkImageStencilUsageCreateInfo.Buffercalloc(int capacity)Returns a newVkImageStencilUsageCreateInfo.Bufferinstance allocated withmemCalloc.static VkImageStencilUsageCreateInfo.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkImageStencilUsageCreateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkImageStencilUsageCreateInfocalloc(org.lwjgl.system.MemoryStack stack)Returns a newVkImageStencilUsageCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkImageStencilUsageCreateInfocreate()Returns a newVkImageStencilUsageCreateInfoinstance allocated withBufferUtils.static VkImageStencilUsageCreateInfo.Buffercreate(int capacity)Returns a newVkImageStencilUsageCreateInfo.Bufferinstance allocated withBufferUtils.static VkImageStencilUsageCreateInfocreate(long address)Returns a newVkImageStencilUsageCreateInfoinstance for the specified memory address.static VkImageStencilUsageCreateInfo.Buffercreate(long address, int capacity)Create aVkImageStencilUsageCreateInfo.Bufferinstance at the specified memory.static VkImageStencilUsageCreateInfocreateSafe(long address)static VkImageStencilUsageCreateInfo.BuffercreateSafe(long address, int capacity)static VkImageStencilUsageCreateInfomalloc()Returns a newVkImageStencilUsageCreateInfoinstance allocated withmemAlloc.static VkImageStencilUsageCreateInfo.Buffermalloc(int capacity)Returns a newVkImageStencilUsageCreateInfo.Bufferinstance allocated withmemAlloc.static VkImageStencilUsageCreateInfo.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkImageStencilUsageCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.static VkImageStencilUsageCreateInfomalloc(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.VkImageStencilUsageCreateInfopNext(long value)Sets the specified value to thepNext()field.VkImageStencilUsageCreateInfoset(int sType, long pNext, int stencilUsage)Initializes this struct with the specified values.VkImageStencilUsageCreateInfoset(VkImageStencilUsageCreateInfo src)Copies the specified struct data to this struct.intsizeof()intstencilUsage()a bitmask ofVkImageUsageFlagBitsdescribing the intended usage of the stencil aspect of the image.VkImageStencilUsageCreateInfostencilUsage(int value)Sets the specified value to thestencilUsage()field.intsType()the type of this structure.VkImageStencilUsageCreateInfosType(int value)Sets the specified value to thesType()field.VkImageStencilUsageCreateInfosType$Default()Sets theSTRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFOvalue to thesType()field.
-
-
-
Constructor Detail
-
VkImageStencilUsageCreateInfo
public VkImageStencilUsageCreateInfo(java.nio.ByteBuffer container)
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 Detail
-
sizeof
public int sizeof()
- Specified by:
sizeofin classorg.lwjgl.system.Struct
-
sType
public int sType()
the type of 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
public VkImageStencilUsageCreateInfo sType(int value)
Sets the specified value to thesType()field.
-
sType$Default
public VkImageStencilUsageCreateInfo sType$Default()
Sets theSTRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFOvalue to thesType()field.
-
pNext
public VkImageStencilUsageCreateInfo pNext(long value)
Sets the specified value to thepNext()field.
-
stencilUsage
public VkImageStencilUsageCreateInfo stencilUsage(int value)
Sets the specified value to thestencilUsage()field.
-
set
public VkImageStencilUsageCreateInfo set(int sType, long pNext, int stencilUsage)
Initializes this struct with the specified values.
-
set
public VkImageStencilUsageCreateInfo set(VkImageStencilUsageCreateInfo src)
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
public static VkImageStencilUsageCreateInfo malloc()
Returns a newVkImageStencilUsageCreateInfoinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkImageStencilUsageCreateInfo calloc()
Returns a newVkImageStencilUsageCreateInfoinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkImageStencilUsageCreateInfo create()
Returns a newVkImageStencilUsageCreateInfoinstance allocated withBufferUtils.
-
create
public static VkImageStencilUsageCreateInfo create(long address)
Returns a newVkImageStencilUsageCreateInfoinstance for the specified memory address.
-
createSafe
@Nullable public static VkImageStencilUsageCreateInfo createSafe(long address)
-
malloc
public static VkImageStencilUsageCreateInfo.Buffer malloc(int capacity)
Returns a newVkImageStencilUsageCreateInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkImageStencilUsageCreateInfo.Buffer calloc(int capacity)
Returns a newVkImageStencilUsageCreateInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkImageStencilUsageCreateInfo.Buffer create(int capacity)
Returns a newVkImageStencilUsageCreateInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkImageStencilUsageCreateInfo.Buffer create(long address, int capacity)
Create aVkImageStencilUsageCreateInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static VkImageStencilUsageCreateInfo.Buffer createSafe(long address, int capacity)
-
malloc
public static VkImageStencilUsageCreateInfo malloc(org.lwjgl.system.MemoryStack stack)
Returns a newVkImageStencilUsageCreateInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
public static VkImageStencilUsageCreateInfo calloc(org.lwjgl.system.MemoryStack stack)
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:
stack- the stack from which to allocatecapacity- the buffer capacity
-
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:
stack- the stack from which to allocatecapacity- the buffer capacity
-
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.
-
-