[PATCH 1/3] Skip xf86HandleColormaps() at color depth 30.
Mario Kleiner
mario.kleiner.de at gmail.com
Sat Dec 23 06:07:35 UTC 2017
The hardware gamma luts get bypassed at color
depth 30 anyway, so skip their setup.
Also skip drmmode_crtc_gamma_set() for a screen
with depth 30.
Signed-off-by: Mario Kleiner <mario.kleiner.de at gmail.com>
---
src/drmmode_display.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 7ad3235..e5f9dbe 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -1275,6 +1275,10 @@ drmmode_crtc_gamma_set(xf86CrtcPtr crtc, uint16_t *red, uint16_t *green,
RADEONInfoPtr info = RADEONPTR(scrn);
int i;
+ /* Hw gamma lut's are bypassed at color depth 30 */
+ if (scrn->depth == 30)
+ return;
+
drmmode_crtc_gamma_do_set(crtc, red, green, blue, size);
/* Compute index of this CRTC into xf86_config->crtc */
@@ -2730,8 +2734,10 @@ Bool drmmode_setup_colormap(ScreenPtr pScreen, ScrnInfoPtr pScrn)
"Initializing kms color map\n");
if (!miCreateDefColormap(pScreen))
return FALSE;
- /* all radeons support 10 bit CLUTs */
- if (!xf86HandleColormaps(pScreen, 256, 10,
+
+ /* All radeons support 10 bit CLUTs. They get bypassed at depth 30. */
+ if (pScrn->depth != 30 &&
+ !xf86HandleColormaps(pScreen, 256, 10,
NULL, NULL,
CMAP_PALETTED_TRUECOLOR
#if 0 /* This option messes up text mode! (eich at suse.de) */
--
2.7.4
More information about the amd-gfx
mailing list