• Home
  • Raw
  • Download

Lines Matching full:blob

34 #include "util/blob.h"
46 struct blob *blob) in vk_raw_data_cache_object_serialize() argument
51 blob_write_bytes(blob, data_obj->data, data_obj->data_size); in vk_raw_data_cache_object_serialize()
60 struct blob_reader *blob) in vk_raw_data_cache_object_deserialize() argument
63 * happens with a brand new blob reader for error checking anyway so we in vk_raw_data_cache_object_deserialize()
64 * can assume the blob consumes the entire reader and we don't need to in vk_raw_data_cache_object_deserialize()
67 assert(blob->current < blob->end); in vk_raw_data_cache_object_deserialize()
68 size_t data_size = blob->end - blob->current; in vk_raw_data_cache_object_deserialize()
69 const void *data = blob_read_bytes(blob, data_size); in vk_raw_data_cache_object_deserialize()
203 struct blob *blob, uint32_t *data_size) in vk_pipeline_cache_object_serialize() argument
208 assert(blob->size == align64(blob->size, VK_PIPELINE_CACHE_BLOB_ALIGN)); in vk_pipeline_cache_object_serialize()
209 size_t start = blob->size; in vk_pipeline_cache_object_serialize()
211 /* Special case for if we're writing to a NULL blob (just to get the size) in vk_pipeline_cache_object_serialize()
217 if (blob->data == NULL && blob->fixed_allocation) { in vk_pipeline_cache_object_serialize()
220 blob_write_bytes(blob, NULL, *data_size); in vk_pipeline_cache_object_serialize()
225 if (!object->ops->serialize(object, blob)) { in vk_pipeline_cache_object_serialize()
230 size_t size = blob->size - start; in vk_pipeline_cache_object_serialize()
236 if (blob->out_of_memory) { in vk_pipeline_cache_object_serialize()
430 struct blob blob; in vk_pipeline_cache_add_object() local
431 blob_init(&blob); in vk_pipeline_cache_add_object()
433 if (object->ops->serialize(object, &blob) && !blob.out_of_memory) { in vk_pipeline_cache_add_object()
438 disk_cache_put(disk_cache, cache_key, blob.data, blob.size, NULL); in vk_pipeline_cache_add_object()
441 blob_finish(&blob); in vk_pipeline_cache_add_object()
487 struct blob_reader blob; in vk_pipeline_cache_lookup_nir() local
488 blob_reader_init(&blob, data_obj->data, data_obj->data_size); in vk_pipeline_cache_lookup_nir()
490 nir_shader *nir = nir_deserialize(mem_ctx, nir_options, &blob); in vk_pipeline_cache_lookup_nir()
493 if (blob.overrun) { in vk_pipeline_cache_lookup_nir()
506 struct blob blob; in vk_pipeline_cache_add_nir() local
507 blob_init(&blob); in vk_pipeline_cache_add_nir()
509 nir_serialize(&blob, nir, false); in vk_pipeline_cache_add_nir()
510 if (blob.out_of_memory) { in vk_pipeline_cache_add_nir()
512 blob_finish(&blob); in vk_pipeline_cache_add_nir()
519 blob.data, blob.size); in vk_pipeline_cache_add_nir()
520 blob_finish(&blob); in vk_pipeline_cache_add_nir()
562 struct blob_reader blob; in vk_pipeline_cache_load() local
563 blob_reader_init(&blob, data, size); in vk_pipeline_cache_load()
566 blob_copy_bytes(&blob, &header, sizeof(header)); in vk_pipeline_cache_load()
567 uint32_t count = blob_read_uint32(&blob); in vk_pipeline_cache_load()
568 if (blob.overrun) in vk_pipeline_cache_load()
575 int32_t type = blob_read_uint32(&blob); in vk_pipeline_cache_load()
576 uint32_t key_size = blob_read_uint32(&blob); in vk_pipeline_cache_load()
577 uint32_t data_size = blob_read_uint32(&blob); in vk_pipeline_cache_load()
578 const void *key_data = blob_read_bytes(&blob, key_size); in vk_pipeline_cache_load()
579 blob_reader_align(&blob, VK_PIPELINE_CACHE_BLOB_ALIGN); in vk_pipeline_cache_load()
580 const void *data = blob_read_bytes(&blob, data_size); in vk_pipeline_cache_load()
581 if (blob.overrun) in vk_pipeline_cache_load()
718 struct blob blob; in vk_common_GetPipelineCacheData() local
720 blob_init_fixed(&blob, pData, *pDataSize); in vk_common_GetPipelineCacheData()
722 blob_init_fixed(&blob, NULL, SIZE_MAX); in vk_common_GetPipelineCacheData()
725 blob_write_bytes(&blob, &cache->header, sizeof(cache->header)); in vk_common_GetPipelineCacheData()
728 intptr_t count_offset = blob_reserve_uint32(&blob); in vk_common_GetPipelineCacheData()
731 blob_finish(&blob); in vk_common_GetPipelineCacheData()
745 size_t blob_size_save = blob.size; in vk_common_GetPipelineCacheData()
748 blob_write_uint32(&blob, type); in vk_common_GetPipelineCacheData()
749 blob_write_uint32(&blob, object->key_size); in vk_common_GetPipelineCacheData()
750 intptr_t data_size_resv = blob_reserve_uint32(&blob); in vk_common_GetPipelineCacheData()
751 blob_write_bytes(&blob, object->key_data, object->key_size); in vk_common_GetPipelineCacheData()
753 if (!blob_align(&blob, VK_PIPELINE_CACHE_BLOB_ALIGN)) { in vk_common_GetPipelineCacheData()
760 &blob, &data_size)) { in vk_common_GetPipelineCacheData()
761 blob.size = blob_size_save; in vk_common_GetPipelineCacheData()
762 if (blob.out_of_memory) { in vk_common_GetPipelineCacheData()
772 assert(!blob.out_of_memory); in vk_common_GetPipelineCacheData()
775 blob_overwrite_uint32(&blob, data_size_resv, data_size); in vk_common_GetPipelineCacheData()
783 blob_overwrite_uint32(&blob, count_offset, count); in vk_common_GetPipelineCacheData()
785 *pDataSize = blob.size; in vk_common_GetPipelineCacheData()
787 blob_finish(&blob); in vk_common_GetPipelineCacheData()
833 /* Even though dst has the object, it only has the blob version in vk_common_MergePipelineCaches()