Lines Matching defs:blob

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