radv,nir,aco: lower RADV_FORCE_VRS in NIR & allow to change it dynamically

Samuel Pitoiset requested to merge hakzsam/mesa:radv_force_vrs_improvements into main

For power saving.

This MR is composed by roughly 3 parts:

  • lower RADV_FORCE_VRS in NIR to avoid duplicating code in both compiler backends, see !14907 (merged)
  • rework it by add a new intrinsic to load the VRS rates dynamically
  • add RADV_FORCE_VRS_CONFIG_FILE and monitor it using inotify

It's now possible to force per-vertex VRS dynamically by writing eg. 2x2 via RADV_FORCE_VRS_CONFIG_FILE (previously the VRS rates were hardcoded in the vertex shaders). This is enabled by default on VanGogh and the default rate is 1x1 if nothing else is set.

I'm not a real fan of the inotify solution but that does the job for now, might re-visit that later if needed.

Edited by Samuel Pitoiset

Merge request reports