Package org.lwjgl.vulkan
Class VkComputePipelineCreateInfo
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkComputePipelineCreateInfo
-
- All Implemented Interfaces:
- java.lang.AutoCloseable, NativeResource, Pointer
public class VkComputePipelineCreateInfo extends Struct
Khronos Reference Page
Vulkan SpecificationContains information about how a compute pipeline should be created.
Valid Usage
sTypemust beSTRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFOpNextmust beNULLflagsmust be a valid combination ofVkPipelineCreateFlagBitsvaluesstagemust be a validVkPipelineShaderStageCreateInfostructurelayoutmust be a validVkPipelineLayouthandle- Each of
layoutandbasePipelineHandlethat are valid handles must have been created, allocated or retrieved from the sameVkDevice - If
flagscontains thePIPELINE_CREATE_DERIVATIVE_BITflag, andbasePipelineIndexis not-1,basePipelineHandlemust beNULL_HANDLE - If
flagscontains thePIPELINE_CREATE_DERIVATIVE_BITflag, andbasePipelineIndexis not-1, it must be a valid index into the calling command'spCreateInfosparameter - If
flagscontains thePIPELINE_CREATE_DERIVATIVE_BITflag, andbasePipelineHandleis notNULL_HANDLE,basePipelineIndexmust be-1 - If
flagscontains thePIPELINE_CREATE_DERIVATIVE_BITflag, andbasePipelineHandleis notNULL_HANDLE,basePipelineHandlemust be a validVkPipelinehandle - If
flagscontains thePIPELINE_CREATE_DERIVATIVE_BITflag, andbasePipelineHandleis notNULL_HANDLE, it must be a valid handle to a computeVkPipeline - The
stagemember ofstagemust beSHADER_STAGE_COMPUTE_BIT - The shader code for the entry point identified by
stageand the rest of the state identified by this structure must adhere to the pipeline linking rules described in the Shader Interfaces chapter layoutmust be consistent with all shaders specified inpStages
Member documentation
sType– the type of this structure. Must be:STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFOpNext– reserved for use by extensionsflags– provides options for pipeline creation, and is of typeVkPipelineCreateFlagBits. One or more of:PIPELINE_CREATE_ALLOW_DERIVATIVES_BITPIPELINE_CREATE_DERIVATIVE_BITPIPELINE_CREATE_DISABLE_OPTIMIZATION_BITstage– aVkPipelineShaderStageCreateInfodescribing the compute shaderlayout– the description of binding locations used by both the pipeline and descriptor sets used with the pipelinebasePipelineHandle– a pipeline to derive frombasePipelineIndex– an index into thepCreateInfosparameter to use as a pipeline to derive from
Layout
struct VkComputePipelineCreateInfo { VkStructureType sType; const void * pNext; VkPipelineCreateFlags flags;VkPipelineShaderStageCreateInfostage; VkPipelineLayout layout; VkPipeline basePipelineHandle; int32_t basePipelineIndex; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description static classVkComputePipelineCreateInfo.BufferAn array ofVkComputePipelineCreateInfostructs.-
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 VkComputePipelineCreateInfo(java.nio.ByteBuffer container)Creates aVkComputePipelineCreateInfoinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description longbasePipelineHandle()Returns the value of thebasePipelineHandlefield.VkComputePipelineCreateInfobasePipelineHandle(long value)Sets the specified value to thebasePipelineHandlefield.intbasePipelineIndex()Returns the value of thebasePipelineIndexfield.VkComputePipelineCreateInfobasePipelineIndex(int value)Sets the specified value to thebasePipelineIndexfield.static VkComputePipelineCreateInfocalloc()Returns a newVkComputePipelineCreateInfoinstance allocated withmemCalloc.static VkComputePipelineCreateInfo.Buffercalloc(int capacity)Returns a newVkComputePipelineCreateInfo.Bufferinstance allocated withmemCalloc.static VkComputePipelineCreateInfocallocStack()Returns a newVkComputePipelineCreateInfoinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkComputePipelineCreateInfo.BuffercallocStack(int capacity)Returns a newVkComputePipelineCreateInfo.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkComputePipelineCreateInfo.BuffercallocStack(int capacity, MemoryStack stack)Returns a newVkComputePipelineCreateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkComputePipelineCreateInfocallocStack(MemoryStack stack)Returns a newVkComputePipelineCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkComputePipelineCreateInfocreate()Returns a newVkComputePipelineCreateInfoinstance allocated withBufferUtils.static VkComputePipelineCreateInfo.Buffercreate(int capacity)Returns a newVkComputePipelineCreateInfo.Bufferinstance allocated withBufferUtils.static VkComputePipelineCreateInfocreate(long address)Returns a newVkComputePipelineCreateInfoinstance for the specified memory address ornullif the address isNULL.static VkComputePipelineCreateInfo.Buffercreate(long address, int capacity)Create aVkComputePipelineCreateInfo.Bufferinstance at the specified memory.intflags()Returns the value of theflagsfield.VkComputePipelineCreateInfoflags(int value)Sets the specified value to theflagsfield.longlayout()Returns the value of thelayoutfield.VkComputePipelineCreateInfolayout(long value)Sets the specified value to thelayoutfield.static VkComputePipelineCreateInfomalloc()Returns a newVkComputePipelineCreateInfoinstance allocated withmemAlloc.static VkComputePipelineCreateInfo.Buffermalloc(int capacity)Returns a newVkComputePipelineCreateInfo.Bufferinstance allocated withmemAlloc.static VkComputePipelineCreateInfomallocStack()Returns a newVkComputePipelineCreateInfoinstance allocated on the thread-localMemoryStack.static VkComputePipelineCreateInfo.BuffermallocStack(int capacity)Returns a newVkComputePipelineCreateInfo.Bufferinstance allocated on the thread-localMemoryStack.static VkComputePipelineCreateInfo.BuffermallocStack(int capacity, MemoryStack stack)Returns a newVkComputePipelineCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.static VkComputePipelineCreateInfomallocStack(MemoryStack stack)Returns a newVkComputePipelineCreateInfoinstance allocated on the specifiedMemoryStack.VkComputePipelineCreateInfonset(long struct)Unsafe version ofset.longpNext()Returns the value of thepNextfield.VkComputePipelineCreateInfopNext(long value)Sets the specified value to thepNextfield.VkComputePipelineCreateInfoset(int sType, long pNext, int flags, VkPipelineShaderStageCreateInfo stage, long layout, long basePipelineHandle, int basePipelineIndex)Initializes this struct with the specified values.VkComputePipelineCreateInfoset(VkComputePipelineCreateInfo src)Copies the specified struct data to this struct.intsizeof()Returns thesizeof(struct).VkPipelineShaderStageCreateInfostage()Returns aVkPipelineShaderStageCreateInfoview of thestagefield.VkComputePipelineCreateInfostage(VkPipelineShaderStageCreateInfo value)Copies the specifiedVkPipelineShaderStageCreateInfoto thestagefield.intsType()Returns the value of thesTypefield.VkComputePipelineCreateInfosType(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)CallsVkComputePipelineCreateInfo.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
-
VkComputePipelineCreateInfo
public VkComputePipelineCreateInfo(java.nio.ByteBuffer container)
Creates aVkComputePipelineCreateInfoinstance 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.
-
stage
public VkPipelineShaderStageCreateInfo stage()
Returns aVkPipelineShaderStageCreateInfoview of thestagefield.
-
layout
public long layout()
Returns the value of thelayoutfield.
-
basePipelineHandle
public long basePipelineHandle()
Returns the value of thebasePipelineHandlefield.
-
basePipelineIndex
public int basePipelineIndex()
Returns the value of thebasePipelineIndexfield.
-
sType
public VkComputePipelineCreateInfo sType(int value)
Sets the specified value to thesTypefield.
-
pNext
public VkComputePipelineCreateInfo pNext(long value)
Sets the specified value to thepNextfield.
-
flags
public VkComputePipelineCreateInfo flags(int value)
Sets the specified value to theflagsfield.
-
stage
public VkComputePipelineCreateInfo stage(VkPipelineShaderStageCreateInfo value)
Copies the specifiedVkPipelineShaderStageCreateInfoto thestagefield.
-
layout
public VkComputePipelineCreateInfo layout(long value)
Sets the specified value to thelayoutfield.
-
basePipelineHandle
public VkComputePipelineCreateInfo basePipelineHandle(long value)
Sets the specified value to thebasePipelineHandlefield.
-
basePipelineIndex
public VkComputePipelineCreateInfo basePipelineIndex(int value)
Sets the specified value to thebasePipelineIndexfield.
-
set
public VkComputePipelineCreateInfo set(int sType, long pNext, int flags, VkPipelineShaderStageCreateInfo stage, long layout, long basePipelineHandle, int basePipelineIndex)
Initializes this struct with the specified values.
-
nset
public VkComputePipelineCreateInfo nset(long struct)
Unsafe version ofset.
-
set
public VkComputePipelineCreateInfo set(VkComputePipelineCreateInfo src)
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
public static VkComputePipelineCreateInfo malloc()
Returns a newVkComputePipelineCreateInfoinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkComputePipelineCreateInfo calloc()
Returns a newVkComputePipelineCreateInfoinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkComputePipelineCreateInfo create()
Returns a newVkComputePipelineCreateInfoinstance allocated withBufferUtils.
-
create
public static VkComputePipelineCreateInfo create(long address)
Returns a newVkComputePipelineCreateInfoinstance for the specified memory address ornullif the address isNULL.
-
malloc
public static VkComputePipelineCreateInfo.Buffer malloc(int capacity)
Returns a newVkComputePipelineCreateInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkComputePipelineCreateInfo.Buffer calloc(int capacity)
Returns a newVkComputePipelineCreateInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkComputePipelineCreateInfo.Buffer create(int capacity)
Returns a newVkComputePipelineCreateInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkComputePipelineCreateInfo.Buffer create(long address, int capacity)
Create aVkComputePipelineCreateInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
mallocStack
public static VkComputePipelineCreateInfo mallocStack()
Returns a newVkComputePipelineCreateInfoinstance allocated on the thread-localMemoryStack.
-
callocStack
public static VkComputePipelineCreateInfo callocStack()
Returns a newVkComputePipelineCreateInfoinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.
-
mallocStack
public static VkComputePipelineCreateInfo mallocStack(MemoryStack stack)
Returns a newVkComputePipelineCreateInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
callocStack
public static VkComputePipelineCreateInfo callocStack(MemoryStack stack)
Returns a newVkComputePipelineCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
mallocStack
public static VkComputePipelineCreateInfo.Buffer mallocStack(int capacity)
Returns a newVkComputePipelineCreateInfo.Bufferinstance allocated on the thread-localMemoryStack.- Parameters:
capacity- the buffer capacity
-
callocStack
public static VkComputePipelineCreateInfo.Buffer callocStack(int capacity)
Returns a newVkComputePipelineCreateInfo.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacity
-
mallocStack
public static VkComputePipelineCreateInfo.Buffer mallocStack(int capacity, MemoryStack stack)
Returns a newVkComputePipelineCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
callocStack
public static VkComputePipelineCreateInfo.Buffer callocStack(int capacity, MemoryStack stack)
Returns a newVkComputePipelineCreateInfo.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)CallsVkComputePipelineCreateInfo.validate(long)for each struct contained in the specified struct array.- Parameters:
array- the struct array to validatecount- the number of structs inarray
-
-