Commit Graph

399 Commits

Author SHA1 Message Date
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
Henri Verbeet 390543dd02 wined3d: Use the "adapter" local variable in swapchain_init(). 2013-08-19 12:53:21 +02:00
Henri Verbeet 13a38e8d5e wined3d: Pass a wined3d_resource_desc structure to device_parent_create_swapchain_surface(). 2013-06-04 10:14:28 +02:00
Henri Verbeet a3f59cf618 wined3d: Allow textures as swapchain surfaces. 2013-06-03 11:30:43 +02:00
Michael Stefaniuc 50a9fb579c wined3d: Remove ERR() on HeapAlloc failure for small sizes known at compile time. 2013-02-06 09:04:41 +01:00
Henri Verbeet 31e8976910 wined3d: Get rid of the surface_type parameter to wined3d_swapchain_create(). 2013-01-16 12:22:57 +01:00
Henri Verbeet 78984cf46c wined3d: Get rid of ENTER_GL / LEAVE_GL. 2012-12-11 12:03:39 +01:00
Alexandre Julliard 13f126498b wined3d: Call wglSwapBuffers through the GL driver function table. 2012-12-06 14:10:04 +01:00
Stefan Dösinger 7b95df03c6 wined3d: Bind the src in a manual presentation blit. 2012-12-05 12:47:33 +01:00
Henri Verbeet adddf10cd8 wined3d: wined3d_swapchain_get_desc() never fails. 2012-10-04 14:09:55 +02:00
Henri Verbeet 5fcc1f8f70 wined3d: Just return the surface from wined3d_swapchain_get_back_buffer(). 2012-10-04 14:09:50 +02:00
Henri Verbeet e55416a113 wined3d: wined3d_swapchain_set_window() never fails. 2012-10-03 11:19:41 +02:00
Ričardas Barkauskas 06a8cbcc35 wined3d: Don't leave leftover textures when destroying and creating dxgi swapchains. 2012-09-25 11:20:05 +02:00
Henri Verbeet 894d161891 wined3d: Call core GL functions through gl_info.gl_ops as well. 2012-07-25 20:10:08 +02:00
Alexandre Julliard d7250e97ed wined3d: Fetch GL functions from the WGL driver table, including glFinish and glFlush. 2012-07-20 13:21:27 +02:00
Henri Verbeet 2bfc5214be ddraw: Implement ddraw7_GetScanLine() on top of wined3d_get_adapter_raster_status(). 2012-07-19 15:43:11 +02:00
Henri Verbeet 0821c8024b wined3d: Merge the device parent create_rendertarget() and create_depth_stencil() handlers. 2012-07-11 09:57:07 -05:00
Henri Verbeet 8ad98cdbee wined3d: Get rid of the "discard" parameter to device_parent_create_depth_stencil(). 2012-07-10 10:39:42 -05:00
Henri Verbeet 9b74ebd794 wined3d: Get rid of the "lockable" parameter to device_parent_create_rendertarget(). 2012-07-10 10:39:34 -05:00
Henri Verbeet 256d433164 d3d9: Implement d3d9_device_PresentEx(). 2012-06-29 10:14:21 +02:00
Henri Verbeet 0ce894f274 d3d9: Implement d3d9_device_GetDisplayModeEx(). 2012-06-28 01:39:28 +02:00
Henri Verbeet 2c8834dffd d3d9: Implement d3d9_GetAdapterDisplayModeEx(). 2012-06-28 01:39:27 +02:00
Henri Verbeet a1bfd0988f wined3d: Take scanline ordering into account in the mode setting code. 2012-06-28 01:39:26 +02:00
Henri Verbeet 0f0fe49240 wined3d: Implement mode setting in the adapter instead of the device. 2012-06-22 16:13:58 +02:00
Francois Gouget 19ba80e7c2 wined3d: We must include Wine's port.h before using NAN. 2012-06-01 17:41:52 +02:00
Henri Verbeet 5ec56c9bc4 wined3d: Get rid of SFLAG_LOCKED. 2012-05-21 21:30:56 +02:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02:00
Henri Verbeet 3ba95e2f3e wined3d: Move the present() back buffer check to the common wined3d_swapchain_present() code. 2012-04-16 12:05:09 +02:00
Henri Verbeet 6f8b8bda2d wined3d: Load the backbuffer in the correct location before presenting in swapchain_gl_present(). 2012-03-27 11:39:19 +02:00
Matteo Bruni b51a657626 wined3d: Use a separate flag for discarded surfaces. 2012-02-02 15:18:09 +01:00
Henri Verbeet 3769afa33d wined3d: Get rid of the WINED3DSURFTYPE typedef. 2012-01-20 13:31:33 +01:00
Akihiro Sagawa bd97589dba wined3d: Let GetRasterStatus return D3D_OK, again. 2012-01-19 11:55:48 +01:00
Henri Verbeet e53a277305 wined3d: Get rid of the WINED3DPOOL typedef. 2012-01-18 12:37:38 +01:00
Henri Verbeet 6a5a098b23 wined3d: Get rid of the WINED3DRESOURCETYPE typedef. 2012-01-18 12:37:38 +01:00
Henri Verbeet e70990041b wined3d: Get rid of the WINED3DTEXTUREFILTERTYPE typedef. 2012-01-13 17:34:31 +01:00