An Impeller specific header prepended to all pipeline cache information that is persisted on disk. This information is used to perform additional integrity checks that may have been missed by the Vulkan driver. More...
#include <pipeline_cache_data_vk.h>
Public Member Functions | |
PipelineCacheHeaderVK () | |
Constructs a new empty instance. More... | |
PipelineCacheHeaderVK (const VkPhysicalDeviceProperties &props, uint64_t p_data_size) | |
Constructs a new instance that will be compatible with the given physical device properties. More... | |
bool | IsCompatibleWith (const PipelineCacheHeaderVK &other) const |
Determines whether the specified o is compatible with. More... | |
Public Attributes | |
uint32_t | magic = 0xC0DEF00D |
uint32_t | driver_version = 0 |
uint32_t | vendor_id = 0 |
uint32_t | device_id = 0 |
uint32_t | abi = sizeof(void*) |
uint8_t | uuid [VK_UUID_SIZE] = {} |
uint64_t | data_size = 0 |
An Impeller specific header prepended to all pipeline cache information that is persisted on disk. This information is used to perform additional integrity checks that may have been missed by the Vulkan driver.
Inspired by https://medium.com/@zeuxcg/creating-a-robust-pipeline-cache-with-vulkan-961d09416cda.
Definition at line 23 of file pipeline_cache_data_vk.h.
|
default |
Constructs a new empty instance.
|
explicit |
Constructs a new instance that will be compatible with the given physical device properties.
[in] | props | The properties. |
[in] | p_data_size | The data size. |
Definition at line 100 of file pipeline_cache_data_vk.cc.
References uuid.
bool impeller::PipelineCacheHeaderVK::IsCompatibleWith | ( | const PipelineCacheHeaderVK & | other | ) | const |
Determines whether the specified o is compatible with.
The size of the data following the header may be different and is not part of compatibility checks.
[in] | other | The other header. |
Definition at line 110 of file pipeline_cache_data_vk.cc.
References abi, device_id, driver_version, magic, uuid, and vendor_id.
Referenced by impeller::testing::TEST().
uint32_t impeller::PipelineCacheHeaderVK::abi = sizeof(void*) |
Definition at line 34 of file pipeline_cache_data_vk.h.
Referenced by IsCompatibleWith(), and impeller::testing::TEST().
uint64_t impeller::PipelineCacheHeaderVK::data_size = 0 |
Definition at line 36 of file pipeline_cache_data_vk.h.
Referenced by impeller::testing::TEST().
uint32_t impeller::PipelineCacheHeaderVK::device_id = 0 |
Definition at line 31 of file pipeline_cache_data_vk.h.
Referenced by IsCompatibleWith(), and impeller::testing::TEST().
uint32_t impeller::PipelineCacheHeaderVK::driver_version = 0 |
Definition at line 29 of file pipeline_cache_data_vk.h.
Referenced by IsCompatibleWith(), and impeller::testing::TEST().
uint32_t impeller::PipelineCacheHeaderVK::magic = 0xC0DEF00D |
Definition at line 25 of file pipeline_cache_data_vk.h.
Referenced by IsCompatibleWith().
uint8_t impeller::PipelineCacheHeaderVK::uuid[VK_UUID_SIZE] = {} |
Definition at line 35 of file pipeline_cache_data_vk.h.
Referenced by IsCompatibleWith(), PipelineCacheHeaderVK(), and impeller::testing::TEST().
uint32_t impeller::PipelineCacheHeaderVK::vendor_id = 0 |
Definition at line 30 of file pipeline_cache_data_vk.h.
Referenced by IsCompatibleWith(), and impeller::testing::TEST().