Skip to content

anv: dynamic state re-re-rework

Lionel Landwerlin requested to merge llandwerlin/mesa:review/anv-sample-loc into main

For a while I thought that we could put instructions in the pipeline batch to minimize the amount of dynamic state we have to emit in gfx[78]_cmd_buffer.c.

But it just doesn't work. We end up either emitting too much or too little.

This MR reverts the last commit that was supposed to fix this Mesa_CI/repos/mesa@f348103f and goes back to the previous strategy :

  • If a piece of state is fully in the pipeline, emit it in genX_pipeline.c
  • If a piece of state is ever dynamic, for any pipeline, move it to gfx[78]_cmd_buffer.c

There is also an improvement for sample locations on Gfx8+ where the packet 3DSTATE_SAMPLE_PATTERN holds the patterns for all MSAA combinaisons and if we hold all the value in anv_dynamic_state we can avoid some emission.

Merge request reports