Alexandre Julliard
b0e2d046fc
opengl32: Make wgl driver entry points WINAPI.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-23 13:33:20 +02:00
Alexandre Julliard
7afa53c0f2
winex11: Use standard dlopen() instead of the libwine wrappers.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 14:26:20 +02:00
Alexandre Julliard
f82a5b610f
winex11: Avoid using wine_get/set_fs().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-03 10:47:00 +02:00
Alex Henrie
a28980da5a
winex11: Factor out array access in ConvertAttribWGLtoGLX (scan-build).
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 22:47:45 +02:00
Henri Verbeet
10dcee21c4
winex11: Only handle errors from GLX requests in GLXErrorHandler().
...
Spurious errors that would otherwise be handled by ignore_error() may cause
OpenGL context creation to fail.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-06 13:19:33 -05:00
Micah N Gorrell
0cb79db12a
winex11.drv: Recreate gl_drawable for top-level windows as non-top level when clipping for child windows is required.
...
Prevent creating a gl_drawable for a window as type DC_GL_WINDOW if
there are known children of the window, since DC_GL_WINDOW does not
support clipping.
Recreate a gl_drawable that was previously create as type DC_GL_WINDOW
when a child is encountered.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=15232
Signed-off-by: Micah N Gorrell <mgorrell@codeweavers.com>
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 19:44:26 +02:00
Michael Stefaniuc
8e1d40b966
winex11.drv: Use the ARRAY_SIZE() macro.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-19 23:17:49 +02:00
Alexandre Julliard
9243411837
winex11: Make pixel format traces more compact.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-13 19:16:44 +02:00
Henri Verbeet
14ec499d5b
winex11: Restore the X11DRV_FLUSH_GL_DRAWABLE XFlush() for setups without OML_sync_control.
...
This was removed in e75bc6228e
, but appears to
mitigate lack of OML_sync_control in at least some setups.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-16 16:40:32 +01:00
Alexandre Julliard
7bc327a1d1
winex11: Get rid of the WineGLInfo structure.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-12 16:06:01 +01:00
Alexandre Julliard
1ce36987eb
winex11: Use the client window support also for XComposite child windows.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-12 15:49:23 +01:00
Alexandre Julliard
ac4f2ac36f
winex11: Hold a reference to the drawable from the GL context.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-12 15:42:05 +01:00
Alexandre Julliard
6dc30a2ed3
winex11: Implement refcounting of GL drawables.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-12 15:34:57 +01:00
Alexandre Julliard
99041a6fd3
winex11: Store only the pixmap size instead of the window rectangle in the GL drawable.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-09 13:10:25 +01:00
Alexandre Julliard
9efcd61d01
winex11: Store the visual info in the OpenGL pixel format.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-09 11:08:37 +01:00
Alexandre Julliard
d6332e0e57
winex11: Use the correct colormap for the OpenGL parent window.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-26 13:35:38 +01:00
Henri Verbeet
3eaa23cbbf
winex11: Implement WGL_ARB_create_context_no_error.
...
Mostly because it's easy, and we'd like to use this from wined3d at some
point.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-24 21:30:51 +01:00
Henri Verbeet
1246a27730
winex11: Failing to create a context in X11DRV_wglCreateContextAttribsARB() is not an internal error.
...
In particular, without WGL_WINE_query_renderer, the only way to determine
whether a particular context version is supported or not is by attempting to
create a context with that version.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-19 19:45:57 +01:00
Alexandre Julliard
5632c82c42
include: Get rid of wglext.h.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-11 19:49:29 +02:00
Alexandre Julliard
17dffaac7d
opengl32: Get WGL function definitions from the XML files.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-10 10:06:10 +02:00
Henri Verbeet
147f934103
winex11: Only use glXSwapBuffersMscOML() for child windows.
...
The notion that glXSwapBuffersMscOML() with 0/0/0 target_msc/divisor/remainder
is supposed to behave like glXSwapBuffers() with respect to the swap interval
turns out to have been a misconception on my behalf, the extension spec
doesn't actually say that. Adding to the confusion is the fact that some
drivers do in fact behave like that in practice. It's possible to make
glXSwapBuffersMscOML() use the proper swap interval, but it's much easier to
just use glXSwapBuffers() instead. One consequence of the approach taken in
this patch is that child window buffer swaps aren't necessarily synchronised
to vblank, but ultimately that's up to X11DRV_FLUSH_GL_DRAWABLE, not the
buffer swap. This fixes a regression introduced by commit
e75bc6228e
.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-12 19:51:55 +02:00
Henri Verbeet
e75bc6228e
winex11: Use GLX_OML_sync_control to synchronise buffer swaps with X11DRV_FLUSH_GL_DRAWABLE requests.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-24 09:40:10 +01:00
Thomas Faber
3be9f9d036
winex11: Avoid unused variable warning when building without LIBGL.
...
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-20 17:23:37 +01:00
Miklós Máté
c89dc58deb
winex11: Use GLX 1.3 for windows.
...
Differentiate between X window and GLX window, use GLX 1.3 for GL window
create/destroy.
Signed-off-by: Miklós Máté <mtmkls@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-30 20:50:17 +09:00
Miklós Máté
9859365d77
winex11: Use GLX 1.3 for pixmaps.
...
Signed-off-by: Miklós Máté <mtmkls@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-30 20:40:26 +09:00
Jacek Caban
ef6890835d
winex11.drv: Use InitOnceExecuteOnce in has_opengl.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-14 13:15:47 +09:00
Miklós Máté
f9696eea8b
winex11: Don't create a temporary context each time X11DRV_wglBindTexImageARB is called.
...
Signed-off-by: Miklós Máté <mtmkls@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-17 01:37:06 +09:00
Henri Verbeet
97e8f047a4
winex11: Implement WGL_WINE_query_renderer on top of GLX_MESA_query_renderer.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-16 12:11:07 +09:00
Charles Davis
6509f90eac
winex11.drv: Actually query the swap method attribute.
...
Signed-off-by: Charles Davis <cdavis5x@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:07:16 +09:00
Alexandre Julliard
aaa7f2ca5a
winex11: Make OpenGL traces more compact and readable.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-18 23:05:45 +09:00
Alexandre Julliard
ef9c0cecc5
winex11: Always create direct rendering OpenGL contexts.
...
Indirect rendering is no longer supported nowadays.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-18 15:36:41 +09:00
Alex Henrie
6479e32cf0
winex11: Avoid double initialization of variables in OpenGL functions.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-05 20:22:37 +09:00
André Hentschel
3bddfebe99
winex11.drv: Remove unused code (Clang).
2014-12-04 14:03:22 +01:00
Matteo Bruni
7ba434b4fa
winex11.drv: Add support for GLX_OML_swap_method.
2014-11-11 14:20:48 +09:00
Matteo Bruni
3ac85842d3
winex11.drv: Actually report WGL_SWAP_EXCHANGE_ARB as the swap method.
2014-11-11 14:20:39 +09:00
Ken Thomases
351fae1206
winex11: Consolidate duplicate code from glxdrv_wglSetPixelFormat() and X11DRV_wglSetPixelFormatWINE().
2014-05-06 15:45:12 +02:00
Ken Thomases
809166def7
winex11: Remove set-but-never-read hwnd and fbconfig_id fields of struct x11drv_escape_set_drawable.
2014-04-01 10:44:57 +02:00
Ken Thomases
4325ecdca8
winex11: Maintain the swap interval when the drawable is recreated.
...
The swap interval is a property of the GLX drawable, which is destroyed and
recreated by set_gl_drawable_parent() and wglSetPixelFormatWINE(). When that
happens, copy the interval from the old gl_drawable and apply it at the next
call to wglSwapBuffers().
2014-04-01 10:44:34 +02:00
Ken Thomases
eb235b6b98
winex11: Remove unused "parent" parameter from create_gl_drawable().
2014-03-21 11:17:32 +01:00
Ken Thomases
6696e7d9e1
winex11: Don't reset OpenGL swap interval of window on SetParent().
2014-03-21 11:17:23 +01:00
Rico Schüller
2fa9b7ebb5
opengl32: Use opengl xml registry files.
2013-11-05 20:38:21 +01:00
Frédéric Delanoy
387fafd39e
winex11.drv: Use BOOL type where appropriate.
2013-10-09 10:08:54 +02:00
Sebastian Lackner
4e9646a7f7
winex11: Call sync_context for DC_GL_CHILD_WIN drawables before swapping buffers.
2013-10-02 13:03:19 +02:00
Ken Thomases
cf973bd28d
winex11: Don't trace a garbage value or read past end of caller's array in X11DRV_wglChoosePixelFormatARB().
2013-09-20 14:11:24 +02:00
Roderick Colenbrander
af58ccebba
winex11: Support GLX_MESA_swap_control for WGL_EXT_swap_control.
2013-09-18 13:14:47 +02:00
Roderick Colenbrander
dee3418d3a
winex11: Support WGL_EXT_swap_control_tear.
2013-09-04 16:27:29 +02:00
Roderick Colenbrander
e95e77a19f
winex11: Refactor wglSwapIntervalEXT for use with glXSwapIntervalEXT.
...
In preparation for WGL_EXT_swap_control_tear support, transition to using glXSwapIntervalEXT.
2013-09-04 16:27:25 +02:00
Charles Davis
d8cd280579
winex11.drv: Advertise some legacy WGL extensions in the GL_EXTENSIONS string.
2013-08-16 11:55:24 +02:00
Ričardas Barkauskas
cde84a7bcc
winex11.drv: When skipping unknown attribute also skip its value.
2013-07-02 11:09:30 +02:00
Austin English
44e69805e9
winex11.drv: Print the architecture when showing driver problems.
2013-06-27 13:38:53 +02:00