diff options
Diffstat (limited to 'vidix')
-rw-r--r-- | vidix/drivers/mach64.h | 13 | ||||
-rw-r--r-- | vidix/drivers/mach64_vid.c | 7 |
2 files changed, 19 insertions, 1 deletions
diff --git a/vidix/drivers/mach64.h b/vidix/drivers/mach64.h index 23a95f2378..64fa174adf 100644 --- a/vidix/drivers/mach64.h +++ b/vidix/drivers/mach64.h @@ -1559,6 +1559,19 @@ This means that this sources don't support ISA and VLB cards */ #define OVERLAY_GRAPHICS_KEY_CLR BlockIOTag(0x104u) #define OVERLAY_GRAPHICS_KEY_MSK BlockIOTag(0x105u) #define OVERLAY_KEY_CNTL BlockIOTag(0x106u) +# define VIDEO_KEY_FN_MASK 0x00000007L +# define VIDEO_KEY_FN_FALSE 0x00000000L +# define VIDEO_KEY_FN_TRUE 0x00000001L +# define VIDEO_KEY_FN_NE 0x00000004L +# define VIDEO_KEY_FN_EQ 0x00000005L // EQ and NE are exchanged relative to radeon +# define GRAPHIC_KEY_FN_MASK 0x00000070L +# define GRAPHIC_KEY_FN_FALSE 0x00000000L +# define GRAPHIC_KEY_FN_TRUE 0x00000010L +# define GRAPHIC_KEY_FN_NE 0x00000040L +# define GRAPHIC_KEY_FN_EQ 0x00000050L // EQ and NE are exchanged relative to radeon +# define CMP_MIX_MASK 0x00000100L +# define CMP_MIX_OR 0x00000000L +# define CMP_MIX_AND 0x00000100L /* ? BlockIOTag(0x107u) */ #define OVERLAY_SCALE_INC BlockIOTag(0x108u) #define OVERLAY_SCALE_CNTL BlockIOTag(0x109u) diff --git a/vidix/drivers/mach64_vid.c b/vidix/drivers/mach64_vid.c index ac212a6b71..64d560af58 100644 --- a/vidix/drivers/mach64_vid.c +++ b/vidix/drivers/mach64_vid.c @@ -577,7 +577,12 @@ static void mach64_vid_display_video( void ) mach64_fifo_wait(3); OUTREG(OVERLAY_GRAPHICS_KEY_MSK, besr.graphics_key_msk); OUTREG(OVERLAY_GRAPHICS_KEY_CLR, besr.graphics_key_clr); - OUTREG(OVERLAY_KEY_CNTL,0x50); +// OUTREG(OVERLAY_VIDEO_KEY_MSK, 0x80); +// OUTREG(OVERLAY_VIDEO_KEY_CLR, 0x80); + if(besr.ckey_on) + OUTREG(OVERLAY_KEY_CNTL,VIDEO_KEY_FN_TRUE|GRAPHIC_KEY_FN_EQ|CMP_MIX_AND); + else + OUTREG(OVERLAY_KEY_CNTL,VIDEO_KEY_FN_TRUE|GRAPHIC_KEY_FN_TRUE|CMP_MIX_AND); mach64_wait_for_idle(); vf = INREG(VIDEO_FORMAT); |