Henri Verbeet
b1ede91bfc
d3d9: Mark internal symbols hidden.
2009-09-16 13:05:34 -05:00
Henri Verbeet
e9000d2e6c
wined3d: Don't free D3D volumes until the wined3d volume is destroyed.
2009-09-16 13:05:20 -05:00
Henri Verbeet
8ffca99fb0
d3d9: Add a separate function for volume initialization.
2009-09-16 13:04:57 -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
Henri Verbeet
52e45865bd
d3d9: Add a separate function for surface initialization.
2009-09-15 14:32:23 -05: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
e7d14d02d0
d3d9: Remove trailing spaces.
2009-08-28 11:54:50 +02:00
Henri Verbeet
5f9f079d71
d3d9: Use the wined3d cs for wined3d locking.
2009-08-26 12:11:41 +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
cb1c9dcda9
d3d: Remove the format from index buffers.
2009-04-09 16:28:25 +02:00
Stefan Dösinger
77e6dcca02
d3d9: Store the FVF in the d3d9 vertex buffer.
2009-04-09 16:27:52 +02:00
Stefan Dösinger
513a493f00
wined3d: Merge IWineD3DIndexBuffer and IWineD3DBuffer.
2009-04-08 11:37:29 +02:00
Henri Verbeet
435b528e83
d3d9: Get rid of resource.c.
2009-03-23 14:08:02 +01:00
Henri Verbeet
82dd5bc2a1
d3d9: Get rid of basetexture.c.
2009-03-23 14:08:02 +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
61a9efc4b9
d3d9: Explicitly convert between D3DFORMAT and WINED3DFORMAT values.
2009-02-20 11:10:14 +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
Alexandre Julliard
8eccb01a47
d3d9: Make some functions static.
2008-12-04 12:47:04 +01:00
Henri Verbeet
a6917b143d
wined3d: Use IDL to generate wined3d.h.
2008-11-25 13:37:22 +01:00
Austin English
4777f26d61
Spelling fixes.
2008-03-27 11:10:07 +01: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
ef4119029b
d3d9: Implement the device lost state.
2008-02-07 13:05:37 +01:00
Alexandre Julliard
980ee365a0
wined3d: Use unsigned int instead of size_t for element counts.
2008-01-07 17:17:04 +01:00
Stefan Dösinger
01c6c982bb
d3d9: Some caps fixes.
2007-08-21 13:35:35 +02:00
Stefan Dösinger
c4b801b7d1
d3d9: Add a dll global critical section.
2007-06-14 13:23:04 +02:00
Stefan Dösinger
94b3fddec8
d3d: Pass the cube face to Create*Texture's surface creation callback.
2007-05-01 11:42:25 +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
725057da47
d3d: Remove dependency on ddraw.h header.
2007-04-16 13:20:15 +02:00
Stefan Dösinger
7f5dccb696
wined3d: Properly release the converted vertex declaration.
2007-02-14 20:46:39 +01:00
H. Verbeet
dea795f7ac
d3d9: Don't store the d3d9 declaration in the wined3d object.
2007-02-14 13:54:42 +01:00
Markus Amsler
d80dc79280
d3d9: Handle volume container in d3d9.
2006-12-18 12:08:08 +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
63e23995bc
d3d9: Handle volume refcount forwarding in d3d9.
2006-12-18 12:02:06 +01:00
Markus Amsler
04dcffe393
d3d9: Handle surface refcount forwarding in d3d9.
2006-12-18 12:01:58 +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
Alexandre Julliard
46dd467941
d3d9: Include wingdi.h, not gdi.h.
2006-11-17 12:46:15 +01:00
Ivan Gyurdiev
1309844913
wined3d: Implement FVF to DECL9 conversion (with tests).
2006-07-06 16:07:38 +02:00
Alexandre Julliard
7b27b33495
d3d9: Remove dependencies on OpenGL headers and libraries.
2006-06-15 16:52:01 +02:00
Alexandre Julliard
c30d4ecd81
d3d9: Make the virtual table functions static where possible.
2006-06-10 11:51:05 +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
Vitaliy Margolen
6dcae77cc9
d3d9: All objects created by device should keep reference to it.
2006-05-22 11:31:45 +02:00
Stefan Dösinger
ffc8e46e76
wined3d: Add IWineD3DSurface::Blt.
2006-04-17 11:19:30 +02:00
Vitaliy Margolen
4a25828c0d
d3d9: VertexDeclaration and VertexShader should keep reference to the parent device object.
2006-04-12 11:20:21 +02:00
Vitaliy Margolen
fc13420770
d3dx: VertexBuffer should keep reference to the parent device object.
2006-04-03 14:14:24 +02:00
Stefan Dösinger
6a8578f847
wined3d: Add WINED3DDEVTYPE to wined3d_types.h.
2006-03-30 12:45:57 +02:00
Stefan Dösinger
d75fd75d48
wined3d: Add WINED3DPOOL to wined3d_types.h.
2006-03-28 17:34:42 +02:00
Stefan Dösinger
b4b295c2a5
wined3d: Add WINED3DMULTISAMPLE_TYPE to wined3d_types.h.
2006-03-27 11:30:49 +02:00
Oliver Stieber
cd159e3a74
Tidy up d3d9 and finalize passing d3d9 calls to wined3d for now.
2005-08-23 09:34:57 +00:00
Oliver Stieber
e403237f47
Pass all the d3d9 calls onto their wined3d equivalents.
2005-08-18 11:45:17 +00:00
Mike McCormack
8955ac43a3
gcc 4.0 -Wpointer-sign fixes.
2005-07-28 10:16:21 +00:00
Oliver Stieber
efbd3ac9e2
Relay all the pixel shader calls from d3d9 to wined3d.
2005-07-08 11:29:21 +00:00
Oliver Stieber
b9786d5c7c
Strip out stateblocks from d3d9 and relay all stateblock calls to
...
wined3d.
2005-07-05 16:17:31 +00:00
Oliver Stieber
46e7c30a71
Implement swapchains.
2005-06-23 11:05:24 +00:00
Oliver Stieber
e70e3ba0ff
Change the way caps are sent between d3d9/d3d8 and wined3d to make it
...
easier for wined3d to support additional versions of Direct3D.
2005-06-17 09:59:03 +00:00
Dmitry Timoshkov
4625628e67
Make some of the OLE interface vtables const.
2005-05-27 20:17:35 +00:00
Oliver Stieber
67f2ad4563
- Volume now inherits Resource. This isn't the way Microsoft implements
...
the interface but it is more correct way (Microsoft even have a
resource type of volume).
- Moved usage, format, allocatedMemory and size onto the resource
class structure.
- Refactored Preload for classes that inherit BaseTexture, preload now
binds the texture instead of bind texture calling preload, bindTexture
allocated a glTexture if there isn't one.
- Added two new class static members BaseTexture_CleanUp and
Resource_CleanUp that should be called by classes that implement
BaseTexture or Resource.
2005-03-29 19:01:00 +00:00
Oliver Stieber
7b261656fd
Added a stubbed out version of query to d3d9 and wined3d.
...
Update the d3d9 headers and creates wined3d types where d3d9 and d3d8
are incompatible.
2005-03-03 13:57:15 +00:00
Oliver Stieber
2121f7831e
Put all the stubs in wined3d in place, with some functionality copied
...
across from d3d9.
Make sure all d3d9 device function call their wined3d counterpart (or
perform a function).
2005-03-02 12:16:10 +00:00
Raphael Junqueira
1226e72bf7
- add vertex Declaration support (using wined3d)
...
- minimal impl for SetRenderTarget and CreateQuery (needed to get
some samples working)
- remove no longer needed #undef GL_VERSION_1_4
2005-01-28 14:03:32 +00:00
Jason Edmeades
bcecddc084
- Add texture support for all the texture types for d3d9->wined3d.
...
- Add prototypes for the COM interfaces.
- Fix some incorrect types from the last patch.
2005-01-17 13:44:57 +00:00
Jason Edmeades
41427857b1
Add render target support, and ensure there is a front and back buffer
...
created during device creation.
2005-01-09 17:37:02 +00:00
Jason Edmeades
819b0e1190
Add BaseTexture class support, call from d3d9.
2004-12-07 14:29:12 +00:00
Jason Edmeades
73e8baffd2
Add indexbuffer support into wined3d.
2004-11-24 18:13:41 +00:00
Jason Edmeades
db7a50582c
- Add support (as far as was previously) for the VertexBuffer and
...
Resource classes in wined3d and use when called from d3d9.
- Reduce the header includes in all the d3d9 interface to one common
set in the private header.
2004-10-14 00:32:04 +00:00
Jason Edmeades
ac490fabac
Add a IWineD3DDevice object type (empty for now), and create one when
...
an IDirect3DDevice object is created.
2004-10-07 04:22:21 +00:00
Jason Edmeades
24ab49e250
Create a wined3d interface, and generate a wined3d object in the d3d9
...
create method. Make the first (simple) call implementation into the
new wined3d interface.
2004-09-23 04:34:27 +00:00
Alexandre Julliard
48c4bb3c31
Get rid of the non-standard ICOM_VTABLE macro.
2004-08-12 23:00:51 +00:00
Alexandre Julliard
0467ce9fd7
Get rid of the non-standard ICOM_VFIELD macro.
2004-08-12 19:52:49 +00:00
Alexandre Julliard
e37c6e18d0
Fixed header dependencies to be fully compatible with the Windows
...
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Raphael Junqueira
a3dbd7e2c7
- some cleanups and fixes on d3d8 and d3d9 headers
...
- a lot of stubs for d3d9.dll
2003-07-01 01:09:17 +00:00