mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 06:30:10 +01:00
nir: Only validate in passes that might have changed things.
If a pass returning boolean progress reports no change, we shouldn't need to re-validate. If a pass breaks the NIR but also fails to report progress correctly, it would be up to the next pass to catch that. This should hopefully help with test timeouts on KHR-GL33.texture_swizzle.functional since switching softpipe to nir-to-tgsi and enabling NIR validation in CI (27s to 20s on my system). Suggested-by: Rob Clark <robdclark@chromium.org> Reviewed-by: Rob Clark <robdclark@chromium.org> Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7239>
This commit is contained in:
parent
c54c42321e
commit
fdbc45d1d4
1 changed files with 2 additions and 1 deletions
|
|
@ -4063,7 +4063,6 @@ static inline bool should_print_nir(nir_shader *shader) { return false; }
|
|||
break; \
|
||||
} \
|
||||
do_pass \
|
||||
nir_validate_shader(nir, "after " #pass); \
|
||||
if (should_clone_nir()) { \
|
||||
nir_shader *clone = nir_shader_clone(ralloc_parent(nir), nir); \
|
||||
nir_shader_replace(nir, clone); \
|
||||
|
|
@ -4078,6 +4077,7 @@ static inline bool should_print_nir(nir_shader *shader) { return false; }
|
|||
if (should_print_nir(nir)) \
|
||||
printf("%s\n", #pass); \
|
||||
if (pass(nir, ##__VA_ARGS__)) { \
|
||||
nir_validate_shader(nir, "after " #pass); \
|
||||
progress = true; \
|
||||
if (should_print_nir(nir)) \
|
||||
nir_print_shader(nir, stdout); \
|
||||
|
|
@ -4089,6 +4089,7 @@ static inline bool should_print_nir(nir_shader *shader) { return false; }
|
|||
if (should_print_nir(nir)) \
|
||||
printf("%s\n", #pass); \
|
||||
pass(nir, ##__VA_ARGS__); \
|
||||
nir_validate_shader(nir, "after " #pass); \
|
||||
if (should_print_nir(nir)) \
|
||||
nir_print_shader(nir, stdout); \
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue