Commit Graph

313 Commits

Author SHA1 Message Date
Stefan Dösinger f53d83cf26 ddraw: Sysmem overlays are not allowed. 2013-12-12 19:21:37 +01:00
Stefan Dösinger 0fdb1aaff6 ddraw: SetSurfaceDesc does not work on primaries. 2013-12-12 19:21:36 +01:00
Henri Verbeet d5863f7f40 ddraw: Set DDPCAPS_PRIMARYSURFACE when attaching a palette to the primary surface. 2013-12-12 12:08:25 +01:00
Henri Verbeet 9651079ff9 ddraw: Don't set the palette on attached backbuffers in ddraw_surface7_SetPalette().
Tests show this is just wrong. This patch fixes a regression introduced by
commit 74e3f516bc.
2013-12-12 12:08:19 +01:00
Henri Verbeet 1f0bb534ec ddraw: Keep a reference to the palette in the surface. 2013-12-12 12:08:16 +01:00
Henri Verbeet 0f49ffae41 ddraw: Properly swap the wined3d texture parent in ddraw_surface7_Flip(). 2013-12-06 16:46:39 +01:00
Henri Verbeet ce09d3633a ddraw: Properly flip through the swap chain in ddraw_surface7_Flip(). 2013-12-05 12:40:56 +01:00
Henri Verbeet 7524258aaf ddraw: Implement flips inside ddraw. 2013-12-05 12:40:56 +01:00
Henri Verbeet 8797a9eda3 ddraw: Require a non-zero back buffer count for swap chains. 2013-12-05 12:40:56 +01:00
Henri Verbeet 23f47b573e ddraw: Require DDSCAPS_FLIP and DDSCAPS_COMPLEX to be used together. 2013-12-05 12:40:55 +01:00
Henri Verbeet 6cba2285bc ddraw: Reject creating primary surfaces with DDSCAPS_TEXTURE. 2013-12-04 11:08:22 +01:00
Henri Verbeet 00eaf27dc7 ddraw: Validate that surfaces are on the same swap chain in ddraw_surface7_Flip(). 2013-12-04 11:07:51 +01:00
Henri Verbeet 74e3f516bc ddraw: Attach the first surface in the swap chain to the last one. 2013-12-04 11:07:46 +01:00
Henri Verbeet ab8d59c29d ddraw: Reject flips of surfaces with themselves. 2013-12-04 11:07:41 +01:00
Frédéric Delanoy 5ba7f79bad Assorted spelling fixes. 2013-12-03 19:41:53 +01:00
Stefan Dösinger 5e43ee256c ddraw: Check for lpSurface=NULL in SetSurfaceDesc. 2013-12-03 19:36:11 +01:00
Stefan Dösinger c15d89c803 ddraw: SetSurfaceDesc accepts DDSD_CAPS with dwCaps=0. 2013-12-03 19:36:09 +01:00
Stefan Dösinger 1f36605886 ddraw: SetSurfaceDesc is not allowed on managed textures. 2013-12-03 19:36:07 +01:00
Henri Verbeet e780ee581d ddraw: Return the correct error in ddraw_surface7_Flip() when the surface is not flippable. 2013-12-03 12:35:19 +01:00
Henri Verbeet 66c71baefe ddraw: Only set DDSCAPS_FRONTBUFFER on flippable surfaces. 2013-12-03 12:35:14 +01:00
Henri Verbeet 76420a2441 ddraw: Only set DDSCAPS_VISIBLE on the root surface. 2013-12-03 12:35:11 +01:00
Henri Verbeet 28efaec21f ddraw: Only set DDSCAPS_PRIMARYSURFACE on the root surface. 2013-12-03 12:35:07 +01:00
Henri Verbeet 8a9fdb567e ddraw: Get rid of the DDSCAPS_BACKBUFFER validation in ddraw_surface_create().
All callers except ddraw1_CreateSurface() already have a stricter check
themselves.
2013-12-02 12:12:48 +01:00
Henri Verbeet d56b7c2016 ddraw: Use hr_ddraw_from_wined3d() in ddraw_surface_create(). 2013-12-02 12:12:45 +01:00
Henri Verbeet 82d5f36c8b ddraw: Get rid of copy_to_surfacedesc2(). 2013-11-28 11:19:16 +01:00
Henri Verbeet 69ebf9de54 ddraw: Get rid of CreateSurface(). 2013-11-28 11:19:15 +01:00
Henri Verbeet 028960d9d0 ddraw: Make the DDSURFACEDESC2 parameter to ddraw_surface_create_texture() const. 2013-11-28 11:19:13 +01:00
Henri Verbeet 2c109d2df1 ddraw: Move the DDSD_CAPS fixup from CreateSurface() to ddraw_surface_create_texture(). 2013-11-28 11:19:11 +01:00
Henri Verbeet 06f393dc7d ddraw: Move the DDSD_LPSURFACE fixups from CreateSurface() to ddraw_surface_create_texture(). 2013-11-28 11:19:06 +01:00
Henri Verbeet 5889f822f1 ddraw: Move the flippable validation from CreateSurface() to ddraw_surface_create_texture(). 2013-11-27 11:30:23 +01:00
Henri Verbeet 3139249a2e ddraw: Move the primary surface validation from CreateSurface() to ddraw_surface_create_texture(). 2013-11-27 11:30:22 +01:00
Henri Verbeet 2105b4493f ddraw: Create back buffers in ddraw_surface_create_texture(). 2013-11-27 11:30:20 +01:00
Henri Verbeet 559229aa10 ddraw: Move the location validation from CreateSurface() to ddraw_surface_create_texture(). 2013-11-27 11:30:18 +01:00
Henri Verbeet 4b3db52b53 wined3d: Merge the texture creation functions. 2013-11-27 11:30:15 +01:00
Henri Verbeet 995ff1d3f8 ddraw: Move the cube map validation from CreateSurface() to ddraw_surface_create_texture(). 2013-11-26 13:52:06 +01:00
Henri Verbeet f0f38d9b8d ddraw: Move the TEXTUREMANAGE validation from CreateSurface() to ddraw_surface_create_texture(). 2013-11-26 13:52:04 +01:00
Henri Verbeet 8ce73e2ad6 ddraw: Only reset the device when creating an exclusive mode front buffer in ddraw_surface_create_texture(). 2013-11-25 15:15:54 +01:00
Henri Verbeet 42f6ca821c wined3d: Set the surface container in surface_init(). 2013-11-15 12:00:32 +01:00
Henri Verbeet afc3d2ab70 wined3d: Create surfaces inside wined3d. 2013-11-15 12:00:26 +01:00
Henri Verbeet 9443c95a89 ddraw: Move the display mode related surface desc fixups from CreateSurface() to ddraw_surface_create_texture(). 2013-11-15 12:00:17 +01:00
Henri Verbeet 063a6c8d2d ddraw: Move the mipmap count fixup from CreateSurface() to ddraw_surface_create_texture(). 2013-11-15 12:00:15 +01:00
Henri Verbeet 9e44fadbfe ddraw: Set the cube map flags for the root surface in ddraw_surface_create_texture() as well. 2013-11-14 16:21:00 +01:00
Henri Verbeet 80055e1fcd ddraw: Pass the ddraw texture to ddraw_surface_init(). 2013-11-14 16:20:58 +01:00
Henri Verbeet 10411fb2a1 ddraw: Move the surface desc fixups from ddraw_surface_init() to ddraw_surface_create_texture(). 2013-11-14 16:20:56 +01:00
Henri Verbeet 45d37313b8 ddraw: Set WINED3D_SURFACE_PIN_SYSMEM directly in ddraw_surface_create_texture(). 2013-11-14 16:20:49 +01:00
Henri Verbeet 6ea9afe701 ddraw: Create textures for "standalone" surfaces. 2013-11-13 11:27:32 +01:00
Henri Verbeet 3d452ed95a ddraw: Create wined3d textures before ddraw surfaces. 2013-11-12 14:15:17 +01:00
Henri Verbeet 80dbeb9699 ddraw: Introduce a ddraw_texture structure as parent for textures. 2013-11-12 14:15:10 +01:00
Stefan Dösinger 9e0ba3eab0 ddraw: Make default pool resources dynamic.
To make DDLOCK_DISCARDCONTENTS actually do anything. The MAPPABLE flag
is now redundant.
2013-10-24 19:01:56 +02:00
Stefan Dösinger db68ffcba1 ddraw: Treat D3DTEXTUREMANAGE like TEXTUREMANAGE.
Sim City 4 uses this flag. The main problem I noticed was with
WINED3D_MAP_DISCARD handling introduced for surfaces in patches that
aren't yet in the tree, but the difference already matters for older
cards because of video memory accounting.
2013-10-23 17:02:57 +02:00