Package org.lwjgl.vulkan
Class VkShaderModuleCreateInfo
- All Implemented Interfaces:
AutoCloseable
,NativeResource
,Pointer
public class VkShaderModuleCreateInfo
extends Struct<VkShaderModuleCreateInfo>
implements NativeResource
Structure specifying parameters of a newly created shader module.
Valid Usage
- If pCode is a pointer to SPIR-V code,
codeSize
must be a multiple of 4 - If pCode is a pointer to SPIR-V code,
pCode
must point to valid SPIR-V code, formatted and packed as described by the Khronos SPIR-V Specification - If pCode is a pointer to SPIR-V code,
pCode
must adhere to the validation rules described by the Validation Rules within a Module section of the SPIR-V Environment appendix - If pCode is a pointer to SPIR-V code,
pCode
must declare theShader
capability for SPIR-V code - If pCode is a pointer to SPIR-V code,
pCode
must not declare any capability that is not supported by the API, as described by the Capabilities section of the SPIR-V Environment appendix - If pCode is a pointer to SPIR-V code, and
pCode
declares any of the capabilities listed in the SPIR-V Environment appendix, one of the corresponding requirements must be satisfied - If pCode is a pointer to SPIR-V code,
pCode
must not declare any SPIR-V extension that is not supported by the API, as described by the Extension section of the SPIR-V Environment appendix - If pCode is a pointer to SPIR-V code, and
pCode
declares any of the SPIR-V extensions listed in the SPIR-V Environment appendix, one of the corresponding requirements must be satisfied - If the
VK_NV_glsl_shader
extension is not enabled,pCode
must be a pointer to SPIR-V code - If
pCode
is a pointer to GLSL code, it must be valid GLSL code written to theGL_KHR_vulkan_glsl
GLSL extension specification codeSize
must be greater than 0
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO
flags
must be 0pCode
must be a valid pointer to an array ofcodeSize / 4
uint32_t
values
See Also
CreateShaderModule
, GetShaderModuleCreateInfoIdentifierEXT
Layout
struct VkShaderModuleCreateInfo {
VkStructureType sType()
;
void const * pNext()
;
VkShaderModuleCreateFlags flags()
;
size_t codeSize()
;
uint32_t const * pCode()
;
}
-
Nested Class Summary
Nested classes/interfaces inherited from class org.lwjgl.system.Struct
Struct.StructValidation
Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer
Pointer.Default
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
The struct alignment in bytes.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct size in bytes.static final int
The struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE
-
Constructor Summary
ConstructorDescriptionVkShaderModuleCreateInfo
(ByteBuffer container) Creates aVkShaderModuleCreateInfo
instance at the current position of the specifiedByteBuffer
container. -
Method Summary
Modifier and TypeMethodDescriptionstatic VkShaderModuleCreateInfo
calloc()
Returns a newVkShaderModuleCreateInfo
instance allocated withmemCalloc
.calloc
(int capacity) Returns a newVkShaderModuleCreateInfo.Buffer
instance allocated withmemCalloc
.calloc
(int capacity, MemoryStack stack) Returns a newVkShaderModuleCreateInfo.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkShaderModuleCreateInfo
calloc
(MemoryStack stack) Returns a newVkShaderModuleCreateInfo
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkShaderModuleCreateInfo
Deprecated.callocStack
(int capacity) Deprecated.callocStack
(int capacity, MemoryStack stack) Deprecated.static VkShaderModuleCreateInfo
callocStack
(MemoryStack stack) Deprecated.long
codeSize()
the size, in bytes, of the code pointed to bypCode
.static VkShaderModuleCreateInfo
create()
Returns a newVkShaderModuleCreateInfo
instance allocated withBufferUtils
.create
(int capacity) Returns a newVkShaderModuleCreateInfo.Buffer
instance allocated withBufferUtils
.static VkShaderModuleCreateInfo
create
(long address) Returns a newVkShaderModuleCreateInfo
instance for the specified memory address.create
(long address, int capacity) Create aVkShaderModuleCreateInfo.Buffer
instance at the specified memory.static VkShaderModuleCreateInfo
createSafe
(long address) createSafe
(long address, int capacity) int
flags()
reserved for future use.flags
(int value) Sets the specified value to theflags()
field.static VkShaderModuleCreateInfo
malloc()
Returns a newVkShaderModuleCreateInfo
instance allocated withmemAlloc
.malloc
(int capacity) Returns a newVkShaderModuleCreateInfo.Buffer
instance allocated withmemAlloc
.malloc
(int capacity, MemoryStack stack) Returns a newVkShaderModuleCreateInfo.Buffer
instance allocated on the specifiedMemoryStack
.static VkShaderModuleCreateInfo
malloc
(MemoryStack stack) Returns a newVkShaderModuleCreateInfo
instance allocated on the specifiedMemoryStack
.static VkShaderModuleCreateInfo
Deprecated.mallocStack
(int capacity) Deprecated.mallocStack
(int capacity, MemoryStack stack) Deprecated.static VkShaderModuleCreateInfo
mallocStack
(MemoryStack stack) Deprecated.static long
ncodeSize
(long struct) Unsafe version ofcodeSize()
.static void
ncodeSize
(long struct, long value) Sets the specified value to thecodeSize
field of the specifiedstruct
.static int
nflags
(long struct) Unsafe version offlags()
.static void
nflags
(long struct, int value) Unsafe version offlags
.static ByteBuffer
npCode
(long struct) Unsafe version ofpCode
.static void
npCode
(long struct, ByteBuffer value) Unsafe version ofpCode
.static long
npNext
(long struct) Unsafe version ofpNext()
.static void
npNext
(long struct, long value) Unsafe version ofpNext
.static int
nsType
(long struct) Unsafe version ofsType()
.static void
nsType
(long struct, int value) Unsafe version ofsType
.pCode()
points to code that is used to create the shader modulepCode
(ByteBuffer value) Sets the address of the specifiedByteBuffer
to thepCode()
field.long
pNext()
NULL
or a pointer to a structure extending this structure.pNext
(long value) Sets the specified value to thepNext()
field.Prepends the specifiedVkShaderModuleValidationCacheCreateInfoEXT
value to thepNext
chain.set
(int sType, long pNext, int flags, ByteBuffer pCode) Initializes this struct with the specified values.Copies the specified struct data to this struct.int
sizeof()
Returnssizeof(struct)
.int
sType()
aVkStructureType
value identifying this structure.sType
(int value) Sets the specified value to thesType()
field.Sets theSTRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO
value to thesType()
field.static void
validate
(long struct) Validates pointer members that should not beNULL
.Methods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toString
Methods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
STYPE
public static final int STYPEThe struct member offsets. -
PNEXT
public static final int PNEXTThe struct member offsets. -
FLAGS
public static final int FLAGSThe struct member offsets. -
CODESIZE
public static final int CODESIZEThe struct member offsets. -
PCODE
public static final int PCODEThe struct member offsets.
-
-
Constructor Details
-
VkShaderModuleCreateInfo
Creates aVkShaderModuleCreateInfo
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 Details
-
sizeof
public int sizeof()Description copied from class:Struct
Returnssizeof(struct)
.- Specified by:
sizeof
in classStruct<VkShaderModuleCreateInfo>
-
sType
public int sType()aVkStructureType
value identifying this structure. -
pNext
public long pNext()NULL
or a pointer to a structure extending this structure. -
flags
public int flags()reserved for future use. -
codeSize
public long codeSize()the size, in bytes, of the code pointed to bypCode
. -
pCode
points to code that is used to create the shader module -
sType
Sets the specified value to thesType()
field. -
sType$Default
Sets theSTRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO
value to thesType()
field. -
pNext
Sets the specified value to thepNext()
field. -
pNext
Prepends the specifiedVkShaderModuleValidationCacheCreateInfoEXT
value to thepNext
chain. -
flags
Sets the specified value to theflags()
field. -
pCode
Sets the address of the specifiedByteBuffer
to thepCode()
field. -
set
Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src
- the source struct- Returns:
- this struct
-
malloc
Returns a newVkShaderModuleCreateInfo
instance allocated withmemAlloc
. The instance must be explicitly freed. -
calloc
Returns a newVkShaderModuleCreateInfo
instance allocated withmemCalloc
. The instance must be explicitly freed. -
create
Returns a newVkShaderModuleCreateInfo
instance allocated withBufferUtils
. -
create
Returns a newVkShaderModuleCreateInfo
instance for the specified memory address. -
createSafe
-
malloc
Returns a newVkShaderModuleCreateInfo.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
Returns a newVkShaderModuleCreateInfo.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
Returns a newVkShaderModuleCreateInfo.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
Create aVkShaderModuleCreateInfo.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
-
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)
instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)
instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)
instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)
instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)
instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)
instead. -
mallocStack
@Deprecated public static VkShaderModuleCreateInfo.Buffer mallocStack(int capacity, MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)
instead. -
callocStack
@Deprecated public static VkShaderModuleCreateInfo.Buffer callocStack(int capacity, MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)
instead. -
malloc
Returns a newVkShaderModuleCreateInfo
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
calloc
Returns a newVkShaderModuleCreateInfo
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
malloc
Returns a newVkShaderModuleCreateInfo.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
capacity
- the buffer capacitystack
- the stack from which to allocate
-
calloc
Returns a newVkShaderModuleCreateInfo.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
capacity
- the buffer capacitystack
- the stack from which to allocate
-
nsType
public static int nsType(long struct) Unsafe version ofsType()
. -
npNext
public static long npNext(long struct) Unsafe version ofpNext()
. -
nflags
public static int nflags(long struct) Unsafe version offlags()
. -
ncodeSize
public static long ncodeSize(long struct) Unsafe version ofcodeSize()
. -
npCode
Unsafe version ofpCode
. -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType
. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext
. -
nflags
public static void nflags(long struct, int value) Unsafe version offlags
. -
ncodeSize
public static void ncodeSize(long struct, long value) Sets the specified value to thecodeSize
field of the specifiedstruct
. -
npCode
Unsafe version ofpCode
. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL
.- Parameters:
struct
- the struct to validate
-