Skip to content

anv: Support I915_FORMAT_MOD_4_TILED_DG2_RC_CCS

Nanley Chery requested to merge nchery/mesa:perf/anv-dg2-rc-ccs into main

What does this MR do and why?

Enables support for the I915_FORMAT_MOD_4_TILED_DG2_RC_CCS modifier in anv. This improves performance for some games (TODO: include by how much). For example, a Strange Brigade benchmark is helped by 12%. Other benchmarks have single-digit percentage improvements in performance. The implicit and explicit layout code paths were locally tested with vkcube and gamescope, respectively.

In the middle of this MR is a refactor to the isl_drm_modifier_info struct: the aux-usage field is replaced with a couple booleans which describe the type of compression supported. This refactor is done to avoid issues that would arise with ISL and anv picking different aux-usages otherwise. Unfortunately this refactor requires updating every driver that's been using the aux-usage field. On the positive side: for crocus and hasvk, this just means deleting unused code. For iris and anv, this mostly means making use of the isl_drm_modifier_has_aux function instead of open-coding an aux-usage check.

/cc @fjdegroo, @kwg, @llandwerlin, @jxzgithub

Edited by Nanley Chery

Merge request reports