xserver/hw/xwin
Jon Turney f5f4d32ac7 Add Windows-DRI extension
If windowsdriproto headers are available, build a Windows-DRI extension,
which supports requests to enable local clients to directly render GL to a
Windows drawable:

- a query to check if WGL is being used on a screen
- a query to map a fbconfigID to a native pixelformatindex
- a query to map a drawable to a native handle

Windows-DRI can only be useful if we are using WGL, so make an note if WGL
is active on a screen.

Make validGlxDrawable() public

Adjust glxWinSetPixelFormat() so it doesn't require a context, just a
screen and config.

That enables factoring out the deferred drawable creation code as
glxWinDeferredCreateDrawable()

Enhance glxWinDeferredCreateDrawable(), so that pixmaps are placed into a
file mapping, so they exist in memory which can be shared with the direct
rendering process.

Currently, this file mapping is accessed by a name generated from the XID.
This will not be unique across multiple server instances. It would perhaps
be better, although more complicated, to use an anonymous file mapping, and
then duplicate the handle for the direct rendering process.

Use glxWinDeferredCreateDrawable() to ensure the native handle exists for
the Windows-DRI query to map a drawable to native handle.

v2:
Various printf format warning fixes

v3:
Fix format warnings on x86
Move some uninteresting windows-dri output to debug log level

