summaryrefslogtreecommitdiffstats
path: root/vidix
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-02-25 16:16:44 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-02-25 16:16:44 +0000
commit66038741ddf77758269292cda41bce245dc401f9 (patch)
treed893eea2d4c886b467084e13db94c5e810c79937 /vidix
parent65f9efcc582900e4172ef0356c57c1a3f5f130c8 (diff)
downloadmpv-66038741ddf77758269292cda41bce245dc401f9.tar.bz2
mpv-66038741ddf77758269292cda41bce245dc401f9.tar.xz
OVERLAY_KEY_CNTL values
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4866 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'vidix')
-rw-r--r--vidix/drivers/mach64.h13
-rw-r--r--vidix/drivers/mach64_vid.c7
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);