mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 13:28:06 +02:00
radeonsi: fix uses_instanceid for merged mono shader stage
prev_shader.info.uses_instanceid is set by si_nir_lower_vs_inputs()
when attribute divisor is used.
Fixes: 894d92995c ("radeonsi: monolithic VS emit prolog in nir directly")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9042
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23119>
This commit is contained in:
parent
fae5b32981
commit
e54ef18c9a
2 changed files with 5 additions and 3 deletions
|
|
@ -2902,7 +2902,7 @@
|
|||
"description": "radeonsi: fix uses_instanceid for merged mono shader stage",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "894d92995cdcecfabf061cbacf65c194ea84338b"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1139,7 +1139,8 @@ bool si_llvm_compile_shader(struct si_screen *sscreen, struct ac_llvm_compiler *
|
|||
si_llvm_dispose(&ctx);
|
||||
return false;
|
||||
}
|
||||
shader->info.uses_instanceid |= ls->info.uses_instanceid;
|
||||
shader->info.uses_instanceid |=
|
||||
ls->info.uses_instanceid || shader_ls.info.uses_instanceid;
|
||||
parts[0] = ctx.main_fn;
|
||||
|
||||
for (int i = 0; i < ctx.args->ac.arg_count; i++)
|
||||
|
|
@ -1184,7 +1185,8 @@ bool si_llvm_compile_shader(struct si_screen *sscreen, struct ac_llvm_compiler *
|
|||
si_llvm_dispose(&ctx);
|
||||
return false;
|
||||
}
|
||||
shader->info.uses_instanceid |= es->info.uses_instanceid;
|
||||
shader->info.uses_instanceid |=
|
||||
es->info.uses_instanceid || shader_es.info.uses_instanceid;
|
||||
es_main = ctx.main_fn;
|
||||
|
||||
/* Preserve main (= es_main) arguments. */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue