diff options
-rw-r--r-- | src/radeon_crtc.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/radeon_crtc.c b/src/radeon_crtc.c index 6211b029..3ee7760e 100644 --- a/src/radeon_crtc.c +++ b/src/radeon_crtc.c @@ -912,6 +912,9 @@ void radeon_crtc_load_lut(xf86CrtcPtr crtc) } else if (pScrn->depth == 16) { for (i = 0; i < 64; i++) { OUTPAL(i * 4, radeon_crtc->lut_r[i], radeon_crtc->lut_g[i], radeon_crtc->lut_b[i]); + if (i <= 31) { + OUTPAL(i * 8, radeon_crtc->lut_r[i + 64], radeon_crtc->lut_g[i + 64], radeon_crtc->lut_b[i + 64]); + } } } else { for (i = 0; i < 256; i++) { @@ -935,6 +938,11 @@ radeon_crtc_gamma_set(xf86CrtcPtr crtc, CARD16 *red, CARD16 *green, radeon_crtc->lut_r[i] = red[i/2] >> 8; radeon_crtc->lut_g[i] = green[i] >> 8; radeon_crtc->lut_b[i] = blue[i/2] >> 8; + if (i <= 31) { + radeon_crtc->lut_r[i + 64] = red[i] >> 8; + radeon_crtc->lut_g[i + 64] = green[(i * 2) + 1] >> 8; + radeon_crtc->lut_b[i + 64] = blue[i] >> 8; + } } } else { for (i = 0; i < 256; i++) { |