From 574bfab4bf1fcd95163a8f33cea2889189429d30 Mon Sep 17 00:00:00 2001 From: Mario Kleiner Date: Mon, 22 Jan 2018 03:14:37 +0100 Subject: Support exa screen color depth 30 on Linux 3.16 and later. (v2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Linux 3.16's radeon-kms introduced 10 bpc fb support. Currently, as of X-Server 1.19, this works with exa accel, but not yet when using glamor acceleration. v2: Style fixes, check for glamor first, as suggested by Michel. Signed-off-by: Mario Kleiner Reviewed-by: Michel Dänzer --- src/radeon_kms.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/radeon_kms.c') diff --git a/src/radeon_kms.c b/src/radeon_kms.c index c1f885eb..bac98cb6 100644 --- a/src/radeon_kms.c +++ b/src/radeon_kms.c @@ -1250,6 +1250,7 @@ static Bool RADEONPreInitVisual(ScrnInfoPtr pScrn) case 15: case 16: case 24: + case 30: break; default: @@ -1765,6 +1766,22 @@ Bool RADEONPreInit_KMS(ScrnInfoPtr pScrn, int flags) if (!RADEONPreInitAccel_KMS(pScrn)) goto fail; + /* Depth 30 not yet supported under glamor. */ + if (pScrn->depth == 30 && info->use_glamor) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Given depth (%d) is not supported under GLAMOR accel. Select EXA.\n", + pScrn->depth); + goto fail; + } + + /* Depth 30 only supported since Linux 3.16 / kms driver minor version 39 */ + if (pScrn->depth == 30 && info->dri2.pKernelDRMVersion->version_minor < 39) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Given depth (%d) is not supported. Kernel too old. Needs Linux 3.16+\n", + pScrn->depth); + goto fail; + } + radeon_drm_queue_init(); info->allowColorTiling2D = FALSE; -- cgit v1.2.3