v4:
check for windowsdriproto when  --enable-windowsdri
use windowsdriproto_CFLAGS

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2016-09-15 20:10:29 +01:00
..
dri Add Windows-DRI extension 2016-09-15 20:10:29 +01:00
glx Add Windows-DRI extension 2016-09-15 20:10:29 +01:00
man hw/xwin: Default to -noresize when -fullscreen is used 2016-06-23 14:15:27 +01:00
winclipboard xwin: Use WM_CLIPBOARDUPDATE clipboard API 2016-02-29 14:04:31 -05:00
.gitignore XWin: build XWin man pages using XORG_MANPAGE_SECTIONS 2011-01-18 15:10:21 -08:00
InitInput.c hw/xwin: Update for removal of AddEnabledDevice 2016-07-19 08:10:03 -07:00
InitOutput.c Add Windows-DRI extension 2016-09-15 20:10:29 +01:00
Makefile.am Add Windows-DRI extension 2016-09-15 20:10:29 +01:00
X.ico Cygwin/X: Update the native icon to one based on the X.Org logo 2008-12-15 12:42:10 +00:00
XWin.exe.manifest hw/xwin: Report OS version in log 2015-03-23 16:01:58 +00:00
XWin.rc hw/xwin: Add controls for enabling/disabling monitoring of PRIMARY selection 2014-11-09 14:22:35 +00:00
ddraw.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
propertystore.h hw/xwin: Add correct taskbar grouping of X windows on Windows 7 2012-11-27 16:08:22 +00:00
system.XWinrc Cygwin/X: Tidy up system.Xwinrc 2010-02-05 19:15:04 +00:00
win.h Add Windows-DRI extension 2016-09-15 20:10:29 +01:00
winSetAppUserModelID.c hw/xwin: Fix format warnings with debug printing of pointers on 64-bit 2014-10-09 16:31:58 +01:00
winallpriv.c hw/xwin: Remove GC privates, unused since native GDI engine removal 2016-03-09 16:13:47 +00:00
winauth.c hw/xwin: xcbify internal window manager 2016-04-07 10:31:39 +01:00
winblock.c hw/xwin: Update BlockHandler function signature 2016-07-19 08:10:11 -07:00
winclipboardinit.c hw/xwin: Add fUseUnicode as parameter to winClipboardProc() 2014-09-13 14:18:30 +01:00
winclipboardwrappers.c hw/xwin: Remove some redundant clipboard externs, now defined in winglobals.h 2014-11-06 12:07:34 +00:00
wincmap.c hw/xwin: printf format fixes for Pixel type 2015-07-07 16:52:53 +01:00
winconfig.c hw/xwin: Tidy-up of winmsg.h 2016-03-09 16:13:54 +00:00
winconfig.h xfree86: Remove Option "TextClockFreq" 2014-09-26 15:27:18 -04:00
wincreatewnd.c hw/xwin: Default to -noresize when -fullscreen is used 2016-06-23 14:15:27 +01:00
wincursor.c Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
windialogs.c hw/xwin: printf format fixes for DWORD type 2015-07-07 16:52:44 +01:00
windisplay.c hw/xwin: Improve choice of display name used by internal clients 2014-08-29 13:28:00 +01:00
windisplay.h hw/xwin: Improve choice of display name used by internal clients 2014-08-29 13:28:00 +01:00
winengine.c hw/xwin: Return FALSE to indicate failure in winSetEngine() 2016-03-09 16:13:21 +00:00
winerror.c hw/xwin: Tell LogInit() to backup previous logfile as .old 2016-06-23 14:15:27 +01:00
winglobals.c hw/xwin: Remove the long-broken -silent-dup-error option 2016-03-09 16:12:25 +00:00
winglobals.h hw/xwin: Remove the long-broken -silent-dup-error option 2016-03-09 16:12:25 +00:00
winkeybd.c hw/xwin: Fix a crash which occurs if focus returns to XWin after xkbcomp has failed 2016-06-28 14:29:03 +01:00
winkeybd.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
winkeyhook.c hw/xwin: printf format fixes for DWORD type 2015-07-07 16:52:44 +01:00
winkeynames.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
winlayouts.h xwin: Keyboard layout updates 2016-02-29 14:05:30 -05:00
winmessages.h hw/xwin: Handle WM_MOUSEHWHEEL 2013-07-23 23:59:27 +01:00
winmisc.c xwin: Remove native GDI engine (v2) 2014-10-09 09:27:21 +02:00
winmonitors.c hw/xwin: Fix using index as a formal parameter in winmonitors.c shadows index() 2012-10-16 21:22:40 +01:00
winmonitors.h hw/xwin: Align parameter names in prototypes with definition 2014-03-03 14:31:17 +00:00
winmouse.c hw/xwin: Handle WM_MOUSEHWHEEL 2013-07-23 23:59:27 +01:00
winms.h hw/xwin: Fix for MinGW-w64 DirectDraw headers 2012-11-28 14:44:14 +00:00
winmsg.c hw/xwin: Tidy-up of winmsg.h 2016-03-09 16:13:54 +00:00
winmsg.h hw/xwin: Tidy-up of winmsg.h 2016-03-09 16:13:54 +00:00
winmsgwindow.c hw/xwin: Fix unused variable warning in winCreateMsgWindow() 2014-10-09 16:35:54 +01:00
winmultiwindowclass.c hw/xwin: Fix possible crash in winMultiWindowGetClassHint 2013-07-23 23:59:41 +01:00
winmultiwindowclass.h xwin: Correctly interpret WM_HINTS, WM_NORMAL_HINTS properties on x86_64 2016-02-29 14:04:19 -05:00
winmultiwindowicons.c hw/xwin: xcbify code for converting X11 icon to Win32 icon 2016-04-07 10:30:48 +01:00
winmultiwindowicons.h hw/xwin: xcbify code for converting X11 icon to Win32 icon 2016-04-07 10:30:48 +01:00
winmultiwindowshape.c hw/xwin: Fix format warnings with debug printing of pointers on 64-bit 2014-10-09 16:31:58 +01:00
winmultiwindowwindow.c hw/xwin: In multiwindow mode, do window minimization entirely in the WM 2016-04-07 10:31:13 +01:00
winmultiwindowwm.c hw/xwin: Make window maximizable if a maximium size larger than virtual desktop size is specified 2016-06-23 14:15:27 +01:00
winmultiwindowwndproc.c hw/xwin: Fix a crash trying to reload window icons when not in multiwindow mode 2016-06-28 14:29:30 +01:00
winos.c hw/xwin: Report OS version in log 2015-03-23 16:01:58 +00:00
winprefs.c hw/xwin: Fix a crash trying to reload window icons when not in multiwindow mode 2016-06-28 14:29:30 +01:00
winprefs.h hw/xwin: Fix a crash trying to reload window icons when not in multiwindow mode 2016-06-28 14:29:30 +01:00
winprefslex.l hw/xwin: Fix redundant declaration warning in winprefslex.l 2014-10-09 16:35:20 +01:00
winprefsyacc.y hw/xwin: Fix warning in yyerror() 2014-10-09 16:34:48 +01:00
winprocarg.c hw/xwin: Default to -noresize when -fullscreen is used 2016-06-23 14:15:27 +01:00
winrandr.c xwin: Update to XRANDR 1.2 internal interface to ensure an output is reported by XRANDR 2016-02-29 14:04:36 -05:00
winresource.h hw/xwin: Add controls for enabling/disabling monitoring of PRIMARY selection 2014-11-09 14:22:35 +00:00
winscrinit.c hw/xwin: Remove allowOtherWM, which is now always FALSE 2016-03-09 16:13:01 +00:00
winshadddnl.c hw/xwin: Remove unused FinishCreateWindowsWindow engine function 2016-03-09 16:13:34 +00:00
winshadgdi.c hw/xwin: Use NULL rather than NoopDDA for unimplemented engine functions 2016-03-09 16:13:41 +00:00
wintaskbar.c hw/xwin: Use Bool type in winShowWindowOnTaskbar() prototype 2016-06-23 14:15:27 +01:00
wintrayicon.c hw/xwin: Add controls for enabling/disabling monitoring of PRIMARY selection 2014-11-09 14:22:35 +00:00
winvalargs.c hw/xwin: Detect invalid options in combination with -nodecoration 2016-06-23 14:15:27 +01:00
winvideo.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
winwakeup.c Remove readmask from screen block/wakeup handler 2016-07-18 15:27:51 -04:00
winwin32rootless.c hw/xwin: xcbify code for converting X11 icon to Win32 icon 2016-04-07 10:30:48 +01:00
winwin32rootlesswindow.c hw/xwin: Remove winIsInternalWMRunning(), which now always returns FALSE 2016-03-09 16:12:51 +00:00
winwin32rootlesswndproc.c hw/xwin: Remove WM_(UN|)MANAGE messages, which are now never sent 2016-03-09 16:13:07 +00:00
winwindow.c xwin: Remove native GDI engine (v2) 2014-10-09 09:27:21 +02:00
winwindow.h hw/xwin: Use Bool type in winShowWindowOnTaskbar() prototype 2016-06-23 14:15:27 +01:00
winwindowswm.c xwin: Fix format warnings when ./configured --enable-debug --enable-windowswm 2016-02-29 14:03:42 -05:00
winwndproc.c hw/xwin: Fix a typo in "Remove Shadow DirectDraw engine" 2016-06-28 14:29:33 +01:00