Mesa (main): nir/validate: don't add instrs not present in shader to shader_gc_list
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Feb 21 12:38:41 UTC 2022
Module: Mesa
Branch: main
Commit: a9ac270c5f0e29909b8baf4d3386f75a238b74ad
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a9ac270c5f0e29909b8baf4d3386f75a238b74ad
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date: Wed Nov 24 14:17:40 2021 +0000
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 at gmail.com>
Reviewed-by: Emma Anholt <emma at anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13547>
---
src/compiler/nir/nir_validate.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/compiler/nir/nir_validate.c b/src/compiler/nir/nir_validate.c
index c00dec9f189..0bc1b5adf3b 100644
--- a/src/compiler/nir/nir_validate.c
+++ b/src/compiler/nir/nir_validate.c
@@ -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;
More information about the mesa-commit
mailing list