Lines Matching defs:ra
63 * \param[in] mem_ctx The memory context for the ra context.
68 struct rogue_ra *ra;
71 ra = rzalloc_size(mem_ctx, sizeof(*ra));
72 if (!ra)
76 rogue_reg_data_init(ra->reg_data);
85 for (size_t u = 0; u < ARRAY_SIZE(ra->reg_data); ++u) {
86 ra->reg_data[u].offset = total_regs;
87 total_regs += ra->reg_data[u].count;
91 ra->regs = ra_alloc_reg_set(ra, total_regs, true);
92 if (!ra->regs) {
93 ralloc_free(ra);
98 ra->reg_data[ROGUE_REG_CLASS_TEMP].class =
99 ra_alloc_contig_reg_class(ra->regs, 1);
104 ra->reg_data[ROGUE_REG_CLASS_VEC4].class =
105 ra_alloc_contig_reg_class(ra->regs, 4);
108 for (size_t u = 0; u < ARRAY_SIZE(ra->reg_data); ++u) {
109 struct rogue_reg_data *reg_data = &ra->reg_data[u];
119 ra_set_finalize(ra->regs, NULL);
121 return ra;
139 * \param[in] ra The register allocation context.
142 struct rogue_ra *ra,
153 _mesa_hash_table_create(ra, _mesa_hash_uint, _mesa_key_uint_equal);
205 struct ra_graph *g = ra_alloc_interference_graph(ra->regs, max_vreg + 1);
211 struct ra_class *class = ra->reg_data[range->class].class;
267 struct rogue_reg_data *reg_data = &ra->reg_data[range->class];
297 for (size_t u = 0; u < ARRAY_SIZE(ra->reg_data); ++u)
298 if (ra->reg_data[u].num_used)
299 ++ra->reg_data[u].num_used;
303 *temps_used = ra->reg_data[ROGUE_REG_CLASS_TEMP].num_used;
306 *internals_used = ra->reg_data[ROGUE_REG_CLASS_VEC4].num_used;