Skip to content

anv: Enable more fast-clears with image format lists

Nanley Chery requested to merge nchery/mesa:perf/more-fast-clear-colors into main

What does this MR do and why?

Rely on VK_KHR_image_format_list and blorp_copy_get_color_format() to enable fast-clears without partial resolves in many cases. Do this by:

  • storing a clear color for each format that can be used with the image
  • having image views and BLORP surfaces reference the clear color that matches the surface format

Apart from miscellaneous HW restrictions, the only cases I'm aware of that continue to slow clear in the performance CI are due to multi-layer fast-clears (see #11893).

Most of the commits here affect gfx9-gfx12. There is one commit which removes a format conversion check in anv_can_fast_clear_color(). That commit affects gfx9-gfx20. These are average results of 2 runs of each benchmark on ACM in the performance CI: results According to the regression/improvement thresholds set by the CI, TWWH3 is regressed and the four rightmost traces are improved. As seen in the chart, the geomean is positive. What's not shown though is that the absolute FPS of the improved games are brought closer to TWWH3.

Ref: #11418

Closes: #5622 (closed) #9983 (closed) #11110 (closed) #11325 (closed)

/cc @llandwerlin @jxzgithub @fjdegroo @cgbowman @linyaa

Edited by Nanley Chery

Merge request reports

Loading