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