nir/validate: don't add instrs not present in shader to shader_gc_list

This makes the set smaller and GC list validation faster.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13547>
This commit is contained in:
Rhys Perry 2021-11-24 14:17:40 +00:00
parent 925c5f817d
commit a9ac270c5f
1 changed files with 4 additions and 2 deletions

View File

@ -1720,8 +1720,10 @@ nir_validate_shader(nir_shader *shader, const char *when)
init_validate_state(&state);
if (state.shader_gc_list) {
list_for_each_entry(nir_instr, instr, &shader->gc_list, gc_node)
_mesa_set_add(state.shader_gc_list, instr);
list_for_each_entry(nir_instr, instr, &shader->gc_list, gc_node) {
if (instr->node.prev || instr->node.next)
_mesa_set_add(state.shader_gc_list, instr);
}
}
state.shader = shader;