Commit Graph

1906 Commits

Author SHA1 Message Date
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
Henri Verbeet dbdde3bd4b ddraw: Take surface usage into account when checking format capabilities in CreateSurface(). 2013-09-16 12:51:13 +02:00
Francois Gouget 15b6ff2023 ddraw/tests: Fix compilation on systems that don't support nameless unions. 2013-09-13 00:17:58 +02:00
Henri Verbeet 3c6d11706f ddraw: Just set the render target to NULL in d3d_device_inner_Release().
The wined3d front buffer is not a render target.
2013-09-12 10:59:21 +02:00
Henri Verbeet 1a78667862 wined3d: Allow the first render target to be set to NULL.
Note that it still isn't necessarily safe to render in this case, because
there are places where we assume the first render target is always non-NULL in
order to determine e.g. framebuffer dimensions. It's now the responsibility of
the caller to ensure that doesn't happen.
2013-09-12 10:59:18 +02:00
Henri Verbeet 73a0327487 ddraw: Avoid LPBYTE. 2013-09-11 09:59:06 +02:00
Henri Verbeet 87ef65ab7b ddraw: Avoid LPVOID. 2013-09-11 09:59:04 +02:00
Henri Verbeet 9ccced6f41 ddraw: Get rid of get_config_key(). 2013-09-11 09:58:55 +02:00
Stefan Dösinger 20ce6bd102 ddraw/tests: Don't test transformed vertices with normals.
They crash the GPU driver of my r200 WinXP laptop, causing anything from
a BSOD to a frozen or black screen and sometimes incorrectly set
resolutions.
2013-09-09 22:10:01 +02:00
Stefan Dösinger b92928333b ddraw/tests: Test unsupported texture formats. 2013-09-06 17:25:08 +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 b464067313 ddraw: Create a sysmem surface if the format is not supported. 2013-09-06 17:25:08 +02:00
Henri Verbeet 4735690dc2 ddraw: Introduce a helper function for initializing a D3DDEVICEDESC structure from a D3DDEVICEDESC7 structure. 2013-09-06 12:00:22 +02:00
Stefan Dösinger 22fc22d28b ddraw: Enumerate DXT2 and DXT4. 2013-09-05 17:56:24 +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
Stefan Dösinger 8da09ba196 ddraw/tests: Test DDCAPS2_TEXTUREMANAGE compatibility, with other flags. 2013-09-05 17:56:06 +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
Stefan Dösinger 91fa7c07c9 ddraw/tests: Test WM_ACTIVATEAPP messages generated by SetCooperativeLevel. 2013-09-02 18:07:17 +02:00