From 9ea180fae15a7199639742ad573cff839bfcb7c2 Mon Sep 17 00:00:00 2001 From: Rudolf Cornelissen Date: Thu, 18 Nov 2004 13:03:13 +0000 Subject: [PATCH] completed move_overlay() implementation. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9999 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../private/graphics/neomagic/DriverInterface.h | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/headers/private/graphics/neomagic/DriverInterface.h b/headers/private/graphics/neomagic/DriverInterface.h index 650c798bda..87cdc838e2 100644 --- a/headers/private/graphics/neomagic/DriverInterface.h +++ b/headers/private/graphics/neomagic/DriverInterface.h @@ -29,7 +29,7 @@ typedef struct { int32 ben; } benaphore; -#define INIT_BEN(x) x.sem = create_sem(0, "G400 "#x" benaphore"); x.ben = 0; +#define INIT_BEN(x) x.sem = create_sem(0, "NM "#x" benaphore"); x.ben = 0; #define AQUIRE_BEN(x) if((atomic_add(&(x.ben), 1)) >= 1) acquire_sem(x.sem); #define RELEASE_BEN(x) if((atomic_add(&(x.ben), -1)) > 1) release_sem(x.sem); #define DELETE_BEN(x) delete_sem(x.sem); @@ -239,23 +239,28 @@ typedef struct { uint16 data; /* The value read or written */ } nm_in_out_isa; +/* move_overlay related info */ +typedef struct { + uint32 hcoordv; /* left and right edges of video output window */ + uint32 vcoordv; /* top and bottom edges of video output window */ + uint32 hsrcendv; /* horizontal source end in source buffer (clipping) */ + uint32 a1orgv; /* vertical source clipping via startadress of source buffer */ +} move_overlay_info; + /* setup ISA BES registers for overlay on ISA cards */ typedef struct { uint32 magic; /* magic number to make sure the caller groks us */ uint32 card_type; /* see card_type enum above */ - uint32 hcoordv; - uint32 vcoordv; uint32 hiscalv; uint32 viscalv; - uint32 hsrcstv; - uint32 hsrcendv; - uint32 a1orgv; uint32 globctlv; uint32 weight; uint8 colkey_r; uint8 colkey_g; uint8 colkey_b; uint16 ob_width; + move_overlay_info moi; + bool move_only; } nm_bes_data; /* Set some boolean condition (like enabling or disabling interrupts) */