summaryrefslogtreecommitdiff
path: root/src/radeon_crtc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/radeon_crtc.c')
-rw-r--r--src/radeon_crtc.c8
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++) {