Package org.lwjgl.vulkan
Class VkPipelineShaderStageCreateInfo
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkPipelineShaderStageCreateInfo
-
- All Implemented Interfaces:
- java.lang.AutoCloseable, NativeResource, Pointer
public class VkPipelineShaderStageCreateInfo extends Struct
Khronos Reference Page
Vulkan SpecificationContains information about how a shader stage should be created.
Valid Usage
sTypemust beSTRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFOpNextmust beNULLflagsmust be 0stagemust be a validVkShaderStageFlagBitsvaluemodulemust be a validVkShaderModulehandlepNamemust be a null-terminated string- If
pSpecializationInfois notNULL,pSpecializationInfomust be a pointer to a validVkSpecializationInfostructure - If the geometry shaders feature is not enabled,
stagemust not beSHADER_STAGE_GEOMETRY_BIT - If the tessellation shaders feature is not enabled,
stagemust not beSHADER_STAGE_TESSELLATION_CONTROL_BITorSHADER_STAGE_TESSELLATION_EVALUATION_BIT stagemust not beSHADER_STAGE_ALL_GRAPHICS, orSHADER_STAGE_ALLpNamemust be the name of anOpEntryPointinmodulewith an execution model that matchesstage- If the identified entry point includes any variable in its interface that is declared with the
ClipDistanceBuiltIndecoration, that variable must not have an array size greater thanVkPhysicalDeviceLimits::maxClipDistances - If the identified entry point includes any variable in its interface that is declared with the
CullDistanceBuiltIndecoration, that variable must not have an array size greater thanVkPhysicalDeviceLimits::maxCullDistances - If the identified entry point includes any variables in its interface that are declared with the
ClipDistanceorCullDistanceBuiltIndecoration, those variables must not have array sizes which sum to more thanVkPhysicalDeviceLimits::maxCombinedClipAndCullDistances - If the identified entry point includes any variable in its interface that is declared with the
SampleMaskBuiltIndecoration, that variable must not have an array size greater thanVkPhysicalDeviceLimits::maxSampleMaskWords - If
stageisSHADER_STAGE_VERTEX_BIT, the identified entry point must not include any input variable in its interface that is decorated withCullDistance - If
stageisSHADER_STAGE_TESSELLATION_CONTROL_BITorSHADER_STAGE_TESSELLATION_EVALUATION_BIT, and the identified entry point has anOpExecutionModeinstruction that specifies a patch size withOutputVertices, the patch size must be greater than 0 and less than or equal toVkPhysicalDeviceLimits::maxTessellationPatchSize - If
stageisSHADER_STAGE_GEOMETRY_BIT, the identified entry point must have anOpExecutionModeinstruction that specifies a maximum output vertex count that is greater than 0 and less than or equal toVkPhysicalDeviceLimits::maxGeometryOutputVertices - If
stageisSHADER_STAGE_GEOMETRY_BIT, the identified entry point must have anOpExecutionModeinstruction that specifies an invocation count that is greater than 0 and less than or equal toVkPhysicalDeviceLimits::maxGeometryShaderInvocations - If
stageisSHADER_STAGE_GEOMETRY_BIT, and the identified entry point writes toLayerfor any primitive, it must write the same value toLayerfor all vertices of a given primitive - If
stageisSHADER_STAGE_GEOMETRY_BIT, and the identified entry point writes toViewportIndexfor any primitive, it must write the same value toViewportIndexfor all vertices of a given primitive - If
stageisSHADER_STAGE_FRAGMENT_BIT, the identified entry point must not include any output variables in its interface decorated withCullDistance - If
stageisSHADER_STAGE_FRAGMENT_BIT, and the identified entry point writes toFragDepthin any execution path, it must write toFragDepthin all execution paths
Member documentation
sType– the type of this structure. Must be:STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFOpNext– reserved for use by extensionsflags– reserved for future usestage– aVkShaderStageFlagBitsnaming the pipeline stage. One or more of:module– aVkShaderModuleobject that contains the shader for this stagepName– a pointer to a null-terminated UTF-8 string specifying the entry point name of the shader for this stagepSpecializationInfo– a pointer toVkSpecializationInfo, can beNULL
Layout
struct VkPipelineShaderStageCreateInfo { VkStructureType sType; const void * pNext; VkPipelineShaderStageCreateFlags flags; VkShaderStageFlagBits stage; VkShaderModule module; const char * pName; const VkSpecializationInfo * pSpecializationInfo; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description static classVkPipelineShaderStageCreateInfo.BufferAn array ofVkPipelineShaderStageCreateInfostructs.-
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 VkPipelineShaderStageCreateInfo(java.nio.ByteBuffer container)Creates aVkPipelineShaderStageCreateInfoinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description static VkPipelineShaderStageCreateInfocalloc()Returns a newVkPipelineShaderStageCreateInfoinstance allocated withmemCalloc.static VkPipelineShaderStageCreateInfo.Buffercalloc(int capacity)Returns a newVkPipelineShaderStageCreateInfo.Bufferinstance allocated withmemCalloc.static VkPipelineShaderStageCreateInfocallocStack()Returns a newVkPipelineShaderStageCreateInfoinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkPipelineShaderStageCreateInfo.BuffercallocStack(int capacity)Returns a newVkPipelineShaderStageCreateInfo.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkPipelineShaderStageCreateInfo.BuffercallocStack(int capacity, MemoryStack stack)Returns a newVkPipelineShaderStageCreateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkPipelineShaderStageCreateInfocallocStack(MemoryStack stack)Returns a newVkPipelineShaderStageCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkPipelineShaderStageCreateInfocreate()Returns a newVkPipelineShaderStageCreateInfoinstance allocated withBufferUtils.static VkPipelineShaderStageCreateInfo.Buffercreate(int capacity)Returns a newVkPipelineShaderStageCreateInfo.Bufferinstance allocated withBufferUtils.static VkPipelineShaderStageCreateInfocreate(long address)Returns a newVkPipelineShaderStageCreateInfoinstance for the specified memory address ornullif the address isNULL.static VkPipelineShaderStageCreateInfo.Buffercreate(long address, int capacity)Create aVkPipelineShaderStageCreateInfo.Bufferinstance at the specified memory.intflags()Returns the value of theflagsfield.VkPipelineShaderStageCreateInfoflags(int value)Sets the specified value to theflagsfield.static VkPipelineShaderStageCreateInfomalloc()Returns a newVkPipelineShaderStageCreateInfoinstance allocated withmemAlloc.static VkPipelineShaderStageCreateInfo.Buffermalloc(int capacity)Returns a newVkPipelineShaderStageCreateInfo.Bufferinstance allocated withmemAlloc.static VkPipelineShaderStageCreateInfomallocStack()Returns a newVkPipelineShaderStageCreateInfoinstance allocated on the thread-localMemoryStack.static VkPipelineShaderStageCreateInfo.BuffermallocStack(int capacity)Returns a newVkPipelineShaderStageCreateInfo.Bufferinstance allocated on the thread-localMemoryStack.static VkPipelineShaderStageCreateInfo.BuffermallocStack(int capacity, MemoryStack stack)Returns a newVkPipelineShaderStageCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.static VkPipelineShaderStageCreateInfomallocStack(MemoryStack stack)Returns a newVkPipelineShaderStageCreateInfoinstance allocated on the specifiedMemoryStack.longmodule()Returns the value of themodulefield.VkPipelineShaderStageCreateInfomodule(long value)Sets the specified value to themodulefield.VkPipelineShaderStageCreateInfonset(long struct)Unsafe version ofset.java.nio.ByteBufferpName()Returns aByteBufferview of the null-terminated string pointed to by thepNamefield.VkPipelineShaderStageCreateInfopName(java.nio.ByteBuffer value)Sets the address of the specified encoded string to thepNamefield.java.lang.StringpNameString()Decodes the null-terminated string pointed to by thepNamefield.longpNext()Returns the value of thepNextfield.VkPipelineShaderStageCreateInfopNext(long value)Sets the specified value to thepNextfield.VkSpecializationInfopSpecializationInfo()Returns aVkSpecializationInfoview of the struct pointed to by thepSpecializationInfofield.VkPipelineShaderStageCreateInfopSpecializationInfo(VkSpecializationInfo value)Sets the address of the specifiedVkSpecializationInfoto thepSpecializationInfofield.VkPipelineShaderStageCreateInfoset(int sType, long pNext, int flags, int stage, long module, java.nio.ByteBuffer pName, VkSpecializationInfo pSpecializationInfo)Initializes this struct with the specified values.VkPipelineShaderStageCreateInfoset(VkPipelineShaderStageCreateInfo src)Copies the specified struct data to this struct.intsizeof()Returns thesizeof(struct).intstage()Returns the value of thestagefield.VkPipelineShaderStageCreateInfostage(int value)Sets the specified value to thestagefield.intsType()Returns the value of thesTypefield.VkPipelineShaderStageCreateInfosType(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)CallsVkPipelineShaderStageCreateInfo.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
-
VkPipelineShaderStageCreateInfo
public VkPipelineShaderStageCreateInfo(java.nio.ByteBuffer container)
Creates aVkPipelineShaderStageCreateInfoinstance 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 int stage()
Returns the value of thestagefield.
-
module
public long module()
Returns the value of themodulefield.
-
pName
public java.nio.ByteBuffer pName()
Returns aByteBufferview of the null-terminated string pointed to by thepNamefield.
-
pNameString
public java.lang.String pNameString()
Decodes the null-terminated string pointed to by thepNamefield.
-
pSpecializationInfo
public VkSpecializationInfo pSpecializationInfo()
Returns aVkSpecializationInfoview of the struct pointed to by thepSpecializationInfofield.
-
sType
public VkPipelineShaderStageCreateInfo sType(int value)
Sets the specified value to thesTypefield.
-
pNext
public VkPipelineShaderStageCreateInfo pNext(long value)
Sets the specified value to thepNextfield.
-
flags
public VkPipelineShaderStageCreateInfo flags(int value)
Sets the specified value to theflagsfield.
-
stage
public VkPipelineShaderStageCreateInfo stage(int value)
Sets the specified value to thestagefield.
-
module
public VkPipelineShaderStageCreateInfo module(long value)
Sets the specified value to themodulefield.
-
pName
public VkPipelineShaderStageCreateInfo pName(java.nio.ByteBuffer value)
Sets the address of the specified encoded string to thepNamefield.
-
pSpecializationInfo
public VkPipelineShaderStageCreateInfo pSpecializationInfo(VkSpecializationInfo value)
Sets the address of the specifiedVkSpecializationInfoto thepSpecializationInfofield.
-
set
public VkPipelineShaderStageCreateInfo set(int sType, long pNext, int flags, int stage, long module, java.nio.ByteBuffer pName, VkSpecializationInfo pSpecializationInfo)
Initializes this struct with the specified values.
-
nset
public VkPipelineShaderStageCreateInfo nset(long struct)
Unsafe version ofset.
-
set
public VkPipelineShaderStageCreateInfo set(VkPipelineShaderStageCreateInfo src)
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
public static VkPipelineShaderStageCreateInfo malloc()
Returns a newVkPipelineShaderStageCreateInfoinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkPipelineShaderStageCreateInfo calloc()
Returns a newVkPipelineShaderStageCreateInfoinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkPipelineShaderStageCreateInfo create()
Returns a newVkPipelineShaderStageCreateInfoinstance allocated withBufferUtils.
-
create
public static VkPipelineShaderStageCreateInfo create(long address)
Returns a newVkPipelineShaderStageCreateInfoinstance for the specified memory address ornullif the address isNULL.
-
malloc
public static VkPipelineShaderStageCreateInfo.Buffer malloc(int capacity)
Returns a newVkPipelineShaderStageCreateInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkPipelineShaderStageCreateInfo.Buffer calloc(int capacity)
Returns a newVkPipelineShaderStageCreateInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkPipelineShaderStageCreateInfo.Buffer create(int capacity)
Returns a newVkPipelineShaderStageCreateInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkPipelineShaderStageCreateInfo.Buffer create(long address, int capacity)
Create aVkPipelineShaderStageCreateInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
mallocStack
public static VkPipelineShaderStageCreateInfo mallocStack()
Returns a newVkPipelineShaderStageCreateInfoinstance allocated on the thread-localMemoryStack.
-
callocStack
public static VkPipelineShaderStageCreateInfo callocStack()
Returns a newVkPipelineShaderStageCreateInfoinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.
-
mallocStack
public static VkPipelineShaderStageCreateInfo mallocStack(MemoryStack stack)
Returns a newVkPipelineShaderStageCreateInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
callocStack
public static VkPipelineShaderStageCreateInfo callocStack(MemoryStack stack)
Returns a newVkPipelineShaderStageCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
mallocStack
public static VkPipelineShaderStageCreateInfo.Buffer mallocStack(int capacity)
Returns a newVkPipelineShaderStageCreateInfo.Bufferinstance allocated on the thread-localMemoryStack.- Parameters:
capacity- the buffer capacity
-
callocStack
public static VkPipelineShaderStageCreateInfo.Buffer callocStack(int capacity)
Returns a newVkPipelineShaderStageCreateInfo.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacity
-
mallocStack
public static VkPipelineShaderStageCreateInfo.Buffer mallocStack(int capacity, MemoryStack stack)
Returns a newVkPipelineShaderStageCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
callocStack
public static VkPipelineShaderStageCreateInfo.Buffer callocStack(int capacity, MemoryStack stack)
Returns a newVkPipelineShaderStageCreateInfo.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)CallsVkPipelineShaderStageCreateInfo.validate(long)for each struct contained in the specified struct array.- Parameters:
array- the struct array to validatecount- the number of structs inarray
-
-