public class VkPipelineShaderStageCreateInfo
extends org.lwjgl.system.Struct
implements org.lwjgl.system.NativeResource
stage must not be SHADER_STAGE_GEOMETRY_BITstage must not be SHADER_STAGE_TESSELLATION_CONTROL_BIT or SHADER_STAGE_TESSELLATION_EVALUATION_BITstage must not be SHADER_STAGE_MESH_BIT_NVstage must not be SHADER_STAGE_TASK_BIT_NVstage must not be SHADER_STAGE_ALL_GRAPHICS, or SHADER_STAGE_ALLpName must be the name of an OpEntryPoint in module with an execution model that matches stageClipDistance BuiltIn decoration, that variable must not have an array size greater than VkPhysicalDeviceLimits::maxClipDistancesCullDistance BuiltIn decoration, that variable must not have an array size greater than VkPhysicalDeviceLimits::maxCullDistancesClipDistance or CullDistance BuiltIn decoration, those variables must not have array sizes which sum to more than VkPhysicalDeviceLimits::maxCombinedClipAndCullDistancesSampleMask BuiltIn decoration, that variable must not have an array size greater than VkPhysicalDeviceLimits::maxSampleMaskWordsstage is SHADER_STAGE_VERTEX_BIT, the identified entry point must not include any input variable in its interface that is decorated with CullDistancestage is SHADER_STAGE_TESSELLATION_CONTROL_BIT or SHADER_STAGE_TESSELLATION_EVALUATION_BIT, and the identified entry point has an OpExecutionMode instruction that specifies a patch size with OutputVertices, the patch size must be greater than 0 and less than or equal to VkPhysicalDeviceLimits::maxTessellationPatchSizestage is SHADER_STAGE_GEOMETRY_BIT, the identified entry point must have an OpExecutionMode instruction that specifies a maximum output vertex count that is greater than 0 and less than or equal to VkPhysicalDeviceLimits::maxGeometryOutputVerticesstage is SHADER_STAGE_GEOMETRY_BIT, the identified entry point must have an OpExecutionMode instruction that specifies an invocation count that is greater than 0 and less than or equal to VkPhysicalDeviceLimits::maxGeometryShaderInvocationsstage is a vertex processing stage, and the identified entry point writes to Layer for any primitive, it must write the same value to Layer for all vertices of a given primitivestage is a vertex processing stage, and the identified entry point writes to ViewportIndex for any primitive, it must write the same value to ViewportIndex for all vertices of a given primitivestage is SHADER_STAGE_FRAGMENT_BIT, the identified entry point must not include any output variables in its interface decorated with CullDistancestage is SHADER_STAGE_FRAGMENT_BIT, and the identified entry point writes to FragDepth in any execution path, it must write to FragDepth in all execution pathsstage is SHADER_STAGE_FRAGMENT_BIT, and the identified entry point writes to FragStencilRefEXT in any execution path, it must write to FragStencilRefEXT in all execution pathsstage is SHADER_STAGE_MESH_BIT_NV, the identified entry point must have an OpExecutionMode instruction that specifies a maximum output vertex count, OutputVertices, that is greater than 0 and less than or equal to VkPhysicalDeviceMeshShaderPropertiesNV::maxMeshOutputVertices.stage is SHADER_STAGE_MESH_BIT_NV, the identified entry point must have an OpExecutionMode instruction that specifies a maximum output primitive count, OutputPrimitivesNV, that is greater than 0 and less than or equal to VkPhysicalDeviceMeshShaderPropertiesNV::maxMeshOutputPrimitives.flags has the PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT flag set, the subgroupSizeControl feature must be enabled.flags has the PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT flag set, the computeFullSubgroups feature must be enabled.VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT structure is included in the pNext chain, flags must not have the PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT flag set.VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT structure is included in the pNext chain, the subgroupSizeControl feature must be enabled, and stage must be a valid bit specified in requiredSubgroupSizeStages.VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT structure is included in the pNext chain and stage is SHADER_STAGE_COMPUTE_BIT, the local workgroup size of the shader must be less than or equal to the product of VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::requiredSubgroupSize and maxComputeWorkgroupSubgroups.VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT structure is included in the pNext chain, and flags has the PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT flag set, the local workgroup size in the X dimension of the pipeline must be a multiple of VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::requiredSubgroupSize.flags has both the PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT and PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT flags set, the local workgroup size in the X dimension of the pipeline must be a multiple of maxSubgroupSize.flags has the PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT flag set and flags does not have the PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT flag set and no VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT structure is included in the pNext chain, the local workgroup size in the X dimension of the pipeline must be a multiple of subgroupSize.sType must be STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFOpNext must be NULL or a pointer to a valid instance of VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXTflags must be a valid combination of VkPipelineShaderStageCreateFlagBits valuesstage must be a valid VkShaderStageFlagBits valuemodule must be a valid VkShaderModule handlepName must be a null-terminated UTF-8 stringpSpecializationInfo is not NULL, pSpecializationInfo must be a valid pointer to a valid VkSpecializationInfo structureVkComputePipelineCreateInfo, VkGraphicsPipelineCreateInfo, VkRayTracingPipelineCreateInfoNV, VkSpecializationInfo
sType – the type of this structure.pNext – NULL or a pointer to an extension-specific structure.flags – a bitmask of VkPipelineShaderStageCreateFlagBits specifying how the pipeline shader stage will be generated.stage – a VkShaderStageFlagBits value specifying a single pipeline stage.module – a VkShaderModule object containing the shader for this stage.pName – a pointer to a null-terminated UTF-8 string specifying the entry point name of the shader for this stage.pSpecializationInfo – a pointer to a VkSpecializationInfo structure, as described in Specialization Constants, or NULL.
struct VkPipelineShaderStageCreateInfo {
VkStructureType sType;
void const * pNext;
VkPipelineShaderStageCreateFlags flags;
VkShaderStageFlagBits stage;
VkShaderModule module;
char const * pName;
VkSpecializationInfo const * pSpecializationInfo;
}| Modifier and Type | Class and Description |
|---|---|
static class |
VkPipelineShaderStageCreateInfo.Buffer
An array of
VkPipelineShaderStageCreateInfo structs. |
| Modifier and Type | Field and Description |
|---|---|
static int |
ALIGNOF
The struct alignment in bytes.
|
static int |
FLAGS
The struct member offsets.
|
static int |
MODULE
The struct member offsets.
|
static int |
PNAME
The struct member offsets.
|
static int |
PNEXT
The struct member offsets.
|
static int |
PSPECIALIZATIONINFO
The struct member offsets.
|
static int |
SIZEOF
The struct size in bytes.
|
static int |
STAGE
The struct member offsets.
|
static int |
STYPE
The struct member offsets.
|
| Constructor and Description |
|---|
VkPipelineShaderStageCreateInfo(java.nio.ByteBuffer container)
Creates a
VkPipelineShaderStageCreateInfo instance at the current position of the specified ByteBuffer container. |
| Modifier and Type | Method and Description |
|---|---|
static VkPipelineShaderStageCreateInfo |
calloc()
Returns a new
VkPipelineShaderStageCreateInfo instance allocated with memCalloc. |
static VkPipelineShaderStageCreateInfo.Buffer |
calloc(int capacity)
Returns a new
VkPipelineShaderStageCreateInfo.Buffer instance allocated with memCalloc. |
static VkPipelineShaderStageCreateInfo |
callocStack()
Returns a new
VkPipelineShaderStageCreateInfo instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkPipelineShaderStageCreateInfo.Buffer |
callocStack(int capacity)
Returns a new
VkPipelineShaderStageCreateInfo.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkPipelineShaderStageCreateInfo.Buffer |
callocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkPipelineShaderStageCreateInfo.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkPipelineShaderStageCreateInfo |
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkPipelineShaderStageCreateInfo instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkPipelineShaderStageCreateInfo |
create()
Returns a new
VkPipelineShaderStageCreateInfo instance allocated with BufferUtils. |
static VkPipelineShaderStageCreateInfo.Buffer |
create(int capacity)
Returns a new
VkPipelineShaderStageCreateInfo.Buffer instance allocated with BufferUtils. |
static VkPipelineShaderStageCreateInfo |
create(long address)
Returns a new
VkPipelineShaderStageCreateInfo instance for the specified memory address. |
static VkPipelineShaderStageCreateInfo.Buffer |
create(long address,
int capacity)
Create a
VkPipelineShaderStageCreateInfo.Buffer instance at the specified memory. |
static VkPipelineShaderStageCreateInfo |
createSafe(long address)
|
static VkPipelineShaderStageCreateInfo.Buffer |
createSafe(long address,
int capacity)
|
int |
flags()
Returns the value of the
flags field. |
VkPipelineShaderStageCreateInfo |
flags(int value)
Sets the specified value to the
flags field. |
static VkPipelineShaderStageCreateInfo |
malloc()
Returns a new
VkPipelineShaderStageCreateInfo instance allocated with memAlloc. |
static VkPipelineShaderStageCreateInfo.Buffer |
malloc(int capacity)
Returns a new
VkPipelineShaderStageCreateInfo.Buffer instance allocated with memAlloc. |
static VkPipelineShaderStageCreateInfo |
mallocStack()
Returns a new
VkPipelineShaderStageCreateInfo instance allocated on the thread-local MemoryStack. |
static VkPipelineShaderStageCreateInfo.Buffer |
mallocStack(int capacity)
Returns a new
VkPipelineShaderStageCreateInfo.Buffer instance allocated on the thread-local MemoryStack. |
static VkPipelineShaderStageCreateInfo.Buffer |
mallocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkPipelineShaderStageCreateInfo.Buffer instance allocated on the specified MemoryStack. |
static VkPipelineShaderStageCreateInfo |
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkPipelineShaderStageCreateInfo instance allocated on the specified MemoryStack. |
long |
module()
Returns the value of the
module field. |
VkPipelineShaderStageCreateInfo |
module(long value)
Sets the specified value to the
module field. |
static int |
nflags(long struct)
Unsafe version of
flags(). |
static void |
nflags(long struct,
int value)
Unsafe version of
flags. |
static long |
nmodule(long struct)
Unsafe version of
module(). |
static void |
nmodule(long struct,
long value)
Unsafe version of
module. |
static java.nio.ByteBuffer |
npName(long struct)
Unsafe version of
pName(). |
static void |
npName(long struct,
java.nio.ByteBuffer value)
Unsafe version of
pName. |
static java.lang.String |
npNameString(long struct)
Unsafe version of
pNameString(). |
static long |
npNext(long struct)
Unsafe version of
pNext(). |
static void |
npNext(long struct,
long value)
Unsafe version of
pNext. |
static VkSpecializationInfo |
npSpecializationInfo(long struct)
Unsafe version of
pSpecializationInfo(). |
static void |
npSpecializationInfo(long struct,
VkSpecializationInfo value)
Unsafe version of
pSpecializationInfo. |
static int |
nstage(long struct)
Unsafe version of
stage(). |
static void |
nstage(long struct,
int value)
Unsafe version of
stage. |
static int |
nsType(long struct)
Unsafe version of
sType(). |
static void |
nsType(long struct,
int value)
Unsafe version of
sType. |
java.nio.ByteBuffer |
pName()
Returns a
ByteBuffer view of the null-terminated string pointed to by the pName field. |
VkPipelineShaderStageCreateInfo |
pName(java.nio.ByteBuffer value)
Sets the address of the specified encoded string to the
pName field. |
java.lang.String |
pNameString()
Decodes the null-terminated string pointed to by the
pName field. |
long |
pNext()
Returns the value of the
pNext field. |
VkPipelineShaderStageCreateInfo |
pNext(long value)
Sets the specified value to the
pNext field. |
VkSpecializationInfo |
pSpecializationInfo()
Returns a
VkSpecializationInfo view of the struct pointed to by the pSpecializationInfo field. |
VkPipelineShaderStageCreateInfo |
pSpecializationInfo(VkSpecializationInfo value)
Sets the address of the specified
VkSpecializationInfo to the pSpecializationInfo field. |
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.
|
VkPipelineShaderStageCreateInfo |
set(VkPipelineShaderStageCreateInfo src)
Copies the specified struct data to this struct.
|
int |
sizeof() |
int |
stage()
Returns the value of the
stage field. |
VkPipelineShaderStageCreateInfo |
stage(int value)
Sets the specified value to the
stage field. |
int |
sType()
Returns the value of the
sType field. |
VkPipelineShaderStageCreateInfo |
sType(int value)
Sets the specified value to the
sType field. |
static void |
validate(long struct)
Validates pointer members that should not be
NULL. |
static void |
validate(long array,
int count)
Calls
validate(long) for each struct contained in the specified struct array. |
public static final int SIZEOF
public static final int ALIGNOF
public static final int STYPE
public static final int PNEXT
public static final int FLAGS
public static final int STAGE
public static final int MODULE
public static final int PNAME
public static final int PSPECIALIZATIONINFO
public VkPipelineShaderStageCreateInfo(java.nio.ByteBuffer container)
VkPipelineShaderStageCreateInfo instance at the current position of the specified ByteBuffer 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.
public int sizeof()
sizeof in class org.lwjgl.system.Structpublic int sType()
sType field.public long pNext()
pNext field.public int flags()
flags field.public int stage()
stage field.public long module()
module field.public java.nio.ByteBuffer pName()
ByteBuffer view of the null-terminated string pointed to by the pName field.public java.lang.String pNameString()
pName field.@Nullable public VkSpecializationInfo pSpecializationInfo()
VkSpecializationInfo view of the struct pointed to by the pSpecializationInfo field.public VkPipelineShaderStageCreateInfo sType(int value)
sType field.public VkPipelineShaderStageCreateInfo pNext(long value)
pNext field.public VkPipelineShaderStageCreateInfo flags(int value)
flags field.public VkPipelineShaderStageCreateInfo stage(int value)
stage field.public VkPipelineShaderStageCreateInfo module(long value)
module field.public VkPipelineShaderStageCreateInfo pName(java.nio.ByteBuffer value)
pName field.public VkPipelineShaderStageCreateInfo pSpecializationInfo(@Nullable VkSpecializationInfo value)
VkSpecializationInfo to the pSpecializationInfo field.public VkPipelineShaderStageCreateInfo set(int sType, long pNext, int flags, int stage, long module, java.nio.ByteBuffer pName, @Nullable VkSpecializationInfo pSpecializationInfo)
public VkPipelineShaderStageCreateInfo set(VkPipelineShaderStageCreateInfo src)
src - the source structpublic static VkPipelineShaderStageCreateInfo malloc()
VkPipelineShaderStageCreateInfo instance allocated with memAlloc. The instance must be explicitly freed.public static VkPipelineShaderStageCreateInfo calloc()
VkPipelineShaderStageCreateInfo instance allocated with memCalloc. The instance must be explicitly freed.public static VkPipelineShaderStageCreateInfo create()
VkPipelineShaderStageCreateInfo instance allocated with BufferUtils.public static VkPipelineShaderStageCreateInfo create(long address)
VkPipelineShaderStageCreateInfo instance for the specified memory address.@Nullable public static VkPipelineShaderStageCreateInfo createSafe(long address)
public static VkPipelineShaderStageCreateInfo.Buffer malloc(int capacity)
VkPipelineShaderStageCreateInfo.Buffer instance allocated with memAlloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkPipelineShaderStageCreateInfo.Buffer calloc(int capacity)
VkPipelineShaderStageCreateInfo.Buffer instance allocated with memCalloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkPipelineShaderStageCreateInfo.Buffer create(int capacity)
VkPipelineShaderStageCreateInfo.Buffer instance allocated with BufferUtils.capacity - the buffer capacitypublic static VkPipelineShaderStageCreateInfo.Buffer create(long address, int capacity)
VkPipelineShaderStageCreateInfo.Buffer instance at the specified memory.address - the memory addresscapacity - the buffer capacity@Nullable public static VkPipelineShaderStageCreateInfo.Buffer createSafe(long address, int capacity)
public static VkPipelineShaderStageCreateInfo mallocStack()
VkPipelineShaderStageCreateInfo instance allocated on the thread-local MemoryStack.public static VkPipelineShaderStageCreateInfo callocStack()
VkPipelineShaderStageCreateInfo instance allocated on the thread-local MemoryStack and initializes all its bits to zero.public static VkPipelineShaderStageCreateInfo mallocStack(org.lwjgl.system.MemoryStack stack)
VkPipelineShaderStageCreateInfo instance allocated on the specified MemoryStack.stack - the stack from which to allocatepublic static VkPipelineShaderStageCreateInfo callocStack(org.lwjgl.system.MemoryStack stack)
VkPipelineShaderStageCreateInfo instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatepublic static VkPipelineShaderStageCreateInfo.Buffer mallocStack(int capacity)
VkPipelineShaderStageCreateInfo.Buffer instance allocated on the thread-local MemoryStack.capacity - the buffer capacitypublic static VkPipelineShaderStageCreateInfo.Buffer callocStack(int capacity)
VkPipelineShaderStageCreateInfo.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.capacity - the buffer capacitypublic static VkPipelineShaderStageCreateInfo.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkPipelineShaderStageCreateInfo.Buffer instance allocated on the specified MemoryStack.stack - the stack from which to allocatecapacity - the buffer capacitypublic static VkPipelineShaderStageCreateInfo.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkPipelineShaderStageCreateInfo.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatecapacity - the buffer capacitypublic static int nsType(long struct)
sType().public static long npNext(long struct)
pNext().public static int nflags(long struct)
flags().public static int nstage(long struct)
stage().public static long nmodule(long struct)
module().public static java.nio.ByteBuffer npName(long struct)
pName().public static java.lang.String npNameString(long struct)
pNameString().@Nullable public static VkSpecializationInfo npSpecializationInfo(long struct)
pSpecializationInfo().public static void nsType(long struct,
int value)
sType.public static void npNext(long struct,
long value)
pNext.public static void nflags(long struct,
int value)
flags.public static void nstage(long struct,
int value)
stage.public static void nmodule(long struct,
long value)
module.public static void npName(long struct,
java.nio.ByteBuffer value)
pName.public static void npSpecializationInfo(long struct,
@Nullable
VkSpecializationInfo value)
pSpecializationInfo.public static void validate(long struct)
NULL.struct - the struct to validatepublic static void validate(long array,
int count)
validate(long) for each struct contained in the specified struct array.array - the struct array to validatecount - the number of structs in arrayCopyright LWJGL. All Rights Reserved. License terms.