Ričardas Barkauskas
f0634f7a4b
ddraw: Separate IDirectDrawSurface3 reference count.
2011-06-21 17:11:53 +02:00
Ričardas Barkauskas
167ffc7b4b
ddraw: Separate IDirectDrawSurface2 reference count.
2011-06-21 17:10:55 +02:00
Ričardas Barkauskas
104e68da45
ddraw: Use helper function to delete attached surfaces.
2011-06-21 17:10:17 +02:00
Ričardas Barkauskas
ec754ab98b
ddraw: AddRef the surface in AddAttachedSurface instead of helper function.
2011-06-21 17:10:05 +02:00
Ričardas Barkauskas
4b8fd522f6
ddraw: Add iface count for IDirectSurfaceImpl.
2011-06-21 17:09:52 +02:00
Ričardas Barkauskas
8959a1395a
ddraw: Remove ddraw_set_surface_version and set surface version when initialising it.
2011-06-21 17:09:02 +02:00
Michael Stefaniuc
9e50efd89f
ddraw: Use unsafe_impl_from_IDirectDrawClipper for an app provided iface.
2011-06-20 19:32:03 +02:00
Michael Stefaniuc
588ddee736
ddraw: COM cleanup for the IDirectDrawClipper iface.
2011-06-20 19:32:03 +02:00
Marcus Meissner
7e1ccdef71
ddraw: Removed superflous NULL check (Coverity).
2011-06-14 15:23:22 +02:00
Francois Gouget
9c99738780
ddraw: Make unsafe_impl_from_IDirectDrawSurface{2,3}() static.
2011-06-13 11:32:49 +02:00
Ričardas Barkauskas
f3ae1b99f6
ddraw: Separate IDirectDrawSurface vtable.
2011-06-10 15:26:52 +02:00
Ričardas Barkauskas
27063ffeaa
ddraw: Use unsafe_impl_from_IDirectDrawSurface() for application provided interfaces.
2011-06-10 15:26:29 +02:00
Ričardas Barkauskas
a8ee7c5e00
ddraw: Separate IDirectDrawSurface2 vtable.
2011-06-10 15:26:22 +02:00
Michael Stefaniuc
abe0ee33eb
ddraw: COM cleanup for the IDirectDrawGammaControl iface.
2011-06-08 17:37:12 +02:00
Ričardas Barkauskas
bb063b994c
ddraw: Separate IDirectDrawSurface4 vtable.
2011-06-06 21:49:23 +02:00
Ričardas Barkauskas
4582562f55
ddraw: Use unsafe_impl_from_IDirectDrawSurface4.
2011-06-06 21:49:23 +02:00
Ričardas Barkauskas
2f02bbb41f
ddraw: Change lpVtbl to IDirectDrawSurface7_iface.
2011-06-06 21:49:23 +02:00
Ričardas Barkauskas
93dfe5afc3
ddraw: Use impl_from_IDirectDrawSurface7() instead of casts.
2011-06-06 21:49:23 +02:00
Ričardas Barkauskas
11bf99c5fd
ddraw: Separate other conversion to IDirectDrawSurfaceImpl from conversions to ifaces.
2011-06-06 21:49:23 +02:00
Ričardas Barkauskas
705548a6ef
ddraw: Separate conversion from IDirectDrawSurface7 iface to object and conversion to other iface.
2011-06-06 21:49:22 +02:00
Ričardas Barkauskas
28ce1c00a7
ddraw: Use unsafe_impl_from_IDirectDrawSurface7() for application provided interfaces.
2011-06-06 21:49:22 +02:00
Ričardas Barkauskas
6d5be5033e
ddraw: Change IDirectDrawSurface3_vtbl to IDirectDrawSurface3_iface.
2011-05-31 19:24:10 +02:00
Ričardas Barkauskas
ecfb5c7a69
ddraw: Use a This variable in the IDirectDraw3 methods that lack one.
2011-05-31 19:23:41 +02:00
Ričardas Barkauskas
7df083193d
ddraw: Rename surface_from_surface3() to impl_from_IDirectDrawSurface3().
2011-05-31 19:23:39 +02:00
Ričardas Barkauskas
fb6ceb971b
ddraw: Use unsafe_impl_from_IDirectDrawSurface3() for application provided interfaces.
2011-05-31 19:22:52 +02:00
Dylan Smith
f7002c6627
ddraw: Don't interpret end padding as dwCaps2 for x64.
2011-05-24 12:47:28 +02:00
Henri Verbeet
8d4ca1f815
wined3d: Remove COM from the device implementation.
2011-05-17 10:06:18 +02:00
Henri Verbeet
979e3744f7
wined3d: Remove state management methods from the IWineD3DDevice interface.
2011-05-17 10:06:15 +02:00
Henri Verbeet
00a5f38595
wined3d: Remove object creation methods from the IWineD3DDevice interface.
2011-05-11 14:56:48 +02:00
Henri Verbeet
1c1de920e3
wined3d: Remove COM from the surface implementation.
2011-04-29 16:52:13 +02:00
Henri Verbeet
03b388609d
ddraw: Destroy the ddraw surface after the wined3d texture is destroyed.
2011-04-21 16:53:42 +02:00
Henri Verbeet
6ff226f502
ddraw: Destroy the ddraw surface after the wined3d surface is destroyed.
2011-04-21 16:53:41 +02:00
Henri Verbeet
cbf78c5d49
ddraw: Release the wined3d surface first in ddraw_surface_destroy().
2011-04-21 16:53:41 +02:00
Henri Verbeet
25c0941e50
ddraw: Add a separate function for surface cleanup.
2011-04-21 16:53:41 +02:00
Henri Verbeet
5492560cb5
ddraw: Introduce a separate function for texture creation.
2011-04-20 13:06:45 +02:00
Henri Verbeet
2b1b5dba43
ddraw: Don't bother unsetting resources on surface destruction.
...
Uninit3D() / stateblock destruction already takes care of this.
2011-04-20 13:06:40 +02:00
Henri Verbeet
3ec19590d5
wined3d: Remove COM from the swapchain implementation.
2011-04-14 17:13:57 +02:00
Henri Verbeet
d2e665230a
wined3d: Get rid of the swapchain destroy callback.
2011-04-13 14:13:51 +02:00
Henri Verbeet
fd8e18bd2b
wined3d: Remove COM from the texture implementation.
2011-03-28 17:08:52 +02:00
Henri Verbeet
2b18192e7a
wined3d: Get rid of IWineD3DSurface::GetDesc().
2011-03-11 11:40:31 +01:00
Henri Verbeet
756fdb7c5a
wined3d: Merge the various resource desc structures.
2011-03-09 12:28:58 +01:00
Henri Verbeet
5963483fc2
wined3d: Remove COM from the palette.
2011-02-03 13:15:17 +01:00
Henri Verbeet
5765632d9f
wined3d: Remove COM from the vertex declaration.
2011-02-03 13:15:17 +01:00
Michael Stefaniuc
9745108096
ddraw: COM cleanup for the IDirectDraw7 iface.
2011-01-19 12:32:06 +01:00
Michael Stefaniuc
cd8c18e83c
ddraw: COM cleanup for the IDirectDraw4 iface.
2011-01-19 12:32:00 +01:00
Michael Stefaniuc
4202f09100
ddraw: COM cleanup for the IDirectDraw2 iface.
2011-01-19 12:31:45 +01:00
Michael Stefaniuc
a59347fcd2
ddraw: COM cleanup for the IDirectDraw iface.
2011-01-19 12:31:12 +01:00
Michael Stefaniuc
497944f2bd
ddraw: COM cleanup for the IDirect3D7 iface.
2011-01-19 12:31:04 +01:00
Henri Verbeet
cb3a133b28
ddraw: Fix some TRACEs.
2010-11-02 13:17:01 +01:00
Ričardas Barkauskas
78e4a096a3
ddraw: Surfaces with DDSCAPS_3DDEVICE and DDSCAPS_ZBUFFER can't be render targets.
2010-10-25 15:31:12 +02:00
Ričardas Barkauskas
ff659522f6
ddraw: Fix DDSCAPS_3DDEVICE surfaces always setting DDSCAPS_VISIBLE.
2010-10-25 15:31:07 +02:00
Henri Verbeet
95469309d6
wined3d: Consistently use Map/Unmap for mapping resources.
2010-10-14 17:54:52 +02:00
Henri Verbeet
4d19daaa71
ddraw: Use a linear filter in ddraw_surface7_Blt().
2010-10-12 17:36:22 +02:00
Henri Verbeet
53183b4cf3
wined3d: IWineD3DSurface_GetDesc() should never fail.
2010-09-08 13:31:43 +02:00
Henri Verbeet
6c4c351791
wined3d: Don't require wined3d object parents to be COM objects.
2010-09-01 14:01:02 +02:00
Francois Gouget
e237369b09
ddraw: Remove WINAPI on static functions where not needed.
2010-08-25 11:56:15 +02:00
Henri Verbeet
cc5271d1b7
wined3d: Rename WINED3DFORMAT to wined3d_format_id.
2010-08-24 12:25:01 +02:00
Henri Verbeet
866099765a
ddraw: Attaching an already attached surface is not a FIXME.
...
According to the tests it should simply fail.
2010-08-23 12:05:08 +02:00
Henri Verbeet
20a42b4c98
ddraw: Add / improve TRACEs.
2010-08-20 13:21:24 +02:00
Henri Verbeet
4378d4b31e
ddraw: Add a separate function for surface initialization.
2010-08-20 13:21:24 +02:00
Henri Verbeet
c5a14085d4
ddraw: Remove unused / redundant includes.
2010-08-19 11:17:41 +02:00
Henri Verbeet
407f78e9e1
ddraw: Merge texture.c into surface.c.
2010-08-19 11:17:29 +02:00
Henri Verbeet
3eba8b5d22
ddraw: Merge gamma.c into surface.c.
2010-08-19 11:17:15 +02:00
Henri Verbeet
51a315386e
ddraw: Use a less offensive handle table implementation for surfaces.
2010-07-30 11:36:03 +02:00
Henri Verbeet
ce8f6ecf6e
ddraw: Merge the surface thunks into surface.c.
2010-07-20 13:13:04 +02:00
Henri Verbeet
6fb9ee0ee7
ddraw: Merge the ddraw thunks into ddraw.c.
...
Note how both ddraw 1 and ddraw 7 used the same IDirectDrawImpl_XXX naming
convention.
2010-07-20 13:13:04 +02:00
Henri Verbeet
f461b39b76
ddraw: Get rid of the useless "ddraw_owner" fields.
2010-07-19 14:49:07 +02:00
Andrew Nguyen
d5c2a358b7
ddraw: Return a failure code in IDirectDrawSurfaceImpl::QueryInterface if IDirect3D7::CreateDevice fails.
2010-07-19 14:41:11 +02:00
Henri Verbeet
cf39adbaa2
ddraw: Avoid an integer overflow in IDirectDrawSurfaceImpl_BltFast().
...
Bug spotted by Iain Arnell, test by Iain Arnell.
2010-06-24 15:11:43 +02:00
Christian Costa
e95ffacde0
ddraw: Make SetColorKey handle case where dwColorSpaceHighValue < dwColorSpaceLowValue + tests.
2009-10-15 12:06:22 +02:00
Henri Verbeet
33bfcdd044
ddraw: The ddraw surface is now always the wined3d surface's parent.
...
This GetParent() trick would now cause infinite recursion.
2009-09-25 15:15:55 +02:00
Henri Verbeet
60e32659a7
wined3d: Rename IWineD3DDevice::SetIndices() to IWineD3DDevice::SetIndexBuffer().
2009-09-25 15:14:44 +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
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
Stefan Dösinger
d30c25be83
ddraw: Do not access the surface connection structure directly in SetPalette.
2007-04-30 12:21:09 +02:00
Stefan Dösinger
88af9702f1
ddraw: Use EnumAttachedSurfaces for SetColorKey.
2007-04-27 11:43: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
290f2eb146
wined3d: Add Filtering to IWineD3DSurface::Blt and handle it.
...
This is to allow StretchRect to pass the texture filter to WineD3D.
DirectDraw sets the texture filter to WINED3DTEXF_NONE, simmilar to all
other functions which do not need filtering.
2007-04-07 10:58:10 +02:00
Stefan Dösinger
cd3bc1d17d
ddraw: Test and fix IDirectDrawSurfaceX::GetDDInterface.
2007-02-19 13:09:30 +01:00
Stefan Dösinger
1036ca0df6
ddraw: Creating surfaces with old interfaces doesn't addref.
2007-02-19 13:09:18 +01:00
Stefan Dösinger
ae91cfe380
ddraw: SetClipper refcounting fix.
2007-02-19 13:08:55 +01:00
Stefan Dösinger
8b8e30b1e1
ddraw, wined3d: Color keying tests and fixes.
2007-02-15 11:37:00 +01:00
Markus Amsler
5e0fc62135
d3d: Callback infrastructure for implicit swap chain destruction in IWineD3DDevice.
2006-12-18 12:07:26 +01:00
Stefan Dösinger
2fe8a41cb8
ddraw: Add a TRACE to GetPixelFormat.
2006-12-15 12:18:31 +01:00
Günther Brammer
3c5b9557b5
ddraw: Fix IDirectDrawSurfaceImpl_SetColorKey to also change surface_desc.
2006-12-14 20:32:39 +01:00
Markus Amsler
3fd04308ab
d3d: Callback infrastructure for implicit depth stencil surface destruction in IWineD3DDevice.
2006-12-06 12:39:30 +01:00
Stefan Dösinger
9329efa88e
ddraw: Forward the depth stencil buffer to wined3d.
2006-10-25 20:20:59 +02:00
Stefan Dösinger
2e5628df3f
ddraw: Make the surface list a standard wine list.
2006-10-16 12:06:43 +02:00
H. Verbeet
2465fcb368
ddraw: Win64 printf format warning fixes.
2006-10-11 12:08:28 +02:00
Stefan Dösinger
2bcacf22d3
wined3d: Add IWineD3DSurface::UpdateOverlay.
2006-10-06 12:53:24 +02:00
Stefan Dösinger
080e4f56cf
wined3d: Add UpdatOverlayZOrder.
2006-10-06 12:53:24 +02:00
Stefan Dösinger
f6647486cf
wined3d: Add IWineD3DSurface::GetOverlayPosition.
2006-10-06 12:53:24 +02:00
Stefan Dösinger
0f3995d21a
wined3d: Add IWineD3DSurface::SetOverlayPosition.
2006-10-06 12:53:24 +02:00
Elie Morisse
f9593bfe67
ddraw: Don't destroy complex attached surfaces even if explicitely
...
requested as they will be liquidated anyway when the root is
destroyed.
2006-10-03 20:33:39 +02:00
Stefan Dösinger
49beec8635
ddraw: Return DDERR_NOPALETTEATTACHED if no palette is attached.
2006-09-10 10:18:12 +02:00
Stefan Dösinger
06106e2810
ddraw: Support using an application-provided surface pointer.
2006-07-26 15:17:59 +02:00
Stefan Dösinger
0a81295782
ddraw: Split up the ddraw refcount.
2006-07-11 17:10:17 +02:00
Francois Gouget
9bfbfcbeb4
Assorted spelling, case and grammar fixes.
2006-06-26 13:06:11 +02:00
Stefan Dösinger
495e46197a
ddraw/wined3d: IDirectDrawSurface7::SetSurfaceDesc corrections.
2006-06-26 12:38:55 +02:00
Stefan Dösinger
1e2413f4f4
ddraw: Implement proper handle management.
2006-06-19 11:14:18 +02:00
Stefan Dösinger
01273e7eb6
ddraw: Palette refcounting fixes + tests.
2006-06-19 10:29:56 +02:00
Alexandre Julliard
7f8c29a407
ddraw: Make some functions static.
2006-06-15 17:14:37 +02:00