GFX6-8 are the oldest GPUs supported by the amdgpu kernel driver, and the last ones that didn't support DRM format modifiers until now.
On GFX6-8, the GFX block can only use pre-determined tiling modes which are programmed by the kernel according to the tiling mode table. The new modifiers encode all the details needed for tiling on these GPUs. For the exact details, see the commit message of: "drm/fourcc: Add modifiers for AMD GFX6-8" For a userspace implementation, see this Mesa mR: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41557 Supporting DRM format modifiers on GFX6-8 will unblock many things in the Linux graphics ecosystem that previously either didn't work on these GPUs or had to implement fallbacks. For example, compositors written in Vulkan or compositors running on Zink, interop between different APIs (eg. VAAPI / OpenGL / Vulkan) etc. Timur Kristóf (4): drm/fourcc: Add modifiers for AMD GFX6-8 drm/amdgpu: Convert tiling flags to modifiers on GFX6-8 drm/amd/display: Support DRM format modifiers on GFX6-8 drm/amd/display: Don't use tiling flags anymore drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 111 +++++- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 29 +- .../amd/display/amdgpu_dm/amdgpu_dm_plane.c | 346 +++++++++++++++--- .../amd/display/amdgpu_dm/amdgpu_dm_plane.h | 1 - include/uapi/drm/drm_fourcc.h | 207 ++++++++++- 5 files changed, 601 insertions(+), 93 deletions(-) -- 2.54.0
