Józef Kucia
49da19e51b
wined3d: Execute all CS commands before changing swapchain window.
...
Fixes a race condition.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-11 18:12:44 +02:00
Józef Kucia
1cc74ea215
wined3d: Allow creating swapchains for windows with empty client rect.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-18 01:43:48 +02:00
Nikolay Sivov
23ea779d8f
wined3d: Add new functions to set and get maximum frame latency for the device.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-30 20:41:59 +02:00
Józef Kucia
82ffc5b78d
wined3d: Avoid superfluous wglSwapIntervalEXT() calls.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-23 16:23:21 +01:00
Józef Kucia
81459fb8a2
wined3d: Remove swap interval from swapchain description.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 18:14:55 +01:00
Józef Kucia
6aeb444e4c
wined3d: Implement updating swap interval through wined3d_swapchain_present().
...
Based on a patch by Michael Müller.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 18:14:52 +01:00
Henri Verbeet
543a199dc3
wined3d: Only store dc_info for textures that require it.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-15 12:21:50 +01:00
Henri Verbeet
082abe4abe
wined3d: Rename struct wined3d_surface to struct wined3d_dc_info.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-15 12:21:48 +01:00
Henri Verbeet
b7ed6b9b8e
wined3d: Get rid of the "container" field from struct wined3d_surface.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-14 15:27:59 +01:00
Henri Verbeet
70a68144c1
wined3d: Pass a texture and sub-resource index to wined3d_blitter_ops.blitter_blit().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-13 13:28:23 +01:00
Józef Kucia
e318f8c825
wined3d: Replace presentation interval flags with enum.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-12 17:58:16 +01:00
Henri Verbeet
d612495a72
dxgi: Translate swap effects in dxgi_factory_CreateSwapChainForHwnd().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-15 08:02:14 +01:00
Henri Verbeet
0cf21e85a5
wined3d: Print a fixme for unimplemented swap effects during swapchain (re)creation.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-15 08:02:07 +01:00
Henri Verbeet
f08342f573
wined3d: Use the global memory allocation helpers.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-14 09:06:58 +01:00
Henri Verbeet
16e54c80c8
wined3d: Get rid of the WINED3D_SWAP_EFFECT_FLIP fixme in swapchain_gl_present().
...
I think this works about as well as it's going to. There may be a theoretical
issue that GDI draws to the window should end up in the backbuffer after a
flip, but I don't think we have tests showing that to actually be the case,
and generally speaking I'm not all that worried about it.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-14 09:06:53 +01:00
Henri Verbeet
9275b06cc0
wined3d: Replace the pool in struct wined3d_resource_desc with resource access flags.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-02 18:36:45 +01:00
Józef Kucia
4701425f3c
wined3d: Add buffer usage to wined3d_swapchain_desc.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-25 16:27:10 +01:00
Stefan Dösinger
04d4584dea
wined3d: Show the device window when changing fullscreen resolutions.
...
World of Warplanes calls SetWindowLong(window, GWL_STYLE, WS_POPUP)
before calling reset, effectively hiding the window. It does not call
SetWindowPos(SWP_FRAMECHANGED), so the effect isn't visible and the
game displays fine after the reset. However, after the next mouse
click WINPOS_WindowFromPoint skips the window because it doesn't have
WS_VISIBLE and returns the desktop window. This in turn triggers a
focus loss and d3d9 minimizes the game.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-01 15:56:54 +01:00
Henri Verbeet
22bdde479f
wined3d: Introduce a separate CS queue for resource maps.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:45:08 +02:00
Henri Verbeet
73170152dc
wined3d: Allow the command stream thread to run asynchronously.
...
For a modest performance improvement in CPU-limited scenarios, especially ones
where a significant amount of time is spent in the graphics driver. There's
certainly still more room for improvement, resource maps in particular will
currently cause stalls.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-02 15:38:48 +02:00
Henri Verbeet
c70486c53f
wined3d: Avoid updating the swapchain swap interval from outside the command stream.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 09:46:34 +02:00
Henri Verbeet
cad4badbcf
wined3d: Get rid of wined3d_select_blitter().
...
Instead, chain the blitters themselves. This also fixes the issue that
currently only a single blitter can store extra data in the "blit_priv" field
of struct wined3d_device.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-04 09:42:21 +02:00
Henri Verbeet
a80f9a867f
wined3d: Use the blitter interface in swapchain_blit().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:51:31 +02:00
Henri Verbeet
4b4091fa62
wined3d: Make the FBO blitter a proper blitter.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:51:29 +02:00
Henri Verbeet
0a1a6533b5
wined3d: Use WINED3D_BLT_SRC_CKEY to present the logo texture.
...
WINED3D_BLT_ALPHA_TEST makes no sense, since the texture doesn't have an alpha
channel.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 10:58:03 +02:00
Henri Verbeet
34d43fcbdd
wined3d: Get rid of the redundant context_acquire() call in swapchain_blit().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 10:57:57 +02:00
Henri Verbeet
928110e512
wined3d: Use blit_shader.blit_surface() in swapchain_blit().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 10:57:55 +02:00
Henri Verbeet
012f9b03f8
wined3d: Use draw_textured_quad() in swapchain_blit().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-23 17:08:00 +01:00
Henri Verbeet
3b0e37a0f4
wined3d: Send swapchain context creation through the command stream.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-01 10:29:16 +01:00
Henri Verbeet
cf4de1c498
wined3d: Send swapchain context destruction through the command stream.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-28 09:39:29 +01:00
Henri Verbeet
df0f07bfc5
wined3d: Get rid of an unneeded context_release() in swapchain_init().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-28 09:39:27 +01:00
Henri Verbeet
b7f0d3312e
wined3d: Use the command stream state in swapchain_gl_present().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-28 09:39:25 +01:00
Henri Verbeet
2641c5c28f
wined3d: Pass a texture and sub-resource index to context_acquire().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-15 16:16:20 +01:00
Henri Verbeet
274b091c87
wined3d: Free the swapchain context array in swapchain_destroy_contexts().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-15 16:16:16 +01:00
Henri Verbeet
1401f91307
wined3d: Disable sRGB decode in swapchain_blit().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-10 21:29:43 +01:00
Nikolay Sivov
1a7ddf8dd9
dxgi: Added support for DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 13:16:57 +01:00
Henri Verbeet
7c5fd62efc
wined3d: Get rid of the "onscreen_depth_stencil" field from struct wined3d_device.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 16:56:03 +01:00
Henri Verbeet
41738baea2
wined3d: Get rid of surface_modify_ds_location().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 16:56:00 +01:00
Henri Verbeet
35e651caf1
wined3d: Get rid of the "ds_current_size" field from struct wined3d_surface.
...
This should be unused now that surface_load_ds_location() is gone.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 16:55:57 +01:00
Henri Verbeet
ff85cd5f4a
wined3d: Get rid of the "AlwaysOffscreen" setting.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-25 11:25:42 +01:00
Józef Kucia
e2e0c747a8
wined3d: Filter messages for fullscreen mode changes.
...
This fixes a regression introduced by commit
d9f8cba50f
.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-14 10:32:44 +01:00
Józef Kucia
a02fd72965
wined3d: Use depth/stencil formats for typeless resources only when WINED3DUSAGE_DEPTHSTENCIL is set.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-12 19:40:33 +01:00
Józef Kucia
5ee3f54438
wined3d: Use single structure for view description.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-06 15:02:34 +01:00
Józef Kucia
bd10362667
wined3d: Optionally use closest matching mode in wined3d_swapchain_resize_target().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-26 23:23:36 +09:00
Józef Kucia
92a6c5839d
wined3d: Optionally use closest matching mode in wined3d_swapchain_set_fullscreen().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-26 23:23:35 +09:00
Józef Kucia
28f24b9ddf
wined3d: Introduce wined3d_swapchain_resize_target().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-05 09:07:53 -05:00
Henri Verbeet
f80ba28a15
wined3d: Use wined3d_texture_load_location() in swapchain_gl_frontbuffer_updated().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 09:09:04 -05:00
Henri Verbeet
398f0d024f
wined3d: Use wined3d_texture_load_location() in swapchain_gl_present().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 09:09:03 -05:00
Henri Verbeet
42b90efdfd
wined3d: Use wined3d_texture_load_location() in wined3d_swapchain_rotate().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 09:09:03 -05:00
Henri Verbeet
3e6494321e
wined3d: Use wined3d_texture_load_location() in swapchain_blit().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 09:09:03 -05:00