VkValidationCacheEXT object type, which is managed similarly to the existing VkPipelineCache.
The new struct VkShaderModuleValidationCacheCreateInfoEXT can be included in the pNext chain at CreateShaderModule time. It contains a VkValidationCacheEXT to use when validating the VkShaderModule.
VK_EXT_validation_cache| Modifier and Type | Field and Description |
|---|---|
| public static final String | VK_EXT_VALIDATION_CACHE_EXTENSION_NAME
The extension name. |
| public static final int | VK_EXT_VALIDATION_CACHE_SPEC_VERSION
The extension specification version. |
| public static final int | VK_OBJECT_TYPE_VALIDATION_CACHE_EXT
Extends |
| public static final int | VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT
Extends |
| public static final int | VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT
Extends |
| public static final int | VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT
VkValidationCacheHeaderVersionEXT - Encode validation cache version Description
|
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description |
|---|---|
| public static int | nvkCreateValidationCacheEXT(VkDevice device, long pCreateInfo, long pAllocator, long pValidationCache)
Unsafe version of: |
| public static void | nvkDestroyValidationCacheEXT(VkDevice device, long validationCache, long pAllocator)
Unsafe version of: |
| public static int | nvkGetValidationCacheDataEXT(VkDevice device, long validationCache, long
a pointer to a value related to the amount of data in the validation cache, as described below. pDataSize, long pData)Unsafe version of: |
| public static int | nvkMergeValidationCachesEXT(VkDevice device, long dstCache, int
the length of the srcCacheCount, long pSrcCaches)pSrcCaches array.Unsafe version of: |
| public static int | vkCreateValidationCacheEXT(VkDevice
the logical device that creates the validation cache object. device, VkValidationCacheCreateInfoEXT a pointer to a pCreateInfo, VkAllocationCallbacks VkValidationCacheCreateInfoEXT structure containing the initial parameters for the validation cache object.controls host memory allocation as described in the Memory Allocation chapter. pAllocator, LongBuffer a pointer to a pValidationCache)VkValidationCacheEXT handle in which the resulting validation cache object is returned.Creates a new validation cache. |
| public static int | vkCreateValidationCacheEXT(VkDevice device, VkValidationCacheCreateInfoEXT pCreateInfo, VkAllocationCallbacks pAllocator, long[] pValidationCache)
Array version of: |
| public static void | vkDestroyValidationCacheEXT(VkDevice
the logical device that destroys the validation cache object. device, long the handle of the validation cache to destroy. validationCache, VkAllocationCallbacks controls host memory allocation as described in the Memory Allocation chapter. pAllocator)Destroy a validation cache object. |
| public static int | vkGetValidationCacheDataEXT(VkDevice
the logical device that owns the validation cache. device, long the validation cache to retrieve data from. validationCache, PointerBuffer a pointer to a value related to the amount of data in the validation cache, as described below. pDataSize, ByteBuffer either pData)NULL or a pointer to a buffer.Get the data store from a validation cache. |
| public static int | vkMergeValidationCachesEXT(VkDevice
the logical device that owns the validation cache objects. device, long the handle of the validation cache to merge results into. dstCache, LongBuffer a pointer to an array of validation cache handles, which will be merged into pSrcCaches)dstCache. The previous contents of dstCache are included after the merge.Combine the data stores of validation caches. |
| public static int | vkMergeValidationCachesEXT(VkDevice device, long dstCache, long[] pSrcCaches)
Array version of: |
| VK_EXT_VALIDATION_CACHE_EXTENSION_NAME | back to summary |
|---|---|
| public static final String VK_EXT_VALIDATION_CACHE_EXTENSION_NAME The extension name. | |
| VK_EXT_VALIDATION_CACHE_SPEC_VERSION | back to summary |
|---|---|
| public static final int VK_EXT_VALIDATION_CACHE_SPEC_VERSION The extension specification version. | |
| VK_OBJECT_TYPE_VALIDATION_CACHE_EXT | back to summary |
|---|---|
| public static final int VK_OBJECT_TYPE_VALIDATION_CACHE_EXT Extends | |
| VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT Extends Enum values: | |
| VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT Extends Enum values: | |
| VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT | back to summary |
|---|---|
| public static final int VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT VkValidationCacheHeaderVersionEXT - Encode validation cache version Description
See Also | |
| EXTValidationCache | back to summary |
|---|---|
| protected EXTValidationCache() | |
| nvkCreateValidationCacheEXT | back to summary |
|---|---|
| public static int nvkCreateValidationCacheEXT(VkDevice device, long pCreateInfo, long pAllocator, long pValidationCache) Unsafe version of: | |
| nvkDestroyValidationCacheEXT | back to summary |
|---|---|
| public static void nvkDestroyValidationCacheEXT(VkDevice device, long validationCache, long pAllocator) Unsafe version of: | |
| nvkGetValidationCacheDataEXT | back to summary |
|---|---|
| public static int nvkGetValidationCacheDataEXT(VkDevice device, long validationCache, long pDataSize, long pData) Unsafe version of:
| |
| nvkMergeValidationCachesEXT | back to summary |
|---|---|
| public static int nvkMergeValidationCachesEXT(VkDevice device, long dstCache, int srcCacheCount, long pSrcCaches) Unsafe version of:
| |
| vkCreateValidationCacheEXT | back to summary |
|---|---|
| public static int vkCreateValidationCacheEXT(VkDevice device, VkValidationCacheCreateInfoEXT pCreateInfo, VkAllocationCallbacks pAllocator, LongBuffer pValidationCache) Creates a new validation cache. C SpecificationTo create validation cache objects, call:
DescriptionNoteApplications can track and manage the total host memory size of a validation cache object using the Once created, a validation cache can be passed to the NoteImplementations should make every effort to limit any critical sections to the actual accesses to the cache, which is expected to be significantly shorter than the duration of the Valid Usage (Implicit)
Return Codes
See Also
| |
| vkCreateValidationCacheEXT | back to summary |
|---|---|
| public static int vkCreateValidationCacheEXT(VkDevice device, VkValidationCacheCreateInfoEXT pCreateInfo, VkAllocationCallbacks pAllocator, long[] pValidationCache) Array version of:
| |
| vkDestroyValidationCacheEXT | back to summary |
|---|---|
| public static void vkDestroyValidationCacheEXT(VkDevice device, long validationCache, VkAllocationCallbacks pAllocator) Destroy a validation cache object. C SpecificationTo destroy a validation cache, call:
Valid Usage
Valid Usage (Implicit)
Host Synchronization
See Also
| |
| vkGetValidationCacheDataEXT | back to summary | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| public static int vkGetValidationCacheDataEXT(VkDevice device, long validationCache, PointerBuffer pDataSize, ByteBuffer pData) Get the data store from a validation cache. C SpecificationData can be retrieved from a validation cache object using the command:
DescriptionIf Any data written to Two calls to Applications can store the data retrieved from the validation cache, and use these data, possibly in a future run of the application, to populate new validation cache objects. The results of validation, however, may depend on the vendor ID, device ID, driver version, and other details of the device. To enable applications to detect when previously retrieved data is incompatible with the device, the initial bytes written to Layout for validation cache header version
| |||||||||||||
| Offset | Size | Meaning |
|---|---|---|
| 0 | 4 | length in bytes of the entire validation cache header written as a stream of bytes, with the least significant byte first |
| 4 | 4 | a VkValidationCacheHeaderVersionEXT value written as a stream of bytes, with the least significant byte first |
| 8 | UUID_SIZE | a layer commit ID expressed as a UUID, which uniquely identifies the version of the validation layers used to generate these validation results |
The first four bytes encode the length of the entire validation cache header, in bytes. This value includes all fields in the header including the validation cache version field and the size of the length field.
The next four bytes encode the validation cache version, as described for VkValidationCacheHeaderVersionEXT. A consumer of the validation cache should use the cache version to interpret the remainder of the cache header.
If pDataSize is less than what is necessary to store this header, nothing will be written to pData and zero will be written to pDataSize.
device must be a valid VkDevice handlevalidationCache must be a valid VkValidationCacheEXT handlepDataSize must be a valid pointer to a size_t valuepDataSize is not 0, and pData is not NULL, pData must be a valid pointer to an array of pDataSize bytesvalidationCache must have been created, allocated, or retrieved from devicethe logical device that owns the validation cache.
the validation cache to retrieve data from.
a pointer to a value related to the amount of data in the validation cache, as described below.
either NULL or a pointer to a buffer.
| vkMergeValidationCachesEXT | back to summary |
|---|---|
| public static int vkMergeValidationCachesEXT(VkDevice device, long dstCache, LongBuffer pSrcCaches) Combine the data stores of validation caches. C SpecificationValidation cache objects can be merged using the command:
DescriptionNoteThe details of the merge operation are implementation-dependent, but implementations should merge the contents of the specified validation caches and prune duplicate entries. Valid Usage
Valid Usage (Implicit)
Host Synchronization
Return Codes
| |
| vkMergeValidationCachesEXT | back to summary |
|---|---|
| public static int vkMergeValidationCachesEXT(VkDevice device, long dstCache, long[] pSrcCaches) Array version of:
| |