diff -up xf86-video-ati-6.12.2/src/drmmode_display.c.modeset-fixes xf86-video-ati-6.12.2/src/drmmode_display.c
--- xf86-video-ati-6.12.2/src/drmmode_display.c.modeset-fixes 2009-05-21 11:28:31.000000000 -0400
+++ xf86-video-ati-6.12.2/src/drmmode_display.c 2009-05-21 11:28:31.000000000 -0400
@@ -458,7 +458,11 @@ static void
drmmode_crtc_gamma_set(xf86CrtcPtr crtc, uint16_t *red, uint16_t *green,
uint16_t *blue, int size)
{
- return;
+ drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
+ drmmode_ptr drmmode = drmmode_crtc->drmmode;
+
+ drmModeCrtcSetGamma(drmmode->fd, drmmode_crtc->mode_crtc->crtc_id,
+ size, red, green, blue);
}
static const xf86CrtcFuncsRec drmmode_crtc_funcs = {
@@ -954,8 +958,6 @@ static void drmmode_load_palette(ScrnInf
int index, j, i;
int c;
-
-
for (c = 0; c < xf86_config->num_crtc; c++) {
xf86CrtcPtr crtc = xf86_config->crtc[c];
drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
@@ -966,8 +968,7 @@ static void drmmode_load_palette(ScrnInf
lut_b[i] = drmmode_crtc->lut_b[i] << 6;
}
-#if 0 //TODO
- switch (info->CurrentLayout.depth) {
+ switch(pScrn->depth) {
case 15:
for (i = 0; i < numColors; i++) {
index = indices[i];
@@ -1003,7 +1004,6 @@ static void drmmode_load_palette(ScrnInf
}
break;
}
-#endif
/* Make the change through RandR */
#ifdef RANDR_12_INTERFACE
diff -up xf86-video-ati-6.12.2/src/radeon_accel.c.modeset-fixes xf86-video-ati-6.12.2/src/radeon_accel.c