winex11.drv: Kill DGA support.
This commit is contained in:
parent
385247b3d6
commit
98179f0656
|
@ -9273,7 +9273,6 @@ then
|
|||
|
||||
|
||||
|
||||
|
||||
for ac_header in X11/Xlib.h \
|
||||
X11/XKBlib.h \
|
||||
X11/Xutil.h \
|
||||
|
@ -9282,7 +9281,6 @@ for ac_header in X11/Xlib.h \
|
|||
X11/extensions/XShm.h \
|
||||
X11/extensions/Xrandr.h \
|
||||
X11/extensions/Xrender.h \
|
||||
X11/extensions/xf86dga.h \
|
||||
X11/extensions/xf86vmode.h
|
||||
do
|
||||
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
||||
|
@ -9626,97 +9624,6 @@ cat >>confdefs.h <<\_ACEOF
|
|||
#define HAVE_LIBXSHAPE 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if test "$ac_cv_header_X11_extensions_xf86dga_h" = "yes"
|
||||
then
|
||||
{ echo "$as_me:$LINENO: checking for XDGAQueryExtension in -lXxf86dga" >&5
|
||||
echo $ECHO_N "checking for XDGAQueryExtension in -lXxf86dga... $ECHO_C" >&6; }
|
||||
if test "${ac_cv_lib_Xxf86dga_XDGAQueryExtension+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
ac_check_lib_save_LIBS=$LIBS
|
||||
LIBS="-lXxf86dga $X_LIBS -lXext -lX11 $X_EXTRA_LIBS $LIBS"
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
builtin and then its argument prototype would still apply. */
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
char XDGAQueryExtension ();
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return XDGAQueryExtension ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext conftest$ac_exeext
|
||||
if { (ac_try="$ac_link"
|
||||
case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
|
||||
(eval "$ac_link") 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } &&
|
||||
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
|
||||
{ (case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
|
||||
(eval "$ac_try") 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; } &&
|
||||
{ ac_try='test -s conftest$ac_exeext'
|
||||
{ (case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
|
||||
(eval "$ac_try") 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
ac_cv_lib_Xxf86dga_XDGAQueryExtension=yes
|
||||
else
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
ac_cv_lib_Xxf86dga_XDGAQueryExtension=no
|
||||
fi
|
||||
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
LIBS=$ac_check_lib_save_LIBS
|
||||
fi
|
||||
{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xxf86dga_XDGAQueryExtension" >&5
|
||||
echo "${ECHO_T}$ac_cv_lib_Xxf86dga_XDGAQueryExtension" >&6; }
|
||||
if test $ac_cv_lib_Xxf86dga_XDGAQueryExtension = yes; then
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define HAVE_LIBXXF86DGA2 1
|
||||
_ACEOF
|
||||
|
||||
X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
|
|
12
configure.ac
12
configure.ac
|
@ -326,7 +326,6 @@ then
|
|||
X11/extensions/XShm.h \
|
||||
X11/extensions/Xrandr.h \
|
||||
X11/extensions/Xrender.h \
|
||||
X11/extensions/xf86dga.h \
|
||||
X11/extensions/xf86vmode.h],,,
|
||||
[#ifdef HAVE_X11_XLIB_H
|
||||
# include <X11/Xlib.h>
|
||||
|
@ -359,17 +358,6 @@ then
|
|||
$X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
|
||||
fi
|
||||
|
||||
dnl *** Check for XFree86 DGA / DGA 2.0 extension
|
||||
if test "$ac_cv_header_X11_extensions_xf86dga_h" = "yes"
|
||||
then
|
||||
AC_CHECK_LIB(Xxf86dga, XDGAQueryExtension,
|
||||
[ AC_DEFINE(HAVE_LIBXXF86DGA2, 1,
|
||||
[Define if you have the Xxf86dga library version 2])
|
||||
X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
|
||||
],,
|
||||
$X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
|
||||
fi
|
||||
|
||||
dnl *** Check for XFree86 VMODE extension
|
||||
if test "$ac_cv_header_X11_extensions_xf86vmode_h" = "yes"
|
||||
then
|
||||
|
|
|
@ -16,7 +16,6 @@ C_SRCS = \
|
|||
codepage.c \
|
||||
dce.c \
|
||||
desktop.c \
|
||||
dga2.c \
|
||||
dib.c \
|
||||
dib_convert.c \
|
||||
dib_dst_swap.c \
|
||||
|
|
|
@ -1,331 +0,0 @@
|
|||
/*
|
||||
* DirectDraw DGA2 interface
|
||||
*
|
||||
* Copyright 2001 TransGaming Technologies, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#ifdef HAVE_LIBXXF86DGA2
|
||||
|
||||
#define NONAMELESSUNION
|
||||
#define NONAMELESSSTRUCT
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/extensions/xf86dga.h>
|
||||
|
||||
#include "x11drv.h"
|
||||
#include "x11ddraw.h"
|
||||
#include "dga2.h"
|
||||
|
||||
#include "windef.h"
|
||||
#include "wingdi.h"
|
||||
#include "ddrawi.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(x11drv);
|
||||
|
||||
extern int usedga;
|
||||
|
||||
LPDDHALMODEINFO xf86dga2_modes;
|
||||
unsigned xf86dga2_mode_count;
|
||||
HWND DGAhwnd = 0;
|
||||
static XDGAMode* modes;
|
||||
|
||||
static void convert_mode(XDGAMode *mode, LPDDHALMODEINFO info)
|
||||
{
|
||||
info->dwWidth = mode->viewportWidth;
|
||||
info->dwHeight = mode->viewportHeight;
|
||||
info->wRefreshRate = mode->verticalRefresh;
|
||||
info->lPitch = mode->bytesPerScanline;
|
||||
info->dwBPP = (mode->depth < 24) ? mode->depth : mode->bitsPerPixel;
|
||||
info->wFlags = (mode->depth == 8) ? DDMODEINFO_PALETTIZED : 0;
|
||||
info->dwRBitMask = mode->redMask;
|
||||
info->dwGBitMask = mode->greenMask;
|
||||
info->dwBBitMask = mode->blueMask;
|
||||
info->dwAlphaBitMask = 0;
|
||||
TRACE(" width=%ld, height=%ld, bpp=%ld, refresh=%d\n",
|
||||
info->dwWidth, info->dwHeight, info->dwBPP, info->wRefreshRate);
|
||||
}
|
||||
|
||||
static int DGA2ErrorHandler(Display *dpy, XErrorEvent *event, void *arg)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void X11DRV_DGAKeyPressEvent( HWND hwnd, XEvent *xev )
|
||||
{
|
||||
/* Fill a XKeyEvent to send to EVENT_Key */
|
||||
XDGAKeyEvent *event = (XDGAKeyEvent *)xev;
|
||||
XEvent ke;
|
||||
|
||||
ke.xkey.type = KeyPress;
|
||||
ke.xkey.serial = event->serial;
|
||||
ke.xkey.send_event = FALSE;
|
||||
ke.xkey.display = event->display;
|
||||
ke.xkey.window = 0;
|
||||
ke.xkey.root = 0;
|
||||
ke.xkey.subwindow = 0;
|
||||
ke.xkey.time = event->time;
|
||||
ke.xkey.x = -1;
|
||||
ke.xkey.y = -1;
|
||||
ke.xkey.x_root = -1;
|
||||
ke.xkey.y_root = -1;
|
||||
ke.xkey.state = event->state;
|
||||
ke.xkey.keycode = event->keycode;
|
||||
ke.xkey.same_screen = TRUE;
|
||||
X11DRV_KeyEvent( 0, &ke );
|
||||
}
|
||||
|
||||
static void X11DRV_DGAKeyReleaseEvent( HWND hwnd, XEvent *xev )
|
||||
{
|
||||
/* Fill a XKeyEvent to send to EVENT_Key */
|
||||
XDGAKeyEvent *event = (XDGAKeyEvent *)xev;
|
||||
XEvent ke;
|
||||
|
||||
ke.xkey.type = KeyRelease;
|
||||
ke.xkey.serial = event->serial;
|
||||
ke.xkey.send_event = FALSE;
|
||||
ke.xkey.display = event->display;
|
||||
ke.xkey.window = 0;
|
||||
ke.xkey.root = 0;
|
||||
ke.xkey.subwindow = 0;
|
||||
ke.xkey.time = event->time;
|
||||
ke.xkey.x = -1;
|
||||
ke.xkey.y = -1;
|
||||
ke.xkey.x_root = -1;
|
||||
ke.xkey.y_root = -1;
|
||||
ke.xkey.state = event->state;
|
||||
ke.xkey.keycode = event->keycode;
|
||||
ke.xkey.same_screen = TRUE;
|
||||
X11DRV_KeyEvent( 0, &ke );
|
||||
}
|
||||
|
||||
|
||||
void X11DRV_XF86DGA2_Init(void)
|
||||
{
|
||||
int nmodes, major, minor, i, event_base, error_base;
|
||||
Bool ok;
|
||||
|
||||
TRACE("\n");
|
||||
|
||||
if (xf86dga2_modes) return; /* already initialized? */
|
||||
|
||||
/* if in desktop mode, don't use DGA */
|
||||
if (root_window != DefaultRootWindow(gdi_display)) return;
|
||||
|
||||
if (!usedga) return;
|
||||
|
||||
wine_tsx11_lock();
|
||||
ok = XDGAQueryExtension(gdi_display, &event_base, &error_base);
|
||||
if (ok)
|
||||
{
|
||||
X11DRV_expect_error(gdi_display, DGA2ErrorHandler, NULL);
|
||||
ok = XDGAQueryVersion(gdi_display, &major, &minor);
|
||||
if (X11DRV_check_error()) ok = FALSE;
|
||||
}
|
||||
wine_tsx11_unlock();
|
||||
if (!ok) return;
|
||||
|
||||
if (major < 2) return; /* only bother with DGA 2+ */
|
||||
|
||||
/* test that it works */
|
||||
wine_tsx11_lock();
|
||||
X11DRV_expect_error(gdi_display, DGA2ErrorHandler, NULL);
|
||||
ok = XDGAOpenFramebuffer(gdi_display, DefaultScreen(gdi_display));
|
||||
if (X11DRV_check_error()) ok = FALSE;
|
||||
if (ok)
|
||||
{
|
||||
XDGACloseFramebuffer(gdi_display, DefaultScreen(gdi_display));
|
||||
/* retrieve modes */
|
||||
modes = XDGAQueryModes(gdi_display, DefaultScreen(gdi_display), &nmodes);
|
||||
if (!modes) ok = FALSE;
|
||||
}
|
||||
else WARN("disabling XF86DGA2 (insufficient permissions?)\n");
|
||||
wine_tsx11_unlock();
|
||||
if (!ok) return;
|
||||
|
||||
TRACE("DGA modes: count=%d\n", nmodes);
|
||||
|
||||
xf86dga2_mode_count = nmodes+1;
|
||||
xf86dga2_modes = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(DDHALMODEINFO) * (nmodes+1));
|
||||
|
||||
/* make dummy mode for exiting DGA */
|
||||
memset(&xf86dga2_modes[0], 0, sizeof(xf86dga2_modes[0]));
|
||||
|
||||
/* convert modes to DDHALMODEINFO format */
|
||||
for (i=0; i<nmodes; i++)
|
||||
convert_mode(&modes[i], &xf86dga2_modes[i+1]);
|
||||
|
||||
/* register event handlers */
|
||||
X11DRV_register_event_handler( event_base + MotionNotify, X11DRV_DGAMotionEvent );
|
||||
X11DRV_register_event_handler( event_base + ButtonPress, X11DRV_DGAButtonPressEvent );
|
||||
X11DRV_register_event_handler( event_base + ButtonRelease, X11DRV_DGAButtonReleaseEvent );
|
||||
X11DRV_register_event_handler( event_base + KeyPress, X11DRV_DGAKeyPressEvent );
|
||||
X11DRV_register_event_handler( event_base + KeyRelease, X11DRV_DGAKeyReleaseEvent );
|
||||
|
||||
TRACE("Enabling XF86DGA2 mode\n");
|
||||
}
|
||||
|
||||
void X11DRV_XF86DGA2_Cleanup(void)
|
||||
{
|
||||
wine_tsx11_lock();
|
||||
if (modes) XFree(modes);
|
||||
wine_tsx11_unlock();
|
||||
}
|
||||
|
||||
static XDGADevice *dga_dev;
|
||||
|
||||
static VIDMEM dga_mem = {
|
||||
VIDMEM_ISRECTANGULAR | VIDMEM_ISHEAP
|
||||
};
|
||||
|
||||
static DWORD PASCAL X11DRV_XF86DGA2_SetMode(LPDDHAL_SETMODEDATA data)
|
||||
{
|
||||
LPDDRAWI_DIRECTDRAW_LCL ddlocal = data->lpDD->lpExclusiveOwner;
|
||||
DWORD vram;
|
||||
Display *display = gdi_display;
|
||||
|
||||
data->ddRVal = DD_OK;
|
||||
wine_tsx11_lock();
|
||||
if (data->dwModeIndex) {
|
||||
/* enter DGA */
|
||||
XDGADevice *new_dev = NULL;
|
||||
if (dga_dev || XDGAOpenFramebuffer(display, DefaultScreen(display)))
|
||||
new_dev = XDGASetMode(display, DefaultScreen(display), modes[data->dwModeIndex-1].num);
|
||||
if (new_dev) {
|
||||
XDGASetViewport(display, DefaultScreen(display), 0, 0, XDGAFlipImmediate);
|
||||
if (dga_dev) {
|
||||
VirtualFree(dga_dev->data, 0, MEM_RELEASE);
|
||||
XFree(dga_dev);
|
||||
} else {
|
||||
XDGASelectInput(display, DefaultScreen(display),
|
||||
KeyPressMask|KeyReleaseMask|
|
||||
ButtonPressMask|ButtonReleaseMask|
|
||||
PointerMotionMask);
|
||||
DGAhwnd = (HWND)ddlocal->hWnd;
|
||||
}
|
||||
dga_dev = new_dev;
|
||||
vram = dga_dev->mode.bytesPerScanline * dga_dev->mode.imageHeight;
|
||||
VirtualAlloc(dga_dev->data, vram, MEM_SYSTEM, PAGE_READWRITE);
|
||||
dga_mem.fpStart = (FLATPTR)dga_dev->data;
|
||||
dga_mem.u1.dwWidth = dga_dev->mode.bytesPerScanline;
|
||||
dga_mem.u2.dwHeight = dga_dev->mode.imageHeight;
|
||||
X11DRV_DDHAL_SwitchMode(data->dwModeIndex, dga_dev->data, &dga_mem);
|
||||
X11DRV_DD_IsDirect = TRUE;
|
||||
}
|
||||
else {
|
||||
ERR("failed\n");
|
||||
if (!dga_dev) XDGACloseFramebuffer(display, DefaultScreen(display));
|
||||
data->ddRVal = DDERR_GENERIC;
|
||||
}
|
||||
}
|
||||
else if (dga_dev) {
|
||||
/* exit DGA */
|
||||
X11DRV_DD_IsDirect = FALSE;
|
||||
X11DRV_DDHAL_SwitchMode(0, NULL, NULL);
|
||||
XDGASetMode(display, DefaultScreen(display), 0);
|
||||
VirtualFree(dga_dev->data, 0, MEM_RELEASE);
|
||||
DGAhwnd = 0;
|
||||
XFree(dga_dev);
|
||||
XDGACloseFramebuffer(display, DefaultScreen(display));
|
||||
dga_dev = NULL;
|
||||
}
|
||||
wine_tsx11_unlock();
|
||||
return DDHAL_DRIVER_HANDLED;
|
||||
}
|
||||
|
||||
static LPDDHAL_CREATESURFACE X11DRV_XF86DGA2_old_create_surface;
|
||||
|
||||
static DWORD PASCAL X11DRV_XF86DGA2_CreateSurface(LPDDHAL_CREATESURFACEDATA data)
|
||||
{
|
||||
LPDDRAWI_DDRAWSURFACE_LCL lcl = *data->lplpSList;
|
||||
LPDDRAWI_DDRAWSURFACE_GBL gbl = lcl->lpGbl;
|
||||
LPDDSURFACEDESC2 desc = (LPDDSURFACEDESC2)data->lpDDSurfaceDesc;
|
||||
HRESULT hr = DDHAL_DRIVER_NOTHANDLED;
|
||||
|
||||
if (X11DRV_XF86DGA2_old_create_surface)
|
||||
hr = X11DRV_XF86DGA2_old_create_surface(data);
|
||||
|
||||
if (desc->ddsCaps.dwCaps & (DDSCAPS_PRIMARYSURFACE | DDSCAPS_BACKBUFFER)) {
|
||||
gbl->fpVidMem = 0; /* tell ddraw to allocate the memory */
|
||||
hr = DDHAL_DRIVER_HANDLED;
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
|
||||
static DWORD PASCAL X11DRV_XF86DGA2_CreatePalette(LPDDHAL_CREATEPALETTEDATA data)
|
||||
{
|
||||
Display *display = gdi_display;
|
||||
wine_tsx11_lock();
|
||||
data->lpDDPalette->u1.dwReserved1 = XDGACreateColormap(display, DefaultScreen(display),
|
||||
dga_dev, AllocAll);
|
||||
wine_tsx11_unlock();
|
||||
if (data->lpColorTable)
|
||||
X11DRV_DDHAL_SetPalEntries(data->lpDDPalette->u1.dwReserved1, 0, 256,
|
||||
data->lpColorTable);
|
||||
data->ddRVal = DD_OK;
|
||||
return DDHAL_DRIVER_HANDLED;
|
||||
}
|
||||
|
||||
static DWORD PASCAL X11DRV_XF86DGA2_Flip(LPDDHAL_FLIPDATA data)
|
||||
{
|
||||
Display *display = gdi_display;
|
||||
if (data->lpSurfCurr == X11DRV_DD_Primary) {
|
||||
DWORD ofs = data->lpSurfCurr->lpGbl->fpVidMem - dga_mem.fpStart;
|
||||
wine_tsx11_lock();
|
||||
XDGASetViewport(display, DefaultScreen(display),
|
||||
(ofs % dga_dev->mode.bytesPerScanline)*8/dga_dev->mode.bitsPerPixel,
|
||||
ofs / dga_dev->mode.bytesPerScanline,
|
||||
XDGAFlipImmediate);
|
||||
wine_tsx11_unlock();
|
||||
}
|
||||
data->ddRVal = DD_OK;
|
||||
return DDHAL_DRIVER_HANDLED;
|
||||
}
|
||||
|
||||
static DWORD PASCAL X11DRV_XF86DGA2_SetPalette(LPDDHAL_SETPALETTEDATA data)
|
||||
{
|
||||
Display *display = gdi_display;
|
||||
if ((data->lpDDSurface == X11DRV_DD_Primary) &&
|
||||
data->lpDDPalette && data->lpDDPalette->u1.dwReserved1)
|
||||
{
|
||||
wine_tsx11_lock();
|
||||
XDGAInstallColormap(display, DefaultScreen(display), data->lpDDPalette->u1.dwReserved1);
|
||||
wine_tsx11_unlock();
|
||||
}
|
||||
data->ddRVal = DD_OK;
|
||||
return DDHAL_DRIVER_HANDLED;
|
||||
}
|
||||
|
||||
int X11DRV_XF86DGA2_CreateDriver(LPDDHALINFO info)
|
||||
{
|
||||
if (!xf86dga2_mode_count) return 0; /* no DGA */
|
||||
|
||||
info->dwNumModes = xf86dga2_mode_count;
|
||||
info->lpModeInfo = xf86dga2_modes;
|
||||
info->dwModeIndex = 0;
|
||||
|
||||
X11DRV_XF86DGA2_old_create_surface = info->lpDDCallbacks->CreateSurface;
|
||||
info->lpDDCallbacks->SetMode = X11DRV_XF86DGA2_SetMode;
|
||||
info->lpDDCallbacks->CreateSurface = X11DRV_XF86DGA2_CreateSurface;
|
||||
info->lpDDCallbacks->CreatePalette = X11DRV_XF86DGA2_CreatePalette;
|
||||
info->lpDDSurfaceCallbacks->Flip = X11DRV_XF86DGA2_Flip;
|
||||
info->lpDDSurfaceCallbacks->SetPalette = X11DRV_XF86DGA2_SetPalette;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#endif /* HAVE_LIBXXF86DGA2 */
|
|
@ -1,42 +0,0 @@
|
|||
/*
|
||||
* DirectDraw HAL XVidMode interface
|
||||
*
|
||||
* Copyright 2001 TransGaming Technologies, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
#ifndef __WINE_DGA2_H
|
||||
#define __WINE_DGA2_H
|
||||
|
||||
#ifndef __WINE_CONFIG_H
|
||||
# error You must include config.h to use this header
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LIBXXF86DGA2
|
||||
#include <stdarg.h>
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "ddrawi.h"
|
||||
|
||||
extern LPDDHALMODEINFO xf86dga2_modes;
|
||||
extern unsigned xf86dga2_mode_count;
|
||||
|
||||
void X11DRV_XF86DGA2_Init(void);
|
||||
void X11DRV_XF86DGA2_Cleanup(void);
|
||||
int X11DRV_XF86DGA2_CreateDriver(LPDDHALINFO info);
|
||||
|
||||
#endif /* HAVE_LIBXXF86DGA2 */
|
||||
#endif /* __WINE_DGA2_H */
|
|
@ -27,9 +27,6 @@
|
|||
#include <X11/Xlib.h>
|
||||
#include <X11/Xresource.h>
|
||||
#include <X11/Xutil.h>
|
||||
#ifdef HAVE_LIBXXF86DGA2
|
||||
#include <X11/extensions/xf86dga.h>
|
||||
#endif
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdarg.h>
|
||||
|
|
|
@ -21,9 +21,6 @@
|
|||
#include "config.h"
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
#ifdef HAVE_LIBXXF86DGA2
|
||||
#include <X11/extensions/xf86dga.h>
|
||||
#endif
|
||||
#include <stdarg.h>
|
||||
|
||||
#define NONAMELESSUNION
|
||||
|
@ -834,49 +831,3 @@ void X11DRV_EnterNotify( HWND hwnd, XEvent *xev )
|
|||
X11DRV_send_mouse_input( hwnd, MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE,
|
||||
pt.x, pt.y, 0, EVENT_x11_time_to_win32_time(event->time), 0, 0 );
|
||||
}
|
||||
|
||||
|
||||
#ifdef HAVE_LIBXXF86DGA2
|
||||
|
||||
extern HWND DGAhwnd;
|
||||
|
||||
/**********************************************************************
|
||||
* X11DRV_DGAMotionEvent
|
||||
*/
|
||||
void X11DRV_DGAMotionEvent( HWND hwnd, XEvent *xev )
|
||||
{
|
||||
XDGAMotionEvent *event = (XDGAMotionEvent *)xev;
|
||||
update_key_state( event->state );
|
||||
X11DRV_send_mouse_input( DGAhwnd, MOUSEEVENTF_MOVE, event->dx, event->dy,
|
||||
0, EVENT_x11_time_to_win32_time(event->time), 0, 0 );
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
* X11DRV_DGAButtonPressEvent
|
||||
*/
|
||||
void X11DRV_DGAButtonPressEvent( HWND hwnd, XEvent *xev )
|
||||
{
|
||||
XDGAButtonEvent *event = (XDGAButtonEvent *)xev;
|
||||
int buttonNum = event->button - 1;
|
||||
|
||||
if (buttonNum >= NB_BUTTONS) return;
|
||||
update_key_state( event->state );
|
||||
X11DRV_send_mouse_input( DGAhwnd, button_down_flags[buttonNum], 0, 0,
|
||||
0, EVENT_x11_time_to_win32_time(event->time), 0, 0 );
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
* X11DRV_DGAButtonReleaseEvent
|
||||
*/
|
||||
void X11DRV_DGAButtonReleaseEvent( HWND hwnd, XEvent *xev )
|
||||
{
|
||||
XDGAButtonEvent *event = (XDGAButtonEvent *)xev;
|
||||
int buttonNum = event->button - 1;
|
||||
|
||||
if (buttonNum >= NB_BUTTONS) return;
|
||||
update_key_state( event->state );
|
||||
X11DRV_send_mouse_input( DGAhwnd, button_up_flags[buttonNum], 0, 0,
|
||||
0, EVENT_x11_time_to_win32_time(event->time), 0, 0 );
|
||||
}
|
||||
|
||||
#endif /* HAVE_LIBXXF86DGA2 */
|
||||
|
|
|
@ -27,7 +27,6 @@
|
|||
#define NONAMELESSSTRUCT
|
||||
#include "x11drv.h"
|
||||
#include "x11ddraw.h"
|
||||
#include "dga2.h"
|
||||
|
||||
#include "windef.h"
|
||||
#include "gdi.h"
|
||||
|
@ -385,12 +384,7 @@ INT X11DRV_DCICommand(INT cbInput, const DCICMD *lpCmd, LPVOID lpOutData)
|
|||
LPDWORD lpInstance = (LPDWORD)lpOutData;
|
||||
|
||||
/* FIXME: get x11drv's hInstance */
|
||||
#ifdef HAVE_LIBXXF86DGA2
|
||||
if (!X11DRV_XF86DGA2_CreateDriver(&hal_info))
|
||||
#endif
|
||||
{
|
||||
X11DRV_Settings_CreateDriver(&hal_info);
|
||||
}
|
||||
X11DRV_Settings_CreateDriver(&hal_info);
|
||||
#ifdef HAVE_OPENGL
|
||||
/*X11DRV_GLX_CreateDriver(&hal_info);*/
|
||||
#endif
|
||||
|
|
|
@ -34,9 +34,6 @@
|
|||
#ifdef HAVE_LIBXXSHM
|
||||
# include <X11/extensions/XShm.h>
|
||||
#endif /* defined(HAVE_LIBXXSHM) */
|
||||
#ifdef HAVE_LIBXXF86DGA2
|
||||
#include <X11/extensions/xf86dga.h>
|
||||
#endif
|
||||
|
||||
#define BOOL X_BOOL
|
||||
#define BYTE X_BYTE
|
||||
|
@ -620,9 +617,6 @@ extern void X11DRV_ConfigureNotify( HWND hwnd, XEvent *event );
|
|||
extern void X11DRV_SelectionRequest( HWND hWnd, XEvent *event );
|
||||
extern void X11DRV_SelectionClear( HWND hWnd, XEvent *event );
|
||||
extern void X11DRV_MappingNotify( HWND hWnd, XEvent *event );
|
||||
extern void X11DRV_DGAMotionEvent( HWND hwnd, XEvent *event );
|
||||
extern void X11DRV_DGAButtonPressEvent( HWND hwnd, XEvent *event );
|
||||
extern void X11DRV_DGAButtonReleaseEvent( HWND hwnd, XEvent *event );
|
||||
|
||||
extern DWORD EVENT_x11_time_to_win32_time(Time time);
|
||||
|
||||
|
|
|
@ -49,7 +49,6 @@
|
|||
#include "x11drv.h"
|
||||
#include "xvidmode.h"
|
||||
#include "xrandr.h"
|
||||
#include "dga2.h"
|
||||
#include "wine/server.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
|
@ -72,7 +71,6 @@ unsigned int screen_height;
|
|||
unsigned int screen_depth;
|
||||
Window root_window;
|
||||
int dxgrab = 0;
|
||||
int usedga = 0;
|
||||
int usexvidmode = 1;
|
||||
int usexrandr = 1;
|
||||
int use_xkb = 1;
|
||||
|
@ -318,9 +316,6 @@ static void setup_options(void)
|
|||
if (!get_config_key( hkey, appkey, "DXGrab", buffer, sizeof(buffer) ))
|
||||
dxgrab = IS_OPTION_TRUE( buffer[0] );
|
||||
|
||||
if (!get_config_key( hkey, appkey, "UseDGA", buffer, sizeof(buffer) ))
|
||||
usedga = IS_OPTION_TRUE( buffer[0] );
|
||||
|
||||
if (!get_config_key( hkey, appkey, "UseXVidMode", buffer, sizeof(buffer) ))
|
||||
usexvidmode = IS_OPTION_TRUE( buffer[0] );
|
||||
|
||||
|
@ -437,10 +432,6 @@ static BOOL process_attach(void)
|
|||
/* initialize XRandR */
|
||||
X11DRV_XRandR_Init();
|
||||
#endif
|
||||
#ifdef HAVE_LIBXXF86DGA2
|
||||
/* initialize DGA2 */
|
||||
X11DRV_XF86DGA2_Init();
|
||||
#endif
|
||||
|
||||
X11DRV_InitKeyboard();
|
||||
X11DRV_InitClipboard();
|
||||
|
@ -474,10 +465,6 @@ static void thread_detach(void)
|
|||
*/
|
||||
static void process_detach(void)
|
||||
{
|
||||
#ifdef HAVE_LIBXXF86DGA2
|
||||
/* cleanup DGA2 */
|
||||
X11DRV_XF86DGA2_Cleanup();
|
||||
#endif
|
||||
#ifdef HAVE_LIBXXF86VM
|
||||
/* cleanup XVidMode */
|
||||
X11DRV_XF86VM_Cleanup();
|
||||
|
|
|
@ -350,9 +350,6 @@
|
|||
/* Define to 1 if you have the <libxslt/transform.h> header file. */
|
||||
#undef HAVE_LIBXSLT_TRANSFORM_H
|
||||
|
||||
/* Define if you have the Xxf86dga library version 2 */
|
||||
#undef HAVE_LIBXXF86DGA2
|
||||
|
||||
/* Define if you have the Xxf86vm library */
|
||||
#undef HAVE_LIBXXF86VM
|
||||
|
||||
|
@ -890,9 +887,6 @@
|
|||
/* Define to 1 if you have the <X11/extensions/shape.h> header file. */
|
||||
#undef HAVE_X11_EXTENSIONS_SHAPE_H
|
||||
|
||||
/* Define to 1 if you have the <X11/extensions/xf86dga.h> header file. */
|
||||
#undef HAVE_X11_EXTENSIONS_XF86DGA_H
|
||||
|
||||
/* Define to 1 if you have the <X11/extensions/xf86vmode.h> header file. */
|
||||
#undef HAVE_X11_EXTENSIONS_XF86VMODE_H
|
||||
|
||||
|
|
Loading…
Reference in New Issue