Commit Graph

392 Commits

Author SHA1 Message Date
Alexandre Julliard 96e80c2623 gdi32: Move DescribePixelFormat and SetPixelFormat to the WGL driver. 2012-07-30 22:12:13 +02:00
Alexandre Julliard 917fe72bb0 winex11: Get rid of the OpenGL bitmap support. 2012-07-27 17:05:29 +02:00
Alexandre Julliard 5f157e18e2 opengl32: Store the context current DCs on the opengl32 side. 2012-07-25 16:11:05 +02:00
Alexandre Julliard f3e1e46c85 winex11: Add a helper function to correctly check extension strings. 2012-07-24 17:37:50 +02:00
Francois Gouget baf0a74b11 winex11.drv: Don't include wgl_driver.h if OpenGL is not supported. 2012-07-23 19:53:49 +02:00
Alexandre Julliard 72e873873e winex11: Get rid of the glGetIntegerv wrapper. 2012-07-20 13:21:25 +02:00
Alexandre Julliard 76ae99a426 winex11: Remove unused fields in the PBuffer object. 2012-07-20 12:36:44 +02:00
Alexandre Julliard 6a3aa4eb49 opengl32: Use proper handles for PBuffers instead of raw pointers. 2012-07-20 12:36:41 +02:00
Alexandre Julliard 1b9455e65d opengl32: Add supported wgl extension functions to the OpenGL function table. 2012-07-20 00:40:42 +02:00
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