Commit Graph

6369 Commits

Author SHA1 Message Date
Martin Storsjo 1275525789 wined3d: Use an rbtree for storing shaders for texture format conversion/blitting. 2014-02-17 20:16:30 +01:00
Martin Storsjo 171529106b wined3d: Add support for NV12 textures. 2014-02-17 20:16:29 +01:00
Stefan Dösinger 2728e7b887 wined3d: Reject height scaled repacked np2 textures. 2014-02-12 19:15:32 +01:00
Stefan Dösinger 6583379077 wined3d: Don't use NP2 repacking for RECT textures. 2014-02-12 19:15:31 +01:00
Martin Storsjo fd21351947 wined3d: Fix the YV12 illustration. 2014-02-12 19:15:30 +01:00
Erich E. Hoover 68e3b18533 ddraw: Return the D3D identifier when GetDeviceIdentifier is called with no flags. 2014-02-11 20:22:30 +01:00
Martin Storsjo 963c26b36f wined3d: Fix clamping in reading rectangular YV12 textures.
The lower bound for chroma components is size.y + 1/2, not
size.y - 1/2.
2014-02-11 19:20:08 +01:00
Frédéric Delanoy 0f2bed51bd Assorted spelling fixes. 2014-02-10 15:47:29 +01:00
Ken Thomases 59226e36b7 wined3d: Don't clear the GL context if it's not the one being destroyed by context_destroy_gl_resources().
The previous code clears the GL context if the context being destroyed is
not valid, even though the current one is some arbitrary, unrelated context.
2014-02-06 17:08:09 +01:00
Ken Thomases 75d53c9aed wined3d: Don't clear the GL context such that it can't be restored. 2014-02-06 17:08:08 +01:00
Henri Verbeet 82b38139eb wined3d: Also destroy the logo and cursor textures in wined3d_device_reset() when resetting state. 2014-01-30 17:48:35 +01:00
Henri Verbeet 175c63773d wined3d: Don't allow format conversion on Present() for d3d8.
Note that this isn't currently enforced by wined3d_swapchain_create() or
wined3d_device_reset() though.
2014-01-29 20:25:52 +01:00
Ken Thomases d2c56a6027 wined3d: Improve CheckDeviceType() support for windowed mode.
For windowed mode:
* It doesn't matter if there are no adapter modes for the display format.
* A backbuffer format is valid so long as there's support for color conversion
 to the display format.
* A backbuffer format of D3DFMT_UNKNOWN is allowed and means that it should be
 the same as the display format.
2014-01-28 19:38:47 +01:00
Stefan Dösinger 9f72f78431 wined3d: Set buffer->map_ptr to NULL on unmap. 2014-01-27 17:39:47 +01:00
Stefan Dösinger d640018a3c wined3d: Only set SFLAG_DYNLOCK when map_binding = sysmem.
All other map bindings are never freed. Setting SFLAG_DYNLOCK if
map_binding != sysmem might only keep a heap memory allocation around
(e.g. after device_reset) that is never used.
2014-01-17 18:10:18 +01:00
Stefan Dösinger 5630cb5dc8 wined3d: Don't set SFLAG_DYNLOCK at surface creation.
We no longer depend on SFLAG_DYNLOCK to create buffers and PIN_SYSMEM
makes sure the address remains constant.
2014-01-17 18:10:13 +01: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 00923cb50c wined3d: Remove surface_ops->map. 2014-01-17 18:10:05 +01:00
Stefan Dösinger f1ac04f2a6 wined3d: Add a missing break. 2014-01-17 16:22:51 +01:00
Stefan Dösinger 65bc678fcc wined3d: Prevent blits to surfaces that will be converted. 2014-01-16 21:04:19 +01:00
Stefan Dösinger 09dbba00d0 wined3d: Remove surface_init_sysmem. 2014-01-16 21:04:19 +01:00
Stefan Dösinger 10a8b2cd7f wined3d: Remove resource->allocatedMemory. 2014-01-16 21:04:19 +01:00
Stefan Dösinger abb620ed2e wined3d: Sysmem can be freed when user memory is used. 2014-01-16 21:04:19 +01:00
Stefan Dösinger 2b8e900ac4 wined3d: Give buffers their own location. 2014-01-15 20:03:53 +01:00
Stefan Dösinger 321cd8e825 wined3d: Decide about PBO use at surface creation time. 2014-01-15 20:03:47 +01:00
Stefan Dösinger 7c052171d6 wined3d: Remove SFLAG_PBO. 2014-01-15 20:03:35 +01:00
Stefan Dösinger 035012d5aa wined3d: Load textures from dib without copying to sysmem first. 2014-01-15 20:03:33 +01:00
Stefan Dösinger 42927d0e9d wined3d: Add INDIB and INUSERMEM to resource_access_from_location. 2014-01-15 20:03:31 +01:00
Stefan Dösinger d0823eb4f0 wined3d: Re-enable mapping into the DIB. 2014-01-14 20:18:25 +01:00
Stefan Dösinger 9665884766 wined3d: Don't map the surface in getdc.
This avoids bouncing the content between the map binding and DIB.
2014-01-14 20:18:25 +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
Jonathan Liu 91c5cf33ad wined3d: Avoid wined3d_ftoa buffer overflow. 2014-01-14 12:31:37 +01:00
Stefan Dösinger 4ca8f7104f wined3d: Move map binding loading to wined3d_surface_map. 2014-01-13 18:41:42 +01:00
Stefan Dösinger e2c0bc63cb wined3d: Start to split up surface_prepare_system_memory. 2014-01-13 18:41:15 +01:00
Stefan Dösinger 676a7f2140 wined3d: Make the callers of load_location responsible for allocating sysmem. 2014-01-13 18:41:09 +01:00
Stefan Dösinger 28bfc20589 wined3d: Use the map binding to optimize sysmem->sysmem blits. 2014-01-13 18:41:03 +01:00
Stefan Dösinger 965d00f4b6 wined3d: Give user memory its own location. 2014-01-10 17:59:16 +01:00
Stefan Dösinger badf3d8db7 wined3d: Load surfaces into map binding memory on unload.
A surface can stay in DIB or user memory just fine. When buffers get
their own location an exception for them has to be added.
2014-01-10 17:56:48 +01:00
Stefan Dösinger 18bf8b49b3 wined3d: Move location flag updating out of surface_init_sysmem. 2014-01-10 17:56:43 +01:00
Stefan Dösinger c770d3f573 wined3d: Mark the map binding up to date in texture2d_sub_resource_add_dirty_region. 2014-01-10 17:56:41 +01:00
Stefan Dösinger 1b561e815e wined3d: Use the map binding for RGB<->sRGB loads. 2014-01-10 17:56:39 +01:00
Stefan Dösinger 5c1df19b16 wined3d: Use the map binding to reload surfaces on color key changes. 2014-01-10 17:56:30 +01:00
Stefan Dösinger 5479ccea20 wined3d: Use the map binding to reload surfaces on palette changes. 2014-01-10 17:56:27 +01:00
Stefan Dösinger 1046551c34 wined3d: Add a map_binding field to surfaces.
Buffers, heap memory, user memory and DIBs will have their own
locations. This field specifies which location is used when the surface
is mapped.
2014-01-10 17:56:24 +01:00
Henri Verbeet 5dd286d05a wined3d: Make rebind_fbo in struct wined3d_context a bitfield. 2014-01-10 12:06:13 +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 06d6bdae4a wined3d: Place the logo texture in the default pool. 2014-01-10 12:06:04 +01:00