Józef Kucia
74351205ac
wined3d: Propagate HRESULTs 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>
2018-11-23 20:17:44 +01:00
Henri Verbeet
cdfdfc382b
wined3d: Respect WINED3D_SWAPCHAIN_LOCKABLE_BACKBUFFER.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-08 19:03:26 +01:00
Henri Verbeet
ca87bd95c2
wined3d: Do not set WINED3D_TEXTURE_CREATE_GET_DC on the implicit depth/stencil texture.
...
It doesn't make a lot of sense for depth formats.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-07 16:54:53 +01:00
Henri Verbeet
03c1422a71
wined3d: Get rid of WINED3DUSAGE_TEXTURE.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-06 11:14:36 +01:00
Henri Verbeet
a0d6ef5bb4
wined3d: Get rid of WINED3DUSAGE_DEPTHSTENCIL.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-06 11:14:34 +01:00
Henri Verbeet
3adf4b8415
wined3d: Get rid of WINED3DUSAGE_RENDERTARGET.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-05 19:12:12 +01:00
Henri Verbeet
7d83ebeed2
wined3d: Pass bind flags to wined3d_get_format().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-31 16:17:36 +01:00
Henri Verbeet
543605ca9d
wined3d: Pass correct bind flags to swapchain creation functions.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-31 16:17:36 +01:00
Henri Verbeet
7cba915710
wined3d: Pass correct bind flags to texture creation functions.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-31 16:17:36 +01:00
Henri Verbeet
5f9740762a
wined3d: Move the OpenGL textures from struct wined3d_texture to struct wined3d_texture_gl.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 10:53:55 +01:00
Henri Verbeet
e12d97e50d
wined3d: Move the multisample renderbuffers from struct wined3d_texture to struct wined3d_texture_gl.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-29 10:11:42 +01:00
Stefan Dösinger
7a36efc3bc
wined3d: Avoid accessing the device after minimize in ddraw.
...
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>
2018-10-15 20:13:51 +02:00
Stefan Dösinger
222d30754e
wined3d: Deactivate the device before minimizing the window.
...
This fixes tabbing out of Deus Ex Game of the Year edition.
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>
2018-10-15 20:13:51 +02:00
Henri Verbeet
a6d640e866
wined3d: Do not create DCs for all textures on WINED3D_NO3D adapters.
...
WINED3DFMT_D16_UNORM for example doesn't have a corresponding ddi_format.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-28 01:12:02 +02:00
Józef Kucia
9320424105
wined3d: Pass wined3d_adapter to wined3d_get_format().
...
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-08-23 20:12:29 +02:00
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
Józef Kucia
2f5850c56a
wined3d: Add WINED3D_SWAPCHAIN_RESTORE_WINDOW_RECT flag.
...
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-03 09:56:17 -05:00
Józef Kucia
8d032351f2
wined3d: Add WINED3D_SWAPCHAIN_ALLOW_MODE_SWITCH flag.
...
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-03 09:56:17 -05:00
Józef Kucia
cad279449c
wined3d: Extract wined3d_swapchain_set_fullscreen() from wined3d_device_reset().
...
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-02 06:08:50 -05:00
Michael Stefaniuc
bb82e915d1
wined3d: Use SetRect() instead of open coding it.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-03 10:17:57 +09:00
Henri Verbeet
8ae3a9b624
wined3d: Introduce a helper function to allocate arrays.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-24 16:19:01 +09:00
Stefan Dösinger
aa475ce23f
wined3d: Discard the backbuffer in swapchain_gl_present() with the "discard" swap effect.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 01:06:17 +09:00
Henri Verbeet
3b96ac290d
wined3d: Allocate system memory for complete textures.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 14:09:39 +09:00
Henri Verbeet
62a766f75c
wined3d: Use the texture dimensions in swapchain_blit().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 14:02:38 +09:00
Henri Verbeet
feb86895b4
wined3d: Store renderbuffer IDs in struct wined3d_texture.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-19 14:56:02 +09:00
Henri Verbeet
4896cda6c5
wined3d: Track SFLAG_DISCARD per-texture.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-15 12:32:32 +09:00
Henri Verbeet
82a7f1ebf2
wined3d: Implement texture DC creation on top of D3DKMTCreateDCFromMemory().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-15 12:32:25 +09:00
Henri Verbeet
64767de277
wined3d: Use the texture dimensions in swapchain_gdi_frontbuffer_updated().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-14 13:13:39 +09:00
Henri Verbeet
2a2554ee59
wined3d: Store sub-resource map counts in the sub-resource structure.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-11 11:36:04 +09:00
Henri Verbeet
e6e89dbc65
wined3d: Avoid surface_from_resource() in swapchain_gdi_present().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-05 12:52:24 +09:00
Henri Verbeet
6b8fb1c22e
wined3d: Also update the swap interval when not recreating the context in wined3d_device_reset().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-05 12:52:19 +09:00
Henri Verbeet
e50ff74808
wined3d: Avoid surface_from_resource() in swapchain_gdi_frontbuffer_updated().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-01 12:48:39 +09:00
Henri Verbeet
c633ffb95c
wined3d: Avoid surface_from_resource() in swapchain_gl_present().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-01 12:48:37 +09:00
Stefan Dösinger
984934f685
wined3d: Introduce wined3d_texture_invalidate_location().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-31 10:40:07 +09:00
Stefan Dösinger
5a29cc8787
wined3d: Introduce wined3d_texture_validate_location().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:54:23 +09:00
Henri Verbeet
5f05acfcff
wined3d: Use wined3d_texture_blt() in swapchain_gl_present().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:54:11 +09:00
Stefan Dösinger
5e27e6b5d8
wined3d: Store sub-resource locations in the sub-resource structure.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 10:39:31 +09:00
Henri Verbeet
491e88efa5
wined3d: Get resource info from the texture in swapchain_blit().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 10:39:22 +09:00
Henri Verbeet
a36c7e6bda
wined3d: Use wined3d_texture_blt() in wined3d_swapchain_get_front_buffer_data().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-26 12:07:29 +09:00
Henri Verbeet
7bf2a34528
wined3d: Pass a texture instead of a surface to context_create().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-24 11:51:01 +09:00
Henri Verbeet
a2e5881de1
wined3d: Handle NULL rectangles in wined3d_swapchain_present().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-18 12:20:52 +09:00
Henri Verbeet
240912c59b
wined3d: Ignore the dirty region for swapchain presents more explicitly.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-18 12:20:49 +09:00
Henri Verbeet
91f0b00103
wined3d: Allow swapchain sample counts to be overridden with a registry key.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-16 12:09:55 +09:00
Michael Stefaniuc
b3790bf803
wined3d: Use SetRect() instead of open coding it.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-09 18:39:40 +09:00
Henri Verbeet
c059191e0f
wined3d: Avoid surface_from_resource() in swapchain_gl_frontbuffer_updated().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-03 13:00:47 +09:00
Stefan Dösinger
a7316e1927
wined3d: Get rid of wined3d_surface_ops.surface_unmap().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-02 12:08:21 +09:00
Stefan Dösinger
d71f452c4d
wined3d: Rotate through swapchain buffers.
...
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-01 01:50:12 +09:00
Ken Thomases
52a99f2ead
wined3d: Change calls of GetDC() to GetDCEx() with DCX_CACHE so the HDC is not shared with other threads.
...
Windows created by the app may use the CS_CLASSDC or CS_OWNDC class styles. In
that case, GetDC() would return the same HDC to all callers. It's not safe,
though, for multiple threads to use the same HDC without synchronization. The
app may be using that HDC from multiple threads and using some synchronization
scheme to make that safe, but wined3d is not able to cooperate in such a scheme.
Using GetDCEx() with DCX_CACHE ensures that wined3d gets an independent HDC.
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-16 23:26:31 +09:00
Henri Verbeet
0b6b5176cc
wined3d: Get rid of unused/unimplemented WINEDDBLT_* flags.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-16 12:09:37 +09:00
Henri Verbeet
dafaae7730
wined3d: Unify WINED3D_RTYPE_TEXTURE and WINED3D_RTYPE_CUBE_TEXTURE.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-27 12:38:46 +09:00
Stefan Dösinger
bcabae6f40
wined3d: Clip software cursor blits.
...
This prevents the SW cursor from disappearing when it is at the edge of
the screen.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-12 05:27:11 +01:00
Riccardo Bortolato
e15e2569a8
wined3d: Call wined3d_texture_decref() instead of wined3d_surface_decref() in swapchain_gl_present().
...
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-06 14:46:13 +09:00
Riccardo Bortolato
53f795af0a
wined3d: Make wined3d_swapchain_get_front_buffer_data work with wined3d_texture and sub_resource_idx.
...
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:38 +09:00
Stefan Dösinger
973de3f59c
wined3d: Pass a context to surface_load_location.
...
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>
2015-10-16 19:56:42 +09:00
Stefan Dösinger
ebd6bf7f7a
wined3d: Remove old surface flipping hacks.
...
They're non-functional these days anyway.
2015-09-08 21:59:16 +09:00
Stefan Dösinger
2936e4ac54
wined3d: Remove wined3d_backbuffer_type.
2015-09-08 21:59:16 +09:00
Stefan Dösinger
fa0041954f
wined3d: Return a texture from the swapchain resource creation callback.
2015-09-04 20:01:05 +09:00
Stefan Dösinger
f010e5d88a
wined3d: Return a texture from wined3d_swapchain_get_back_buffer.
2015-09-03 21:11:07 +09:00
Stefan Dösinger
c4e4647ca5
d3d9: Validate swap effect and backbuffer count.
2015-08-27 21:43:46 +09:00
Henri Verbeet
fca2d19423
dxgi: Implement dxgi_swapchain_ResizeBuffers().
2015-08-07 23:44:19 +09:00
Henri Verbeet
2735947d76
wined3d: Introduce a separate function to resize swapchain buffers.
2015-08-07 23:44:14 +09:00
Matteo Bruni
6521fc78be
wined3d: Use the correct texture coordinates in swapchain_blit() in the non-glBlitFramebuffer, NP2 case.
2015-07-09 17:18:22 +09:00
Stefan Dösinger
2d56694445
wined3d: Implement color keying in arbfp_blit.
2015-04-10 21:43:12 +09:00
Stefan Dösinger
19c860499a
wined3d: Filter messages generated by focus handling.
2014-12-08 14:18:43 +01:00
Stefan Dösinger
f103247ddf
wined3d: Add a comment about reset during focus change.
2014-12-02 13:05:54 +01:00
Stefan Dösinger
f4d520d6e2
wined3d: Don't minimize hidden windows.
2014-11-20 22:31:26 +09:00
Stefan Dösinger
09a91231a6
wined3d: Set the device window size on focus window activation.
2014-11-20 22:31:13 +09:00
Stefan Dösinger
f6dde70624
wined3d: Restore the display mode on focus change.
2014-11-19 17:56:44 +09:00
Stefan Dösinger
45d530461b
wined3d: Minimize device windows on focus loss.
2014-11-17 17:36:12 +09:00
Henri Verbeet
1800712298
wined3d: Track texture coordinate normalization per-texture.
2014-10-09 17:36:21 +02:00
Henri Verbeet
07985a8c38
wined3d: Use rendertarget views for depth/stencil buffers instead of surfaces.
...
I don't think the difference between d3d10 depth/stencil and rendertarget
views is large enough to justify a separate type. Unfortunately that does make
the name "wined3d_rendertarget_view" slightly awkward.
2014-08-22 12:53:11 +02:00
Henri Verbeet
d3387cf77b
wined3d: Keep a reference to the backbuffer textures instead of the surfaces in the swapchain.
2014-08-20 13:29:53 +02:00
Henri Verbeet
ec87407e7c
wined3d: Keep a reference to the frontbuffer texture instead of the surface in the swapchain.
2014-08-20 13:29:52 +02:00
Henri Verbeet
415b803720
wined3d: Use the texture draw binding instead of the surface draw binding.
2014-08-20 13:29:50 +02:00
Henri Verbeet
aa7016054a
wined3d: Move the "swapchain" field from struct wined3d_surface to struct wined3d_texture.
2014-08-20 13:29:47 +02:00
Henri Verbeet
1ce3269ac1
wined3d: Replace surface_update_draw_binding() with wined3d_resource_update_draw_binding().
2014-08-20 13:29:45 +02:00
Henri Verbeet
5ef8e97414
wined3d: Move the "draw_binding" field from struct wined3d_surface to struct wined3d_resource.
2014-08-04 14:23:52 +02:00
Henri Verbeet
d079066f5d
wined3d: Get rid of the get_drawable_size() callback in struct wined3d_surface.
2014-08-04 14:23:49 +02:00
Stefan Dösinger
9d49b7a9be
wined3d: Set palettes on the swapchain.
2014-06-30 22:04:53 +02:00
Stefan Dösinger
b81e560531
wined3d: Migrate surfaces to the new location flags.
2014-01-17 18:10:10 +01:00
Stefan Dösinger
beb64c9998
wined3d: Separate surface locations and flags.
2014-01-17 18:10:08 +01:00
Stefan Dösinger
adf0ab2ad8
wined3d: Give the DIB section its own location.
2014-01-14 20:18:24 +01:00
Stefan Dösinger
f6403b4ac0
wined3d: Do not use surface->resource.allocatedMemory.
2014-01-14 20:18:23 +01:00
Stefan Dösinger
353b3ba6d3
wined3d: Don't lock directly into the DIB.
2014-01-14 20:18:22 +01:00
Henri Verbeet
51cdeeacd4
wined3d: Explicitly request alpha testing for blitting the cursor and logo textures to screen.
2014-01-10 12:06:09 +01:00
Henri Verbeet
ddae20b689
wined3d: Fix up the backbuffer count on failure in swapchain_init().
2014-01-08 14:34:12 +01:00
Henri Verbeet
38495706b7
wined3d: Remove the render target check in x11_copy_to_screen().
2013-12-11 15:14:38 +01:00
Henri Verbeet
660bc8b717
wined3d: Print the WINED3D_SWAP_EFFECT_FLIP FIXME only once.
...
The comment is also outdated.
2013-12-06 13:14:52 +01:00
Stefan Dösinger
047ce3af6e
wined3d: Remove partial surface update support.
...
This has only ever worked for render targets, and only through the
glDrawPixels codepath, which was removed long ago.
2013-11-20 16:54:39 +01:00
Henri Verbeet
7e8897b7b8
wined3d: Get rid of the redundant texture_name and texture_name_srgb fields in struct wined3d_surface.
2013-11-20 11:28:22 +01:00
Henri Verbeet
505951e32d
wined3d: Create a proper texture for the software cursor.
2013-11-18 11:20:40 +01:00
Henri Verbeet
94509fbd59
wined3d: Create a texture for the logo surface.
2013-11-14 16:21:02 +01:00
Henri Verbeet
3ad8989614
wined3d: Introduce a function for safely releasing a DC.
2013-11-04 11:05:43 +01:00
Stefan Dösinger
9331c791e8
wined3d: Remove the D3DSWAPEFFECT_DISCARD debug clear code.
2013-10-08 15:39:02 +02:00
Henri Verbeet
602c82bce8
wined3d: Send present operations through a command stream.
...
The eventual goal is to have a multithreaded implementation of wined3d_cs_ops
and offload some processing to a different thread.
2013-09-27 10:33:15 +02:00
Henri Verbeet
d21c26e4f6
wined3d: Get rid of surface_modify_location().
2013-09-10 11:09:53 +02:00
Henri Verbeet
b62915dabb
wined3d: Replace surface_modify_location(surface, location, FALSE) calls with surface_invalidate_location().
2013-09-10 11:09:51 +02:00
Henri Verbeet
6325f3ddd8
wined3d: Don't set WINED3DUSAGE_RENDERTARGET on the front buffer.
...
We never render directly to the front buffer, and in case of e.g. a P8 front
buffer, we would fail surface creation if we were to enforce format
restrictions.
2013-09-04 11:37:01 +02:00
Henri Verbeet
b5e0c5d052
wined3d: Get rid of some leftover comments referring to the GL lock.
2013-09-02 18:02:26 +02:00
Stefan Dösinger
4dd4a6913b
wined3d: Add a function for allocating aligned resource memory.
2013-08-21 19:53:20 +02:00
Henri Verbeet
7e7bd87b2c
wined3d: Store the original display mode in the swapchain.
2013-08-20 11:50:28 +02:00