Commit Graph

160 Commits

Author SHA1 Message Date
Michael Stefaniuc a991b6708b d3d9: COM cleanup for the IDirect3DStateBlock9 iface. 2011-04-12 12:50:37 +02:00
Michael Stefaniuc 78ea105b85 d3d9: COM cleanup for the IDirect3DQuery9 iface. 2011-04-12 12:50:30 +02:00
Henri Verbeet 3c07f7a68e d3d9: Get rid of the implicit swapchain refcounting hacks. 2011-04-11 23:54:18 +02:00
Michael Stefaniuc a159569115 d3d9: COM cleanup for the IDirect3D9Ex iface. 2011-04-11 12:10:47 +02:00
Henri Verbeet f8f83ff2f7 wined3d: Remove COM from the shader implementation. 2011-03-31 12:37:46 +02:00
Henri Verbeet 3d4fe0b750 wined3d: Get rid of IWineD3DPixelShader. 2011-03-30 12:18:03 +02:00
Henri Verbeet 49725ba583 wined3d: Get rid of IWineD3DVertexShader. 2011-03-30 12:17:51 +02:00
Henri Verbeet fd8e18bd2b wined3d: Remove COM from the texture implementation. 2011-03-28 17:08:52 +02:00
Henri Verbeet b8c40f3a7e wined3d: Get rid of IWineD3DCubeTexture. 2011-03-18 15:59:04 +01:00
Henri Verbeet f1ec3820d7 wined3d: Get rid of IWineD3DTexture. 2011-03-17 10:40:52 +01:00
Henri Verbeet ed0037854a wined3d: Get rid of IWineD3DVolumeTexture. 2011-03-16 14:14:21 +01:00
Henri Verbeet a27ee75ed2 wined3d: Remove COM from the buffer implementation. 2011-03-04 16:25:58 +01:00
Henri Verbeet a5fe3610ad wined3d: Remove COM from the query implementation. 2011-02-04 15:25:32 +01:00
Henri Verbeet 5765632d9f wined3d: Remove COM from the vertex declaration. 2011-02-03 13:15:17 +01:00
Henri Verbeet 36d4268e3c wined3d: Remove COM from IWineD3D. 2011-02-02 12:22:42 +01:00
Henri Verbeet 4b109ff1f8 wined3d: Remove COM from the stateblock. 2011-01-31 12:24:58 +01:00
Henri Verbeet cd957f5b64 d3d9: Partially implement IDirect3D9Ex::CreateDeviceEx(). 2010-10-27 12:12:00 +02:00
Henri Verbeet 2465b4cf01 d3d9: Move device functions to device.c. 2010-09-01 14:01:02 +02:00
Henri Verbeet cc5271d1b7 wined3d: Rename WINED3DFORMAT to wined3d_format_id. 2010-08-24 12:25:01 +02:00
Henri Verbeet 7f8ccf0342 d3d9: Add a separate function for stateblock initialization. 2010-01-20 15:32:15 +01:00
Henri Verbeet bfb63a8634 d3d9: Add a separate function for query initialization. 2010-01-18 14:37:21 +01:00
Henri Verbeet 76804fa711 d3d9: Add a separate function for swapchain initialization. 2009-12-21 15:01:25 +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 7f1c802b9f d3d9: Add a separate function for pixel shader initialization. 2009-09-24 13:24:40 +02:00
Henri Verbeet cdb741274a d3d9: Add a separate function for vertex shader initialization. 2009-09-24 13:24:04 +02:00
Henri Verbeet 0241fefa94 d3d9: Add a separate function for vertex declaration initialization. 2009-09-23 12:35:00 +02:00
Henri Verbeet 359acf2461 d3d9: Limit "NumSimultaneousRTs" to 4. 2009-09-22 16:17:30 +02:00
Henri Verbeet de9b47924d d3d9: Add a separate function for vertex buffer initialization. 2009-09-18 08:55:05 -05:00
Henri Verbeet 5ec05c556d d3d9: Add a separate function for index buffer initialization. 2009-09-18 08:55:00 -05:00
Henri Verbeet 75f005ebf9 d3d9: Add a separate function for texture initialization. 2009-09-17 10:10:10 -05:00
Henri Verbeet c51fbe9293 d3d9: Add a separate function for cube texture initialization. 2009-09-17 10:09:28 -05:00
Henri Verbeet 5b7b4f59d2 d3d9: Add a separate function for volume texture initialization. 2009-09-16 13:05:51 -05:00
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