Package org.lwjgl.vulkan
Class VkPipelineColorWriteCreateInfoEXT
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkPipelineColorWriteCreateInfoEXT>
org.lwjgl.vulkan.VkPipelineColorWriteCreateInfoEXT
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkPipelineColorWriteCreateInfoEXT
extends org.lwjgl.system.Struct<VkPipelineColorWriteCreateInfoEXT>
implements org.lwjgl.system.NativeResource
Structure specifying color write state of a newly created pipeline.
Description
When this structure is included in the pNext chain of VkPipelineColorBlendStateCreateInfo, it defines per-attachment color write state. If this structure is not included in the pNext chain, it is equivalent to specifying this structure with attachmentCount equal to the attachmentCount member of VkPipelineColorBlendStateCreateInfo, and pColorWriteEnables pointing to an array of as many TRUE values.
If the colorWriteEnable feature is not enabled, all VkBool32 elements in the pColorWriteEnables array must be TRUE.
Color Write Enable interacts with the Color Write Mask as follows:
- If
colorWriteEnableisTRUE, writes to the attachment are determined by thecolorWriteMask. - If
colorWriteEnableisFALSE, thecolorWriteMaskis ignored and writes to all components of the attachment are disabled. This is equivalent to specifying acolorWriteMaskof 0.
Valid Usage
- If the
colorWriteEnablefeature is not enabled, all elements ofpColorWriteEnablesmust beTRUE - If the pipeline is being created with
DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT,DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT,DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT, orDYNAMIC_STATE_COLOR_WRITE_MASK_EXTdynamic states not set,attachmentCountmust be equal to theattachmentCountmember of theVkPipelineColorBlendStateCreateInfostructure specified during pipeline creation attachmentCountmust be less than or equal to themaxColorAttachmentsmember ofVkPhysicalDeviceLimits
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT- If
attachmentCountis not 0,pColorWriteEnablesmust be a valid pointer to an array ofattachmentCountVkBool32values
Layout
struct VkPipelineColorWriteCreateInfoEXT {
VkStructureType sType();
void const * pNext();
uint32_t attachmentCount();
VkBool32 const * pColorWriteEnables();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkPipelineColorWriteCreateInfoEXTstructs.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 size in bytes.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
ConstructorsConstructorDescriptionVkPipelineColorWriteCreateInfoEXT(ByteBuffer container) Creates aVkPipelineColorWriteCreateInfoEXTinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionintthe number ofVkBool32elements inpColorWriteEnables.calloc()Returns a newVkPipelineColorWriteCreateInfoEXTinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkPipelineColorWriteCreateInfoEXT.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPipelineColorWriteCreateInfoEXT.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkPipelineColorWriteCreateInfoEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkPipelineColorWriteCreateInfoEXTinstance allocated withBufferUtils.create(int capacity) Returns a newVkPipelineColorWriteCreateInfoEXT.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkPipelineColorWriteCreateInfoEXTinstance for the specified memory address.create(long address, int capacity) Create aVkPipelineColorWriteCreateInfoEXT.Bufferinstance at the specified memory.static @Nullable VkPipelineColorWriteCreateInfoEXTcreateSafe(long address) static @Nullable VkPipelineColorWriteCreateInfoEXT.BuffercreateSafe(long address, int capacity) malloc()Returns a newVkPipelineColorWriteCreateInfoEXTinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkPipelineColorWriteCreateInfoEXT.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPipelineColorWriteCreateInfoEXT.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkPipelineColorWriteCreateInfoEXTinstance allocated on the specifiedMemoryStack.static intnattachmentCount(long struct) Unsafe version ofattachmentCount().static voidnattachmentCount(long struct, int value) Sets the specified value to theattachmentCountfield of the specifiedstruct.static @Nullable IntBuffernpColorWriteEnables(long struct) Unsafe version ofpColorWriteEnables.static voidnpColorWriteEnables(long struct, @Nullable IntBuffer value) Unsafe version ofpColorWriteEnables.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.@Nullable IntBuffera pointer to an array of per target attachment boolean values specifying whether color writes are enabled for the given attachment.pColorWriteEnables(@Nullable IntBuffer value) Sets the address of the specifiedIntBufferto thepColorWriteEnables()field.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.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_PIPELINE_COLOR_WRITE_CREATE_INFO_EXTvalue to thesType()field.static voidvalidate(long struct) Validates pointer members that should not beNULL.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. -
ATTACHMENTCOUNT
public static final int ATTACHMENTCOUNTThe struct member offsets. -
PCOLORWRITEENABLES
public static final int PCOLORWRITEENABLESThe struct member offsets.
-
-
Constructor Details
-
VkPipelineColorWriteCreateInfoEXT
Creates aVkPipelineColorWriteCreateInfoEXTinstance 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<VkPipelineColorWriteCreateInfoEXT>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
attachmentCount
public int attachmentCount()the number ofVkBool32elements inpColorWriteEnables. -
pColorWriteEnables
a pointer to an array of per target attachment boolean values specifying whether color writes are enabled for the given attachment. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXTvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pColorWriteEnables
Sets the address of the specifiedIntBufferto thepColorWriteEnables()field. -
set
public VkPipelineColorWriteCreateInfoEXT set(int sType, long pNext, @Nullable IntBuffer pColorWriteEnables) 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 newVkPipelineColorWriteCreateInfoEXTinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkPipelineColorWriteCreateInfoEXTinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkPipelineColorWriteCreateInfoEXTinstance allocated withBufferUtils. -
create
Returns a newVkPipelineColorWriteCreateInfoEXTinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkPipelineColorWriteCreateInfoEXT.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkPipelineColorWriteCreateInfoEXT.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkPipelineColorWriteCreateInfoEXT.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkPipelineColorWriteCreateInfoEXT.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkPipelineColorWriteCreateInfoEXT.Buffer createSafe(long address, int capacity) -
malloc
Returns a newVkPipelineColorWriteCreateInfoEXTinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkPipelineColorWriteCreateInfoEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkPipelineColorWriteCreateInfoEXT.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPipelineColorWriteCreateInfoEXT.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkPipelineColorWriteCreateInfoEXT.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPipelineColorWriteCreateInfoEXT.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(). -
nattachmentCount
public static int nattachmentCount(long struct) Unsafe version ofattachmentCount(). -
npColorWriteEnables
Unsafe version ofpColorWriteEnables. -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nattachmentCount
public static void nattachmentCount(long struct, int value) Sets the specified value to theattachmentCountfield of the specifiedstruct. -
npColorWriteEnables
Unsafe version ofpColorWriteEnables. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-