diff options
Diffstat (limited to 'vidix')
-rw-r--r-- | vidix/drivers/mach64_vid.c | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/vidix/drivers/mach64_vid.c b/vidix/drivers/mach64_vid.c index 2ba42862c4..c7dd06c295 100644 --- a/vidix/drivers/mach64_vid.c +++ b/vidix/drivers/mach64_vid.c @@ -543,7 +543,34 @@ static void mach64_vid_display_video( void ) OUTREG(OVERLAY_GRAPHICS_KEY_CLR, 0ULL); OUTREG(OVERLAY_KEY_CNTL,0x50); } - +switch(mach64_vid_get_dbpp()) //Ugly Hack (remove me if colorkey is correctly supported in vidix) +{ +case 15: + OUTREG(OVERLAY_GRAPHICS_KEY_MSK, 0x7FFF); + OUTREG(OVERLAY_GRAPHICS_KEY_CLR, 0x7C1F); + OUTREG(OVERLAY_KEY_CNTL,0x50); + break; +case 16: + OUTREG(OVERLAY_GRAPHICS_KEY_MSK, 0xFFFF); + OUTREG(OVERLAY_GRAPHICS_KEY_CLR, 0xF81F); + OUTREG(OVERLAY_KEY_CNTL,0x50); + break; +case 24: + OUTREG(OVERLAY_GRAPHICS_KEY_MSK, 0xFFFFFF); + OUTREG(OVERLAY_GRAPHICS_KEY_CLR, 0xFF00FF); + OUTREG(OVERLAY_KEY_CNTL,0x50); + break; +case 32: + OUTREG(OVERLAY_GRAPHICS_KEY_MSK, 0xFFFFFF); + OUTREG(OVERLAY_GRAPHICS_KEY_CLR, 0xFF00FF); + OUTREG(OVERLAY_KEY_CNTL,0x50); + break; +default: + OUTREG(OVERLAY_GRAPHICS_KEY_MSK, 0); + OUTREG(OVERLAY_GRAPHICS_KEY_CLR, 0); + OUTREG(OVERLAY_KEY_CNTL,0x50); + break; +} mach64_wait_for_idle(); vf = INREG(VIDEO_FORMAT); |