Commit Graph

1923 Commits

Author SHA1 Message Date
Roderick Colenbrander 8ef70305f9 winevulkan: Filter graphics driver reported instance extensions.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-15 12:20:44 +01:00
Roderick Colenbrander 7b07952c25 winex11: Implement Vulkan swapchain support.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-14 16:40:39 +01:00
Roderick Colenbrander bd13129a9b winex11: Implement support for vkGetPhysicalDeviceSurface*KHR APIs.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-13 20:58:08 +01:00
Roderick Colenbrander 53df81c457 winex11: Implement vkDestroySurfaceKHR.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-13 20:58:08 +01:00
Roderick Colenbrander 2d09b4930f winex11: Implement vkGetPhysicalDeviceWin32PresentationSupportKHR.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-13 20:58:08 +01:00
Roderick Colenbrander 211de3aa0b winex11: Add initial vkCreateWin32SurfaceKHR implementation.
Implement surface creation for top-level windows. Child window rendering
is not yet supported.

Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-13 20:58:08 +01:00
Roderick Colenbrander 43c71d9916 winex11: Enable surface support for instances.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-12 17:59:40 +01:00
Roderick Colenbrander 0cb6654237 winevulkan/winex11: Add Vulkan WSI stubs (VK_KHR_surface / VK_KHR_swapchain).
The WSI APIs are meant for window system integration, so essentially the WGL
of Vulkan. Implementation belongs in the graphics drivers as we need to hook
into surface and swapchains.

Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-12 17:59:35 +01:00
Roderick Colenbrander 6eacdf38e2 winevulkan: Implement vkCreateDevice.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-09 13:15:16 -06:00
Roderick Colenbrander 4ab041c370 winevulkan: Load instance functions.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-02 16:19:45 +01:00
Roderick Colenbrander 75b68a8585 winevulkan/winex11: Implement vkCreateInstance.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-01 19:25:57 +01:00
Roderick Colenbrander 0c87c1c4b7 winex11: Implement vkEnumerateInstanceExtensionProperties.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-27 12:47:17 +01:00
Roderick Colenbrander 6a5c85564c winex11: Add Vulkan stubs.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-27 12:47:17 +01:00
Roderick Colenbrander 3de61a9dd9 winevulkan: Define vulkan driver interface.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-27 12:47:16 +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 31c7a7157d winex11: Default to an ARGB visual when depth is set to 32.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-26 13:39:22 +01:00
Alexandre Julliard e40ff92e7c winex11: Support using an ARGB visual as default visual.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-26 13:39:03 +01:00
Alexandre Julliard dcf526b5b1 winex11: Force the alpha bits in the window surface for 32-bit visuals.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-26 13:38:13 +01:00
Alexandre Julliard a2a2b5bc88 winex11: Use a separate XRender format for the root window.
When using a custom visual, the default format may not work with the
root window.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-26 13:36:21 +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
Alexandre Julliard 5ef349e45f winex11: Don't allocate a window surface for off-screen windows.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 15:18:47 +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
Alex Henrie 5c06eba58e winex11: Escape non-UTF-8 characters in string literals.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-04 21:46:59 +01:00
Rafał Harabień 5c2526a086 winex11.drv: Preserve last error in x11drv_thread_data().
Signed-off-by: Rafał Harabień <rafalh1992@o2.pl>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-17 17:44:05 +01:00
Akihiro Sagawa 4adfb1be29 user32: Send WM_IME_CHAR messages from DefWindowProc.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-16 21:48:49 +01:00
Akihiro Sagawa b8dc1e7cde winex11: Keep the result string in the IME UI window procedure.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-14 18:06:43 +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
Vincent Povirk 50b0336914 winex11: Convert process name to lowercase for WM name hint.
The startup-notification spec is vague on this point, but it seems
that StartupWMClass is case-sensitive. We should convert to a
standard case so we can use that field.

Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-08 18:54:52 +02:00
Miklós Máté cd4139df3c winex11: Improve the desktop resolution list.
Signed-off-by: Miklós Máté <mtmkls@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-26 06:30:28 +02:00
Alexandre Julliard 401ccc73e2 winex11: If importing an X11 clipboard format fails, try other candidate formats for the target.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-25 08:09:06 +02:00
Alexandre Julliard fc21a83a91 winex11: Store the process name at startup to avoid grabbing the loader lock again.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:12:08 +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
Alexandre Julliard 2e0a1cfd83 winex11: Load a monochrome cursor instead of converting a color one when possible.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-10 20:51:09 +02:00
Huw Davies daae0d6adc winex11: Use logical co-ords to call GdiAlphaBlend().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-28 12:38:43 +02:00
Sebastian Lackner 136a438daa winex11.drv: Fix compilation when XFixes is not present.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-30 11:14:27 +02:00
Piotr Caban 22a75a8f07 winex11: Implement clipboard changes tracking using xfixes extension.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-24 15:30:24 +02:00
Alexandre Julliard bb6a65e0ca winex11: Fall back to the null driver for common device capabilities.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-18 13:35:02 +02:00
Alexandre Julliard 68bbf6fb18 winex11: Remove all trailing nulls when exporting text strings.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-10 16:55:37 -05:00
Alexandre Julliard 0bdebc66c6 winex11: Simplify the clipboard HTML export function.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-10 15:30:56 -05:00
Huw Davies d645c6ffac winex11: Try to read the dpi from the user key first.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-27 22:22:42 +02:00
Piotr Caban 34b108dd1d user32: Switch to normal window drawing on SetLayeredWindowAttributes call.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 20:02: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
Chris Morgan 9c83e5ccf2 winex11: Wrap XInput2 dependent functions with appropriate #ifdef.
Signed-off-by: Chris Morgan <chmorgan@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 14:32:17 +01:00