ir3: add mergedregs to ir3_compiler

Storing it only in ir3_shader is sometimes inconvenient because it's not
available everywhere.

Signed-off-by: Job Noorman <job@noorman.info>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34108>
This commit is contained in:
Job Noorman 2025-05-09 11:26:05 +02:00 committed by Marge Bot
parent 0977863a8e
commit 12fadd27d3
3 changed files with 5 additions and 1 deletions

View file

@ -239,6 +239,7 @@ ir3_compiler_create(struct fd_device *dev, const struct fd_dev_id *dev_id,
compiler->reading_shading_rate_requires_smask_quirk =
dev_info->a7xx.reading_shading_rate_requires_smask_quirk;
compiler->has_alias_rt = dev_info->a7xx.has_alias_rt;
compiler->mergedregs = true;
if (compiler->gen >= 7) {
compiler->has_alias_tex = true;

View file

@ -110,6 +110,9 @@ struct ir3_compiler {
/* on a650, vertex shader <-> tess control io uses LDL/STL */
bool tess_use_shared;
/* Whether full and half regs are merged. */
bool mergedregs;
/* The maximum number of constants, in vec4's, across the entire graphics
* pipeline.
*/

View file

@ -511,7 +511,7 @@ alloc_variant(struct ir3_shader *shader, const struct ir3_shader_key *key,
v->key = *key;
v->type = shader->type;
v->compiler = shader->compiler;
v->mergedregs = shader->compiler->gen >= 6;
v->mergedregs = shader->compiler->mergedregs;
v->stream_output = shader->stream_output;
v->name = ralloc_strdup(v, shader->nir->info.name);