Commit graph

1165 commits

Author SHA1 Message Date
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
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