Home | History | Annotate | Download | only in nir

Lines Matching defs:blob

37    struct blob *blob;
54 struct blob_reader *blob;
88 blob_write_intptr(ctx->blob, write_lookup_object(ctx, obj));
108 return read_lookup_object(ctx, blob_read_intptr(ctx->blob));
114 blob_write_bytes(ctx->blob, c->values, sizeof(c->values));
115 blob_write_uint32(ctx->blob, c->num_elements);
125 blob_copy_bytes(ctx->blob, (uint8_t *)c->values, sizeof(c->values));
126 c->num_elements = blob_read_uint32(ctx->blob);
138 encode_type_to_blob(ctx->blob, var->type);
139 blob_write_uint32(ctx->blob, !!(var->name));
140 blob_write_string(ctx->blob, var->name);
141 blob_write_bytes(ctx->blob, (uint8_t *) &var->data, sizeof(var->data));
142 blob_write_uint32(ctx->blob, var->num_state_slots);
143 blob_write_bytes(ctx->blob, (uint8_t *) var->state_slots,
145 blob_write_uint32(ctx->blob, !!(var->constant_initializer));
148 blob_write_uint32(ctx->blob, !!(var->interface_type));
150 encode_type_to_blob(ctx->blob, var->interface_type);
159 var->type = decode_type_from_blob(ctx->blob);
160 bool has_name = blob_read_uint32(ctx->blob);
162 const char *name = blob_read_string(ctx->blob);
167 blob_copy_bytes(ctx->blob, (uint8_t *) &var->data, sizeof(var->data));
168 var->num_state_slots = blob_read_uint32(ctx->blob);
170 blob_copy_bytes(ctx->blob, (uint8_t *) var->state_slots,
172 bool has_const_initializer = blob_read_uint32(ctx->blob);
177 bool has_interface_type = blob_read_uint32(ctx->blob);
179 var->interface_type = decode_type_from_blob(ctx->blob);
189 blob_write_uint32(ctx->blob, exec_list_length(src));
199 unsigned num_vars = blob_read_uint32(ctx->blob);
210 blob_write_uint32(ctx->blob, reg->num_components);
211 blob_write_uint32(ctx->blob, reg->bit_size);
212 blob_write_uint32(ctx->blob, reg->num_array_elems);
213 blob_write_uint32(ctx->blob, reg->index);
214 blob_write_uint32(ctx->blob, !!(reg->name));
216 blob_write_string(ctx->blob, reg->name);
217 blob_write_uint32(ctx->blob, reg->is_global << 1 | reg->is_packed);
225 reg->num_components = blob_read_uint32(ctx->blob);
226 reg->bit_size = blob_read_uint32(ctx->blob);
227 reg->num_array_elems = blob_read_uint32(ctx->blob);
228 reg->index = blob_read_uint32(ctx->blob);
229 bool has_name = blob_read_uint32(ctx->blob);
231 const char *name = blob_read_string(ctx->blob);
236 unsigned flags = blob_read_uint32(ctx->blob);
250 blob_write_uint32(ctx->blob, exec_list_length(src));
259 unsigned num_regs = blob_read_uint32(ctx->blob);
278 blob_write_intptr(ctx->blob, idx);
283 blob_write_intptr(ctx->blob, idx);
284 blob_write_uint32(ctx->blob, src->reg.base_offset);
294 uintptr_t val = blob_read_intptr(ctx->blob);
302 src->reg.base_offset = blob_read_uint32(ctx->blob);
323 blob_write_uint32(ctx->blob, val);
327 blob_write_string(ctx->blob, dst->ssa.name);
329 blob_write_intptr(ctx->blob, write_lookup_object(ctx, dst->reg.reg));
330 blob_write_uint32(ctx->blob, dst->reg.base_offset);
339 uint32_t val = blob_read_uint32(ctx->blob);
345 char *name = has_name ? blob_read_string(ctx->blob) : NULL;
351 dst->reg.base_offset = blob_read_uint32(ctx->blob);
367 blob_write_uint32(ctx->blob, len);
370 blob_write_uint32(ctx->blob, d->deref_type);
374 blob_write_uint32(ctx->blob, deref_array->deref_array_type);
375 blob_write_uint32(ctx->blob, deref_array->base_offset);
382 blob_write_uint32(ctx->blob, deref_struct->index);
389 encode_type_to_blob(ctx->blob, d->type);
399 uint32_t len = blob_read_uint32(ctx->blob);
403 nir_deref_type deref_type = blob_read_uint32(ctx->blob);
408 deref_array->deref_array_type = blob_read_uint32(ctx->blob);
409 deref_array->base_offset = blob_read_uint32(ctx->blob);
416 uint32_t index = blob_read_uint32(ctx->blob);
425 deref->type = decode_type_from_blob(ctx->blob);
437 blob_write_uint32(ctx->blob, alu->op);
441 blob_write_uint32(ctx->blob, flags);
451 blob_write_uint32(ctx->blob, flags);
458 nir_op op = blob_read_uint32(ctx->blob);
461 uint32_t flags = blob_read_uint32(ctx->blob);
470 flags = blob_read_uint32(ctx->blob);
483 blob_write_uint32(ctx->blob, intrin->intrinsic);
489 blob_write_uint32(ctx->blob, intrin->num_components);
501 blob_write_uint32(ctx->blob, intrin->const_index[i]);
507 nir_intrinsic_op op = blob_read_uint32(ctx->blob);
515 intrin->num_components = blob_read_uint32(ctx->blob);
527 intrin->const_index[i] = blob_read_uint32(ctx->blob);
537 blob_write_uint32(ctx->blob, val);
538 blob_write_bytes(ctx->blob, (uint8_t *) &lc->value, sizeof(lc->value));
545 uint32_t val = blob_read_uint32(ctx->blob);
550 blob_copy_bytes(ctx->blob, (uint8_t *) &lc->value, sizeof(lc->value));
560 blob_write_uint32(ctx->blob, val);
567 uint32_t val = blob_read_uint32(ctx->blob);
595 blob_write_uint32(ctx->blob, tex->num_srcs);
596 blob_write_uint32(ctx->blob, tex->op);
597 blob_write_uint32(ctx->blob, tex->texture_index);
598 blob_write_uint32(ctx->blob, tex->texture_array_size);
599 blob_write_uint32(ctx->blob, tex->sampler_index);
613 blob_write_uint32(ctx->blob, packed.u32);
617 blob_write_uint32(ctx->blob, tex->src[i].src_type);
630 unsigned num_srcs = blob_read_uint32(ctx->blob);
633 tex->op = blob_read_uint32(ctx->blob);
634 tex->texture_index = blob_read_uint32(ctx->blob);
635 tex->texture_array_size = blob_read_uint32(ctx->blob);
636 tex->sampler_index = blob_read_uint32(ctx->blob);
639 packed.u32 = blob_read_uint32(ctx->blob);
650 tex->src[i].src_type = blob_read_uint32(ctx->blob);
672 blob_write_uint32(ctx->blob, exec_list_length(&phi->srcs));
676 size_t blob_offset = blob_reserve_intptr(ctx->blob);
677 MAYBE_UNUSED size_t blob_offset2 = blob_reserve_intptr(ctx->blob);
692 uintptr_t *blob_ptr = (uintptr_t *)(ctx->blob->data + fixup->blob_offset);
707 unsigned num_srcs = blob_read_uint32(ctx->blob);
713 * from the blob for now) don't get inserted into the old shader's use-def
723 src->src.ssa = (nir_ssa_def *) blob_read_intptr(ctx->blob);
724 src->pred = (nir_block *) blob_read_intptr(ctx->blob);
761 blob_write_uint32(ctx->blob, jmp->type);
767 nir_jump_type type = blob_read_uint32(ctx->blob);
775 blob_write_intptr(ctx->blob, write_lookup_object(ctx, call->callee));
800 blob_write_uint32(ctx->blob, instr->type);
836 nir_instr_type type = blob_read_uint32(ctx->blob);
881 blob_write_uint32(ctx->blob, exec_list_length(&block->instr_list));
897 unsigned num_instrs = blob_read_uint32(ctx->blob);
950 blob_write_uint32(ctx->blob, cf->type);
970 nir_cf_node_type type = blob_read_uint32(ctx->blob);
990 blob_write_uint32(ctx->blob, exec_list_length(cf_list));
999 uint32_t num_cf_nodes = blob_read_uint32(ctx->blob);
1009 blob_write_uint32(ctx->blob, fi->reg_alloc);
1011 blob_write_uint32(ctx->blob, fi->num_params);
1016 blob_write_uint32(ctx->blob, !!(fi->return_var));
1032 fi->reg_alloc = blob_read_uint32(ctx->blob);
1034 fi->num_params = blob_read_uint32(ctx->blob);
1039 bool has_return = blob_read_uint32(ctx->blob);
1056 blob_write_uint32(ctx->blob, !!(fxn->name));
1058 blob_write_string(ctx->blob, fxn->name);
1062 blob_write_uint32(ctx->blob, fxn->num_params);
1064 blob_write_uint32(ctx->blob, fxn->params[i].param_type);
1065 encode_type_to_blob(ctx->blob, fxn->params[i].type);
1068 encode_type_to_blob(ctx->blob, fxn->return_type);
1080 bool has_name = blob_read_uint32(ctx->blob);
1081 char *name = has_name ? blob_read_string(ctx->blob) : NULL;
1087 fxn->num_params = blob_read_uint32(ctx->blob);
1089 fxn->params[i].param_type = blob_read_uint32(ctx->blob);
1090 fxn->params[i].type = decode_type_from_blob(ctx->blob);
1093 fxn->return_type = decode_type_from_blob(ctx->blob);
1097 nir_serialize(struct blob *blob, const nir_shader *nir)
1103 ctx.blob = blob;
1107 size_t idx_size_offset = blob_reserve_intptr(blob);
1115 blob_write_uint32(blob, strings);
1117 blob_write_string(blob, info.name);
1119 blob_write_string(blob, info.label);
1121 blob_write_bytes(blob, (uint8_t *) &info, sizeof(info));
1131 blob_write_uint32(blob, nir->reg_alloc);
1132 blob_write_uint32(blob, nir->num_inputs);
1133 blob_write_uint32(blob, nir->num_uniforms);
1134 blob_write_uint32(blob, nir->num_outputs);
1135 blob_write_uint32(blob, nir->num_shared);
1137 blob_write_uint32(blob, exec_list_length(&nir->functions));
1146 *(uintptr_t *)(blob->data + idx_size_offset) = ctx.next_idx;
1155 struct blob_reader *blob)
1158 ctx.blob = blob;
1160 ctx.idx_table_len = blob_read_intptr(blob);
1164 uint32_t strings = blob_read_uint32(blob);
1165 char *name = (strings & 0x1) ? blob_read_string(blob) : NULL;
1166 char *label = (strings & 0x2) ? blob_read_string(blob) : NULL;
1169 blob_copy_bytes(blob, (uint8_t *) &info, sizeof(info));
1186 ctx.nir->reg_alloc = blob_read_uint32(blob);
1187 ctx.nir->num_inputs = blob_read_uint32(blob);
1188 ctx.nir->num_uniforms = blob_read_uint32(blob);
1189 ctx.nir->num_outputs = blob_read_uint32(blob);
1190 ctx.nir->num_shared = blob_read_uint32(blob);
1192 unsigned num_functions = blob_read_uint32(blob);
1209 struct blob writer;