Commit Graph

1160 Commits

Author SHA1 Message Date
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
Stefan Dösinger 376944ebe4 wined3d: Remove the device-global fullscreen flag. 2008-08-19 12:24:57 +02:00
Stefan Dösinger 34b37fe241 d3d: Remove IWineD3DDevice::SetHwnd. 2008-08-19 12:22:05 +02:00
Stefan Dösinger e178ddd9e1 wined3d: Use a swapchain for GDI surfaces.
This is a long-needed cleanup aimed at removing the ddraw_primary,
ddraw_window, ddraw_width and ddraw_height members from
IWineD3DDeviceImpl, which just do not belong there.  Destination
window and screen handling is supposed to be done by swapchains.
2008-08-19 12:21:32 +02:00
Stefan Dösinger 851dd7339e wined3d: Implement overlay flipping. 2008-08-05 14:09:36 +02:00
Stefan Dösinger e795d842ec wined3d: Implement overlay position tracking. 2008-08-05 14:09:36 +02:00
Stefan Dösinger a47e7badb9 ddraw: Set ddraw caps in wined3d.
Currently the ddraw capabilities were almost static, except of D3D
support. When overlay support is added, the caps depend on certain
settings in WineD3D or capabilities available from OpenGL and Xv. So
set those caps in wined3d as well.
2008-08-04 13:10:11 +02:00
Tobias Jakobi 69797d7f3d ddraw: Fix typo in copy_mipmap_chain. 2008-07-28 14:25:09 +02:00
Alexander Dorofeyev e2ff077697 ddraw: Improve IDirect3DDevice7_Load implementation.
Copies palette and colorkey earlier in the helper function, before
copying image, also skips UpdateSurface when palette is missing. This
prevents unnecessary surface (re)loads in wined3d, and gets rid of
some wined3d palette error messages in Sacrifice.
2008-07-22 15:20:33 +02:00
Alexander Dorofeyev 2be93ce6b0 ddraw/tests: Add tests for surface caps memory flags. 2008-07-17 11:21:48 +02:00
Alexander Dorofeyev 59fc5a75e0 ddraw: Force surfaces without memory flags to video memory on creation.
Also removes now redundant setting of vidmem flag on rendertargets, prevents 
adding vidmem flag when sysmem flag is present. Fixes missing textures in Forsaken.
2008-07-17 11:21:39 +02:00
Alexandre Julliard 79c64acc7b tests: Don't depend on the static uuid libraries in the tests.
This avoids trouble with the broken MingW libraries when
cross-compiling the tests.
2008-07-08 17:51:45 +02:00
James Hawkins 11e31e580c ddraw: Fix a failing test for broken drivers. 2008-07-02 12:05:08 +02:00
James Hawkins 8830dbcca8 ddraw: Fix a failing test for broken drivers. 2008-07-02 12:04:56 +02:00
Alexander Dorofeyev cb5e06c944 ddraw: Implement FPU mode fixup in d3d7 device.
As documented in DirectX7 SDK, d3d7 devices set FPU mode (control word) on every 
call and restore it back to original state before returning, if created in 
DDSCL_FPUPRESERVE cooperative mode. This allows games to work with FPU in a 
possibly incompatible mode and avoid resetting it all the time.
2008-06-23 19:59:33 +02:00
Michael Karcher 606186d4c5 ddraw: Ensure to load wined3d before attempting to create a clipper. 2008-06-23 14:11:58 +02:00
James Hawkins 5dcec4de49 ddraw: Reset the viewport data before each test. 2008-06-18 13:51:46 +02:00
Dmitry Timoshkov 2cf47c00f2 ddraw: Avoid a not needed address-of operator. 2008-06-06 10:29:09 +02:00
James Hawkins 7352978713 ddraw: Delete the temporarily attached surface. 2008-06-02 12:35:14 +02:00
Francois Gouget 476cb96b75 ddraw: Remove trailing spaces in Wine traces. 2008-05-30 10:01:11 +02:00
Alexander Dorofeyev 940ef7a9ff ddraw: Do not return modes differing only by refresh rate without DDEDM_REFRESHRATES. 2008-05-29 12:09:19 +02:00
Jens Albretsen a2b645128f ddraw: Test for IDirect3DTexture_Load of Texture into itself. 2008-05-28 19:31:35 +02:00
Jens Albretsen 46ef2e06fc ddraw: IDirect3DTextureImpl_Load failed when texture was loading onto itself. 2008-05-28 19:31:29 +02:00
Paul Vriens f076d79c6c ddraw/tests: Don't crash on win9x. 2008-05-28 11:32:24 +02:00
Francois Gouget 8019c55cc6 ddraw/tests: Fix compilation on systems that don't support nameless unions. 2008-05-21 11:36:39 +02:00
Andrew Talbot 5bf9e88cce ddraw: Memory allocation size fix. 2008-05-13 10:40:00 +02:00
Alexander Dorofeyev 17dacf90b2 ddraw: Fix some code unprotected by ddraw lock. 2008-05-12 19:41:46 +02:00
Alexander Dorofeyev ebf1f4e6bb ddraw/tests: Add KEYSRCOVERRIDE test in p8_primary_test. 2008-05-09 11:19:43 +02:00
Andrew Talbot a6746b9e7b ddraw: Indentation fix. 2008-05-07 12:24:04 +02:00
Francois Gouget 42a61d7ed7 Assorted spelling fixes. 2008-05-06 16:10:20 +02:00
Alexander Dorofeyev c4d75213ab ddraw/tests: Add tests for IDirect3DDevice7_Load. 2008-05-06 11:26:24 +02:00
Alexander Dorofeyev d6ecf5d14d ddraw: Return DDERR_NOCOLORKEY when there is no colorkey. 2008-05-06 11:26:15 +02:00