diff options
Diffstat (limited to 'sys/dev/pci/drm/radeon/radeon_kms.c')
-rw-r--r-- | sys/dev/pci/drm/radeon/radeon_kms.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/dev/pci/drm/radeon/radeon_kms.c b/sys/dev/pci/drm/radeon/radeon_kms.c index aea055fb1a2..83a0c9fc3c0 100644 --- a/sys/dev/pci/drm/radeon/radeon_kms.c +++ b/sys/dev/pci/drm/radeon/radeon_kms.c @@ -1506,8 +1506,18 @@ radeondrm_doswitch(void *v, void *cookie) { struct radeon_device *rdev = v; struct rasops_info *ri = &rdev->ro; + struct radeon_crtc *radeon_crtc; + int i, crtc; rasops_show_screen(ri, cookie, 0, NULL, NULL); + for (crtc = 0; crtc < rdev->num_crtc; crtc++) { + for (i = 0; i < 256; i++) { + radeon_crtc = rdev->mode_info.crtcs[crtc]; + radeon_crtc->lut_r[i] = rasops_cmap[3 * i] << 2; + radeon_crtc->lut_g[i] = rasops_cmap[(3 * i) + 1] << 2; + radeon_crtc->lut_b[i] = rasops_cmap[(3 * i) + 2] << 2; + } + } drm_fb_helper_restore(); if (rdev->switchcb) |