Commit Graph

1281 Commits

Author SHA1 Message Date
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
Henri Verbeet 02772641b2 ddraw/tests: Remove some leftover debug code. 2009-10-19 11:45:36 +02:00
Henri Verbeet c45609f15c ddraw/tests: Check some more return values (LLVM/Clang). 2009-10-16 13:37:00 +02:00
Christian Costa e95ffacde0 ddraw: Make SetColorKey handle case where dwColorSpaceHighValue < dwColorSpaceLowValue + tests. 2009-10-15 12:06:22 +02:00
Stefan Dösinger e80144c403 d3d: Make EndScene calls hookable. 2009-10-14 12:21:06 +02:00
Stefan Dösinger 64367542d0 ddraw: Make directdraw create functions hookable. 2009-10-14 12:21:06 +02:00
Paul Vriens 72fab20ffe ddraw/tests: Don't crash on older ddraw. 2009-10-12 12:14:03 +02:00
Andrew Nguyen 7211f7ce18 ddraw: Implement and test DirectDrawEnumerateExW. 2009-10-09 11:50:28 +02:00
Andrew Nguyen 3496fe5f43 ddraw: More fully implement and test DirectDrawEnumerateExA. 2009-10-09 11:50:28 +02:00
Andrew Nguyen bab8f7e557 ddraw: Implement and test DirectDrawEnumerateW. 2009-10-09 11:50:14 +02:00
Andrew Nguyen 4c61c2ff63 ddraw: Simplify and test DirectDrawEnumerateA. 2009-10-09 11:40:16 +02:00
Andrew Nguyen 611fae610c ddraw/tests: Remove a superfluous return statement. 2009-10-09 11:40:07 +02:00
Paul Vriens ddd255cb08 ddraw/tests: Fix some test failures on WinME/VMware. 2009-10-08 12:17:30 +02:00
Stefan Dösinger 9e068a33b3 wined3d: SetRenderTarget doesn't change the viewport in d3d7. 2009-10-02 15:06:56 +02:00
Markus Stockhausen dbb29993db ddraw: Set dwBackBufferCount=0 in CreateSurface for backbuffer. 2009-09-29 16:06:47 +02:00
Henri Verbeet 33bfcdd044 ddraw: The ddraw surface is now always the wined3d surface's parent.
This GetParent() trick would now cause infinite recursion.
2009-09-25 15:15:55 +02:00
Henri Verbeet 47c84f4f7f wined3d: Use the DXGI naming convention for all formats. 2009-09-25 15:15:44 +02:00
Henri Verbeet 60e32659a7 wined3d: Rename IWineD3DDevice::SetIndices() to IWineD3DDevice::SetIndexBuffer(). 2009-09-25 15:14:44 +02:00
Henri Verbeet 66a7236590 wined3d: Don't free D3D vertex declarations until the wined3d vertex declaration is destroyed. 2009-09-23 12:36:28 +02:00
Henri Verbeet 93b0600829 wined3d: Don't free D3D buffers until the wined3d buffer is destroyed. 2009-09-18 08:55:25 -05:00
Henri Verbeet a8e8f763bf wined3d: Don't free D3D textures until the wined3d texture is destroyed. 2009-09-18 08:54:34 -05:00
Henri Verbeet 6c8636c337 ddraw: Mark internal symbols hidden. 2009-09-17 10:10:04 -05:00
Henri Verbeet de3bd86fb6 wined3d: Don't free D3D cube textures until the wined3d cube texture is destroyed. 2009-09-17 10:09:44 -05:00
Henri Verbeet a5214c306f wined3d: Don't free D3D surfaces until the wined3d surface is destroyed.
This prevents for example a d3d9 depth stencil from being destroyed when it
has no external references but is still in use by the device/stateblock. A
nice side effect is that it simplifies handling of "implicit" surfaces like
the frontbuffer and backbuffers, as well as the forwarding of reference counts
for surfaces that are part of a texture.
2009-09-16 13:04:32 -05:00
Jörg Höhle 3eb62ed62c ddraw: Complete recognition of pixelformat 19: X8L8V8U8. 2009-09-15 16:41:24 -05:00
Henri Verbeet 2b2fc827ce wined3d: Remove unused parameters to drawPrimitive(). 2009-09-11 12:09:14 +02:00
Stefan Dösinger e1469961d4 wined3d: Test and fix ddraw and d3d9 GetDC differences.
The MSDN is not totally correct: A8R8G8B8 and A1R5G5B5 also allow GetDC. The
main differences that have to be filtered out in d3d9.dll are GetDC on
A8B8G8R8, X8B8G8R8 and P8.
2009-09-08 13:04:52 +02:00
Henri Verbeet ee60e5fd71 ddraw: Remove trailing spaces. 2009-09-01 14:06:03 +02:00
Francois Gouget e168876d8f ddraw/tests: Fix compilation on systems that don't support nameless unions. 2009-08-31 12:41:21 +02:00
Stefan Dösinger c0892c2f35 ddraw: d3d7 does not support two sided stencil.
The header is wrong. There is simply no API to set this. The MS header does
not have this declaration either.
2009-08-06 17:26:31 +02:00
Henri Verbeet 7165bd19c1 wined3d: WINED3DTEXF_NONE only makes sense as a mip filter. 2009-08-05 11:20:43 +02:00
Andrew Talbot 99139d9671 ddraw: Constify some variables. 2009-07-24 11:44:17 +02:00
Alexandre Julliard 60d389670a ddraw/tests: Properly release surfaces even if we can't get the texture object. 2009-07-14 11:29:47 +02:00
Alexandre Julliard 340f5734bf ddraw/tests: Fix a failing test on 64-bit. 2009-07-14 11:29:47 +02:00
Alexandre Julliard 5622f74486 ddraw/tests: Fix a few tests that fail on Win64. 2009-07-10 20:52:41 +02:00
Gerald Pfeifer d1e5b3bf62 ddraw: Fix two bounds checks. 2009-06-22 11:44:19 +02:00
Gerald Pfeifer 3176d936f9 ddraw: Fix error checking in IDirect3DExecuteBufferImpl_Execute(). 2009-06-22 11:44:06 +02:00
Marcus Meissner 882716e78b ddraw: Use correct union member. 2009-06-15 13:42:30 +02:00
Henri Verbeet 88162fabb8 wined3d: Get rid of the pointers in WINED3DSURFACE_DESC. 2009-06-15 13:42:29 +02:00
Henri Verbeet 4bc6b376e0 wined3d: Remove the useless "resource_type" parameter from IWineD3DDevice::CreateSurface(). 2009-06-12 17:33:15 +02:00
Luke Benstead 73abda63d7 ddraw: Add tests for DirectDrawSurface reference counting. 2009-05-20 11:09:07 +02:00
Francois Gouget 82b7fc6855 ddraw/tests: Replace malloc() with HeapAlloc(). 2009-05-13 12:45:36 +02:00
Nicolas Le Cam ad66aa77a4 ddraw/tests: Fix a test failure on VirtualBox. 2009-05-04 12:51:15 +02:00
Henri Verbeet 6f33b97c94 wined3d: Get rid of the shared_handle parameter.
I don't expect us to support this in the near future, and right now it's just
dead code.
2009-04-23 14:22:06 +02:00
Christian Costa 06d2b30903 ddraw/tests: Add tests for refcount handling of light with viewport. 2009-04-21 16:30:36 +02:00
Christian Costa ffb5f749d5 ddraw: Handle refcount of lights when interacting with viewport. 2009-04-21 16:30:32 +02:00
David Adam 8681d49030 ddraw: Remove useless comments. 2009-04-21 16:30:04 +02:00
Stefan Dösinger cb1c9dcda9 d3d: Remove the format from index buffers. 2009-04-09 16:28:25 +02:00
Stefan Dösinger f0efa97413 wined3d: Remove the buffer fvf. 2009-04-09 16:28:10 +02:00
Stefan Dösinger fd9b574e4e ddraw: Store the fvf in the ddraw buffer.
WineD3D buffer FVFs will go away soon.
2009-04-09 16:27:35 +02:00
Stefan Dösinger 513a493f00 wined3d: Merge IWineD3DIndexBuffer and IWineD3DBuffer. 2009-04-08 11:37:29 +02:00
Stefan Dösinger 3ed94329a3 wined3d: Use Map and Unmap for index buffers.
Just a change in name to prepare for the next patch
2009-04-08 11:36:18 +02:00
Stefan Dösinger dc80a3ede5 d3d: Unify WINED3DVERTEXBUFFER_DESC and WINED3DINDEXBUFFER_DESC. 2009-04-08 11:36:02 +02:00
Henri Verbeet 4194d8040f ddraw: Filter invalid texture stage states passed by the application. 2009-04-01 14:23:38 +02:00
Henri Verbeet 4434d00f84 wined3d: Unify vertex and texture formats.
Some fields should be redundant now, eg. gl_vtx_type and glType. I'll leave
that for a different patch to fix though.
2009-03-27 15:51:25 +01:00