• Home
  • Raw
  • Download

Lines Matching refs:blob

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);
322 struct blob_reader blob; in v3dv_pipeline_cache_search_for_pipeline() local
325 blob_reader_init(&blob, buffer, buffer_size); in v3dv_pipeline_cache_search_for_pipeline()
326 shared_data = v3dv_pipeline_shared_data_create_from_blob(cache, &blob); in v3dv_pipeline_cache_search_for_pipeline()
476 struct blob binary; in pipeline_cache_upload_shared_data()
505 struct blob_reader *blob) in serialized_nir_create_from_blob() argument
507 const unsigned char *sha1_key = blob_read_bytes(blob, 20); in serialized_nir_create_from_blob()
508 uint32_t snir_size = blob_read_uint32(blob); in serialized_nir_create_from_blob()
509 const char* snir_data = blob_read_bytes(blob, snir_size); in serialized_nir_create_from_blob()
510 if (blob->overrun) in serialized_nir_create_from_blob()
524 struct blob_reader *blob) in shader_variant_create_from_blob() argument
528 enum broadcom_shader_stage stage = blob_read_uint32(blob); in shader_variant_create_from_blob()
530 uint32_t prog_data_size = blob_read_uint32(blob); in shader_variant_create_from_blob()
534 const void *prog_data = blob_read_bytes(blob, prog_data_size); in shader_variant_create_from_blob()
535 if (blob->overrun) in shader_variant_create_from_blob()
538 uint32_t ulist_count = blob_read_uint32(blob); in shader_variant_create_from_blob()
540 const void *contents_data = blob_read_bytes(blob, contents_size); in shader_variant_create_from_blob()
541 if (blob->overrun) in shader_variant_create_from_blob()
545 const void *ulist_data_data = blob_read_bytes(blob, ulist_data_size); in shader_variant_create_from_blob()
546 if (blob->overrun) in shader_variant_create_from_blob()
549 uint32_t assembly_offset = blob_read_uint32(blob); in shader_variant_create_from_blob()
550 uint32_t qpu_insts_size = blob_read_uint32(blob); in shader_variant_create_from_blob()
575 struct blob_reader *blob) in v3dv_pipeline_shared_data_create_from_blob() argument
577 const unsigned char *sha1_key = blob_read_bytes(blob, 20); in v3dv_pipeline_shared_data_create_from_blob()
582 uint8_t descriptor_maps_count = blob_read_uint8(blob); in v3dv_pipeline_shared_data_create_from_blob()
584 uint8_t stage = blob_read_uint8(blob); in v3dv_pipeline_shared_data_create_from_blob()
587 blob_read_bytes(blob, sizeof(struct v3dv_descriptor_maps)); in v3dv_pipeline_shared_data_create_from_blob()
589 if (blob->overrun) in v3dv_pipeline_shared_data_create_from_blob()
607 uint8_t variant_count = blob_read_uint8(blob); in v3dv_pipeline_shared_data_create_from_blob()
610 uint8_t stage = blob_read_uint8(blob); in v3dv_pipeline_shared_data_create_from_blob()
612 shader_variant_create_from_blob(cache->device, blob); in v3dv_pipeline_shared_data_create_from_blob()
616 uint32_t total_assembly_size = blob_read_uint32(blob); in v3dv_pipeline_shared_data_create_from_blob()
618 blob_read_bytes(blob, total_assembly_size); in v3dv_pipeline_shared_data_create_from_blob()
620 if (blob->overrun) in v3dv_pipeline_shared_data_create_from_blob()
654 struct blob_reader blob; in pipeline_cache_load() local
655 blob_reader_init(&blob, data, size); in pipeline_cache_load()
657 blob_copy_bytes(&blob, &header, sizeof(header)); in pipeline_cache_load()
672 uint32_t nir_count = blob_read_uint32(&blob); in pipeline_cache_load()
673 if (blob.overrun) in pipeline_cache_load()
678 serialized_nir_create_from_blob(cache, &blob); in pipeline_cache_load()
687 uint32_t count = blob_read_uint32(&blob); in pipeline_cache_load()
688 if (blob.overrun) in pipeline_cache_load()
693 v3dv_pipeline_shared_data_create_from_blob(cache, &blob); in pipeline_cache_load()
861 struct blob *blob) in shader_variant_write_to_blob() argument
863 blob_write_uint32(blob, variant->stage); in shader_variant_write_to_blob()
865 blob_write_uint32(blob, variant->prog_data_size); in shader_variant_write_to_blob()
866 blob_write_bytes(blob, variant->prog_data.base, variant->prog_data_size); in shader_variant_write_to_blob()
869 blob_write_uint32(blob, ulist->count); in shader_variant_write_to_blob()
870 blob_write_bytes(blob, ulist->contents, sizeof(enum quniform_contents) * ulist->count); in shader_variant_write_to_blob()
871 blob_write_bytes(blob, ulist->data, sizeof(uint32_t) * ulist->count); in shader_variant_write_to_blob()
873 blob_write_uint32(blob, variant->assembly_offset); in shader_variant_write_to_blob()
874 blob_write_uint32(blob, variant->qpu_insts_size); in shader_variant_write_to_blob()
876 return !blob->out_of_memory; in shader_variant_write_to_blob()
881 struct blob *blob) in v3dv_pipeline_shared_data_write_to_blob() argument
883 blob_write_bytes(blob, cache_entry->sha1_key, 20); in v3dv_pipeline_shared_data_write_to_blob()
900 blob_write_uint8(blob, descriptor_maps_count); in v3dv_pipeline_shared_data_write_to_blob()
908 blob_write_uint8(blob, stage); in v3dv_pipeline_shared_data_write_to_blob()
909 blob_write_bytes(blob, cache_entry->maps[stage], in v3dv_pipeline_shared_data_write_to_blob()
925 blob_write_uint8(blob, variant_count); in v3dv_pipeline_shared_data_write_to_blob()
932 blob_write_uint8(blob, stage); in v3dv_pipeline_shared_data_write_to_blob()
933 if (!shader_variant_write_to_blob(cache_entry->variants[stage], blob)) in v3dv_pipeline_shared_data_write_to_blob()
938 blob_write_uint32(blob, total_assembly_size); in v3dv_pipeline_shared_data_write_to_blob()
942 blob_write_bytes(blob, cache_entry->assembly_bo->map, total_assembly_size); in v3dv_pipeline_shared_data_write_to_blob()
944 return !blob->out_of_memory; in v3dv_pipeline_shared_data_write_to_blob()
957 struct blob blob; in v3dv_GetPipelineCacheData() local
959 blob_init_fixed(&blob, pData, *pDataSize); in v3dv_GetPipelineCacheData()
961 blob_init_fixed(&blob, NULL, SIZE_MAX); in v3dv_GetPipelineCacheData()
976 blob_write_bytes(&blob, &header, sizeof(header)); in v3dv_GetPipelineCacheData()
979 intptr_t nir_count_offset = blob_reserve_uint32(&blob); in v3dv_GetPipelineCacheData()
989 size_t save_size = blob.size; in v3dv_GetPipelineCacheData()
991 blob_write_bytes(&blob, snir->sha1_key, 20); in v3dv_GetPipelineCacheData()
992 blob_write_uint32(&blob, snir->size); in v3dv_GetPipelineCacheData()
993 blob_write_bytes(&blob, snir->data, snir->size); in v3dv_GetPipelineCacheData()
995 if (blob.out_of_memory) { in v3dv_GetPipelineCacheData()
996 blob.size = save_size; in v3dv_GetPipelineCacheData()
1003 blob_overwrite_uint32(&blob, nir_count_offset, nir_count); in v3dv_GetPipelineCacheData()
1006 intptr_t count_offset = blob_reserve_uint32(&blob); in v3dv_GetPipelineCacheData()
1016 size_t save_size = blob.size; in v3dv_GetPipelineCacheData()
1017 if (!v3dv_pipeline_shared_data_write_to_blob(cache_entry, &blob)) { in v3dv_GetPipelineCacheData()
1019 blob.size = save_size; in v3dv_GetPipelineCacheData()
1027 blob_overwrite_uint32(&blob, count_offset, count); in v3dv_GetPipelineCacheData()
1029 *pDataSize = blob.size; in v3dv_GetPipelineCacheData()
1042 blob_finish(&blob); in v3dv_GetPipelineCacheData()