Alexandre Julliard
d08ff3ff19
makefiles: Use a single variable for all types of idl files.
2013-12-31 18:15:17 +01:00
Henri Verbeet
4e7b62a46d
wined3d: Get rid of unused palette flags.
2013-12-13 12:36:11 +01:00
Henri Verbeet
f27bb660b3
wined3d: Explicitly pass the palette size to wined3d_palette_create().
2013-12-13 12:36:11 +01:00
Henri Verbeet
89dedf6408
ddraw: Just set the palette caps in ddraw7_GetCaps().
2013-12-13 12:36:11 +01:00
Henri Verbeet
b9ab54a09a
ddraw/tests: Add a test for palettes on primary surfaces.
2013-12-13 12:36:11 +01:00
Henri Verbeet
c5a8b933af
ddraw: Unset the primary surface's palette when the palette is released.
2013-12-13 12:36:10 +01:00
Stefan Dösinger
cc978c90d4
ddraw/tests: Use correct ddraw COM macros.
2013-12-12 19:21:37 +01:00
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
bf7f80f4b3
ddraw: Store the palette flags in the ddraw palette.
2013-12-12 12:08:23 +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
Stefan Dösinger
5a656dead6
ddraw/tests: Test user memory and getdc interaction.
...
Some Windows Media Player 9 visualization plugins used ddraw in this way
to get a dc for their custom memory allocations.
2013-12-11 18:17:00 +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
15c1a26b55
wined3d: Create volumes inside wined3d.
2013-12-06 13:14:52 +01:00
Francois Gouget
94eb50eda0
ddraw/tests: Fix compilation on systems that don't support nameless unions.
2013-12-05 12:40:57 +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
f637c229f9
ddraw/tests: Add a test for primary surface capabilities.
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
a9afc9356e
ddraw: Reject explicitly creating a flippable front buffer.
2013-12-04 11:08:19 +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
42470bae67
ddraw/tests: Test SetSurfaceDesc and Lock interaction.
2013-12-03 19:36:13 +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
Stefan Dösinger
eb361e9eec
ddraw/tests: Port test_set_surface_desc to other versions.
2013-12-03 19:36:04 +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
ebd5c2076c
ddraw/tests: Add a surface flipping test.
2013-12-03 12:35:03 +01:00
Henri Verbeet
019143a6a9
ddraw/tests: Unify the skip messages a bit.
2013-12-02 12:12:54 +01:00
Henri Verbeet
a86aba4bc0
ddraw/tests: Add some missing DestroyWindow() calls.
2013-12-02 12:12:51 +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
4d9c3151c3
ddraw: Don't bother setting *surface to NULL in CreateSurface().
...
None of the callers depend on this.
2013-11-26 13:52:02 +01:00
Henri Verbeet
659cd984d5
ddraw: Don't bother unsetting DDSCAPS2_MIPMAPSUBLEVEL in CreateSurface().
...
This is already handled in ddraw_surface_create_texture().
2013-11-26 13:52:00 +01:00
Henri Verbeet
0261c465eb
ddraw: Don't set the pixelformat's dwSize field in CreateSurface().
...
This should be unnecessary.
2013-11-26 13:51:58 +01:00
Henri Verbeet
b62d55d810
ddraw: Don't bother checking for DDSD_CAPS in CreateSurface().
...
We made sure it's always set earlier.
2013-11-25 15:15:54 +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
Patrick Rudolph
626a3c6a5f
ddraw: Fill dwNumFourCCCodes in ddraw7_GetCaps.
2013-11-15 19:23:22 +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
afe5ceb729
ddraw: Create textures for additional surfaces.
2013-11-13 11:27:35 +01:00
Henri Verbeet
6ea9afe701
ddraw: Create textures for "standalone" surfaces.
2013-11-13 11:27:32 +01:00
Henri Verbeet
d6f12fcdc8
ddraw: Create textures for swapchain surfaces.
2013-11-13 11:27:28 +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
Alexandre Julliard
c7803b885b
makefiles: Add makedep pragmas for registration idl files.
2013-11-05 20:38:18 +01:00
Henri Verbeet
026dc11677
ddraw/tests: Use explicit A calls.
2013-10-31 09:58:44 +01:00
Henri Verbeet
ff3014221e
ddraw: Use GET_MODULE_HANDLE_EX_FLAG_PIN.
2013-10-30 11:21:32 +01:00
Stefan Dösinger
7899850d60
ddraw/tests: r200 accepts 3DDEVICE | ZBUFFER render targets in ddraw4.
...
It doesn't in ddraw2 and 7.
2013-10-29 20:05:25 +01:00
Stefan Dösinger
4b39c46fa2
ddraw/tests: Make caps checking in test_rt_caps() less strict.
...
R200 creates P8 3DDEVICE surfaces in video memory, and consequently
returns a different error message when trying to create a device.
2013-10-29 20:02:40 +01:00
Stefan Dösinger
3fafd37905
ddraw/tests: Allow some flags to fail surface creation in test_rt_caps.
2013-10-29 20:01:04 +01:00
Stefan Dösinger
81ed93d4f7
ddraw/tests: Accept nvidia return values in test_rt_caps.
2013-10-29 19:59:27 +01:00
Francois Gouget
4dc152bd70
ddraw/tests: Fix compilation on systems that don't support nameless unions.
2013-10-28 10:42:00 +01:00
Stefan Dösinger
e47edf47fe
ddraw/tests: Test DDLOCK_DISCARDCONTENTS.
2013-10-24 19:01:56 +02: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
a562af5ace
ddraw/tests: Test DDSCAPS2_D3DTEXTUREMANAGE.
2013-10-23 17:02:57 +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
Stefan Dösinger
9c456ef88c
ddraw/tests: Add surface lockability tests.
2013-10-23 17:02:57 +02:00
Frédéric Delanoy
3d30fb881a
ddraw/tests: Use BOOL type where appropriate.
2013-10-10 10:44:40 +02:00
Michael Stefaniuc
0e681027a2
tests: Compile the tests by default with -D__WINESRC__.
2013-10-02 11:04:02 +02:00
Francois Gouget
0cc1c22d16
ddraw/tests: Fix compilation on systems that don't support nameless unions.
2013-10-01 10:56:28 +02:00
Henri Verbeet
e02de5ff16
ddraw: Avoid VOID.
2013-09-23 20:38:18 +02:00
Henri Verbeet
31de4f1670
ddraw/tests: Add a test for render target surface capabilities.
2013-09-20 11:27:37 +02:00
Henri Verbeet
8aae165fc2
ddraw: Verify that the surface is not a depth buffer in SetRenderTarget().
...
This check is even more inconsistent between versions. Notice how the v2
interface is particularly broken because it never AddRef()'s the new iface.
This check also seems to be the original source for the questionable behaviour
in d3d_device_set_render_target() of storing the new iface before checking the
result of the wined3d_device_set_render_target(). (In particular,
SetRenderTargetTest() in tests/d3d.c tests for this behavious.)
2013-09-19 19:48:44 +02:00
Henri Verbeet
c70376af63
ddraw: Verify that the surface is in video memory in SetRenderTarget().
...
This is where things become a bit of a mess, because the error checking is
inconsistent between versions.
2013-09-19 19:48:41 +02:00
Henri Verbeet
ed92369316
ddraw: Verify that the surface is a render target in d3d_device_set_render_target().
2013-09-19 19:48:35 +02:00
Henri Verbeet
2cc421f59d
ddraw: Verify that surfaces with an indexed format have a palette attached in d3d_device_set_render_target().
2013-09-18 13:11:21 +02:00
Henri Verbeet
4f89957161
ddraw: Verify that the surface is in video memory in d3d_device_create().
2013-09-18 13:11:18 +02:00
Henri Verbeet
c69cd599a3
ddraw: Verify that surfaces with an indexed format have a palette attached in d3d_device_create().
2013-09-18 13:11:15 +02:00
Henri Verbeet
d2d0c42b6d
ddraw: Verify that the surface is a render target in d3d_device_create().
2013-09-17 12:01:23 +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