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
sType
must beSTRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO
pNext
must beNULL
flags
must be 0- If
setLayoutCount
is not 0,pSetLayouts
must be a pointer to an array ofsetLayoutCount
validVkDescriptorSetLayout
handles - If
pushConstantRangeCount
is not 0,pPushConstantRanges
must be a pointer to an array ofpushConstantRangeCount
validVkPushConstantRange
structures setLayoutCount
must be less than or equal toVkPhysicalDeviceLimits
::maxBoundDescriptorSets
- The total number of descriptors of the type
DESCRIPTOR_TYPE_SAMPLER
andDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceLimits
::maxPerStageDescriptorSamplers
- The total number of descriptors of the type
DESCRIPTOR_TYPE_UNIFORM_BUFFER
andDESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceLimits
::maxPerStageDescriptorUniformBuffers
- The total number of descriptors of the type
DESCRIPTOR_TYPE_STORAGE_BUFFER
andDESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
accessible to any given shader stage across all elements ofpSetLayouts
must 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_BUFFER
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceLimits
::maxPerStageDescriptorSampledImages
- The total number of descriptors of the type
DESCRIPTOR_TYPE_STORAGE_IMAGE
, andDESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceLimits
::maxPerStageDescriptorStorageImages
Member documentation
sType
– the type of this structure. Must be:STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO
pNext
– reserved for use by extensionsflags
– reserved for future usesetLayoutCount
– the number of descriptor sets included in the pipeline layoutpSetLayouts
– a pointer to an array ofVkDescriptorSetLayout
objectspushConstantRangeCount
– the number of push constant ranges included in the pipeline layoutpPushConstantRanges
– a pointer to an array ofVkPushConstantRange
structures 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 class
VkPipelineLayoutCreateInfo.Buffer
An array ofVkPipelineLayoutCreateInfo
structs.-
Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer
Pointer.Default
-
-
Field Summary
Fields Modifier and Type Field and Description static int
SIZEOF
The 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 aVkPipelineLayoutCreateInfo
instance at the current position of the specifiedByteBuffer
container.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description static VkPipelineLayoutCreateInfo
calloc()
Returns a newVkPipelineLayoutCreateInfo
instance allocated withmemCalloc
.static VkPipelineLayoutCreateInfo.Buffer
calloc(int capacity)
Returns a newVkPipelineLayoutCreateInfo.Buffer
instance allocated withmemCalloc
.static VkPipelineLayoutCreateInfo
callocStack()
Returns a newVkPipelineLayoutCreateInfo
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkPipelineLayoutCreateInfo.Buffer
callocStack(int capacity)
Returns a newVkPipelineLayoutCreateInfo.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkPipelineLayoutCreateInfo.Buffer
callocStack(int capacity, MemoryStack stack)
Returns a newVkPipelineLayoutCreateInfo.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkPipelineLayoutCreateInfo
callocStack(MemoryStack stack)
Returns a newVkPipelineLayoutCreateInfo
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkPipelineLayoutCreateInfo
create()
Returns a newVkPipelineLayoutCreateInfo
instance allocated withBufferUtils
.static VkPipelineLayoutCreateInfo.Buffer
create(int capacity)
Returns a newVkPipelineLayoutCreateInfo.Buffer
instance allocated withBufferUtils
.static VkPipelineLayoutCreateInfo
create(long address)
Returns a newVkPipelineLayoutCreateInfo
instance for the specified memory address ornull
if the address isNULL
.static VkPipelineLayoutCreateInfo.Buffer
create(long address, int capacity)
Create aVkPipelineLayoutCreateInfo.Buffer
instance at the specified memory.int
flags()
Returns the value of theflags
field.VkPipelineLayoutCreateInfo
flags(int value)
Sets the specified value to theflags
field.static VkPipelineLayoutCreateInfo
malloc()
Returns a newVkPipelineLayoutCreateInfo
instance allocated withmemAlloc
.static VkPipelineLayoutCreateInfo.Buffer
malloc(int capacity)
Returns a newVkPipelineLayoutCreateInfo.Buffer
instance allocated withmemAlloc
.static VkPipelineLayoutCreateInfo
mallocStack()
Returns a newVkPipelineLayoutCreateInfo
instance allocated on the thread-localMemoryStack
.static VkPipelineLayoutCreateInfo.Buffer
mallocStack(int capacity)
Returns a newVkPipelineLayoutCreateInfo.Buffer
instance allocated on the thread-localMemoryStack
.static VkPipelineLayoutCreateInfo.Buffer
mallocStack(int capacity, MemoryStack stack)
Returns a newVkPipelineLayoutCreateInfo.Buffer
instance allocated on the specifiedMemoryStack
.static VkPipelineLayoutCreateInfo
mallocStack(MemoryStack stack)
Returns a newVkPipelineLayoutCreateInfo
instance allocated on the specifiedMemoryStack
.VkPipelineLayoutCreateInfo
nset(long struct)
Unsafe version ofset
.long
pNext()
Returns the value of thepNext
field.VkPipelineLayoutCreateInfo
pNext(long value)
Sets the specified value to thepNext
field.VkPushConstantRange.Buffer
pPushConstantRanges()
Returns aVkPushConstantRange.Buffer
view of the struct array pointed to by thepPushConstantRanges
field.VkPipelineLayoutCreateInfo
pPushConstantRanges(VkPushConstantRange.Buffer value)
Sets the address of the specifiedVkPushConstantRange.Buffer
to thepPushConstantRanges
field.java.nio.LongBuffer
pSetLayouts()
Returns aLongBuffer
view of the data pointed to by thepSetLayouts
field.VkPipelineLayoutCreateInfo
pSetLayouts(java.nio.LongBuffer value)
Sets the address of the specifiedLongBuffer
to thepSetLayouts
field.int
pushConstantRangeCount()
Returns the value of thepushConstantRangeCount
field.VkPipelineLayoutCreateInfo
set(int sType, long pNext, int flags, java.nio.LongBuffer pSetLayouts, VkPushConstantRange.Buffer pPushConstantRanges)
Initializes this struct with the specified values.VkPipelineLayoutCreateInfo
set(VkPipelineLayoutCreateInfo src)
Copies the specified struct data to this struct.int
setLayoutCount()
Returns the value of thesetLayoutCount
field.int
sizeof()
Returns thesizeof(struct)
.int
sType()
Returns the value of thesType
field.VkPipelineLayoutCreateInfo
sType(int value)
Sets the specified value to thesType
field.static void
validate(long struct)
Validates pointer members that should not beNULL
.static void
validate(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 aVkPipelineLayoutCreateInfo
instance at the current position of the specifiedByteBuffer
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.
-
-
Method Detail
-
sizeof
public int sizeof()
Description copied from class:Struct
Returns thesizeof(struct)
.
-
sType
public int sType()
Returns the value of thesType
field.
-
pNext
public long pNext()
Returns the value of thepNext
field.
-
flags
public int flags()
Returns the value of theflags
field.
-
setLayoutCount
public int setLayoutCount()
Returns the value of thesetLayoutCount
field.
-
pSetLayouts
public java.nio.LongBuffer pSetLayouts()
Returns aLongBuffer
view of the data pointed to by thepSetLayouts
field.
-
pushConstantRangeCount
public int pushConstantRangeCount()
Returns the value of thepushConstantRangeCount
field.
-
pPushConstantRanges
public VkPushConstantRange.Buffer pPushConstantRanges()
Returns aVkPushConstantRange.Buffer
view of the struct array pointed to by thepPushConstantRanges
field.
-
sType
public VkPipelineLayoutCreateInfo sType(int value)
Sets the specified value to thesType
field.
-
pNext
public VkPipelineLayoutCreateInfo pNext(long value)
Sets the specified value to thepNext
field.
-
flags
public VkPipelineLayoutCreateInfo flags(int value)
Sets the specified value to theflags
field.
-
pSetLayouts
public VkPipelineLayoutCreateInfo pSetLayouts(java.nio.LongBuffer value)
Sets the address of the specifiedLongBuffer
to thepSetLayouts
field.
-
pPushConstantRanges
public VkPipelineLayoutCreateInfo pPushConstantRanges(VkPushConstantRange.Buffer value)
Sets the address of the specifiedVkPushConstantRange.Buffer
to thepPushConstantRanges
field.
-
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 newVkPipelineLayoutCreateInfo
instance allocated withmemAlloc
. The instance must be explicitly freed.
-
calloc
public static VkPipelineLayoutCreateInfo calloc()
Returns a newVkPipelineLayoutCreateInfo
instance allocated withmemCalloc
. The instance must be explicitly freed.
-
create
public static VkPipelineLayoutCreateInfo create()
Returns a newVkPipelineLayoutCreateInfo
instance allocated withBufferUtils
.
-
create
public static VkPipelineLayoutCreateInfo create(long address)
Returns a newVkPipelineLayoutCreateInfo
instance for the specified memory address ornull
if the address isNULL
.
-
malloc
public static VkPipelineLayoutCreateInfo.Buffer malloc(int capacity)
Returns a newVkPipelineLayoutCreateInfo.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
public static VkPipelineLayoutCreateInfo.Buffer calloc(int capacity)
Returns a newVkPipelineLayoutCreateInfo.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
public static VkPipelineLayoutCreateInfo.Buffer create(int capacity)
Returns a newVkPipelineLayoutCreateInfo.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
public static VkPipelineLayoutCreateInfo.Buffer create(long address, int capacity)
Create aVkPipelineLayoutCreateInfo.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
mallocStack
public static VkPipelineLayoutCreateInfo mallocStack()
Returns a newVkPipelineLayoutCreateInfo
instance allocated on the thread-localMemoryStack
.
-
callocStack
public static VkPipelineLayoutCreateInfo callocStack()
Returns a newVkPipelineLayoutCreateInfo
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.
-
mallocStack
public static VkPipelineLayoutCreateInfo mallocStack(MemoryStack stack)
Returns a newVkPipelineLayoutCreateInfo
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
callocStack
public static VkPipelineLayoutCreateInfo callocStack(MemoryStack stack)
Returns a newVkPipelineLayoutCreateInfo
instance allocated on the specifiedMemoryStack
and 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.Buffer
instance allocated on the thread-localMemoryStack
.- Parameters:
capacity
- the buffer capacity
-
callocStack
public static VkPipelineLayoutCreateInfo.Buffer callocStack(int capacity)
Returns a newVkPipelineLayoutCreateInfo.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.- Parameters:
capacity
- the buffer capacity
-
mallocStack
public static VkPipelineLayoutCreateInfo.Buffer mallocStack(int capacity, MemoryStack stack)
Returns a newVkPipelineLayoutCreateInfo.Buffer
instance 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.Buffer
instance allocated on the specifiedMemoryStack
and 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
-
-