nir: return a status from nir_remove_varying whether it removed the instruction

Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21861>
This commit is contained in:
Marek Olšák
2023-03-12 03:29:18 -04:00
committed by Marge Bot
parent 9d78fec684
commit ea9156edc3
2 changed files with 5 additions and 2 deletions

View File

@@ -3495,7 +3495,8 @@ nir_slot_is_sysval_output_and_varying(gl_varying_slot slot)
* This marks the output store instruction as not feeding the next shader
* stage. If the instruction has no other use, it's removed.
*/
void nir_remove_varying(nir_intrinsic_instr *intr)
bool
nir_remove_varying(nir_intrinsic_instr *intr)
{
nir_io_semantics sem = nir_intrinsic_io_semantics(intr);
@@ -3504,8 +3505,10 @@ void nir_remove_varying(nir_intrinsic_instr *intr)
/* Demote the store instruction. */
sem.no_varying = true;
nir_intrinsic_set_io_semantics(intr, sem);
return false;
} else {
nir_instr_remove(&intr->instr);
return true;
}
}

View File

@@ -4782,7 +4782,7 @@ void nir_link_varying_precision(nir_shader *producer, nir_shader *consumer);
bool nir_slot_is_sysval_output(gl_varying_slot slot);
bool nir_slot_is_varying(gl_varying_slot slot);
bool nir_slot_is_sysval_output_and_varying(gl_varying_slot slot);
void nir_remove_varying(nir_intrinsic_instr *intr);
bool nir_remove_varying(nir_intrinsic_instr *intr);
void nir_remove_sysval_output(nir_intrinsic_instr *intr);
bool nir_lower_amul(nir_shader *shader,