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 <[email protected]>
---
 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! ([email protected]) */
-- 
2.7.4

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to