Alexandre Julliard
4c0779006e
opengl32: Move the wgl functions to the main OpenGL function table.
2012-07-19 22:50:37 +02:00
Alexandre Julliard
101bdf425b
winex11: Use the function table pointer to call dynamically loaded OpenGL functions.
2012-07-18 19:51:09 +02:00
Alexandre Julliard
df91c7bc83
opengl32: Redirect standard OpenGL functions through the TEB function table.
2012-07-18 17:12:29 +02:00
Alexandre Julliard
33ca17e1e9
winex11: Fill a function table with the standard OpenGL functions and store it in the TEB.
2012-07-18 17:11:42 +02:00
Alexandre Julliard
4b0f27f664
winex11: Get rid of the no longer needed drawable rect in the X11 device.
2012-07-12 16:05:37 -05:00
Dmitry Timoshkov
6173e6bfb6
winex11.drv: Avoid conflicting definitions of WINGDIAPI.
2012-07-09 09:59:32 -04:00
Alexandre Julliard
241ab9257c
winex11: Use the correct drawable with the X11DRV_GET_DRAWABLE escape.
2012-07-03 16:56:40 +02:00
Alexandre Julliard
39819d1e8b
winex11: Replace wgl.h by the official wglext.h from the OpenGL registry.
2012-07-02 19:17:41 +02:00
Alexandre Julliard
19fcc230d0
winex11: Move GLX definitions out of wgl.h.
2012-07-02 13:21:54 +02:00
Alexandre Julliard
83be88953b
opengl32: Make the WGL driver context-specific.
2012-06-29 20:41:36 +02:00
Alexandre Julliard
d89f7f2563
opengl32: Move checks of the context thread id to opengl32.
2012-06-29 20:41:35 +02:00
Alexandre Julliard
0045ec9dfb
opengl32: Use proper handles for GL contexts and pass a context pointer to the WGL driver functions.
2012-06-29 20:41:34 +02:00
Alexandre Julliard
e059d565ab
gdi32: Add a null WGL driver.
2012-06-28 18:52:27 +02:00
Alexandre Julliard
6a9dcd51a2
gdi32: Remove the remaining OpenGL entry points from the DC driver.
2012-06-28 18:52:23 +02:00
Alexandre Julliard
855f225498
opengl32: Move wglGetCurrentContext implementation to opengl32.
2012-06-28 18:52:11 +02:00
Alexandre Julliard
edfc7f0de0
opengl32: Move wglGetProcAddress to the WGL driver.
2012-06-28 16:14:55 +02:00
Alexandre Julliard
8a13afedd6
opengl32: Move GetPixelFormat to the WGL driver.
2012-06-28 15:53:14 +02:00
Alexandre Julliard
bbdf77a311
opengl32: Move wglCreateContext to the WGL driver.
2012-06-28 15:47:31 +02:00
Alexandre Julliard
3bcb8057a1
opengl32: Move wglCreateContextAttribsARB to the WGL driver.
2012-06-28 15:07:44 +02:00
Alexandre Julliard
47fe838b15
opengl32: Move wglMakeContextCurrentARB to the WGL driver.
2012-06-28 14:49:49 +02:00
Alexandre Julliard
7a031d9b92
opengl32: Add the concept of a WGL driver.
2012-06-28 14:37:31 +02:00
Alexandre Julliard
db25d4022a
winex11: Simplify wglSetPixelFormatWINE and export it as a standard extension function.
2012-06-28 13:13:01 +02:00
Alexandre Julliard
4a367c5719
winex11: Export wglMakeCurrent and wglMakeContextCurrentARB as standard extension functions.
2012-06-28 01:44:03 +02:00
Alexandre Julliard
bebf84f7a8
winex11: Use the GET_DRAWABLE escape to implement wglMakeContextCurrentARB.
2012-06-28 01:44:03 +02:00
Alexandre Julliard
7f4d3022d0
winex11: Use the GET_DRAWABLE escape to implement wglMakeCurrent.
2012-06-28 01:44:03 +02:00
Alexandre Julliard
3e8b3d0f66
winex11: Add a GET_DRAWABLE escape to mirror the SET_DRAWABLE one.
2012-06-28 01:44:02 +02:00
Alexandre Julliard
81cd178ae1
winex11: Move ChoosePixelFormat implementation to opengl32 and base it on DescribePixelFormat.
2012-06-26 12:24:09 +02:00
Alexandre Julliard
ee21554893
gdi32: Remove OpenGL functions that don't use an HDC from the driver entry points.
2012-06-25 16:25:57 +02:00
Alexandre Julliard
66a5995e11
winex11: Move wglGetCurrentContext and wglGetCurrentDC to the internal OpenGL extension functions.
2012-06-25 16:25:44 +02:00
Alexandre Julliard
08efea0218
winex11: Move wglCopyContext and wglDeleteContext to the internal OpenGL extension functions.
2012-06-25 13:52:10 +02:00
Alexandre Julliard
beeba895d3
winex11: Move wglShareLists to the internal OpenGL extension functions.
2012-06-25 13:52:01 +02:00
Alexandre Julliard
1bca4fb5ae
winex11: Move the wglUseFontBitmaps implementation to opengl32, it's no longer driver-dependent.
2012-06-25 11:58:53 +02:00
Roderick Colenbrander
c754f28f17
winex11.drv: Remove GLX_ATI_render_texture support.
2012-06-25 10:39:02 +02:00
Roderick Colenbrander
9e73f7a6df
winex11.drv: Limit formats to nMaxFormats in wglChoosePixelFormatARB.
2012-06-07 10:36:03 +02:00
Alexandre Julliard
191cd77320
winex11: Remove the support for device-dependent bitmaps.
2012-05-29 21:22:23 +02:00
Alexandre Julliard
93758c43fd
gdi32: Remove the CreateBitmap and DeleteBitmap driver entry points.
2012-05-29 21:06:41 +02:00
Alexandre Julliard
fdc4682e31
gdi32: Remove the CopyBitmap driver entry point.
2012-05-24 22:09:19 +02:00
Alexandre Julliard
f99af0bb8f
winex11: Add a helper to retrieve an image from a pixmap.
2012-05-14 14:17:25 +02:00
Alexandre Julliard
b082b3acba
winex11: Use an intermediate pixmap also for DDBs to handle format mismatches.
2012-05-09 17:37:36 +02:00
Alexandre Julliard
ba7db0998c
winex11: Add support for OpenGL rendering in DIBs using an intermediate pixmap.
2012-05-09 17:37:36 +02:00
Alexandre Julliard
791a46658a
winex11: Store the GL-specific information in the GL driver physdev.
2012-05-08 14:35:44 +02:00
Alexandre Julliard
147174ff1c
winex11: Implement wglGetPbufferDCARB with a DC escape and remove it from the GDI driver interface.
2012-05-08 14:35:44 +02:00
Alexandre Julliard
5f99b59e77
winex11: Add an OpenGL GDI driver.
2012-05-08 14:35:42 +02:00
Alexandre Julliard
00bb726af8
winex11: Use a standard Wine list for the OpenGL context list.
2012-05-07 13:10:22 +02:00
Alexandre Julliard
a708448725
winex11: Define an enum to manage the various types of GL device contexts.
2012-05-07 13:10:18 +02:00
Alexandre Julliard
096757c3dd
winex11: Remove redundant code in ChoosePixelFormat.
2012-05-03 20:44:07 +02:00
Alexandre Julliard
416e79f3e6
winex11: Always store the GL drawable in the device context.
2012-05-03 20:44:07 +02:00
Alexandre Julliard
70f776d3b8
winex11: Update the pixel format through the DCE hook for window DCs to avoid races.
2012-05-03 20:44:01 +02:00
Alexandre Julliard
54170fe867
winex11: Remove support for the no longer used GET_GLX_DRAWABLE escape.
2012-05-03 12:50:27 +02:00
Alexandre Julliard
4a87722144
winex11: Add bounds rectangle tracking to all graphics entry points.
2012-04-18 13:50:56 +02:00
Alexandre Julliard
bb62ddeba7
winex11: Remove support for server-side fonts.
2012-04-18 13:07:17 +02:00
Henri Verbeet
22d3e6dba1
winex11: Use GLX_DONT_CARE instead of ~0 in ConvertAttribWGLtoGLX().
2012-03-28 11:36:26 +02:00
Alexandre Julliard
b88b6b74f0
opengl32: Get rid of the DIB section sync support.
2012-01-10 11:24:12 +01:00
Austin English
abfb9211c8
winex11: Only declare the winediag debug channel if OpenGL is enabled.
2011-10-28 12:44:59 +02:00
Henri Verbeet
dbe058249f
winex11: Print the GL renderer and version when complaining about software / indirect rendering.
2011-10-10 13:40:35 +02:00
Alexandre Julliard
46f1d2a48a
winex11: Remove redundant pixmap prefix in X_PHYSBITMAP field names.
2011-09-26 15:29:28 +02:00
Alexandre Julliard
c7a8ff26d3
gdi32: Graphics driver functions no longer need to be CDECL.
2011-07-13 14:56:12 +02:00
Alexandre Julliard
00647af50b
winex11: Use the HDC from the gdi_physdev structure.
2011-07-08 16:03:59 +02:00
Alexandre Julliard
6c951b7d0d
winex11: Pass a generic PHYSDEV to all graphics entry points.
2011-07-08 15:55:11 +02:00
Matteo Bruni
1e0075cd61
winex11.drv: Take care of the destroyed drawable in wglFlush/wglFinish too.
2011-03-31 12:43:29 +02:00
Matteo Bruni
90608c8ce6
winex11.drv: Don't call glXSwapBuffers if the context or the drawable are invalid.
2011-03-31 12:43:22 +02:00
Matteo Bruni
1902e1cb93
winex11.drv: Fix wglMakeContextCurrent with an invalid drawable.
2011-03-31 12:42:35 +02:00
Matteo Bruni
868974c615
winex11.drv: Don't modify state if glXMakeContextCurrent fails.
2011-03-31 12:42:27 +02:00
Matteo Bruni
716df1c2d2
winex11.drv: Make wglMakeCurrent return the correct error when the drawable is invalid.
2011-03-30 13:28:04 +02:00
Matteo Bruni
77679c4e9c
winex11.drv: Don't modify current state if glXMakeCurrent fails.
2011-03-30 13:28:04 +02:00
Joshua Beck
ddada67538
winex11: Improved error handling in pglXMakeCurrent() call.
2011-03-29 12:23:16 +02:00
Henri Verbeet
727ecc1714
winex11.drv: Allow disabling vertical sync using EXT_swap_control.
...
EXT_swap_control redefines glXSwapIntervalSGI() as glXSwapIntervalEXT() on the
current drawable (if any), and glXSwapIntervalEXT() supports disabling vsync.
2011-03-08 12:28:30 +01:00
Nicholas Niro
7aff865e8e
winex11.drv: Add proper initialization for border_pixel.
2011-02-15 17:01:44 +01:00
Andrew Nguyen
a7346e9fc8
winex11.drv: Enhance the wrapper functions for WGL_EXT_swap_control.
2010-12-27 15:39:41 +01:00
Andrew Nguyen
1579ab0e01
winex11.drv: Set last error to ERROR_BUSY when attempting to delete a cross-thread context in wglDeleteContext.
2010-11-08 18:12:58 +01:00
Andrew Nguyen
c4a8de92c4
winex11.drv: Ensure that the WGL context is removed from the context list in wglDeleteContext.
2010-11-08 18:12:58 +01:00
Gerald Pfeifer
0aa27296d3
winex11.drv: Fix comment for #endif.
2010-09-07 11:23:51 +02:00
Michael Stefaniuc
31e4cf9313
winex11.drv: Remove redundant "not NULL" check of cfgs (coccicheck).
2010-05-18 18:42:08 +02:00
Alexandre Julliard
df6cd82ccf
winex11: Create a window of the appropriate visual to initialize GL info.
2010-05-06 14:57:44 +02:00
Roderick Colenbrander
ab788c7c39
wgl: Make context not current before deleting it.
2010-04-27 12:00:24 -05:00
Roderick Colenbrander
b86787e57c
wgl: Improve wglDeleteContext threading behavior.
2010-04-27 12:00:14 -05:00
Roderick Colenbrander
9eaab2cec1
wgl: Print the fbconfig fmt_id in ConvertPixelFormatWGLtoGLX instead of the meaningless pointer.
2010-04-20 16:24:29 +02:00
Roderick Colenbrander
26862c5ece
wgl: Ignore fbconfigs which are window drawable but which lack a visual.
2010-04-20 16:24:25 +02:00
Alexandre Julliard
3bc0a1099d
winex11: Fix the calling convention of X11DRV_wglCreateContextAttribsARB.
2010-04-07 23:44:14 +02:00
Roderick Colenbrander
22a247047d
wgl: Add more OpenGL diagnosing checks.
2010-03-15 13:28:24 +01:00
Michael Stefaniuc
425cc7e033
winex11.drv: Remove some explicit LPARAM/WPARAM casts.
2009-12-28 12:27:13 +01:00
Alexandre Julliard
10e12c8183
winex11: Only check for fs register corruption on i386.
2009-12-24 12:58:51 +01:00
Alexandre Julliard
e099b80a6f
winex11: Fix a compiler warning.
2009-12-09 13:13:29 +01:00
Roderick Colenbrander
a191184ae9
wgl: Add a direct rendering check to new winediag channel.
2009-12-04 14:34:56 +01:00
Roderick Colenbrander
9a85426389
wgl: Add support for WGL_ARB_create_context_profile which is required for OpenGL 3.2.
2009-11-19 11:04:35 +01:00
Roderick Colenbrander
41f061ea1b
wgl: Add initial WGL_ARB_create_context support.
2009-11-18 11:39:57 +01:00
Roderick Colenbrander
50a8b2a633
wgl: The GLX context creation code isn't needed anymore in wglCopyContext because we always have a GLX context now.
2009-11-17 12:05:40 +01:00
Roderick Colenbrander
f4b88e34ec
wgl: Get rid of delayed GLX context creation. Instead attempt to re-create a context when wglShareLists is called.
2009-11-16 17:42:54 +01:00
Roderick Colenbrander
e7590fcfb5
wgl: Make sure we set a valid value for GLX_DRAWABLE_TYPE. Right now we default to 0 which is illegal.
2009-11-13 13:37:10 +01:00
Roderick Colenbrander
a46bd4bc9f
wgl: None of the WGL_render_texture attribute values makes sense for GLX_X_RENDERABLE, so get rid of it.
2009-11-13 13:36:55 +01:00
Roderick Colenbrander
521598560e
wgl: Fix a violation of the GLX specs in ConvertAttribWGLtoGLX.
...
Nvidia and Mesa ignore GLX_RENDER_TYPE when it is set to an invalid
value like 0 but AMD for instance doesn't, which is legal.
2009-11-12 13:09:11 +01:00
Henri Verbeet
ac14a2eec8
winex11.drv: Properly free "visinfo" in get_formats() (Valgrind).
2009-10-21 16:05:57 +02:00
Roderick Colenbrander
390d3929f2
wgl: Fix usage of non-GLX visual in glXCreateContext.
2009-08-03 15:00:19 +02:00
Detlef Riekenberg
a30624143a
winex11: Get rid of glext.h in remaining locations.
2009-06-22 11:22:02 +02:00
Roderick Colenbrander
28a2646d21
wgl: Get rid of glXQueryDrawable because officially it only works on GLXDrawables.
...
Nvidia allows it to operate on a standard Window too but Mesa and AMD
don't and this isn't needed according to the GLX specs. This prevents
crashes when creating +wgl logs.
2009-06-17 12:04:55 +02:00
Francois Gouget
fa7f46e85a
winex11: Also define X11DRV_OpenGL_Cleanup() when OpenGL is not supported.
2009-05-27 11:10:53 +02:00
Francois Gouget
c642481305
winex11.drv: Replace an strdup() with HeapAlloc() in the OpenGL code.
...
Free the corresponding memory when the library is unloaded.
2009-05-26 14:25:12 +02:00
Roderick Colenbrander
d66ded939c
wgl: Set PFD_GENERIC_FORMAT on bitmap formats instead of PFD_GENERIC_ACCELERATED.
2009-05-20 10:51:20 +02:00
Roderick Colenbrander
f83b299bd2
wgl: Use local pixel format data for WGL_ACCELERATION_ARB.
2009-05-19 11:58:53 +02:00
Roderick Colenbrander
73546edc9f
wgl: Make sure WGL_DRAW_TO_BITMAP_ARB is only seen on our duplicated bitmap-capable formats.
2009-05-18 13:23:34 +02:00
Roderick Colenbrander
2eec8aca02
wgl: Make sure WGL_SUPPORT_GDI_ARB is only seen on formats on which we set it during startup (in get_formats).
2009-05-18 13:22:09 +02:00
Roderick Colenbrander
cc96ce438a
wgl: Add WGL_SWAP_METHOD_ARB support.
2009-05-18 12:34:48 +02:00
Roderick Colenbrander
c315d75dab
wgl: Offer PFD_GENERIC_ACCELERATED on bitmap capable formats.
...
Windows drivers do this as well and some apps rely on this (it might
fix Sketchup but I can't reproduce the issues on this system).
2009-05-15 11:55:12 +02:00
Roderick Colenbrander
2b58d2dc06
wgl: Select bitmap capable formats when PFD_DRAW_TO_BITMAP is requested by the caller.
2009-05-15 11:54:57 +02:00
Roderick Colenbrander
b5a62756aa
wgl: Duplicate some single buffered pixel formats for bitmap rendering and restrict bitmap rendering to these formats.
...
The use of direct / indirect rendering is now tied to the bitmapFormat
flag of a pixel format. Indirect is fine for bitmap rendering since on
windows it is only supported using the software gdi renderer and
indirect rendering can also indicate software rendering.
2009-05-15 11:54:05 +02:00
Roderick Colenbrander
9b889626d0
opengl: Add WGL_EXT_pixel_format_packed_float support.
2009-04-21 13:16:09 +02:00
Dmitry Timoshkov
f623053022
winex11.drv: The MAT2 parameter of GetGlyphOutline is mandatory.
2009-02-03 12:40:19 +01:00
Michael Stefaniuc
a2187cad1f
winex11.drv: Remove superfluous pointer casts.
2009-01-19 13:36:25 +01:00
Maarten Lankhorst
131d0a79a1
gdi32/winex11.drv: Change all gdi/opengl operations to use CDECL calling convention.
2008-12-23 13:02:33 +01:00
Andrew Talbot
ff380900c2
winex11.drv: Sign-compare warnings fix.
2008-12-08 12:01:03 +01:00
Michael Stefaniuc
82a3c433b3
winex11.drv: Remove some superfluous casts.
2008-12-01 12:57:00 +01:00
Roderick Colenbrander
a1e11f3533
winex11: Move all delayed GLX context creation code to create_glxcontext in order to prepare for WGL_ARB_create_context.
2008-10-27 11:43:24 +01:00
Ivan Sinitsin
7ea2738517
winex11: Set copy mode when rendering OpenGL picture.
2008-10-15 16:50:52 +02:00
Stefan Dösinger
058ebe3789
winex11: Add a run-total fps counter to the fps debug channel.
2008-08-26 12:07:41 +02:00
Peter Oberndorfer
c5a702f513
opengl32: Fix a typo (wglShaderLists -> wglShareLists).
2008-07-02 11:49:56 +02:00
Alexandre Julliard
aba003de4e
winex11: Print more details on OpenGL load failure. Only print errors once.
2008-06-23 22:59:59 +02:00
Alexandre Julliard
815baba090
winex11: Check for matching pixel format in wglMakeCurrent.
2008-06-18 20:10:47 +02:00
Alexandre Julliard
2d9b38133b
winex11: Add support for performing GL calls on a top-level window DC.
2008-05-28 17:52:06 +02:00
Alexandre Julliard
ed37174a71
winex11: Make sure that all glX functions are called under the X11 lock.
2008-05-28 17:02:07 +02:00
Alexandre Julliard
2fba300cef
winex11: Change the pixel format initialisation to make sure it happens under the X11 lock.
2008-05-28 16:57:46 +02:00
Alexandre Julliard
be7b8be8b8
wgl: Don't call ExtEscape if we don't have a GL context.
2008-05-14 12:46:25 +02:00
Alexandre Julliard
4d926e3ebc
winex11: Silence a harmless error.
2008-05-12 19:58:35 +02:00
Andrew Talbot
5156219a1c
winex11.drv: Remove unused variables.
2008-05-02 16:08:15 +02:00
Roderick Colenbrander
18e704f9aa
opengl32: Get rid of X/GLX leftovers.
2008-05-01 10:57:34 +02:00
Roderick Colenbrander
5fe5def3d1
wgl: We were already advertising GL_EXT_framebuffer_sRGB but not the corresponding WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT.
2008-04-30 10:28:59 +02:00
Alexandre Julliard
bfb4ec0f3a
winex11: Fix debug trace using the removed opengl channel.
2008-04-29 15:25:36 +02:00
Roderick Colenbrander
f0307d9366
wgl: Add a wine specific WGL extension which allows you to change the pixel format multiple times.
2008-04-24 12:32:38 +02:00
Roderick Colenbrander
2823e1d219
wgl: Put the core functionality of X11DRV_SetPixelFormat in a separate function.
...
This is needed for a new X11DRV_SetPixelFormatWINE function which allows you to change the pixel format multiple times.
2008-04-24 12:29:12 +02:00
Alexandre Julliard
6b30e61a1e
winex11: Get rid of the unnecessary opengl debug channel.
2008-04-21 20:33:49 +02:00
Roderick Colenbrander
8a5838274b
wgl: Add missing WGL_STEREO_ARB to ConvertAttribWGLtoGLX.
2008-04-01 11:27:18 +02:00
Roderick Colenbrander
616ac380f9
wgl: Fix ChoosePixelFormat behavior.
2008-04-01 11:27:11 +02:00
Roderick Colenbrander
b3ffac5a8d
wgl: Move all winex11.drv opengl traces to wgl.
2008-03-31 13:01:40 +02:00
Roderick Colenbrander
ccb4ee39ab
wgl: Return TRUE on wglReleasePbufferDCARB success.
2008-03-24 12:08:20 +01:00
Roderick Colenbrander
257d82705c
wgl: Add aux buffers support for use with wglChoosePixelFormatARB.
2008-03-04 11:54:21 +01:00
Chris Robinson
14abaa5709
winex11: Fix wglCopyContext case where GLX contexts are missing.
2008-02-26 11:29:48 +01:00
Alexandre Julliard
1642fbcbc2
user32: Moved the DCE support from winex11 back to user32.
...
Window and class DCEs are now allocated lazily.
2008-02-25 15:59:19 +01:00
Roderick Colenbrander
5374d623ce
wgl: Add aux buffers support to DescribePixelFormat.
2008-02-25 12:17:31 +01:00
Roderick Colenbrander
220163ee9d
wgl: Remove unneeded opengl initialisation code at wine startup.
2008-02-25 12:17:10 +01:00
Roderick Colenbrander
8293a9ead0
wgl: Remove the pixel format limitation.
2008-02-25 12:14:52 +01:00
Christopher Harvey
210363e464
winex11: Added WGL_BIND_TO_TEXTURE_DEPTH_NV to ConvertAttribWGLtoGLX.
2008-02-07 11:59:53 +01:00
Andrew Talbot
68feed7e77
winex11.drv: Remove unneeded casts.
2008-02-04 14:20:45 +01:00
Austin English
0e4adae973
Spelling fixes.
2008-01-07 13:41:01 +01:00
Francois Gouget
5f7a9cea38
Assorted spelling fixes.
2007-12-07 16:35:32 +01:00
Francois Gouget
4f4cc28132
winex11: Add the trailing '\n' to a Wine trace.
2007-11-16 12:38:24 +01:00
Roderick Colenbrander
8295c547f3
wgl: Add wglCopyContext support.
2007-11-12 14:16:44 +01:00
Francois Gouget
0b67c0a6e1
winex11.drv: Add the trailing '\n' to a Wine trace.
2007-10-11 19:52:32 +02:00
Chris Robinson
0cca1ea876
winex11: Don't choose double buffered modes with gdi support.
2007-10-10 17:40:24 +02:00
Chris Robinson
d298b68f50
winex11: Use the specified format for GL Bitmaps.
2007-10-10 17:40:03 +02:00
Chris Robinson
fa6598a260
winex11: Create GLXPixmap for bitmaps in SetPixelFormat.
2007-10-10 17:39:35 +02:00
Alexandre Julliard
6cd7d06823
winex11: Don't store a physdev pointer in the GL context.
2007-10-10 17:38:51 +02:00