ir3/collect_info: remove max_const calculation

constlen is now directly calculated from the const allocations; no need
to infer it from const reg usage anymore.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40929>
This commit is contained in:
Job Noorman 2026-04-13 16:47:01 +02:00 committed by Marge Bot
parent c7e7d68912
commit 4e456ebde4
3 changed files with 2 additions and 11 deletions

View file

@ -72,15 +72,11 @@ collect_reg_info(struct ir3_shader_variant *v,
struct ir3_instruction *instr, struct ir3_register *reg,
struct ir3_info *info)
{
if (reg->flags & IR3_REG_IMMED) {
if (reg->flags & (IR3_REG_IMMED | IR3_REG_CONST)) {
/* nothing to do */
return;
}
/* Shared consts don't need to be included into constlen. */
if (is_shared_consts(v->compiler, ir3_const_state(v), reg))
return;
unsigned components;
int16_t max;
@ -92,9 +88,7 @@ collect_reg_info(struct ir3_shader_variant *v,
max = (reg->num + components - 1);
}
if (reg->flags & IR3_REG_CONST) {
info->max_const = MAX2(info->max_const, max >> 2);
} else if (max < regid(48, 0)) {
if (max < regid(48, 0)) {
if (reg->flags & IR3_REG_HALF) {
if (v->mergedregs) {
/* starting w/ a6xx, half regs conflict with full regs: */
@ -329,7 +323,6 @@ ir3_collect_info(struct ir3_shader_variant *v)
memset(info, 0, sizeof(*info));
info->max_reg = -1;
info->max_half_reg = -1;
info->max_const = -1;
info->multi_dword_ldp_stp = false;
uint32_t instr_count = 0;

View file

@ -51,7 +51,6 @@ struct ir3_info {
*/
int8_t max_reg; /* highest GPR # used by shader */
int8_t max_half_reg;
int16_t max_const;
unsigned constlen;
/* This is the maximum # of waves that can executed at once in one core,
* assuming that they are all executing this shader.

View file

@ -1584,7 +1584,6 @@ fd6_program_create(void *data, const struct ir3_shader_variant *bs,
.info = {
.max_reg = -1,
.max_half_reg = -1,
.max_const = -1,
},
};
/* The last geometry stage in use: */