Package org.lwjgl.vulkan
Class VkPipelineLayoutCreateInfo
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkPipelineLayoutCreateInfo
-
- All Implemented Interfaces:
- java.lang.AutoCloseable, NativeResource, Pointer
public class VkPipelineLayoutCreateInfo extends Struct
Khronos Reference Page
Vulkan SpecificationContains information about how a pipeline layout should be created.
Valid Usage
sTypemust beSTRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFOpNextmust beNULLflagsmust be 0- If
setLayoutCountis not 0,pSetLayoutsmust be a pointer to an array ofsetLayoutCountvalidVkDescriptorSetLayouthandles - If
pushConstantRangeCountis not 0,pPushConstantRangesmust be a pointer to an array ofpushConstantRangeCountvalidVkPushConstantRangestructures setLayoutCountmust be less than or equal toVkPhysicalDeviceLimits::maxBoundDescriptorSets- The total number of descriptors of the type
DESCRIPTOR_TYPE_SAMPLERandDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLERaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::maxPerStageDescriptorSamplers - The total number of descriptors of the type
DESCRIPTOR_TYPE_UNIFORM_BUFFERandDESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMICaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::maxPerStageDescriptorUniformBuffers - The total number of descriptors of the type
DESCRIPTOR_TYPE_STORAGE_BUFFERandDESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMICaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::maxPerStageDescriptorStorageBuffers - The total number of descriptors of the type
DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,DESCRIPTOR_TYPE_SAMPLED_IMAGE, andDESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFERaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::maxPerStageDescriptorSampledImages - The total number of descriptors of the type
DESCRIPTOR_TYPE_STORAGE_IMAGE, andDESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFERaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::maxPerStageDescriptorStorageImages
Member documentation
sType– the type of this structure. Must be:STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFOpNext– reserved for use by extensionsflags– reserved for future usesetLayoutCount– the number of descriptor sets included in the pipeline layoutpSetLayouts– a pointer to an array ofVkDescriptorSetLayoutobjectspushConstantRangeCount– the number of push constant ranges included in the pipeline layoutpPushConstantRanges– a pointer to an array ofVkPushConstantRangestructures defining a set of push constant ranges for use in a single pipeline layout
Layout
struct VkPipelineLayoutCreateInfo { VkStructureType sType; const void * pNext; VkPipelineLayoutCreateFlags flags; uint32_t setLayoutCount; const VkDescriptorSetLayout * pSetLayouts; uint32_t pushConstantRangeCount; const VkPushConstantRange * pPushConstantRanges; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description static classVkPipelineLayoutCreateInfo.BufferAn array ofVkPipelineLayoutCreateInfostructs.-
Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer
Pointer.Default
-
-
Field Summary
Fields Modifier and Type Field and Description static intSIZEOFThe struct size in bytes.-
Fields inherited from interface org.lwjgl.system.Pointer
POINTER_SHIFT, POINTER_SIZE
-
-
Constructor Summary
Constructors Constructor and Description VkPipelineLayoutCreateInfo(java.nio.ByteBuffer container)Creates aVkPipelineLayoutCreateInfoinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description static VkPipelineLayoutCreateInfocalloc()Returns a newVkPipelineLayoutCreateInfoinstance allocated withmemCalloc.static VkPipelineLayoutCreateInfo.Buffercalloc(int capacity)Returns a newVkPipelineLayoutCreateInfo.Bufferinstance allocated withmemCalloc.static VkPipelineLayoutCreateInfocallocStack()Returns a newVkPipelineLayoutCreateInfoinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkPipelineLayoutCreateInfo.BuffercallocStack(int capacity)Returns a newVkPipelineLayoutCreateInfo.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkPipelineLayoutCreateInfo.BuffercallocStack(int capacity, MemoryStack stack)Returns a newVkPipelineLayoutCreateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkPipelineLayoutCreateInfocallocStack(MemoryStack stack)Returns a newVkPipelineLayoutCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkPipelineLayoutCreateInfocreate()Returns a newVkPipelineLayoutCreateInfoinstance allocated withBufferUtils.static VkPipelineLayoutCreateInfo.Buffercreate(int capacity)Returns a newVkPipelineLayoutCreateInfo.Bufferinstance allocated withBufferUtils.static VkPipelineLayoutCreateInfocreate(long address)Returns a newVkPipelineLayoutCreateInfoinstance for the specified memory address ornullif the address isNULL.static VkPipelineLayoutCreateInfo.Buffercreate(long address, int capacity)Create aVkPipelineLayoutCreateInfo.Bufferinstance at the specified memory.intflags()Returns the value of theflagsfield.VkPipelineLayoutCreateInfoflags(int value)Sets the specified value to theflagsfield.static VkPipelineLayoutCreateInfomalloc()Returns a newVkPipelineLayoutCreateInfoinstance allocated withmemAlloc.static VkPipelineLayoutCreateInfo.Buffermalloc(int capacity)Returns a newVkPipelineLayoutCreateInfo.Bufferinstance allocated withmemAlloc.static VkPipelineLayoutCreateInfomallocStack()Returns a newVkPipelineLayoutCreateInfoinstance allocated on the thread-localMemoryStack.static VkPipelineLayoutCreateInfo.BuffermallocStack(int capacity)Returns a newVkPipelineLayoutCreateInfo.Bufferinstance allocated on the thread-localMemoryStack.static VkPipelineLayoutCreateInfo.BuffermallocStack(int capacity, MemoryStack stack)Returns a newVkPipelineLayoutCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.static VkPipelineLayoutCreateInfomallocStack(MemoryStack stack)Returns a newVkPipelineLayoutCreateInfoinstance allocated on the specifiedMemoryStack.VkPipelineLayoutCreateInfonset(long struct)Unsafe version ofset.longpNext()Returns the value of thepNextfield.VkPipelineLayoutCreateInfopNext(long value)Sets the specified value to thepNextfield.VkPushConstantRange.BufferpPushConstantRanges()Returns aVkPushConstantRange.Bufferview of the struct array pointed to by thepPushConstantRangesfield.VkPipelineLayoutCreateInfopPushConstantRanges(VkPushConstantRange.Buffer value)Sets the address of the specifiedVkPushConstantRange.Bufferto thepPushConstantRangesfield.java.nio.LongBufferpSetLayouts()Returns aLongBufferview of the data pointed to by thepSetLayoutsfield.VkPipelineLayoutCreateInfopSetLayouts(java.nio.LongBuffer value)Sets the address of the specifiedLongBufferto thepSetLayoutsfield.intpushConstantRangeCount()Returns the value of thepushConstantRangeCountfield.VkPipelineLayoutCreateInfoset(int sType, long pNext, int flags, java.nio.LongBuffer pSetLayouts, VkPushConstantRange.Buffer pPushConstantRanges)Initializes this struct with the specified values.VkPipelineLayoutCreateInfoset(VkPipelineLayoutCreateInfo src)Copies the specified struct data to this struct.intsetLayoutCount()Returns the value of thesetLayoutCountfield.intsizeof()Returns thesizeof(struct).intsType()Returns the value of thesTypefield.VkPipelineLayoutCreateInfosType(int value)Sets the specified value to thesTypefield.static voidvalidate(long struct)Validates pointer members that should not beNULL.static voidvalidate(long array, int count)CallsVkPipelineLayoutCreateInfo.validate(long)for each struct contained in the specified struct array.-
Methods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toString
-
Methods inherited from interface org.lwjgl.system.NativeResource
close
-
-
-
-
Constructor Detail
-
VkPipelineLayoutCreateInfo
public VkPipelineLayoutCreateInfo(java.nio.ByteBuffer container)
Creates aVkPipelineLayoutCreateInfoinstance 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()
Description copied from class:StructReturns thesizeof(struct).
-
sType
public int sType()
Returns the value of thesTypefield.
-
pNext
public long pNext()
Returns the value of thepNextfield.
-
flags
public int flags()
Returns the value of theflagsfield.
-
setLayoutCount
public int setLayoutCount()
Returns the value of thesetLayoutCountfield.
-
pSetLayouts
public java.nio.LongBuffer pSetLayouts()
Returns aLongBufferview of the data pointed to by thepSetLayoutsfield.
-
pushConstantRangeCount
public int pushConstantRangeCount()
Returns the value of thepushConstantRangeCountfield.
-
pPushConstantRanges
public VkPushConstantRange.Buffer pPushConstantRanges()
Returns aVkPushConstantRange.Bufferview of the struct array pointed to by thepPushConstantRangesfield.
-
sType
public VkPipelineLayoutCreateInfo sType(int value)
Sets the specified value to thesTypefield.
-
pNext
public VkPipelineLayoutCreateInfo pNext(long value)
Sets the specified value to thepNextfield.
-
flags
public VkPipelineLayoutCreateInfo flags(int value)
Sets the specified value to theflagsfield.
-
pSetLayouts
public VkPipelineLayoutCreateInfo pSetLayouts(java.nio.LongBuffer value)
Sets the address of the specifiedLongBufferto thepSetLayoutsfield.
-
pPushConstantRanges
public VkPipelineLayoutCreateInfo pPushConstantRanges(VkPushConstantRange.Buffer value)
Sets the address of the specifiedVkPushConstantRange.Bufferto thepPushConstantRangesfield.
-
set
public VkPipelineLayoutCreateInfo set(int sType, long pNext, int flags, java.nio.LongBuffer pSetLayouts, VkPushConstantRange.Buffer pPushConstantRanges)
Initializes this struct with the specified values.
-
nset
public VkPipelineLayoutCreateInfo nset(long struct)
Unsafe version ofset.
-
set
public VkPipelineLayoutCreateInfo set(VkPipelineLayoutCreateInfo src)
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
public static VkPipelineLayoutCreateInfo malloc()
Returns a newVkPipelineLayoutCreateInfoinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkPipelineLayoutCreateInfo calloc()
Returns a newVkPipelineLayoutCreateInfoinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkPipelineLayoutCreateInfo create()
Returns a newVkPipelineLayoutCreateInfoinstance allocated withBufferUtils.
-
create
public static VkPipelineLayoutCreateInfo create(long address)
Returns a newVkPipelineLayoutCreateInfoinstance for the specified memory address ornullif the address isNULL.
-
malloc
public static VkPipelineLayoutCreateInfo.Buffer malloc(int capacity)
Returns a newVkPipelineLayoutCreateInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkPipelineLayoutCreateInfo.Buffer calloc(int capacity)
Returns a newVkPipelineLayoutCreateInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkPipelineLayoutCreateInfo.Buffer create(int capacity)
Returns a newVkPipelineLayoutCreateInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkPipelineLayoutCreateInfo.Buffer create(long address, int capacity)
Create aVkPipelineLayoutCreateInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
mallocStack
public static VkPipelineLayoutCreateInfo mallocStack()
Returns a newVkPipelineLayoutCreateInfoinstance allocated on the thread-localMemoryStack.
-
callocStack
public static VkPipelineLayoutCreateInfo callocStack()
Returns a newVkPipelineLayoutCreateInfoinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.
-
mallocStack
public static VkPipelineLayoutCreateInfo mallocStack(MemoryStack stack)
Returns a newVkPipelineLayoutCreateInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
callocStack
public static VkPipelineLayoutCreateInfo callocStack(MemoryStack stack)
Returns a newVkPipelineLayoutCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
mallocStack
public static VkPipelineLayoutCreateInfo.Buffer mallocStack(int capacity)
Returns a newVkPipelineLayoutCreateInfo.Bufferinstance allocated on the thread-localMemoryStack.- Parameters:
capacity- the buffer capacity
-
callocStack
public static VkPipelineLayoutCreateInfo.Buffer callocStack(int capacity)
Returns a newVkPipelineLayoutCreateInfo.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacity
-
mallocStack
public static VkPipelineLayoutCreateInfo.Buffer mallocStack(int capacity, MemoryStack stack)
Returns a newVkPipelineLayoutCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
callocStack
public static VkPipelineLayoutCreateInfo.Buffer callocStack(int capacity, MemoryStack stack)
Returns a newVkPipelineLayoutCreateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
validate
public static void validate(long struct)
Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-
validate
public static void validate(long array, int count)CallsVkPipelineLayoutCreateInfo.validate(long)for each struct contained in the specified struct array.- Parameters:
array- the struct array to validatecount- the number of structs inarray
-
-