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
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
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
Andrew Nguyen
be17277bb7
ddraw: Remove some unused structure definitions in the private ddraw header.
2011-05-31 18:32:59 +02:00
Dylan Smith
0be691ad9f
ddraw: Keep a function declaration within the include guard.
2011-05-24 12:47:28 +02:00
Dylan Smith
f7002c6627
ddraw: Don't interpret end padding as dwCaps2 for x64.
2011-05-24 12:47:28 +02:00
Dylan Smith
3871329872
ddraw: Avoid clearing some memory unnecessarily.
2011-05-24 12:47:27 +02:00
Henri Verbeet
3032b40c80
wined3d: Get rid of the IWineD3DDeviceParent interface.
2011-05-19 10:06:21 +02:00
Henri Verbeet
8d4ca1f815
wined3d: Remove COM from the device implementation.
2011-05-17 10:06:18 +02:00
Henri Verbeet
1c1de920e3
wined3d: Remove COM from the surface implementation.
2011-04-29 16:52:13 +02:00
Henri Verbeet
ac95c302ff
ddraw: Replace the light list with a standard Wine list.
2011-04-22 10:43:57 +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
fd1aac3e75
ddraw: Replace the viewport list with a standard Wine list.
2011-04-20 13:07:00 +02:00
Henri Verbeet
5492560cb5
ddraw: Introduce a separate function for texture creation.
2011-04-20 13:06:45 +02:00
Henri Verbeet
d429aaa9e9
ddraw: Verify the viewport belongs to the device on execute buffer execution.
2011-04-19 13:29:42 +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
973b56dc1c
ddraw: Get rid of the unused LoadWineD3D() declaration.
2011-04-04 11:53:27 +02:00
Henri Verbeet
fd8e18bd2b
wined3d: Remove COM from the texture implementation.
2011-03-28 17:08:52 +02:00
Henri Verbeet
015ad93d47
ddraw: Just pass NULL as swapchain parent.
...
The swapchain was the last place using IParent, so this allows us to kill
IParent completely.
2011-03-08 12:28:20 +01:00
Henri Verbeet
a27ee75ed2
wined3d: Remove COM from the buffer implementation.
2011-03-04 16:25:58 +01:00
Henri Verbeet
304d713860
wined3d: Remove COM from the clipper implementation.
2011-02-04 15:25:31 +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
Henri Verbeet
36d4268e3c
wined3d: Remove COM from IWineD3D.
2011-02-02 12:22:42 +01:00
Henri Verbeet
8872239088
ddraw: Link directly to wined3d.
2011-01-28 11:59:02 +01:00
Michael Stefaniuc
68d5d33e5e
ddraw: COM cleanup for the IClassFactory iface.
2011-01-24 14:43:23 +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
30a07d8371
ddraw: COM cleanup for the IDirectDraw3 iface.
2011-01-19 12:31:54 +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
Michael Stefaniuc
97f9b02a26
ddraw: COM cleanup for the IDirect3D3 iface.
2011-01-19 12:30:58 +01:00
Michael Stefaniuc
2b80213578
ddraw: COM cleanup for the IDirect3D2 iface.
2011-01-18 13:29:59 +01:00
Michael Stefaniuc
8255d464db
ddraw: COM cleanup for the IDirect3D iface.
2011-01-18 13:29:58 +01:00
David Adam
f8690a6bda
ddraw: Remove a useless function.
2010-10-21 16:18:05 +02:00
Henri Verbeet
5fa84c56c3
ddraw: Remove another hack.
...
It breaks actual front buffer / back buffer flips.
2010-10-05 15:16:52 +02:00
Henri Verbeet
cc5271d1b7
wined3d: Rename WINED3DFORMAT to wined3d_format_id.
2010-08-24 12:25:01 +02:00
Henri Verbeet
4378d4b31e
ddraw: Add a separate function for surface initialization.
2010-08-20 13:21:24 +02:00
Henri Verbeet
c87fd4a65c
ddraw: Add a separate function for ddraw initialization.
2010-08-20 13:21:23 +02:00
Henri Verbeet
0e955daed2
ddraw: Add a separate function for vertex buffer initialization.
2010-08-20 13:21:23 +02:00
Henri Verbeet
e2021722fc
ddraw: Add a separate function for palette initialization.
2010-08-20 13:21:23 +02:00
Henri Verbeet
584cb331a9
ddraw: Add a separate function for execute buffer initialization.
2010-08-20 13:21:22 +02:00
Henri Verbeet
a60c493986
ddraw: Add a separate function for device initialization.
2010-08-20 13:21:21 +02:00
Henri Verbeet
4b84c5e5b7
ddraw: Add a separate function for clipper initialization.
2010-08-19 11:18:20 +02:00
Henri Verbeet
759fd517aa
ddraw: Add a separate function for parent initialization.
2010-08-19 11:18:16 +02:00
Henri Verbeet
921bd1bf9a
ddraw: Add a separate function for viewport initialization.
2010-08-19 11:18:12 +02:00
Henri Verbeet
bf26c2c869
ddraw: Add a separate function for material initialization.
2010-08-19 11:17:57 +02:00
Henri Verbeet
c892ed497c
ddraw: Add a separate function for light initialization.
2010-08-19 11:17:48 +02:00
Henri Verbeet
c5a14085d4
ddraw: Remove unused / redundant includes.
2010-08-19 11:17:41 +02:00
Henri Verbeet
fee9c1f2b5
ddraw: Remove a useless viewport callback.
2010-08-18 09:41:01 +02:00
Henri Verbeet
14399f6130
ddraw: Remove a useless material callback.
2010-08-18 09:40:55 +02:00
Henri Verbeet
06a44abc19
ddraw: Remove useless light callbacks.
2010-08-18 09:40:32 +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
91193b6eec
ddraw: Use a less offensive handle table implementation for stateblocks.
2010-07-30 11:36:02 +02:00
Henri Verbeet
941aeade01
ddraw: Use a less offensive handle table implementation for matrices.
2010-07-29 17:33:36 +02:00
Henri Verbeet
0cb4de4542
ddraw: Use a less offensive handle table implementation for materials.
2010-07-29 17:33:35 +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
Henri Verbeet
e4a4065bbd
ddraw: Register / unregister the ddraw window class from DllMain().
...
This avoids failing in DDRAW_Create() if a previous IDirectDrawImpl object
with the same pointer value was imporperly cleaned up. The improper cleanup is
of course the larger problem, but I don't believe that can be fixed without
making more invasive changes to ddraw.
2010-06-18 15:22:22 +02:00
Henri Verbeet
93b0600829
wined3d: Don't free D3D buffers until the wined3d buffer is destroyed.
2009-09-18 08:55:25 -05:00
Henri Verbeet
6c8636c337
ddraw: Mark internal symbols hidden.
2009-09-17 10:10:04 -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
Stefan Dösinger
fd9b574e4e
ddraw: Store the fvf in the ddraw buffer.
...
WineD3D buffer FVFs will go away soon.
2009-04-09 16:27:35 +02:00
Stefan Dösinger
513a493f00
wined3d: Merge IWineD3DIndexBuffer and IWineD3DBuffer.
2009-04-08 11:37:29 +02: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
David Adam
22bfd1396c
ddraw: Implement ComputeSphereVisibility.
2009-02-26 15:13:25 +01:00
Henri Verbeet
9b5f3ed8f3
ddraw: Rename the main vtables to lpVtbl.
2009-01-22 15:28:22 +01: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
4e38c2e943
ddraw: Get rid of ICOM_VFIELD_MULTI.
2009-01-21 11:16:41 +01:00
Henri Verbeet
2afa23867b
ddraw: Add extern to some global variable declarations.
2009-01-16 13:30:08 +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
23abbcb9b3
ddraw: Make some functions static.
2008-12-02 15:27:08 +01:00
Henri Verbeet
a6917b143d
wined3d: Use IDL to generate wined3d.h.
2008-11-25 13:37:22 +01:00
Henri Verbeet
99a50b5396
ddraw: Make sure pWineDirect3DCreate and pWineDirect3DCreateClipper match the header.
2008-10-24 14:24:59 +02:00
Alexandre Julliard
e1ced22db1
ddraw: Convert source files to utf-8.
2008-10-18 19:19:45 +02:00
Stefan Dösinger
34b37fe241
d3d: Remove IWineD3DDevice::SetHwnd.
2008-08-19 12:22:05 +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
a47e7badb9
ddraw: Set ddraw caps in wined3d.
...
Currently the ddraw capabilities were almost static, except of D3D
support. When overlay support is added, the caps depend on certain
settings in WineD3D or capabilities available from OpenGL and Xv. So
set those caps in wined3d as well.
2008-08-04 13:10:11 +02:00
Alexander Dorofeyev
cb5e06c944
ddraw: Implement FPU mode fixup in d3d7 device.
...
As documented in DirectX7 SDK, d3d7 devices set FPU mode (control word) on every
call and restore it back to original state before returning, if created in
DDSCL_FPUPRESERVE cooperative mode. This allows games to work with FPU in a
possibly incompatible mode and avoid resetting it all the time.
2008-06-23 19:59:33 +02:00
Michael Karcher
606186d4c5
ddraw: Ensure to load wined3d before attempting to create a clipper.
2008-06-23 14:11:58 +02:00
Alexander Dorofeyev
8f72961e50
ddraw: Move handling of D3DRENDERSTATE_TEXTUREMAPBLEND from d3ddevice2 to d3ddevice3.
2008-05-05 19:55:13 +02:00
Alexander Dorofeyev
6a48e405db
ddraw: Add possibility to ignore lights in viewport_activate.
...
Mostly NOP regarding existing functionality, but makes it possible to skip light
activation when it's not needed (like when clearing).
2008-04-11 13:04:19 +02:00
Denver Gingerich
248ae8f112
ddraw: Implement ForceRefreshRate registry entry for overriding DirectX refresh rate.
2008-03-11 15:30:37 +01:00
Stefan Dösinger
c5055fb3eb
ddraw: Cope with Init3D failures.
2007-10-10 11:58:37 +02:00
Stefan Dösinger
f7597dee15
ddraw: Update the wined3d matrix if a current matrix handle is modified.
2007-07-06 19:29:39 +02:00
Stefan Dösinger
bfe631dfb9
ddraw: Hold the lock in creation functions.
2007-05-21 19:11:34 +02:00
Stefan Dösinger
5307dd2029
ddraw: Make the ddraw list lock a global dll lock.
2007-05-21 19:11:22 +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
d93e161b1f
d3d: Move clippers from DDraw to wined3d.
2007-05-08 18:27:44 +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
Stefan Dösinger
9e3e799ca3
ddraw: Complex surfaces form a tree.
2007-04-30 12:22:06 +02:00
Stefan Dösinger
0386eed91f
ddraw: Get rid of FVFs.
...
Remove all IWineD3DDevice::SetFVF calls and instead create converted
vertex declarations and use them. The idea is to remove the FVF paths
from wined3d to simplify the code, and optimize the vertex declaration
codepath.
2007-04-26 14:54:17 +02:00
Andrew Talbot
e4253fd8b9
ddraw: Constify some variables.
2007-04-23 14:42:06 +02:00
H. Verbeet
6112522122
wined3d: Move SetupFullscreenWindow() and RestoreWindow() from IDirectDrawImpl to IWineD3DDeviceImpl.
2007-01-19 12:28:58 +01:00
Stefan Dösinger
3581d8e8d8
wined3d: Do not keep internal references on vertex buffers.
2007-01-08 20:59:06 +01:00
Andrew Talbot
386fdd81e9
ddraw: Declare some functions static.
2007-01-04 21:14:08 +01:00
Markus Amsler
5e0fc62135
d3d: Callback infrastructure for implicit swap chain destruction in IWineD3DDevice.
2006-12-18 12:07:26 +01:00
Ulrich Czekalla
325f666fc5
ddraw: IDirectDraw3 should use its own ref count variable.
2006-12-16 17:01:52 +01:00
Ulrich Czekalla
398886799e
ddraw: Add IDirectDraw3 interface.
2006-12-14 20:33:49 +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
1c86290bd5
ddraw: Use real handles for state blocks.
2006-10-16 12:07:30 +02:00
Stefan Dösinger
2e5628df3f
ddraw: Make the surface list a standard wine list.
2006-10-16 12:06:43 +02:00
Stefan Dösinger
09e794aff8
ddraw: Make the ddraw list a wine list.
2006-10-09 20:38:15 +02:00
Stefan Dösinger
915174d8d9
ddraw: Palette refcounting fix.
...
Do not AddRef the DirectDraw interfaces in CreatePalette of older
interface version, and add a test for that.
2006-07-11 17:10:53 +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
546a60ff2f
ddraw: Enumerate the reference d3ddevice.
2006-06-26 13:04:13 +02:00
Stefan Dösinger
d50ff220d0
ddraw: Use the handle infrastructure for Matrix handles.
2006-06-22 12:04:26 +02:00
Stefan Dösinger
1e2413f4f4
ddraw: Implement proper handle management.
2006-06-19 11:14:18 +02:00
Stefan Dösinger
c8901d6f62
ddraw: Rewrite most of ddraw using WineD3D.
2006-06-15 16:51:16 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Lionel Ulmer
00577aa605
ddraw: Better simulate what 'GetVerticalBlankStatus' does on real hardware.
2006-01-16 20:38:08 +01:00
Lionel Ulmer
002608224d
Add an assert if both arguments to DD_STRUCT_COPY_BYSIZE are equal.
2005-10-10 19:53:37 +00:00
Lionel Ulmer
dfd1153f1d
- do not pass private data to the application but a copy of it
...
- add some more traces
2005-10-10 10:44:23 +00:00
Vincent Béron
05b2c1cc81
Remove multiple declarations of the same function, keeping the public
...
one as reference.
2005-07-24 16:17:28 +00:00
Mike McCormack
2d7ea23868
Interlocked LONG* gcc warning fixes.
2005-07-11 13:21:17 +00:00
Christian Costa
719187f190
Merged remaining header files in DirectDraw objects folders into
...
ddraw_private.h.
2005-06-02 10:33:06 +00:00
Matthew Mastracci
9cf27b5f1a
Added surface locking.
2005-03-07 12:23:34 +00:00
Christian Costa
171c9420c2
Fake line sweeping of the monitor.
2004-12-27 17:12:55 +00:00
Christian Costa
9713f651fe
Moved libtxc_dxt definitions into ddraw headers.
2004-08-02 18:24:40 +00:00
Christian Costa
eac96b5606
Added native and emulated S3TC support.
2004-07-30 18:54:32 +00:00
Lionel Ulmer
d069312de6
Add the possibility to save a snapshot of the backbuffer at
...
flip-time.
2004-04-12 22:07:33 +00:00
Christian Costa
85cbe8213b
DD_STRUCT_COPY_BYSIZE: Do not clear more that struct size.
2004-03-16 01:13:29 +00:00
Lionel Ulmer
8c1c276b5b
- add ZBuffer write support
...
- some TRACEing fixes
2003-09-15 20:00:03 +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
Lionel Ulmer
4aba282bb8
- proper (tested on Win2K) reference counting for Direct3D object
...
- fix one case of reference counting on textures
- fix stupid bug in texture upload code
- yet another texture enumeration reordering
2003-06-04 23:31:39 +00:00
Alexandre Julliard
24d0a8394f
Authors: Mike McCormack <mike@codeweavers.com>, Lionel Ulmer <lionel.ulmer@free.fr>
...
Make DDraw not linked 'statically' to OpenGL.
2003-06-04 20:13:21 +00:00
Lionel Ulmer
783b3236f5
Support for device surface locking.
2003-05-17 18:41:26 +00:00
Lionel Ulmer
6fb7ed8fa7
Added 'blt' and 'bltfast' override functions.
2003-01-02 19:51:25 +00:00
Lionel Ulmer
8cd2609587
Enable the application to create first textures and then the D3D
...
device.
2003-01-02 19:39:57 +00:00
Lionel Ulmer
96a24ec8ea
Added surface dumping function for debug.
2002-12-19 04:13:46 +00:00
Lionel Ulmer
91c6f817b9
- rework how texturing is done in the D3D driver
...
- added the generic path for DrawPrimitive API in D3D 3 / 7
2002-12-15 01:17:59 +00:00
Lionel Ulmer
5f49e78e35
- start of support for device locking / unlocking via glReadPixels /
...
glDrawPixels interface (slow but should be enough for a start)
- implement one vertex case for the D3D3/7 DrawPrimitive functions
- fix a missing \n in a TRACE call
2002-11-30 19:06:52 +00:00
Lionel Ulmer
4941a3aff2
- fix texture snooping (plus adds snoop for 1555 format)
...
- add texture memory usage tracking
2002-11-27 21:38:28 +00:00
Lionel Ulmer
dd738eab07
- Prevent the backbuffer to also have the frontbuffer flag set.
...
- Log the Locking flags.
- Print symbolic name (if any) of zero values for bit fields (thanks
Andi).
2002-11-25 02:42:04 +00:00
Lionel Ulmer
43c3dc4d33
- Clean up all the D3D COM handling (but the underlaying code is still
...
as ugly as before).
- Handle properly (ie as on real Windows) negative values in
rectangles during blitting.
2002-11-21 21:04:16 +00:00
Lionel Ulmer
b103f7b679
Proper logging of DDSCAPS / DDSCAPS2 structures.
2002-11-11 22:23:10 +00:00
Lionel Ulmer
b6051dec93
- DDRAW_SYSTEMMEMORY is handled like OFFSCREENPLAIN for now
...
- added more logging
2002-07-16 01:16:14 +00:00
Ove Kaaven
1d8f92c88c
Removed the flags fields of IDirectDrawPaletteImpl, as we should use
...
the dwFlags field of DDRAWI_DDRAWPALETTE_GBL structure instead.
2002-07-10 03:05:43 +00:00
Vincent Béron
9a62491660
Removed trailing whitespace.
2002-05-31 23:06:46 +00:00