summaryrefslogtreecommitdiff
path: root/sys/dev/pci/drm/radeon/radeon_kms.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/pci/drm/radeon/radeon_kms.c')
-rw-r--r--sys/dev/pci/drm/radeon/radeon_kms.c10
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)