aco: add ACO_DEBUG=novn,noopt,nosched for debugging purposes

To disable value numbering, optimizations and scheduling.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6470>
This commit is contained in:
Samuel Pitoiset
2020-08-26 14:24:45 +02:00
committed by Marge Bot
parent 4d40a719b0
commit 502b9daa7a
4 changed files with 18 additions and 3 deletions

View File

@@ -89,8 +89,10 @@ void aco_compile_shader(unsigned shader_count,
validate(program.get());
/* Optimization */
aco::value_numbering(program.get());
aco::optimize(program.get());
if (!(aco::debug_flags & aco::DEBUG_NO_VN))
aco::value_numbering(program.get());
if (!(aco::debug_flags & aco::DEBUG_NO_OPT))
aco::optimize(program.get());
/* cleanup and exec mask handling */
aco::setup_reduce_temp(program.get());
@@ -121,7 +123,8 @@ void aco_compile_shader(unsigned shader_count,
aco::collect_presched_stats(program.get());
if (!args->is_trap_handler_shader) {
aco::schedule_program(program.get(), live_vars);
if (!(aco::debug_flags & aco::DEBUG_NO_SCHED))
aco::schedule_program(program.get(), live_vars);
validate(program.get());
/* Register Allocation */