Commit graph

77 commits

Author SHA1 Message Date
Henri Verbeet
c287ed2232 d3d9: Use more reasonable return values for unimplemented functions. 2010-10-27 12:12:04 +02:00
Henri Verbeet
cd957f5b64 d3d9: Partially implement IDirect3D9Ex::CreateDeviceEx(). 2010-10-27 12:12:00 +02:00
Henri Verbeet
ed73f0a1b0 d3d9: Implement IDirect3D9Ex::GetAdapterLUID(). 2009-12-02 13:06:08 +01:00
Henri Verbeet
434a23d90d d3d9: Move D3D9CB_DestroySwapChain() to device.c. 2009-11-18 11:16:35 +01:00
Henri Verbeet
b9243b721a d3d9: Add a separate function for device initialization. 2009-11-18 11:16:31 +01:00
Henri Verbeet
4dbf1c4900 d3d9: Add traces. 2009-10-20 14:00:36 +02:00
Stefan Dösinger
dcacd83a82 d3d9: Make some functions hookable. 2009-10-14 12:21:06 +02:00
Henri Verbeet
359acf2461 d3d9: Limit "NumSimultaneousRTs" to 4. 2009-09-22 16:17:30 +02: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
Henri Verbeet
5f9f079d71 d3d9: Use the wined3d cs for wined3d locking. 2009-08-26 12:11:41 +02:00
Henri Verbeet
ada3e059e8 d3d9: Remove stray tabs. 2009-08-26 12:10:49 +02:00
Stefan Dösinger
296573caae d3d: Filter R8G8B8 in d3d8 and d3d9. 2009-08-07 14:56:40 +02:00
Henri Verbeet
699f68cdee wined3d: Get rid of some pointers in WINED3DADAPTER_IDENTIFIER.
This also avoids some unchecked strcpy() calls.
2009-07-07 11:50:30 +02:00
Stefan Dösinger
9f1731edb6 d3d: Limit d3d8 and d3d9 vshader constants to 256.
DX10 cards support 512(ATI) or 1024(Nvidia) vertex shader constants in
GL. The dx9 DXCapsViewer shows that dx10 windows drivers only claim
256 constants on Windows, so we can and should do the same.
2009-04-27 13:23:36 +02:00
Stefan Dösinger
bc07ad0579 d3d8, d3d9: Don't rely on the wined3d buffer type. 2009-04-08 11:35:29 +02:00
Henri Verbeet
fd3d769a12 d3d9: Fix locking.
It appears there are some calls to wined3d missing critical sections.
2009-03-23 14:08:03 +01:00
Henri Verbeet
39ae94d0b3 d3d9: Present parameters are an array when D3DCREATE_ADAPTERGROUP_DEVICE is specified. 2009-03-11 13:03:33 +01:00
Henri Verbeet
61a9efc4b9 d3d9: Explicitly convert between D3DFORMAT and WINED3DFORMAT values. 2009-02-20 11:10:14 +01:00
Michael Stefaniuc
bca813a5a6 d3d9: Remove superfluous pointer casts. 2009-01-29 14:06:18 +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
Stefan Dösinger
3d96f97ee1 d3d9: Use the correct AddRef and Release macros. 2008-11-04 11:40:23 +01:00
Stefan Dösinger
93af8d3631 d3d: Do not restore the display mode in ddraw. 2008-11-03 13:34:13 +01: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
8869c0f147 d3d: De-pointerize the WINED3DCAPS structure. 2008-03-25 19:36:38 +01:00
Stefan Dösinger
c1a0037b88 d3d9: IDirect3DDevice9Ex stub. 2008-03-03 20:48:50 +01:00
Stefan Dösinger
d9f9725993 d3d9: Add an IDirect3D9Ex stub. 2008-03-03 20:48:05 +01:00
Stefan Dösinger
01c6c982bb d3d9: Some caps fixes. 2007-08-21 13:35:35 +02:00
Stefan Dösinger
66821059b4 d3d9: Hold the lock in IDirect3D9 methods. 2007-06-18 12:33:54 +02:00
Stefan Dösinger
725f4bfeb1 d3d9: Rework the converted vertex declaration management.
Instead of creating a converted declaration each time SetFVF is
called, exactly one declaration is created for each FVF(on demand) and
stored for the lifetime of the device. This avoids memory leaks and
makes keeping track of converted declarations easier. Wether a
declaration is converted from a fvf or not is now a static information
inside the declaration. Those declarations are not destroyed in
VertexDeclaration::Release, they stay for the lifetime of the
device. This keeps us free from tracking the declaration through
stateblocks
2007-04-18 13:13:45 +02:00
Stefan Dösinger
7cee0b2ed0 d3d9: Do not allow Direct3D9::GetAdapterModeCount to be called with D3DFMT_UNKNOWN. 2007-04-17 11:21:13 +02:00
Stefan Dösinger
8a5b6df483 d3d: Enumerate palettized formats for ddraw. 2007-04-16 12:12:34 +02:00
Stefan Dösinger
022e884342 wined3d/ddraw: Forward DDSCL_MULTITHREADED to wined3d. 2007-03-19 12:17:18 +01:00
H. Verbeet
a4bc52a89c wined3d: Fix WINED3DPRESENT_PARAMETERS and use it instead of D3DPRESENT_PARAMETERS. 2007-02-16 12:31:03 +01:00
Stefan Dösinger
8658d20b3e wined3d, d3d9: Caps correction. 2007-01-15 12:44:03 +01:00
Stefan Dösinger
cb74603e43 d3d9: Implement IDirect3DDevice9::StretchRect. 2007-01-12 11:49:38 +01:00
Andrew Talbot
590bca8425 d3d9: Declare some functions static. 2007-01-04 21:14:05 +01:00
Chris Robinson
ed21935479 d3d: Fix adapter mode enumeration and filtering. 2006-12-20 17:58:34 +01:00
Markus Amsler
467b1dd3ad d3d9: Handle surface container in d3d9. 2006-12-18 12:08:02 +01:00
Markus Amsler
73b5fb059f d3d9: Fix implicit swap chain refcounting. 2006-12-18 12:07:38 +01:00
Markus Amsler
5e0fc62135 d3d: Callback infrastructure for implicit swap chain destruction in IWineD3DDevice. 2006-12-18 12:07:26 +01:00
Markus Amsler
f9f3ec2f00 d3d9: Fix implicit surface refcounting. 2006-12-18 12:07:09 +01:00
Markus Amsler
3fd04308ab d3d: Callback infrastructure for implicit depth stencil surface destruction in IWineD3DDevice. 2006-12-06 12:39:30 +01:00
Markus Amsler
a60d4b2d2f d3d: Pass the superior creating object down to the callback functions. 2006-12-04 12:40:38 +01:00
H. Verbeet
cb4ad6e52c d3d9: Win64 printf format warning fixes. 2006-10-10 19:59:09 +02:00
Alexandre Julliard
c30d4ecd81 d3d9: Make the virtual table functions static where possible. 2006-06-10 11:51:05 +02:00
H. Verbeet
34e2e2bd39 d3d9: Fix QueryInterface.
QueryInterface should return S_OK on success and set the object
pointer to NULL on failure. This is similar to the patch Ivan
submitted a while ago for wined3d.
2006-06-07 15:28:12 +02:00
Vitaliy Margolen
19d19b2b79 d3d9: Add reference to the parent device for surfaces.
Allow some objects to have no parent device.
Tighten refcount tests and test refound decrement on Release.
2006-05-30 12:34:22 +02:00
Jonathan Ernst
360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Stefan Dösinger
d04f0507cf wined3d: Implement Init3D and Uninit3D. 2006-04-19 12:43:22 +02:00
Stefan Dösinger
d2510847b0 wined3d: Split device creation and opengl initialization. 2006-04-13 11:22:45 +02:00