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
Henri Verbeet
3fb53e21fb
ddraw: Don't set render target / depth stencil usage on sysmem surfaces.
...
Setting render target usage on a P8 surface for example would fail surface
creation, while such surfaces can't be used for actual rendering anyway. Tests
confirm that surface creation is supposed to succeed for P8 surfaces with both
DDSCAPS_SYSTEMMEMORY and DDSCAPS_3DDEVICE set.
2013-09-17 12:01:21 +02:00
Henri Verbeet
df01e8d6cc
ddraw: Fix render target refcount handling.
...
Similar to AddAttachedSurface() / DeleteAttachedSurface(), we should Release
the interface version that we stored. (And actually store the interface that
we AddRef.)
2013-09-17 12:01:18 +02:00
Stefan Dösinger
f69ba15a92
ddraw/tests: Test blocked texture creation restrictions.
2013-09-06 17:25:08 +02:00
Stefan Dösinger
80638b6d2f
wined3d: Enforce texturing capability format restrictions on resource creation.
2013-09-06 17:25:08 +02:00
Stefan Dösinger
b88daee3bc
ddraw: Create managed pool textures.
...
The surfaces are already in WINED3D_POOL_MANAGED.
2013-09-05 17:56:17 +02:00
Henri Verbeet
6f321ff2f9
ddraw: Don't imply WINED3DUSAGE_RENDERTARGET on primary surfaces.
...
If the application actually wants to do 3D rendering on the primary surface,
it should set DDSCAPS_3DDEVICE as well.
2013-09-05 13:18:23 +02:00
Henri Verbeet
4de77fa23f
wined3d: Allow a custom pitch to be specified in wined3d_surface_set_mem().
2013-06-14 11:46:20 +02:00
Henri Verbeet
86eb211159
ddraw: Rename PixelFormat_DD2WineD3D() to wined3dformat_from_ddrawformat().
...
For consistency with the other D3D dlls.
2013-06-07 11:58:27 +02:00
Henri Verbeet
d6bc4fe71a
wined3d: Allow surface flags to be passed to texture creation functions.
2013-06-06 11:47:19 +02:00
Henri Verbeet
b23739316c
wined3d: Pass a wined3d_resource_desc structure to wined3d_texture_create_cube().
2013-06-05 17:31:39 +02:00
Henri Verbeet
9d4cbd6195
wined3d: Pass a wined3d_resource_desc structure to wined3d_texture_create_2d().
2013-06-05 17:31:39 +02:00
Henri Verbeet
ce912d5149
wined3d: Get rid of the surface_type parameter to wined3d_surface_create().
2013-01-17 12:21:55 +01:00
Henri Verbeet
191db92fd5
ddraw: Move the mipmap desc fixup code to ddraw_surface_create_texture() from device_parent_create_texture_surface().
2012-10-25 11:48:19 +02:00
Henri Verbeet
ddbe791d37
wined3d: Set texture_level in surface_set_texture_target() as well.
2012-10-24 11:24:22 +02:00
Henri Verbeet
9d127a4d36
wined3d: wined3d_surface_set_palette() never fails.
2012-10-09 09:59:38 +02:00
Henri Verbeet
82282db65e
ddraw: Properly release the ddraw reference when the last interface is released in ddraw_surface_release_iface().
2012-10-01 12:11:09 +02:00
Jacek Caban
4551135f7a
ddraw: Use proper helpers for iface calls.
2012-08-27 19:46:03 +02:00
Henri Verbeet
e5bb2e7d8b
ddraw: Create texture surfaces from device_parent_create_texture_surface().
...
Instead of creating them in advance and hoping we can find them back later.
2012-07-13 10:29:35 -05:00
Henri Verbeet
d4fa0d8de2
ddraw: Get rid of some redundant TRACE_ON invocations.
2012-07-13 10:29:25 -05:00
Henri Verbeet
c722f2d31e
ddraw: Merge ddraw_surface_destroy() into ddraw_surface_cleanup().
2012-06-13 21:35:38 +02:00
Henri Verbeet
8cef8b3587
wined3d: Unify the wined3d_mapped_rect and wined3d_mapped_box structures.
2012-04-13 10:48:51 +02:00
Henri Verbeet
daedd0077d
ddraw: Get rid of IDirect3DDeviceImpl.
2012-04-10 16:21:25 +02:00
Henri Verbeet
9d317e632f
ddraw: Properly retrieve an interface pointer in ddraw_surface7_GetPalette().
2012-04-09 12:02:55 +02:00
Henri Verbeet
02b9988f48
ddraw: Simplify updating palette entries in d3d_texture2_Load().
2012-04-09 12:02:51 +02:00
Henri Verbeet
cf30899f1a
ddraw: Version 1 devices are aggregated by the surface that created them.
2012-04-06 20:11:17 +02:00
Henri Verbeet
4f91eb3fe1
ddraw: Keep track of the ddraw version used to create a device.
...
This also obsoletes the "from_surface" device field.
2012-04-04 17:22:19 +02:00
Henri Verbeet
ecd1c78c48
ddraw: Surface versions before 7 return E_INVALIDARG on failure in QueryInterface().
2012-04-03 12:00:13 +02:00
Henri Verbeet
75aa0b38f7
ddraw: The various D3D device interfaces can't be queried from version 7 surfaces.
2012-04-03 12:00:10 +02:00
Henri Verbeet
814fd3b39e
ddraw: The texture interface shares its refcount with the surface interface version used to create the surface.
...
This probably implies that on native the texture interface is part of a
separate object that's aggregated by the surface.
2012-04-02 12:39:28 +02:00
Henri Verbeet
7dd4f439e3
ddraw: The texture interfaces can't be queried from version 7 surfaces.
2012-04-02 12:39:22 +02:00
Henri Verbeet
8481625fa4
ddraw: Explicitly check for the IDirectDrawColorControl interface in ddraw_surface7_QueryInterface().
2012-04-02 12:39:19 +02:00
Henri Verbeet
f7719a89ad
ddraw: Querying IUnknown for a surface should return the IDirectDrawSurface interface.
2012-03-30 10:43:49 +02:00
Henri Verbeet
a623075612
ddraw: Replace a ERR in ddraw_surface7_QueryInterface() with a WARN.
2012-03-30 10:43:44 +02:00
Henri Verbeet
f3d1d4790c
ddraw: Get rid of a couple of redundant else-statements.
2012-03-30 10:43:33 +02:00
Henri Verbeet
6f35ec6092
ddraw: Make ddraw_surface_wined3d_parent_ops static.
2012-03-26 18:15:07 +02:00
Henri Verbeet
d0a37cdeb5
ddraw: Get rid of IDirectDrawPaletteImpl.
2012-03-13 10:26:54 +01:00
Henri Verbeet
5f43cd2631
ddraw: Get rid of IDirectDrawSurfaceImpl.
2012-03-12 10:44:01 +01:00
Henri Verbeet
1cee1891fd
ddraw: Get rid of IDirectDrawImpl.
2012-03-09 11:32:35 +01:00
Henri Verbeet
f20e07b77b
ddraw: Always pin surfaces.
2012-02-22 11:26:32 +01:00
Stefan Dösinger
551c732d74
ddraw: Properly set the color key in texture::load.
2012-01-31 17:49:15 +01:00
Henri Verbeet
0d8e6719d5
ddraw: AddAttachedSurface() just references whatever we pass it.
2012-01-31 13:46:30 +01:00
Alexandre Julliard
5f42f7d4fa
ddraw: AddRef the correct interface pointer in AddAttachedSurface.
2012-01-25 21:38:32 +01:00
Matteo Bruni
e51d3f6de6
ddraw: Accept pointers to wrong IDirectDrawSurface versions.
2012-01-24 11:56:06 +01:00
Henri Verbeet
67d4be0347
ddraw: Just pin all version 1 surfaces.
2012-01-19 11:56:35 +01:00
Henri Verbeet
e53a277305
wined3d: Get rid of the WINED3DPOOL typedef.
2012-01-18 12:37:38 +01:00
Henri Verbeet
cf636cc3b3
ddraw: Allow querying the surface interface if a device was created from a surface.
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
Henri Verbeet
afb64506ba
ddraw: Implement width and height changes in ddraw_surface7_SetSurfaceDesc().
2012-01-13 17:34:30 +01:00
Francois Gouget
daeb4d6d29
ddraw: Make ddraw_reset_enum_callback() and ddraw_surface_destroy() static.
2012-01-09 12:52:11 +01:00
Henri Verbeet
9a8491045e
wined3d: Get rid of the WINED3DMULTISAMPLE_TYPE typedef.
2012-01-09 12:22:17 +01:00
Henri Verbeet
31f3120815
ddraw: Convert to integer before adjusting the clipped source rect.
...
This makes a difference for the bottom and right edges, and we could end up
with an empty source rectangle otherwise.
2012-01-06 19:24:20 +01:00
Henri Verbeet
223b0736c0
ddraw: Disallow clipped blits in ddraw_surface7_BltFast().
2012-01-05 20:54:21 +01:00
André Hentschel
b5ba054ce8
Assorted header comment cleanup.
2012-01-04 19:35:13 +01:00
Michael Stefaniuc
f1f5536d8f
ddraw: Fix two memory leaks (Smatch).
2012-01-03 12:37:58 +01:00
Henri Verbeet
10d2a9375d
ddraw: Add support for clipped blits.
2011-12-13 18:58:56 +01:00
Henri Verbeet
e6fb4537f0
ddraw: Move clipper handling to ddraw.
2011-12-13 18:58:37 +01:00
Stefan Dösinger
481e2f3366
ddraw: SetSurfaceDesc can set width, height and pitch under certain conditions.
2011-12-08 18:04:18 +01:00
Henri Verbeet
3dd03f642d
wined3d: Get rid of the WINEDDCOLORKEY typedef.
2011-12-08 10:27:53 +01:00
Henri Verbeet
eafebc0491
wined3d: Get rid of the WINED3DLOCKED_RECT typedef.
2011-12-06 15:50:58 +01:00
Henri Verbeet
3a2921c559
ddraw: Keep the primary surface mapped at the same address for early ddraw versions.
2011-11-30 11:50:58 +01:00
Henri Verbeet
3430e11605
wined3d: Add a flags parameter to wined3d_surface_create().
2011-11-30 11:50:48 +01:00
Henri Verbeet
0f10ac9358
ddraw: Create the wined3d swapchain when setting the cooperative level.
2011-11-29 13:22:54 +01:00
Henri Verbeet
2e1c0d83c1
wined3d: Get rid of the WINED3DGAMMARAMP typedef.
2011-11-22 10:52:45 +01:00
Henri Verbeet
8e6f5c34a2
ddraw: We can't render to the desktop window either.
2011-11-18 14:26:16 +01:00