Lines Matching defs:reg
444 write_register(write_ctx *ctx, const nir_register *reg)
446 write_add_object(ctx, reg);
447 blob_write_uint32(ctx->blob, reg->num_components);
448 blob_write_uint32(ctx->blob, reg->bit_size);
449 blob_write_uint32(ctx->blob, reg->num_array_elems);
450 blob_write_uint32(ctx->blob, reg->index);
451 blob_write_uint8(ctx->blob, reg->divergent);
457 nir_register *reg = ralloc(ctx->nir, nir_register);
458 read_add_object(ctx, reg);
459 reg->num_components = blob_read_uint32(ctx->blob);
460 reg->bit_size = blob_read_uint32(ctx->blob);
461 reg->num_array_elems = blob_read_uint32(ctx->blob);
462 reg->index = blob_read_uint32(ctx->blob);
463 reg->divergent = blob_read_uint8(ctx->blob);
465 list_inithead(®->uses);
466 list_inithead(®->defs);
467 list_inithead(®->if_uses);
469 return reg;
476 foreach_list_typed(nir_register, reg, node, src)
477 write_register(ctx, reg);
486 nir_register *reg = read_register(ctx);
487 exec_list_push_tail(dst, ®->node);
529 header.any.object_idx = write_lookup_object(ctx, src->reg.reg);
530 header.any.is_indirect = !!src->reg.indirect;
532 blob_write_uint32(ctx->blob, src->reg.base_offset);
533 if (src->reg.indirect) {
535 write_src_full(ctx, src->reg.indirect, header);
558 src->reg.reg = read_lookup_object(ctx, header.any.object_idx);
559 src->reg.base_offset = blob_read_uint32(ctx->blob);
561 src->reg.indirect = malloc(sizeof(nir_src));
562 read_src(ctx, src->reg.indirect, mem_ctx);
564 src->reg.indirect = NULL;
582 } reg;
704 dest.reg.is_indirect = !!(dst->reg.indirect);
754 blob_write_uint32(ctx->blob, write_lookup_object(ctx, dst->reg.reg));
755 blob_write_uint32(ctx->blob, dst->reg.base_offset);
756 if (dst->reg.indirect)
757 write_src(ctx, dst->reg.indirect);
779 dst->reg.reg = read_object(ctx);
780 dst->reg.base_offset = blob_read_uint32(ctx->blob);
781 if (dest.reg.is_indirect) {
782 dst->reg.indirect = malloc(sizeof(nir_src));
783 read_src(ctx, dst->reg.indirect, instr);