Commit Graph

97 Commits

Author SHA1 Message Date
Henri Verbeet 89c96ca31e d3d9: Fix GetDevice() for surfaces that are part of a texture.
If the surface is part of a texture it doesn't keep its own reference to the
device, but instead relies on the reference the texture has. This fixes a
regression introduced by ff92e6eb6a.
2009-12-07 14:34:08 +01:00
Henri Verbeet ff92e6eb6a d3d9: Simplify GetDevice(). 2009-12-04 14:34:59 +01:00
Henri Verbeet 4dbf1c4900 d3d9: Add traces. 2009-10-20 14:00:36 +02:00
Allan Tong 5d56eddb7c d3d9: Don't release the parent device before destroying its children.
Releasing the device earlier may cause the underlying wineD3D device
to be freed before the child object has had a chance to clean up.
2009-09-29 12:05:47 +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 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 5f9f079d71 d3d9: Use the wined3d cs for wined3d locking. 2009-08-26 12:11:41 +02:00
Henri Verbeet 88162fabb8 wined3d: Get rid of the pointers in WINED3DSURFACE_DESC. 2009-06-15 13:42:29 +02:00
Henri Verbeet 435b528e83 d3d9: Get rid of resource.c. 2009-03-23 14:08:02 +01:00
Henri Verbeet 61a9efc4b9 d3d9: Explicitly convert between D3DFORMAT and WINED3DFORMAT values. 2009-02-20 11:10:14 +01:00
Stefan Dösinger a69c86d3f5 ddrawex: Add a test for the permanent DC function. 2009-01-09 16:26:06 +01:00
Stefan Dösinger 616ea53226 ddraw: Add a test for IDirectDrawSurface::GetDC. 2009-01-03 15:14:38 +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 35c5c4528f d3d9: Hold the lock in suface methods. 2007-06-22 13:43:05 +02:00
Markus Amsler 467b1dd3ad d3d9: Handle surface container in d3d9. 2006-12-18 12:08:02 +01:00
Markus Amsler f9f3ec2f00 d3d9: Fix implicit surface refcounting. 2006-12-18 12:07:09 +01:00
Markus Amsler 04dcffe393 d3d9: Handle surface refcount forwarding in d3d9. 2006-12-18 12:01:58 +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 bbe490abcc wined3d: Add WINED3DLOCKED_RECT to wined3d_types.h. 2006-04-06 22:23:31 +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
Stefan Dösinger 913df5b143 wined3d: Consistently use WINED3DRESOURCETYPE. 2006-03-10 21:43:00 +01:00
H. Verbeet f7356a34c3 wined3d: Fix the relation between surfaces and their container. 2006-03-06 20:08:22 +01:00
H. Verbeet 2200f3e2ca wined3d/d3d9: Cleanup GetContainer for surfaces. 2006-02-07 12:25:59 +01: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 13621056db Move parameters relating to opengl on the surface structure on to a
glDesciption member.
Removed Level and Target from LoadTexture, and reduced the dependency
on surface->device.
Fixed a couple of compiler warnings in d3d9.
2005-07-11 20:38:27 +00:00
Dmitry Timoshkov 4625628e67 Make some of the OLE interface vtables const. 2005-05-27 20:17:35 +00:00
Francois Gouget 93416cdaf7 Assorted spelling fixes. 2005-03-23 13:15:18 +00:00
Oliver Stieber 8435f6f058 Change AddRef in queryInterface to IUnknown_AddRef.
Move ppVoulme to d3d9voloumeimpl structure.
Some minor stylistic changes (making everything the same).
2005-03-11 10:25:30 +00:00
Oliver Stieber 16e8689008 Implemented guids for wined3d. 2005-03-02 13:44:58 +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
Paul Vriens 7a49e82dac - use Interlocked* functions in AddRef and Release.
- store the result of the Interlocked functions and use only this.
2005-01-24 11:31:45 +00:00
Jason Edmeades 33025b203c - Handle failures to allocate storage more gracefully.
- Only prototype the interfaces which are subclassed (I overdid it
  last time!).
- Implement Get/Set Texture and GetBackBuffer, plus device's
  GetDisplayMode / GetDeviceCaps.
- Make some of the d3d9 skeleton code issue fixme's to highlight code
  which hasn't been migrated yet.
- Correct the d3d9 headers for D3DSURFACE_DESC which caused stack
  corruption in demos.
2005-01-18 11:42:29 +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 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
Francois Gouget 486d020c1b Don't define COBJMACROS in objbase.h.
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00
Alexandre Julliard f5f7a1822c Removed some more uses of the non-standard ICOM_THIS macro. 2004-09-08 01:50:37 +00:00
Alexandre Julliard f714b39762 Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
macro.
2004-08-23 19:39:48 +00:00
Alexandre Julliard 48c4bb3c31 Get rid of the non-standard ICOM_VTABLE macro. 2004-08-12 23:00:51 +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