Skip to content

aco: refactor WQM handling

Daniel Schürmann requested to merge daniel-schuermann/mesa:aco_wqm_flag into main

This series changes the indication that some value needs to be computed in WQM mode:

  • a new flag is added to a Definition if this value needs to be valid on helper lanes
  • use wqm_mask on MIMG instructions to indicate if it uses implicit derivatives
  • The insert_exec_mask() pass is changed accordingly to propagate this information

For the future, this should enable us to keep track on whether some variable need to stay valid on the helper lanes so that we don't accidentally copy values during RA or spilling and invalidate them.

We need to make sure that all optimizations remain valid in the presence of this Definition flag (i.e. when values or propagated or instructions combined).

v2: removed all NSA patches which is already handled, and rebased properly. Now, uses wqm_mask on MIMG instructions during insert_exec_mask().

Edited by Daniel Schürmann

Merge request reports