• Home
  • Raw
  • Download

Lines Matching full:blob

26 #include "util/blob.h"
101 struct blob blob; in v3dv_pipeline_cache_upload_nir() local
102 blob_init(&blob); in v3dv_pipeline_cache_upload_nir()
104 nir_serialize(&blob, nir, false); in v3dv_pipeline_cache_upload_nir()
105 if (blob.out_of_memory) { in v3dv_pipeline_cache_upload_nir()
106 blob_finish(&blob); in v3dv_pipeline_cache_upload_nir()
117 blob_finish(&blob); in v3dv_pipeline_cache_upload_nir()
123 ralloc_size(cache->nir_cache, sizeof(*snir) + blob.size); in v3dv_pipeline_cache_upload_nir()
125 snir->size = blob.size; in v3dv_pipeline_cache_upload_nir()
126 memcpy(snir->data, blob.data, blob.size); in v3dv_pipeline_cache_upload_nir()
128 blob_finish(&blob); in v3dv_pipeline_cache_upload_nir()
170 struct blob_reader blob; in v3dv_pipeline_cache_search_for_nir() local
171 blob_reader_init(&blob, snir->data, snir->size); in v3dv_pipeline_cache_search_for_nir()
177 nir_shader *nir = nir_deserialize(NULL, nir_options, &blob); in v3dv_pipeline_cache_search_for_nir()
178 if (blob.overrun) { in v3dv_pipeline_cache_search_for_nir()
234 struct blob_reader *blob);
243 struct blob *blob);
323 struct blob_reader blob; in v3dv_pipeline_cache_search_for_pipeline() local
326 blob_reader_init(&blob, buffer, buffer_size); in v3dv_pipeline_cache_search_for_pipeline()
327 shared_data = v3dv_pipeline_shared_data_create_from_blob(cache, &blob); in v3dv_pipeline_cache_search_for_pipeline()
477 struct blob binary; in pipeline_cache_upload_shared_data()
506 struct blob_reader *blob) in serialized_nir_create_from_blob() argument
508 const unsigned char *sha1_key = blob_read_bytes(blob, 20); in serialized_nir_create_from_blob()
509 uint32_t snir_size = blob_read_uint32(blob); in serialized_nir_create_from_blob()
510 const char* snir_data = blob_read_bytes(blob, snir_size); in serialized_nir_create_from_blob()
511 if (blob->overrun) in serialized_nir_create_from_blob()
525 struct blob_reader *blob) in shader_variant_create_from_blob() argument
529 enum broadcom_shader_stage stage = blob_read_uint32(blob); in shader_variant_create_from_blob()
531 uint32_t prog_data_size = blob_read_uint32(blob); in shader_variant_create_from_blob()
535 const void *prog_data = blob_read_bytes(blob, prog_data_size); in shader_variant_create_from_blob()
536 if (blob->overrun) in shader_variant_create_from_blob()
539 uint32_t ulist_count = blob_read_uint32(blob); in shader_variant_create_from_blob()
541 const void *contents_data = blob_read_bytes(blob, contents_size); in shader_variant_create_from_blob()
542 if (blob->overrun) in shader_variant_create_from_blob()
546 const void *ulist_data_data = blob_read_bytes(blob, ulist_data_size); in shader_variant_create_from_blob()
547 if (blob->overrun) in shader_variant_create_from_blob()
550 uint32_t assembly_offset = blob_read_uint32(blob); in shader_variant_create_from_blob()
551 uint32_t qpu_insts_size = blob_read_uint32(blob); in shader_variant_create_from_blob()
556 * from the blob in shader_variant_create_from_blob()
576 struct blob_reader *blob) in v3dv_pipeline_shared_data_create_from_blob() argument
578 const unsigned char *sha1_key = blob_read_bytes(blob, 20); in v3dv_pipeline_shared_data_create_from_blob()
583 uint8_t descriptor_maps_count = blob_read_uint8(blob); in v3dv_pipeline_shared_data_create_from_blob()
585 uint8_t stage = blob_read_uint8(blob); in v3dv_pipeline_shared_data_create_from_blob()
588 blob_read_bytes(blob, sizeof(struct v3dv_descriptor_maps)); in v3dv_pipeline_shared_data_create_from_blob()
590 if (blob->overrun) in v3dv_pipeline_shared_data_create_from_blob()
608 uint8_t variant_count = blob_read_uint8(blob); in v3dv_pipeline_shared_data_create_from_blob()
611 uint8_t stage = blob_read_uint8(blob); in v3dv_pipeline_shared_data_create_from_blob()
613 shader_variant_create_from_blob(cache->device, blob); in v3dv_pipeline_shared_data_create_from_blob()
617 uint32_t total_assembly_size = blob_read_uint32(blob); in v3dv_pipeline_shared_data_create_from_blob()
619 blob_read_bytes(blob, total_assembly_size); in v3dv_pipeline_shared_data_create_from_blob()
621 if (blob->overrun) in v3dv_pipeline_shared_data_create_from_blob()
655 struct blob_reader blob; in pipeline_cache_load() local
656 blob_reader_init(&blob, data, size); in pipeline_cache_load()
658 blob_copy_bytes(&blob, &header, sizeof(header)); in pipeline_cache_load()
673 uint32_t nir_count = blob_read_uint32(&blob); in pipeline_cache_load()
674 if (blob.overrun) in pipeline_cache_load()
679 serialized_nir_create_from_blob(cache, &blob); in pipeline_cache_load()
688 uint32_t count = blob_read_uint32(&blob); in pipeline_cache_load()
689 if (blob.overrun) in pipeline_cache_load()
694 v3dv_pipeline_shared_data_create_from_blob(cache, &blob); in pipeline_cache_load()
862 struct blob *blob) in shader_variant_write_to_blob() argument
864 blob_write_uint32(blob, variant->stage); in shader_variant_write_to_blob()
866 blob_write_uint32(blob, variant->prog_data_size); in shader_variant_write_to_blob()
867 blob_write_bytes(blob, variant->prog_data.base, variant->prog_data_size); in shader_variant_write_to_blob()
870 blob_write_uint32(blob, ulist->count); in shader_variant_write_to_blob()
871 blob_write_bytes(blob, ulist->contents, sizeof(enum quniform_contents) * ulist->count); in shader_variant_write_to_blob()
872 blob_write_bytes(blob, ulist->data, sizeof(uint32_t) * ulist->count); in shader_variant_write_to_blob()
874 blob_write_uint32(blob, variant->assembly_offset); in shader_variant_write_to_blob()
875 blob_write_uint32(blob, variant->qpu_insts_size); in shader_variant_write_to_blob()
877 return !blob->out_of_memory; in shader_variant_write_to_blob()
882 struct blob *blob) in v3dv_pipeline_shared_data_write_to_blob() argument
884 blob_write_bytes(blob, cache_entry->sha1_key, 20); in v3dv_pipeline_shared_data_write_to_blob()
901 blob_write_uint8(blob, descriptor_maps_count); in v3dv_pipeline_shared_data_write_to_blob()
909 blob_write_uint8(blob, stage); in v3dv_pipeline_shared_data_write_to_blob()
910 blob_write_bytes(blob, cache_entry->maps[stage], in v3dv_pipeline_shared_data_write_to_blob()
926 blob_write_uint8(blob, variant_count); in v3dv_pipeline_shared_data_write_to_blob()
933 blob_write_uint8(blob, stage); in v3dv_pipeline_shared_data_write_to_blob()
934 if (!shader_variant_write_to_blob(cache_entry->variants[stage], blob)) in v3dv_pipeline_shared_data_write_to_blob()
939 blob_write_uint32(blob, total_assembly_size); in v3dv_pipeline_shared_data_write_to_blob()
943 blob_write_bytes(blob, cache_entry->assembly_bo->map, total_assembly_size); in v3dv_pipeline_shared_data_write_to_blob()
945 return !blob->out_of_memory; in v3dv_pipeline_shared_data_write_to_blob()
958 struct blob blob; in v3dv_GetPipelineCacheData() local
960 blob_init_fixed(&blob, pData, *pDataSize); in v3dv_GetPipelineCacheData()
962 blob_init_fixed(&blob, NULL, SIZE_MAX); in v3dv_GetPipelineCacheData()
977 blob_write_bytes(&blob, &header, sizeof(header)); in v3dv_GetPipelineCacheData()
980 intptr_t nir_count_offset = blob_reserve_uint32(&blob); in v3dv_GetPipelineCacheData()
990 size_t save_size = blob.size; in v3dv_GetPipelineCacheData()
992 blob_write_bytes(&blob, snir->sha1_key, 20); in v3dv_GetPipelineCacheData()
993 blob_write_uint32(&blob, snir->size); in v3dv_GetPipelineCacheData()
994 blob_write_bytes(&blob, snir->data, snir->size); in v3dv_GetPipelineCacheData()
996 if (blob.out_of_memory) { in v3dv_GetPipelineCacheData()
997 blob.size = save_size; in v3dv_GetPipelineCacheData()
1004 blob_overwrite_uint32(&blob, nir_count_offset, nir_count); in v3dv_GetPipelineCacheData()
1007 intptr_t count_offset = blob_reserve_uint32(&blob); in v3dv_GetPipelineCacheData()
1017 size_t save_size = blob.size; in v3dv_GetPipelineCacheData()
1018 if (!v3dv_pipeline_shared_data_write_to_blob(cache_entry, &blob)) { in v3dv_GetPipelineCacheData()
1020 blob.size = save_size; in v3dv_GetPipelineCacheData()
1028 blob_overwrite_uint32(&blob, count_offset, count); in v3dv_GetPipelineCacheData()
1030 *pDataSize = blob.size; in v3dv_GetPipelineCacheData()
1043 blob_finish(&blob); in v3dv_GetPipelineCacheData()