Commit Graph

79 Commits

Author SHA1 Message Date
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
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
Stefan Dösinger
cb1c9dcda9 d3d: Remove the format from index buffers. 2009-04-09 16:28:25 +02: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
9a0c885e63 ddraw: Get rid of ICOM_INTERFACE. 2009-01-21 11:17:25 +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
Nick Burns
a537fb0a93 ddraw: Fix surface version setting. 2008-12-26 13:42:29 +01:00
Alexandre Julliard
e1ced22db1 ddraw: Convert source files to utf-8. 2008-10-18 19:19:45 +02:00
Andrew Talbot
623ee7775b ddraw: Sign-compare warning fix. 2008-10-01 09:56:54 -05:00
Stefan Dösinger
58ac095d9d ddraw: Don't destroy the application's window. 2008-08-26 12:07:40 +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
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
Francois Gouget
42a61d7ed7 Assorted spelling fixes. 2008-05-06 16:10:20 +02:00
Alexander Dorofeyev
d6ecf5d14d ddraw: Return DDERR_NOCOLORKEY when there is no colorkey. 2008-05-06 11:26:15 +02:00
Austin English
825baa23a2 ddraw: Spelling fixes. 2008-04-03 11:39:45 +02:00
Alexander Dorofeyev
2caa797e76 ddraw: Set surface to NULL on failure in GetAttachedSurface. 2008-04-03 11:30:30 +02:00
Alexander Dorofeyev
4b53dde0f5 ddraw: Make SetPalette fail for non-palettized surfaces. 2008-03-24 20:40:00 +01:00
Günther Brammer
df5116cc7d ddraw: Return a nullpointer as lpSurface in Lock() if the rect is invalid. 2008-02-25 19:50:30 +01:00
Francois Gouget
4c8e218252 Assorted spelling fixes. 2008-02-15 12:09:24 +01:00
Alexander Dorofeyev
f4337b4714 ddraw: Fix incorrect WARN text. 2007-12-17 12:38:43 +01:00
Stefan Dösinger
c5055fb3eb ddraw: Cope with Init3D failures. 2007-10-10 11:58:37 +02:00
Stefan Dösinger
d0fdb1ea7e d3d: Add a test for double surface locking. 2007-08-31 11:25:19 +02:00
Stefan Dösinger
430239b470 ddraw: Some d3d-only code fixes.
Vertex declarations are a d3d feature, thus they should be destroyed
before d3d is shut down in wined3d. The surface type should be reset
afterwards to prevent avoid gl surface afterwards and before a new
render target is created.
2007-07-24 13:40:29 +02:00
Stefan Dösinger
5fa4de27bc ddraw: D3DOP_BRANCHFORWARD includes the current instruction size.
Native D3DRM puts a branchforward with offset 0 at the beginning of each
execute buffer. With the old code this used to get stuck in an endless
loop. This patch adds a test that shows that such a branchforward
terminates properly.
2007-07-05 19:52:01 +02:00
Stefan Dösinger
208d38688a ddraw: Check for incorrect rectangles to DDrawSurface::Blt. 2007-06-22 13:42:30 +02:00
Stefan Dösinger
e019cebd16 ddraw: Add a test for incorrect surface desc sizes for Lock(). 2007-06-22 13:42:24 +02:00
Stefan Dösinger
bf23e5f3f7 ddraw: Test for incorrect surface desc sizes in GetSurfaceDesc. 2007-06-20 15:10:58 +02:00
H. Verbeet
785771272a wined3d: Get rid of the BaseVertexIndex parameter to IWineD3DDeviceImpl_SetIndices, use SetBaseVertexIndex instead. 2007-06-06 12:10:47 +02:00
Stefan Dösinger
94127492f2 ddraw: Check the validy of IDirectDrawSurface::BltFast parameters. 2007-05-31 13:07:38 +02:00
Stefan Dösinger
8b6a3610bb ddraw: Hold the lock in IDirectDrawSurface methods. 2007-05-31 13:07:28 +02:00
Detlef Riekenberg
fb0a9291ea ddraw: Do not crash when Clipper is NULL. 2007-05-29 11:55:58 +02:00
Stefan Dösinger
5c48d504fc wined3d: Destroying the resource frees all private data.
Also adds a test for ddraw, d3d8 and d3d9.
2007-05-11 11:22:31 +02:00
Stefan Dösinger
a5c484cbf3 ddraw: GetSurfaceDesc returns the surface memory while the surface is locked. 2007-05-11 11:21:44 +02:00
Stefan Dösinger
e7b68eec34 ddraw: Use point filter for blit operations.
D3DTEXF_NONE is a special value for mipmapping which disabled
mipmapping, but it is not a valid mag / min filter parameter.
D3DTEXF_POINT is what we want
2007-05-11 11:21:29 +02:00
Stefan Dösinger
1b94a5eefd ddraw: Fix stupid bug when setting surface client memory. 2007-05-10 11:40:50 +02:00
Stefan Dösinger
bed50115ee ddraw: More tests and fixes on surface attachments. 2007-05-09 12:07:46 +02:00
Stefan Dösinger
0fb41a8845 wined3d: Make the blit -> flip work for windowed rendering. 2007-05-08 18:28:08 +02:00
Stefan Dösinger
2ecacc619f ddraw: Fix reported caps on compressed surfaces.
Compressed surfaces in ddraw do not have a pitch, instead the full
surface size is reported. Also adds tests for the extact behavior and
surface flags set.
2007-05-07 21:42:33 +02:00
H. Verbeet
7b48db196f d3d: Fix the surface locking rectangle validation. 2007-05-04 13:41:13 +02:00
Stefan Dösinger
ffae39c3f3 ddraw: Update the wined3d depth stencil on device creation, render. 2007-05-01 11:42:25 +02:00
Stefan Dösinger
7ca369d9b6 ddraw: Store a WineD3DBaseTexture instead of a WineD3DTexture. 2007-05-01 11:42:24 +02:00
Andrew Talbot
0629946e65 ddraw: Exclude unused headers. 2007-05-01 11:42:24 +02:00
Stefan Dösinger
a61e58dbf4 ddraw: Add a test for surface attachments. 2007-04-30 12:22:14 +02:00
Stefan Dösinger
9e3e799ca3 ddraw: Complex surfaces form a tree. 2007-04-30 12:22:06 +02:00