Skip to content

anv: reduce push descriptor CPU overhead

Should help with #7369

Vkoverhead before / after :

  descriptor_template_1ubo_push:                      40670 / 85786  **
  descriptor_template_12ubo_push:                      4050 / 13820  **
  descriptor_template_1combined_sampler_push,         34410 / 34043
  descriptor_template_16combined_sampler_push,         2746 / 2711
  descriptor_template_1sampled_image_push,            34765 / 34089
  descriptor_template_16sampled_image_push,            2794 / 2649
  descriptor_template_1texelbuffer_push,             108537 / 111342
  descriptor_template_16texelbuffer_push,             20619 / 20166
  descriptor_template_1ssbo_push,                     41506 / 85976  **
  descriptor_template_8ssbo_push,                      6036 / 18703  **
  descriptor_template_1image_push,                    88932 / 89610
  descriptor_template_16image_push,                   20937 / 20959
  descriptor_template_1imagebuffer_push,             108407 / 113240
  descriptor_template_16imagebuffer_push,             32661 / 34651

Thanks a bunch to @zmike

This change appears to make no difference in gfxbench gl_driver2 in a release build. Not quite sure why at this point. Iris / Zink+Anv FPS : 144.3 / 114.9

It previously made a change for me with a good improvement (I have written down 30%). But maybe that was in a debug build.

Or it could be an issue with my setup (primary GPU AMD with display, secondary with Intel IGPU).

Edited by Lionel Landwerlin

Merge request reports