Commit Graph

1191 Commits

Author SHA1 Message Date
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
Henri Verbeet d7c7c76850 wined3d: Use separate structures for ddraw style strided data and wined3d's internal stream info. 2009-03-27 15:51:25 +01:00
Andrew Nguyen e1a1ae5e1b ddraw/tests: Skip some cooperative level tests on NT4/Win95.
The DirectX SDK reports that cooperative level flags
DDSCL_SETDEVICEWINDOW and DDSCL_SETFOCUSWINDOW are only
available on Windows 98 and higher.
2009-03-23 18:21:06 +01:00
Michael Stefaniuc 58f2a01e23 ddraw/tests: Use ULONG instead of unsigned long. 2009-03-23 12:41:21 +01:00
Paul Vriens 5974ad1200 ddraw/tests: Fix a test failure on VMware and some native boxes. 2009-03-13 14:55:47 +01:00
Paul Vriens 27f52727e4 ddraw/tests: Fix two test failures on W2K/VMware. 2009-03-13 14:53:02 +01:00
Paul Vriens d5e9c3cf92 ddraw/tests: Fix some test failures on W2K/VMware. 2009-03-12 13:09:53 +01:00
Paul Vriens ae1802d01b ddraw/tests: Fix some test failures on W2K/VMware. 2009-03-11 16:03:32 +01:00
Henri Verbeet aa3027a604 wined3d: Merge IWineD3DVertexBuffer with IWineD3DBuffer.
That still leaves IWineD3DIndexBuffer, but that code is also mostly similar,
except for the conversion code (which will be unused there).
2009-03-06 15:35:58 +01:00
Henri Verbeet 702eeb6b0c wined3d: Add separate methods for setting the primitive type. 2009-03-05 16:16:25 +01:00
Henri Verbeet 602bb1f551 wined3d: Pass the vertex count rather than the primitive count to wined3d draw methods. 2009-03-05 16:16:24 +01:00
Alexandre Julliard e047edb080 ddraw/tests: Allow IDirectDrawSurface_AddAttachedSurface failure on Windows. 2009-03-05 12:47:02 +01:00
Christian Costa f716306f36 ddraw: Implement IDirect3DViewportImpl_NextLight. 2009-03-04 13:03:52 +01:00
David Adam 22bfd1396c ddraw: Implement ComputeSphereVisibility. 2009-02-26 15:13:25 +01:00
Francois Gouget 77a3cffb1b ddraw/tests: Use win_skip() to skip over unimplemented functionality. 2009-02-24 16:57:26 +01:00
Henri Verbeet 0048a0373b d3d10core: Keep a reference to the wined3d device in the d3d10 device. 2009-02-23 12:20:29 +01:00
Henri Verbeet 8cefc47d81 wined3d: Add DXGI formats to WINED3DFORMAT. 2009-02-20 11:10:37 +01:00
Paul Vriens 4542ab35b4 ddraw/tests: Use skip() instead of trace(). 2009-02-19 12:54:25 +01:00
Paul Vriens b63728a850 ddraw/tests: Don't crash on W2K. 2009-02-19 12:54:21 +01:00
Vincent Pelletier f879176b99 ddraw: Use ddraw_from_d3d7 to make a (IDirectDrawImpl *) from a (IDirect3D7 *). 2009-02-10 12:31:50 +01:00
Alasdair Sinclair 8a46be6cee ddraw/tests: Fix missing void in empty parameter list. 2009-01-28 12:10:49 +01:00
Francois Gouget 96e81f0698 ddraw: Make some device_parent_*() functions static. 2009-01-26 15:13:26 +01:00
David Adam 62b8b9a8fd ddraw/tests: Add a few tests for ComputeShereVisibility. 2009-01-26 14:30:17 +01:00
Henri Verbeet 9b5f3ed8f3 ddraw: Rename the main vtables to lpVtbl. 2009-01-22 15:28:22 +01:00
Henri Verbeet c0e72b0556 ddraw: Get rid of CONVERT and CONVERT_REV. 2009-01-22 12:05:18 +01:00
Henri Verbeet b09b0fbf95 ddraw: Get rid of ddcomimpl.h. 2009-01-22 12:05:14 +01:00
Henri Verbeet 802f9c7e29 ddraw: Get rid of ICOM_OBJECT. 2009-01-22 12:05:07 +01:00
Henri Verbeet 8c4cc2af46 ddraw: Get rid of ICOM_THIS_FROM. 2009-01-22 12:05:03 +01:00
Henri Verbeet 772e56a2d8 ddraw: Get rid of ICOM_VFIELD_MULTI_NAME and ICOM_VFIELD_OFFSET. 2009-01-21 11:17:41 +01:00
Henri Verbeet 9a0c885e63 ddraw: Get rid of ICOM_INTERFACE. 2009-01-21 11:17:25 +01:00
Henri Verbeet ad171b143f ddraw: Get rid of ICOM_INIT_INTERFACE. 2009-01-21 11:16:51 +01:00
Henri Verbeet 4e38c2e943 ddraw: Get rid of ICOM_VFIELD_MULTI. 2009-01-21 11:16:41 +01:00
Henri Verbeet 94c98d0697 ddraw: Get rid of ICOM_VFIELD_MULTI_NAME2. 2009-01-21 11:16:34 +01:00
Henri Verbeet ba771f0fac ddraw: Fix Thunk_IDirect3DDeviceImpl_2_GetCurrentViewport(). 2009-01-20 12:34:20 +01:00
Henri Verbeet b2d42ad665 ddraw: Compare the against the correct IID in IDirect3DExecuteBufferImpl_QueryInterface(). 2009-01-20 12:34:17 +01:00
Henri Verbeet 2afa23867b ddraw: Add extern to some global variable declarations. 2009-01-16 13:30:08 +01:00
Henri Verbeet a966293f59 wined3d: Add an IWineD3DDeviceParent interface.
Other than being a bit nicer than passing function pointers all over the
place, this helps dxgi/d3d10. While the swapchain itself is created in dxgi,
its surfaces are constructed in d3d10core, which makes it impractical for dxgi
to pass the appropriate function pointers.
2009-01-16 13:29:32 +01:00
Michael Stefaniuc 5ee7a104c9 ddraw: Remove superfluous pointer casts. 2009-01-14 12:21:02 +01:00
Andrew Talbot 1ac07906ae ddraw: Fix double unlock of critical section. 2009-01-10 17:43:10 +01:00
Stefan Dösinger ae4e824423 ddraw[ex]: Show a caps handling difference. 2009-01-09 16:18:12 +01:00
Alexandre Julliard 149259d49f ddraw: Fix an uninitialized variable warning on non-i386. 2009-01-08 17:30:22 +01:00
Henri Verbeet cc447eac55 wined3d: Move position_transformed out of u.s in struct WineDirect3DVertexStridedData. 2009-01-08 13:21:31 +01:00
Henri Verbeet 352e60e6ed d3d: Explicitly translate texture stage states.
Ddraw and d3d8 already translate half of them, it turns out the lookup
table actually saves lines there.
2009-01-06 12:45:32 +01:00
Henri Verbeet c51bc826e8 ddraw: Properly handle sampler states. 2009-01-06 12:45:20 +01:00
Michael Stefaniuc 91bb8dc043 ddraw/tests: Remove superfluous casts. 2009-01-04 13:34:13 +01:00
Michael Stefaniuc 566a133a82 ddraw/tests: Simplify a pointer increment. 2009-01-04 13:34:05 +01:00
Stefan Dösinger 6ef2b65531 ddraw: Reject IDirectDraw3 QI in ddraw.dll. 2009-01-03 15:14:51 +01:00
Stefan Dösinger 616ea53226 ddraw: Add a test for IDirectDrawSurface::GetDC. 2009-01-03 15:14:38 +01:00
Christian Costa 3b64f895b1 ddraw: Display fixme only once in IDirectDrawImpl_WaitForVerticalBlank. 2009-01-02 11:51:29 +01:00
Nick Burns a537fb0a93 ddraw: Fix surface version setting. 2008-12-26 13:42:29 +01:00
Andrew Talbot dcbb91fc92 ddraw: Remove a superfluous semicolon. 2008-12-24 19:59:04 +01:00
Christian Costa 9605eb5af2 ddraw: Display fixme only once in IDirect3DVertexBufferImpl_Optimize. 2008-12-24 19:57:51 +01:00
Rico Schüller 26b9f8ef26 ddraw/tests: Fix alpha_test and offscreen_test on geforce 8800 on XP. 2008-12-23 20:12:28 +01:00
Rico Schüller a14fe082bf ddraw/tests: Fis some ok() lines in alpha_test(). 2008-12-23 20:11:40 +01:00
Hans Leidekker 8bd9a3aa09 janitorial: Don't depend on user32 for the self registration functions. 2008-12-17 11:38:32 +01:00
Francois Gouget ab9f028958 ddraw/tests: Make some functions static. 2008-12-15 12:25:41 +01:00
Paul Vriens 76b24fd970 ddraw/tests: Fix a test failure on a Win98 VMware box. 2008-12-12 11:38:26 +01:00
Christian Costa 1632175b35 ddraw: Fix trace. 2008-12-08 12:02:36 +01:00
Huw Davies ebb31dbbb7 ddraw/tests: Skip tests if we can't create a primary surface. 2008-12-05 13:52:38 +01:00
Michael Stefaniuc 176c8eb333 ddraw: Remove two superfluous casts. 2008-12-05 12:36:34 +01:00
Christian Costa 9d3026ff40 ddraw: Fix some comments. 2008-12-03 09:49:24 +01:00
Alexandre Julliard 23abbcb9b3 ddraw: Make some functions static. 2008-12-02 15:27:08 +01:00
Henri Verbeet a6917b143d wined3d: Use IDL to generate wined3d.h. 2008-11-25 13:37:22 +01:00
Francois Gouget fcfe436de5 ddraw: Remove WINAPI on static functions where not needed. 2008-11-24 14:25:09 +01:00
Paul Vriens 902bee8f09 ddraw/tests: Skip tests when DirectDraw4 is not supported. 2008-11-12 12:55:09 +01:00
Paul Vriens 10e5d3aa12 ddraw/tests: Fix a typo. 2008-11-12 12:55:03 +01:00
Paul Vriens fbdb78c888 ddraw/tests: Fix a test on W2K3. 2008-11-05 10:54:40 +01:00
Henri Verbeet 092b51e82a wined3d: Rename CreateAdditionalSwapChain to CreateSwapChain. 2008-10-28 12:46:46 +01:00
Henri Verbeet 7142754820 wined3d: Remove the SDKVersion parameter to WineDirect3DCreate(). 2008-10-24 14:24:59 +02:00
Henri Verbeet 99a50b5396 ddraw: Make sure pWineDirect3DCreate and pWineDirect3DCreateClipper match the header. 2008-10-24 14:24:59 +02:00
Alexandre Julliard e1ced22db1 ddraw: Convert source files to utf-8. 2008-10-18 19:19:45 +02:00
Henri Verbeet 8299df900c ddraw: Remove a few more redundant inits (LLVM/Clang). 2008-10-10 12:27:28 +02:00
Michael Stefaniuc ff5a860c0c ddraw/tests: Use FAILED instead of !SUCCEEDED. 2008-10-08 13:42:11 +02:00
Andrew Talbot 623ee7775b ddraw: Sign-compare warning fix. 2008-10-01 09:56:54 -05:00
Andrew Talbot a697d99d66 ddraw: Sign-compare warnings fix. 2008-09-29 17:32:17 -05:00
Paul Vriens a12509532c ddraw/tests: Fix a test on a Win98 box. 2008-09-22 12:16:53 +02:00
Francois Gouget 7dd099416e ddraw/tests: Fix compilation on systems that don't support nameless unions. 2008-09-08 12:47:21 +02:00
Paul Vriens 55faa6e911 ddraw/tests: Let tests run again on win9x. 2008-09-03 13:14:51 +02:00
Stefan Dösinger 09d0a35872 ddraw: Add some overlay tests. 2008-09-02 15:05:59 +02:00
Stefan Dösinger ddec94bf0f ddraw: Pass proper parameters to CheckDeviceFormat. 2008-09-02 14:56:45 +02:00
Stefan Dösinger c1eabc2ce7 ddraw: Catch attempts to opengl-render to the desktop window. 2008-09-02 14:56:35 +02:00
Stefan Dösinger d5f05c59c7 ddraw: Beware of the surface type when checking for format support. 2008-09-02 14:56:26 +02:00
Stefan Dösinger 3b48660f43 wined3d: Implement YV12 support for emulated overlays.
This is the prefered format of many codecs, and for some codecs this
is the only supported output format. As usual I try to handle all the
conversion in the GPU and keep the CPU involvement minimal to gain the
full performance of PBO transfers.
2008-09-02 14:55:50 +02:00
Stefan Dösinger ec4955630e wined3d: Silence some format spam. 2008-08-28 11:24:49 +02:00
Stefan Dösinger 58ac095d9d ddraw: Don't destroy the application's window. 2008-08-26 12:07:40 +02:00
David Adam bb67a925d6 ddraw: Only ddraw checks wether one can give a null pointer to SetMaterial. 2008-08-22 11:32:09 +02:00
Alexander Dorofeyev e718eae9e2 ddraw/tests: Skip cubemap tests when cubemap isn't supported. 2008-08-21 13:35:12 +02:00
Stefan Dösinger a950d3a10e ddraw: Set the bitdepth on YUV formats. 2008-08-20 12:33:33 +02:00
Stefan Dösinger 90e2a676e8 ddraw: Do not set the rendertarget flag just because of the backbuffer flag.
There are also overlay backbuffers, which aren't render targets. The
primarysurface and d3ddevice cap flags should be enough here.
2008-08-20 12:32:42 +02:00
Stefan Dösinger e10302d952 ddraw: Implement IDirectDraw7::GetFourCCCodes. 2008-08-19 12:25:37 +02:00
Stefan Dösinger c1bbab7c54 ddraw: Send the ddraw output to the clipper window, if any. 2008-08-19 12:25:31 +02:00