mesa/st: return progress lowering builtins
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26976>
This commit is contained in:

committed by
Marge Bot

parent
5da993ea9a
commit
52eb7e1ada
@@ -35,7 +35,7 @@ extern "C" {
|
||||
struct nir_shader;
|
||||
struct nir_variable;
|
||||
|
||||
void st_nir_lower_builtin(struct nir_shader *shader);
|
||||
bool st_nir_lower_builtin(struct nir_shader *shader);
|
||||
bool st_nir_lower_tex_src_plane(struct nir_shader *shader, unsigned free_slots,
|
||||
unsigned lower_2plane, unsigned lower_3plane);
|
||||
|
||||
|
@@ -222,9 +222,10 @@ lower_builtin_instr(nir_builder *b, nir_intrinsic_instr *intrin,
|
||||
return true;
|
||||
}
|
||||
|
||||
void
|
||||
bool
|
||||
st_nir_lower_builtin(nir_shader *shader)
|
||||
{
|
||||
bool progress = false;
|
||||
struct set *vars = _mesa_pointer_set_create(NULL);
|
||||
|
||||
nir_foreach_uniform_variable(var, shader) {
|
||||
@@ -240,13 +241,18 @@ st_nir_lower_builtin(nir_shader *shader)
|
||||
* be eliminated beforehand to avoid trying to lower one of those
|
||||
* builtins
|
||||
*/
|
||||
nir_lower_indirect_var_derefs(shader, vars);
|
||||
progress |= nir_lower_indirect_var_derefs(shader, vars);
|
||||
|
||||
if (nir_shader_intrinsics_pass(shader, lower_builtin_instr,
|
||||
nir_metadata_block_index |
|
||||
nir_metadata_dominance, NULL))
|
||||
nir_metadata_dominance, NULL)) {
|
||||
nir_remove_dead_derefs(shader);
|
||||
progress = true;
|
||||
}
|
||||
} else {
|
||||
nir_shader_preserve_all_metadata(shader);
|
||||
}
|
||||
|
||||
_mesa_set_destroy(vars, NULL);
|
||||
return progress;
|
||||
}
|
||||
|
Reference in New Issue
Block a user