Commit Graph

1335 Commits

Author SHA1 Message Date
Henri Verbeet 63316d0967 ddraw: Return DDERR_INVALIDPARAMS for 0 width / height surface creation. 2010-11-18 12:37:49 +01:00
Henri Verbeet d3e2e84feb ddraw/tests: Fix some failure messages. 2010-11-17 14:01:15 +01:00
Henri Verbeet 7a354177b3 wined3d: Don't unregister a window unless the window proc is what we expect it to be.
In particular, if we'd unregister a window when the application replaced our
window proc, but still forwards to us, we'd create a loop when we register
the same window again later.
2010-11-10 12:19:24 +01:00
Henri Verbeet 2b0684c56d ddraw: Make switching to/from fullscreen work more than once. 2010-11-10 12:19:09 +01:00
Henri Verbeet 6fcb33f59f ddraw: Window proc replacement depends on DDSCL_EXCLUSIVE, not DDSCL_FULLSCREEN. 2010-11-10 12:19:04 +01:00
Henri Verbeet 7e3985e1fe ddraw: Setup the device window in SetCooperativeLevel(). 2010-11-08 13:30:54 +01:00
Henri Verbeet feaf81f60d wined3d: Use SetWindowPos() to make the focus window active. 2010-11-05 17:15:37 +01:00
David Adam 7661e8986c ddraw: Exclusive mode is the corner case for SetCooperative, not the normal mode. 2010-11-04 12:23:07 +01:00
Henri Verbeet 4c4a414596 ddraw/tests: Check for multiple expected messages in test_wndproc(). 2010-11-04 12:12:33 +01:00
Henri Verbeet cb3a133b28 ddraw: Fix some TRACEs. 2010-11-02 13:17:01 +01:00
Francois Gouget 6fb3a0a032 ddraw/tests: Remove a space before a '\n'. 2010-11-02 13:16:09 +01:00
David Adam e5e150a4d6 ddraw: Add tests for SetCooperativeLevel with a NULL window. 2010-11-02 12:03:03 +01:00
Francois Gouget aa93d7b80d ddraw/tests: Fix compilation on systems that don't support nameless unions. 2010-11-02 12:03:03 +01:00
David Adam 94f74a7caf ddraw: Add tests for the foreground window set by SetCooperativeLevel. 2010-11-01 12:38:44 +01:00
Michael Stefaniuc 1fe54842e0 ddraw: Add missing unlock (Smatch). 2010-10-26 11:54:10 +02:00
Ričardas Barkauskas 78e4a096a3 ddraw: Surfaces with DDSCAPS_3DDEVICE and DDSCAPS_ZBUFFER can't be render targets. 2010-10-25 15:31:12 +02:00
Ričardas Barkauskas ff659522f6 ddraw: Fix DDSCAPS_3DDEVICE surfaces always setting DDSCAPS_VISIBLE. 2010-10-25 15:31:07 +02:00
Ričardas Barkauskas 7402761e21 ddraw/tests: Test some more caps combinations. 2010-10-25 15:31:02 +02:00
Ričardas Barkauskas c6bc9e01e3 ddraw/tests: Test if surface with DDSCAPS_ZBUFFER can be render target. 2010-10-25 15:30:51 +02:00
David Adam 0a90271d69 ddraw: SETFOCUSWINDOW lives independently of other flags. 2010-10-22 12:08:07 +02:00
David Adam f8690a6bda ddraw: Remove a useless function. 2010-10-21 16:18:05 +02:00
Henri Verbeet 70f4e66f84 wined3d: IWineD3DBuffer_Unmap() can't fail. 2010-10-15 16:19:54 +02:00
Henri Verbeet 95469309d6 wined3d: Consistently use Map/Unmap for mapping resources. 2010-10-14 17:54:52 +02:00
Henri Verbeet 4d19daaa71 ddraw: Use a linear filter in ddraw_surface7_Blt(). 2010-10-12 17:36:22 +02:00
David Adam a8740a4667 ddraw/test: Add more combination tests for SetCooperativeLevels. 2010-10-12 11:44:13 +02:00
Stefan Dösinger 3ea9024f55 ddraw: Handle WINED3DFMT_R16G16_SNORM. 2010-10-06 16:12:07 +02:00
Stefan Dösinger 7cfaf611d0 ddraw: Don't try to enumerate WINED3DFMT_R8G8B8A8_SNORM.
There is no ddraw equivalent for this format, as ddraw only supports 2
bump channels. Trying to enumerate this format will only lead to a
confusing (but correct) ERR message
2010-10-06 16:12:02 +02:00
Henri Verbeet 5fa84c56c3 ddraw: Remove another hack.
It breaks actual front buffer / back buffer flips.
2010-10-05 15:16:52 +02:00
Austin English b2a8b61dd5 ddraw/tests: Fix a few compiler warnings on clang. 2010-10-01 17:48:11 +02:00
Alexandre Julliard 730f01801f tests: Make some variables static. 2010-10-01 13:41:42 +02:00
Michael Stefaniuc ef104dc465 ddraw: Add missing unlock on an error path (Smatch). 2010-09-29 10:06:36 +02:00
Paul Vriens c0ff1aec03 ddraw: Pass the correct size to memset (Coccinelle). 2010-09-21 20:16:15 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Oldřich Jedlička a6c3d0d6ac ddraw: Add checking of SURFACEDESC type/nullness into CreateSurface methods. 2010-09-18 14:40:01 +02:00
Oldřich Jedlička bec3b7692d ddraw: Allow creating back buffer for DirectX 1 interfaces. 2010-09-16 13:38:03 -05:00
Oldřich Jedlička 7085a3f85b ddraw/tests: New attachment tests for 3D back buffers. 2010-09-14 13:34:21 -05:00
Rico Schüller e6d52c0c8b wined3d: Add argument check for Type to Get/SetTextureStageState(). 2010-09-14 13:32:00 -05:00
Henri Verbeet fd7c1cbf05 wined3d: IWineD3DBuffer_GetDesc() should never fail. 2010-09-14 09:43:22 -05:00
Henri Verbeet 50d3f8081e ddraw: Just pass FOURCC formats through to wined3d. 2010-09-08 13:32:05 +02:00
Henri Verbeet b1a385db11 ddraw: Remove some stray tabs. 2010-09-08 13:32:00 +02:00
Henri Verbeet 53183b4cf3 wined3d: IWineD3DSurface_GetDesc() should never fail. 2010-09-08 13:31:43 +02:00
Oldřich Jedlička 51332b7a03 ddraw/tests: New tests for CreateSurface for 3D DDSCAPS_BACKBUFFER. 2010-09-03 16:02:31 +02:00
Henri Verbeet 83ff5b5041 ddraw: Handle D3DRENDERSTATE_TEXTUREHANDLE and D3DRENDERSTATE_TEXTUREMAPBLEND in d3d7. 2010-09-03 11:05:35 +02:00
Henri Verbeet 6c4c351791 wined3d: Don't require wined3d object parents to be COM objects. 2010-09-01 14:01:02 +02:00
Henri Verbeet b84d1ce5f7 wined3d: Clippers don't need parents. 2010-09-01 14:00:56 +02:00
Henri Verbeet 2ef400901d wined3d: Devices don't need parents. 2010-09-01 12:40:07 +02:00
Henri Verbeet c568916f9e wined3d: Implicit depth/stencil surfaces don't have a container.
They're owned by the device instead of the swapchain.
2010-08-31 14:23:47 +02:00
Henri Verbeet 4005eb2a18 wined3d: Get rid of WINED3DRECT. 2010-08-31 14:23:47 +02:00
Oldřich Jedlička 964500a61a ddraw/tests: New visual back buffer flipping tests. 2010-08-26 17:21:09 +02:00
Francois Gouget e237369b09 ddraw: Remove WINAPI on static functions where not needed. 2010-08-25 11:56:15 +02:00
Henri Verbeet cc5271d1b7 wined3d: Rename WINED3DFORMAT to wined3d_format_id. 2010-08-24 12:25:01 +02:00
Henri Verbeet 9364f80b8c ddraw: Failing surface creation is not an internal error. 2010-08-23 12:05:16 +02:00
Henri Verbeet 866099765a ddraw: Attaching an already attached surface is not a FIXME.
According to the tests it should simply fail.
2010-08-23 12:05:08 +02:00
Henri Verbeet c3cdebcf44 ddraw: Make some lookup tables const. 2010-08-23 12:04:31 +02:00
Henri Verbeet 20a42b4c98 ddraw: Add / improve TRACEs. 2010-08-20 13:21:24 +02:00
Henri Verbeet 4378d4b31e ddraw: Add a separate function for surface initialization. 2010-08-20 13:21:24 +02:00
Henri Verbeet c87fd4a65c ddraw: Add a separate function for ddraw initialization. 2010-08-20 13:21:23 +02:00
Henri Verbeet 0e955daed2 ddraw: Add a separate function for vertex buffer initialization. 2010-08-20 13:21:23 +02:00
Henri Verbeet e2021722fc ddraw: Add a separate function for palette initialization. 2010-08-20 13:21:23 +02:00
Henri Verbeet 584cb331a9 ddraw: Add a separate function for execute buffer initialization. 2010-08-20 13:21:22 +02:00
Henri Verbeet a60c493986 ddraw: Add a separate function for device initialization. 2010-08-20 13:21:21 +02:00
Oldřich Jedlička e474eb81e0 ddraw/tests: Add test for bad size of surface caps in CreateSurface. 2010-08-19 12:01:57 +02:00
Henri Verbeet 4b84c5e5b7 ddraw: Add a separate function for clipper initialization. 2010-08-19 11:18:20 +02:00
Henri Verbeet 759fd517aa ddraw: Add a separate function for parent initialization. 2010-08-19 11:18:16 +02:00
Henri Verbeet 921bd1bf9a ddraw: Add a separate function for viewport initialization. 2010-08-19 11:18:12 +02:00
Henri Verbeet bf26c2c869 ddraw: Add a separate function for material initialization. 2010-08-19 11:17:57 +02:00
Henri Verbeet c892ed497c ddraw: Add a separate function for light initialization. 2010-08-19 11:17:48 +02:00
Henri Verbeet c5a14085d4 ddraw: Remove unused / redundant includes. 2010-08-19 11:17:41 +02:00
Henri Verbeet 407f78e9e1 ddraw: Merge texture.c into surface.c. 2010-08-19 11:17:29 +02:00
Henri Verbeet 3eba8b5d22 ddraw: Merge gamma.c into surface.c. 2010-08-19 11:17:15 +02:00
Henri Verbeet fee9c1f2b5 ddraw: Remove a useless viewport callback. 2010-08-18 09:41:01 +02:00
Henri Verbeet 14399f6130 ddraw: Remove a useless material callback. 2010-08-18 09:40:55 +02:00
Henri Verbeet 06a44abc19 ddraw: Remove useless light callbacks. 2010-08-18 09:40:32 +02:00
Henri Verbeet 8394f00661 ddraw: Merge direct3d.c into ddraw.c. 2010-08-18 09:40:29 +02:00
Michael Stefaniuc f55e2374a0 ddraw: Use FAILED instead of NOT SUCCEEDED. 2010-08-16 13:46:42 +02:00
Oldřich Jedlička 5c05b14167 ddraw/tests: New attachment/flipping tests for back buffers. 2010-08-04 12:27:11 +02:00
Oldřich Jedlička 109cb9fee4 ddraw/tests: New CreateSurface for DDSCAPS_BACKBUFFER tests. 2010-08-04 12:27:04 +02:00
Henri Verbeet 3ad82a82bb wined3d: The stateblock doesn't have a parent. 2010-07-30 11:36:03 +02:00
Henri Verbeet 51a315386e ddraw: Use a less offensive handle table implementation for surfaces. 2010-07-30 11:36:03 +02:00
Henri Verbeet 91193b6eec ddraw: Use a less offensive handle table implementation for stateblocks. 2010-07-30 11:36:02 +02:00
Henri Verbeet 941aeade01 ddraw: Use a less offensive handle table implementation for matrices. 2010-07-29 17:33:36 +02:00
Henri Verbeet 0cb4de4542 ddraw: Use a less offensive handle table implementation for materials. 2010-07-29 17:33:35 +02:00
Johan Gill 1fb67788b1 ddraw: Added a todo_wine test for SetCooperativeLevel. 2010-07-28 16:28:22 +02:00
Marcus Meissner a58f31dd27 ddraw: Tighten up checks in DuplicateSurface (Coverity). 2010-07-26 18:38:29 +02:00
Alexandre Julliard b86d515ed6 dlls: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:36 +02:00
Henri Verbeet ce8f6ecf6e ddraw: Merge the surface thunks into surface.c. 2010-07-20 13:13:04 +02:00
Henri Verbeet 6fb9ee0ee7 ddraw: Merge the ddraw thunks into ddraw.c.
Note how both ddraw 1 and ddraw 7 used the same IDirectDrawImpl_XXX naming
convention.
2010-07-20 13:13:04 +02:00
Henri Verbeet 1edda50c03 ddraw: The surface isn't allowed to be NULL in EnumSurfacesCallbackThunk() and EnumCallback(). 2010-07-19 14:49:07 +02:00
Henri Verbeet 5bf9dd902c ddraw: Get rid of some dead code. 2010-07-19 14:49:07 +02:00
Henri Verbeet f461b39b76 ddraw: Get rid of the useless "ddraw_owner" fields. 2010-07-19 14:49:07 +02:00
Henri Verbeet 16b3f17f87 ddraw: Avoid some forward declarations. 2010-07-19 14:49:07 +02:00
Andrew Nguyen 8b1c1edb6b ddraw/tests: Test IDirect3D::FindDevice HAL enumeration. 2010-07-19 14:48:54 +02:00
Andrew Nguyen 14744c44b1 ddraw: Don't permit the enumeration of the Direct3D reference device in IDirect3D1::FindDevice. 2010-07-19 14:41:33 +02:00
Andrew Nguyen d5c2a358b7 ddraw: Return a failure code in IDirectDrawSurfaceImpl::QueryInterface if IDirect3D7::CreateDevice fails. 2010-07-19 14:41:11 +02:00
Mikko Rasa f18cb4c2f4 ddraw: Grow index buffer as needed. 2010-06-30 16:19:13 +02:00
Henri Verbeet cf39adbaa2 ddraw: Avoid an integer overflow in IDirectDrawSurfaceImpl_BltFast().
Bug spotted by Iain Arnell, test by Iain Arnell.
2010-06-24 15:11:43 +02:00
Francois Gouget 7649c75b40 Assorted typo and spelling fixes. 2010-06-24 10:37:05 +02:00
Andrew Nguyen bdc29f83bc ddraw/tests: Add an observation regarding device color model criteria for IDirect3D3::FindDevice. 2010-06-22 11:47:39 +02:00
Andrew Nguyen eb9227015a ddraw: Allow the ddraw RGB device to be enumerated in IDirect3D3::FindDevice.
Partially based on a patch by David Adam.
2010-06-22 11:47:24 +02:00
Andrew Nguyen 10a076ad8d ddraw: Validate structure pointers and sizes in IDirect3D3::FindDevice. 2010-06-22 11:24:59 +02:00
Henri Verbeet e4a4065bbd ddraw: Register / unregister the ddraw window class from DllMain().
This avoids failing in DDRAW_Create() if a previous IDirectDrawImpl object
with the same pointer value was imporperly cleaned up. The improper cleanup is
of course the larger problem, but I don't believe that can be fixed without
making more invasive changes to ddraw.
2010-06-18 15:22:22 +02:00
Michael Stefaniuc 989e98202f ddraw: Remove redundant "not NULL" check of This (coccicheck). 2010-05-18 18:42:07 +02:00
Ričardas Barkauskas f97c995054 ddraw: Fix missing D3D misc caps. 2010-05-03 17:20:15 +02:00
Rico Schüller cef28bb3a2 ddraw: Change return to break in PixelFormat_WineD3DtoDD(). 2010-05-03 14:00:15 +02:00
Vincent Pelletier 40cd9a7ff0 ddraw: Fix discrepancy in alpha mask for WINED3DFMT_B2G3R3A8_UNORM. 2010-05-03 13:57:58 +02:00
Johan Gill 7c90c1a0b5 ddraw: Do not restore the display mode from inside SetCooperativeLevel. 2010-04-19 16:06:01 +02:00
Johan Gill 15b959fba7 ddraw/tests: Added todo_wine test to verify resizing of fullscreen windows. 2010-04-07 18:13:05 +02:00
Henri Verbeet f97a9e3c0f ddraw: Fix and clarify texture filter state mappings. 2010-04-06 11:48:59 +02:00
Henri Verbeet 1289842da3 wined3d: Move handling of the unimplemented WINED3DRS_STIPPLEPATTERN states to ddraw. 2010-04-02 10:36:06 +02:00
Henri Verbeet 2e5976a8c5 wined3d: Move handling of the unimplemented WINED3DRS_BORDERCOLOR state to ddraw. 2010-04-02 10:35:54 +02:00
Roderick Colenbrander 2930f84961 ddraw: Add some DirectDraw Blt tests. 2010-03-30 13:55:05 +02:00
Henri Verbeet 914c8cb8ea ddraw: Acquire/release the focus window from the correct location. 2010-03-18 10:24:15 +01:00
Stefan Dösinger b5ddd6f0fc ddraw: Use a D24X8 depth buffer. 2010-03-17 16:08:48 +01:00
Henri Verbeet 89fef0e669 ddraw: Fix IDirectDraw4Impl_GetSurfaceFromDC().
Perhaps interesting to note is that this returns an IDirectDrawSurface instead
of an IDirectDrawSurface4.
2010-03-17 10:06:29 +01:00
Henri Verbeet 4e48ae2629 ddraw: Implement IDirectDrawImpl_GetSurfaceFromDC().
This is a pretty naive implementation, should that become a performance
problem it's easy enough to speed up with a search tree of some kind.
2010-03-17 10:06:25 +01:00
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01:00
Henri Verbeet ae437ab5b8 ddraw: Print unhandled vertex processing flags in IDirect3DExecuteBufferImpl_Execute(). 2010-03-15 15:55:14 +01:00
Michael Stefaniuc 67a2751b94 ddraw: Remove redundant memset. 2010-03-15 13:28:24 +01:00
Christian Costa 2e48bdd144 ddraw/tests: Fix typos. 2010-03-01 12:05:53 +01:00
Alexandre Julliard 6164ce2d82 makefiles: Use the standard C_SRCS variable as the list of test files.
This enables it to be auto-updated by make_makefiles.
2010-02-22 10:47:11 +01:00
Paul Vriens 22fc1fe366 ddraw/tests: Fix a test failure on VMware and VirtualBox on W2K and below. 2010-02-15 16:09:31 +01:00
Christian Costa e0213af9ab ddraw: Enable GetViewport to retreive data set by SetViewport2 and vice-versa + tests. 2010-02-15 12:51:23 +01:00
Christian Costa 720aa5bf23 ddraw: Fix D3DTBLEND_MODULATE emulation.
Alpha source should be selected with WINED3DTSS_ALPHAOP and not by changing the source itself.
2010-02-15 12:51:09 +01:00
Stefan Dösinger bb035638d0 d3d: Make sure vertexbuffer lock doesn't return a NULL pointer. 2010-02-09 11:33:53 +01:00
Alexandre Julliard 6d1ba98f5b ddraw/tests: Fix a test that fails on Win2k. 2010-02-05 11:54:51 +01:00
Stefan Dösinger a9f969094c ddraw: Convert VB lock flags to wined3d flags. 2010-01-29 14:59:02 +01:00
Stefan Dösinger f0266ee519 ddraw: Test invalid buffer lock parameters. 2010-01-29 14:59:02 +01:00
Henri Verbeet 69861cf873 wined3d: Get rid of the depth range hack. 2010-01-27 11:16:07 +01:00
Henri Verbeet ec03d3e4f1 ddraw: Add depth clamp tests. 2010-01-27 11:15:58 +01:00
Michael Stefaniuc a0789f611d ddraw: Simplify DllCanUnloadNow(). 2010-01-14 09:03:58 -06:00
Henri Verbeet 9ae92661cc ddraw: Remove a redundant return. 2009-12-30 13:31:30 +01:00
Henri Verbeet 67cba48782 wined3d: The FVF parameter to IWineD3DDeviceImpl_CreateVertexBuffer() is unused now. 2009-12-30 13:31:20 +01:00
Christian Costa df9bddcd27 ddraw: Improve error message. 2009-12-23 14:27:30 +01:00
Luke Benstead 34e82e3dbd ddraw: Fix an incorrect refcount test. 2009-12-18 11:39:48 +01:00
Henri Verbeet aa305c4a24 ddraw: Don't depend on IWineD3DDevice_CreateSurface() not touching the surface parameter on failure.
The reason it actually fails is because of ddraw trying to create surface of
type "SURFACE_UNKNOWN". Stefan should have a patch for that.
2009-12-18 11:38:30 +01:00
Roderick Colenbrander 6d8c4572ef wined3d: Fix a bug in BtlFast which was uncovered by the 32-bit dibsection support. 2009-12-17 12:53:19 +01:00
Henri Verbeet e79a6b20d2 ddraw/tests: Add tests for ddraw window proc handling. 2009-12-17 12:43:05 +01:00
Nicolas Le Cam bf64bbd1fb ddraw/tests: Get rid of a carriage return in a trace. 2009-12-14 12:04:06 +01:00
Paul Vriens 0f0d92bf13 ddraw/tests: Fix some test failures on Vista+. 2009-12-10 15:01:06 +01:00
Henri Verbeet ddddc60eb9 ddraw: Avoid enumerating display modes for formats that arent't supported anyway.
Some of these formats can't even be translated by ddraw.
2009-12-10 11:54:22 +01:00
Henri Verbeet 55f3c576d9 wined3d: Remove the effetively unused "state" field from the device. 2009-11-18 11:16:54 +01:00
Austin Lund 38d44e0a52 ddraw/tests: Fix test failure for D3DFMT_A2R10G10B10 pixel format in GetDC tests. 2009-11-17 15:14:56 +01:00
Paul Vriens 8a1f0eed8e ddraw/tests: Fix a test failure on systems with no DirectDraw7. 2009-11-03 21:26:46 +01:00
Stefan Dösinger d4275e87f1 wined3d: Add a usage flag for static buffer declarations. 2009-11-03 21:21:55 +01:00
Stefan Dösinger 90e443758a wined3d: Add a parameter for SetRenderTarget viewport setup. 2009-11-03 21:21:30 +01:00
Markus Stockhausen f222a1654e ddraw: Avoid memory overwrite in GetDeviceIdentifier(). 2009-10-30 16:32:53 +01:00
Henri Verbeet bf10dbe8a6 wined3d: Map D3DFMT_D24S8 to WINED3DFMT_D24_UNORM_S8_UINT.
The internal order of the depth and stencil bits is unspecified since the
format isn't lockable.
2009-10-30 11:28:52 +01:00
Henri Verbeet 052d955567 wined3d: Don't depend on uninitialized data in the CreateSurface() thunks (Valgrind).
Perhaps IDirectDraw7_CreateSurface() should also always set "pSurface7" to
NULL on failure, but at least for our internal functions that's a silly thing
to rely on.
2009-10-29 13:09:45 +01:00
Paul Vriens e1bf800ba5 ddraw/tests: Fix a test failure on Win9x/WinMe. 2009-10-21 16:05:57 +02:00
Francois Gouget 323f163af4 ddraw/tests: Fix compilation on systems that don't support nameless unions. 2009-10-19 14:45:21 +02:00