Lines Matching defs:blob
82 /* Serialize the NIR to a binary blob that we can hash for the disk
87 struct blob blob;
88 blob_init(&blob);
89 nir_serialize(&blob, shader->nir, true);
90 _mesa_sha1_update(&ctx, blob.data, blob.size);
91 blob_finish(&blob);
111 struct blob blob;
112 blob_init(&blob);
114 blob_write_bytes(&blob, &shader->cache_key, sizeof(shader->cache_key));
115 blob_write_bytes(&blob, &v->key, sizeof(v->key));
116 blob_write_uint8(&blob, v->binning_pass);
118 disk_cache_compute_key(shader->compiler->disk_cache, blob.data, blob.size,
121 blob_finish(&blob);
125 retrieve_variant(struct blob_reader *blob, struct ir3_shader_variant *v)
127 blob_copy_bytes(blob, VARIANT_CACHE_PTR(v), VARIANT_CACHE_SIZE);
134 blob_copy_bytes(blob, v->bin, v->info.size);
137 blob_copy_bytes(blob, v->const_state, sizeof(*v->const_state));
141 blob_copy_bytes(blob, v->const_state->immediates, immeds_sz);
146 store_variant(struct blob *blob, struct ir3_shader_variant *v)
148 blob_write_bytes(blob, VARIANT_CACHE_PTR(v), VARIANT_CACHE_SIZE);
154 blob_write_bytes(blob, v->bin, v->info.size);
159 blob_write_bytes(blob, v->const_state, sizeof(*v->const_state));
162 blob_write_bytes(blob, v->const_state->immediates, immeds_sz);
167 ir3_retrieve_variant(struct blob_reader *blob, struct ir3_compiler *compiler,
177 blob_copy_bytes(blob, &v->key, sizeof(v->key));
178 v->type = blob_read_uint32(blob);
179 v->mergedregs = blob_read_uint32(blob);
182 retrieve_variant(blob, v);
195 retrieve_variant(blob, v->binning);
202 ir3_store_variant(struct blob *blob, struct ir3_shader_variant *v)
204 blob_write_bytes(blob, &v->key, sizeof(v->key));
205 blob_write_uint32(blob, v->type);
206 blob_write_uint32(blob, v->mergedregs);
208 store_variant(blob, v);
211 store_variant(blob, v->binning);
241 struct blob_reader blob;
242 blob_reader_init(&blob, buffer, size);
244 retrieve_variant(&blob, v);
247 retrieve_variant(&blob, v->binning);
271 struct blob blob;
272 blob_init(&blob);
274 store_variant(&blob, v);
277 store_variant(&blob, v->binning);
279 disk_cache_put(shader->compiler->disk_cache, cache_key, blob.data, blob.size, NULL);
280 blob_finish(&blob);