aco: limit register usage for large work groups
[mesa.git] / src / amd / compiler / aco_scheduler.cpp
index 665fcb2db6f03ec39fd6eace565dbaf1731990c2..0a8d5af8c785ba8e27ccdabbd7de92b4f08f5c97 100644 (file)
@@ -932,6 +932,7 @@ void schedule_program(Program *program, live& live_vars)
       ctx.num_waves = 7;
    else
       ctx.num_waves = 8;
+   ctx.num_waves = std::max<uint16_t>(ctx.num_waves, program->min_waves);
 
    assert(ctx.num_waves > 0 && ctx.num_waves <= program->num_waves);
    ctx.max_registers = { int16_t(get_addr_vgpr_from_waves(program, ctx.num_waves) - 2),