]> git.baikalelectronics.ru Git - kernel.git/commit
drm/amd/display: Enable support for 16 bpc fixed-point framebuffers.
authorMario Kleiner <mario.kleiner.de@gmail.com>
Fri, 19 Mar 2021 21:03:17 +0000 (22:03 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 27 May 2021 19:00:48 +0000 (15:00 -0400)
commit3bad2951799aa8f4dcdb60e0861b65051fb84932
tree47bbff5e71d1cadccb3f0ed58b16546625efd3ef
parentd2b4dc30c2690e8c8e9251a9cc7bd713f03e5a46
drm/amd/display: Enable support for 16 bpc fixed-point framebuffers.

This is intended to enable direct high-precision scanout and pageflip
of Vulkan swapchain images in format VK_FORMAT_R16G16B16A16_UNORM.

Expose DRM_FORMAT_XRGB16161616, DRM_FORMAT_ARGB16161616,
DRM_FORMAT_XBGR16161616 and DRM_FORMAT_ABGR16161616 as 16 bpc
unsigned normalized formats. These allow to take full advantage
of the maximum precision of the display hardware, ie. currently
up to 12 bpc.

Searching through old AMD M56, M76 and RV630 hw programming docs
suggests that these 16 bpc formats are supported by all DCE and
DCN display engines, so we can expose the formats unconditionally.

Successfully tested on AMD Polaris11 DCE-11.2 an RavenRidge DCN-1.0
with a HDR-10 monitor over 10 bpc DP output with spatial dithering
enabled by the driver. Picture looks good, and my photometer
measurement procedure confirms an effective 12 bpc color
reproduction.

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c