Class VkPhysicalDevicePipelineBinaryPropertiesKHR
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
Note
These properties tend to be platform specific and may change depending on external configuration which is outside the scope of this specification. These properties are intended to guide applications when implementations have dedicated caching solutions available. In particular, if the pipelineBinaryPrefersInternalCache limit is exposed, relying on the internal cache may provide some advantage compared to an application-specific solution. An application with its own dedicated solution may still use its own caching system even with this limit exposed.
If the VkPhysicalDevicePipelineBinaryPropertiesKHR structure is included in the pNext chain of the VkPhysicalDeviceProperties2 structure passed to GetPhysicalDeviceProperties2, it is filled in with each corresponding implementation-dependent property.
Valid Usage (Implicit)
Layout
struct VkPhysicalDevicePipelineBinaryPropertiesKHR {
VkStructureType sType();
void * pNext();
VkBool32 pipelineBinaryInternalCache();
VkBool32 pipelineBinaryInternalCacheControl();
VkBool32 pipelineBinaryPrefersInternalCache();
VkBool32 pipelineBinaryPrecompiledInternalCache();
VkBool32 pipelineBinaryCompressedData();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkPhysicalDevicePipelineBinaryPropertiesKHRstructs.Nested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionCreates aVkPhysicalDevicePipelineBinaryPropertiesKHRinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHRinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHR.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHRinstance allocated withBufferUtils.create(int capacity) Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHR.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHRinstance for the specified memory address.create(long address, int capacity) Create aVkPhysicalDevicePipelineBinaryPropertiesKHR.Bufferinstance at the specified memory.static @Nullable VkPhysicalDevicePipelineBinaryPropertiesKHRcreateSafe(long address) static @Nullable VkPhysicalDevicePipelineBinaryPropertiesKHR.BuffercreateSafe(long address, int capacity) malloc()Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHRinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHR.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHR.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHRinstance allocated on the specifiedMemoryStack.static intnpipelineBinaryCompressedData(long struct) Unsafe version ofpipelineBinaryCompressedData().static voidnpipelineBinaryCompressedData(long struct, int value) Unsafe version ofpipelineBinaryCompressedData.static intnpipelineBinaryInternalCache(long struct) Unsafe version ofpipelineBinaryInternalCache().static voidnpipelineBinaryInternalCache(long struct, int value) Unsafe version ofpipelineBinaryInternalCache.static intnpipelineBinaryInternalCacheControl(long struct) Unsafe version ofpipelineBinaryInternalCacheControl().static voidnpipelineBinaryInternalCacheControl(long struct, int value) Unsafe version ofpipelineBinaryInternalCacheControl.static intnpipelineBinaryPrecompiledInternalCache(long struct) Unsafe version ofpipelineBinaryPrecompiledInternalCache().static voidnpipelineBinaryPrecompiledInternalCache(long struct, int value) Unsafe version ofpipelineBinaryPrecompiledInternalCache.static intnpipelineBinaryPrefersInternalCache(long struct) Unsafe version ofpipelineBinaryPrefersInternalCache().static voidnpipelineBinaryPrefersInternalCache(long struct, int value) Unsafe version ofpipelineBinaryPrefersInternalCache.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.booleanspecifies that the binary data is already compressed and so applications should not attempt to compress it.pipelineBinaryCompressedData(boolean value) Sets the specified value to thepipelineBinaryCompressedData()field.booleanspecifies that the implementation maintains a pipeline cache internal to the implementation.pipelineBinaryInternalCache(boolean value) Sets the specified value to thepipelineBinaryInternalCache()field.booleanspecifies whether the driver’s internal cache can be disabled.pipelineBinaryInternalCacheControl(boolean value) Sets the specified value to thepipelineBinaryInternalCacheControl()field.booleanspecifies that the implementation may have pipeline binaries in its internal cache, which is populated without the application ever having generated that pipeline itself.pipelineBinaryPrecompiledInternalCache(boolean value) Sets the specified value to thepipelineBinaryPrecompiledInternalCache()field.booleanspecifies that the implementation prefers to maintain an internal cache, and applications should not store pipeline binaries in their own on-disk caches to avoid increased on-disk storage requirements.pipelineBinaryPrefersInternalCache(boolean value) Sets the specified value to thepipelineBinaryPrefersInternalCache()field.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.set(int sType, long pNext, boolean pipelineBinaryInternalCache, boolean pipelineBinaryInternalCacheControl, boolean pipelineBinaryPrefersInternalCache, boolean pipelineBinaryPrecompiledInternalCache, boolean pipelineBinaryCompressedData) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHRvalue to thesType()field.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods 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. -
PIPELINEBINARYINTERNALCACHE
public static final int PIPELINEBINARYINTERNALCACHEThe struct member offsets. -
PIPELINEBINARYINTERNALCACHECONTROL
public static final int PIPELINEBINARYINTERNALCACHECONTROLThe struct member offsets. -
PIPELINEBINARYPREFERSINTERNALCACHE
public static final int PIPELINEBINARYPREFERSINTERNALCACHEThe struct member offsets. -
PIPELINEBINARYPRECOMPILEDINTERNALCACHE
public static final int PIPELINEBINARYPRECOMPILEDINTERNALCACHEThe struct member offsets. -
PIPELINEBINARYCOMPRESSEDDATA
public static final int PIPELINEBINARYCOMPRESSEDDATAThe struct member offsets.
-
-
Constructor Details
-
VkPhysicalDevicePipelineBinaryPropertiesKHR
Creates aVkPhysicalDevicePipelineBinaryPropertiesKHRinstance 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 Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkPhysicalDevicePipelineBinaryPropertiesKHR>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
pipelineBinaryInternalCache
public boolean pipelineBinaryInternalCache()specifies that the implementation maintains a pipeline cache internal to the implementation. If this isTRUE, applications can create pipeline binaries with only a pipeline create info, and in this case, an implementation may be able to create a pipeline binary directly without application needing to capture the binary itself. -
pipelineBinaryInternalCacheControl
public boolean pipelineBinaryInternalCacheControl()specifies whether the driver’s internal cache can be disabled. If this property isTRUEVkDevicePipelineBinaryInternalCacheControlKHR::disableInternalCachecan be used to disable the driver’s internal cache, allowing an application to take full control of both memory and disk usage. -
pipelineBinaryPrefersInternalCache
public boolean pipelineBinaryPrefersInternalCache()specifies that the implementation prefers to maintain an internal cache, and applications should not store pipeline binaries in their own on-disk caches to avoid increased on-disk storage requirements. Applications are encouraged to only store pipeline keys instead, and aim to create pipeline binaries from key alone on subsequent runs of the application. -
pipelineBinaryPrecompiledInternalCache
public boolean pipelineBinaryPrecompiledInternalCache()specifies that the implementation may have pipeline binaries in its internal cache, which is populated without the application ever having generated that pipeline itself. Applications can attempt to create binaries without extracting pipeline binary data from the pipeline prior for a set of pipeline keys, including from previous runs of the application. -
pipelineBinaryCompressedData
public boolean pipelineBinaryCompressedData()specifies that the binary data is already compressed and so applications should not attempt to compress it. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHRvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pipelineBinaryInternalCache
Sets the specified value to thepipelineBinaryInternalCache()field. -
pipelineBinaryInternalCacheControl
public VkPhysicalDevicePipelineBinaryPropertiesKHR pipelineBinaryInternalCacheControl(boolean value) Sets the specified value to thepipelineBinaryInternalCacheControl()field. -
pipelineBinaryPrefersInternalCache
public VkPhysicalDevicePipelineBinaryPropertiesKHR pipelineBinaryPrefersInternalCache(boolean value) Sets the specified value to thepipelineBinaryPrefersInternalCache()field. -
pipelineBinaryPrecompiledInternalCache
public VkPhysicalDevicePipelineBinaryPropertiesKHR pipelineBinaryPrecompiledInternalCache(boolean value) Sets the specified value to thepipelineBinaryPrecompiledInternalCache()field. -
pipelineBinaryCompressedData
Sets the specified value to thepipelineBinaryCompressedData()field. -
set
public VkPhysicalDevicePipelineBinaryPropertiesKHR set(int sType, long pNext, boolean pipelineBinaryInternalCache, boolean pipelineBinaryInternalCacheControl, boolean pipelineBinaryPrefersInternalCache, boolean pipelineBinaryPrecompiledInternalCache, boolean pipelineBinaryCompressedData) Initializes this struct with the specified values. -
set
public VkPhysicalDevicePipelineBinaryPropertiesKHR set(VkPhysicalDevicePipelineBinaryPropertiesKHR src) Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHRinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHRinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHRinstance allocated withBufferUtils. -
create
Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHRinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHR.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHR.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHR.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkPhysicalDevicePipelineBinaryPropertiesKHR.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkPhysicalDevicePipelineBinaryPropertiesKHR.Buffer createSafe(long address, int capacity) -
malloc
public static VkPhysicalDevicePipelineBinaryPropertiesKHR malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHRinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
public static VkPhysicalDevicePipelineBinaryPropertiesKHR calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkPhysicalDevicePipelineBinaryPropertiesKHR.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHR.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkPhysicalDevicePipelineBinaryPropertiesKHR.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPhysicalDevicePipelineBinaryPropertiesKHR.Bufferinstance allocated on the specifiedMemoryStackand 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(). -
npipelineBinaryInternalCache
public static int npipelineBinaryInternalCache(long struct) Unsafe version ofpipelineBinaryInternalCache(). -
npipelineBinaryInternalCacheControl
public static int npipelineBinaryInternalCacheControl(long struct) Unsafe version ofpipelineBinaryInternalCacheControl(). -
npipelineBinaryPrefersInternalCache
public static int npipelineBinaryPrefersInternalCache(long struct) Unsafe version ofpipelineBinaryPrefersInternalCache(). -
npipelineBinaryPrecompiledInternalCache
public static int npipelineBinaryPrecompiledInternalCache(long struct) Unsafe version ofpipelineBinaryPrecompiledInternalCache(). -
npipelineBinaryCompressedData
public static int npipelineBinaryCompressedData(long struct) Unsafe version ofpipelineBinaryCompressedData(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
npipelineBinaryInternalCache
public static void npipelineBinaryInternalCache(long struct, int value) Unsafe version ofpipelineBinaryInternalCache. -
npipelineBinaryInternalCacheControl
public static void npipelineBinaryInternalCacheControl(long struct, int value) Unsafe version ofpipelineBinaryInternalCacheControl. -
npipelineBinaryPrefersInternalCache
public static void npipelineBinaryPrefersInternalCache(long struct, int value) Unsafe version ofpipelineBinaryPrefersInternalCache. -
npipelineBinaryPrecompiledInternalCache
public static void npipelineBinaryPrecompiledInternalCache(long struct, int value) Unsafe version ofpipelineBinaryPrecompiledInternalCache. -
npipelineBinaryCompressedData
public static void npipelineBinaryCompressedData(long struct, int value) Unsafe version ofpipelineBinaryCompressedData.
-