Ken Thomases
35d8c56333
d3d9: Make CheckDeviceType() fail for display formats other than D3DFMT_X8R8G8B8 and D3DFMT_R5G6B5 in full-screen.
...
The adapter mode functions already enforce this, and tests show
CheckDeviceType() should fail for full-screen mode with display formats for
which there are no adapter modes.
2014-01-28 19:38:46 +01:00
Stefan Dösinger
9287bb80dc
d3d: d3d9ex does not do video memory accounting for D3DPOOL_DEFAULT resources.
2013-05-20 19:08:28 +02:00
Michael Stefaniuc
d86ecd4bb4
d3d9: Remove ERR() on HeapAlloc failure for small sizes known at compile time.
2013-02-07 15:48:20 +01:00
Henri Verbeet
1249976eb6
wined3d: Get rid of the surface_type parameter to wined3d_check_device_format().
2013-01-17 12:22:01 +01:00
Henri Verbeet
e97dc9f33d
d3d9: Implement d3d9_EnumAdapterModesEx().
2012-07-02 19:17:59 +02:00
Henri Verbeet
8d4e3d0d58
d3d9: Implement d3d9_GetAdapterModeCountEx().
2012-06-29 10:14:29 +02:00
Henri Verbeet
2c8834dffd
d3d9: Implement d3d9_GetAdapterDisplayModeEx().
2012-06-28 01:39:27 +02:00
Henri Verbeet
a1bfd0988f
wined3d: Take scanline ordering into account in the mode setting code.
2012-06-28 01:39:26 +02:00
Henri Verbeet
2a63fe6624
d3d9: Get rid of IDirect3DDevice9Impl.
2012-05-29 10:45:09 +02:00
Henri Verbeet
82adae949b
d3d9: Get rid of IDirect3D9Impl.
2012-05-25 16:24:11 +02:00
Henri Verbeet
5b2d171043
d3d9: Add a separate function for d3d9 initialization.
2012-05-25 16:24:07 +02:00
Henri Verbeet
2de689ac04
d3d9: Cleanup IDirect3D9Impl_QueryInterface().
2012-03-13 10:26:25 +01:00
Henri Verbeet
3769afa33d
wined3d: Get rid of the WINED3DSURFTYPE typedef.
2012-01-20 13:31:33 +01:00
Henri Verbeet
6a5a098b23
wined3d: Get rid of the WINED3DRESOURCETYPE typedef.
2012-01-18 12:37:38 +01:00
Henri Verbeet
376ffdf3d5
wined3d: Get rid of the WINED3DADAPTER_IDENTIFIER typedef.
2011-11-24 17:10:09 +01:00
Henri Verbeet
18a7653c78
wined3d: Get rid of the WINED3DDISPLAYMODE typedef.
2011-11-17 11:37:26 +01:00
Matteo Bruni
276216360e
d3d9: Remove D3DFMT_R8G8B8 special handling.
2011-11-15 19:37:37 +01:00
Matteo Bruni
7254f5e661
wined3d: Return only the shader major version.
2011-10-26 12:41:34 +02:00
Matteo Bruni
6e6a917617
d3d9: Limit VS/PS reported version.
2011-10-26 12:41:34 +02:00
Andrew Nguyen
94785ab4d5
d3d9: Increment the reference count of the IDirect3D9 parent when creating a device.
2011-06-06 21:49:19 +02:00
Andrew Nguyen
a826503737
d3d9: Match temporary variables with UINT return types and fix a return value.
2011-05-31 18:32:59 +02:00
Michael Stefaniuc
d5739cd2c3
d3d9: Finish the COM cleanup of the IDirect3DDevice9Ex iface.
2011-04-25 11:40:35 +02:00
Michael Stefaniuc
a159569115
d3d9: COM cleanup for the IDirect3D9Ex iface.
2011-04-11 12:10:47 +02:00
Henri Verbeet
36d4268e3c
wined3d: Remove COM from IWineD3D.
2011-02-02 12:22:42 +01:00
Henri Verbeet
c287ed2232
d3d9: Use more reasonable return values for unimplemented functions.
2010-10-27 12:12:04 +02:00
Henri Verbeet
cd957f5b64
d3d9: Partially implement IDirect3D9Ex::CreateDeviceEx().
2010-10-27 12:12:00 +02:00
Henri Verbeet
ed73f0a1b0
d3d9: Implement IDirect3D9Ex::GetAdapterLUID().
2009-12-02 13:06:08 +01:00
Henri Verbeet
434a23d90d
d3d9: Move D3D9CB_DestroySwapChain() to device.c.
2009-11-18 11:16:35 +01:00
Henri Verbeet
b9243b721a
d3d9: Add a separate function for device initialization.
2009-11-18 11:16:31 +01:00
Henri Verbeet
4dbf1c4900
d3d9: Add traces.
2009-10-20 14:00:36 +02:00
Stefan Dösinger
dcacd83a82
d3d9: Make some functions hookable.
2009-10-14 12:21:06 +02:00
Henri Verbeet
359acf2461
d3d9: Limit "NumSimultaneousRTs" to 4.
2009-09-22 16:17:30 +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
5f9f079d71
d3d9: Use the wined3d cs for wined3d locking.
2009-08-26 12:11:41 +02:00
Henri Verbeet
ada3e059e8
d3d9: Remove stray tabs.
2009-08-26 12:10:49 +02:00
Stefan Dösinger
296573caae
d3d: Filter R8G8B8 in d3d8 and d3d9.
2009-08-07 14:56:40 +02:00
Henri Verbeet
699f68cdee
wined3d: Get rid of some pointers in WINED3DADAPTER_IDENTIFIER.
...
This also avoids some unchecked strcpy() calls.
2009-07-07 11:50:30 +02:00
Stefan Dösinger
9f1731edb6
d3d: Limit d3d8 and d3d9 vshader constants to 256.
...
DX10 cards support 512(ATI) or 1024(Nvidia) vertex shader constants in
GL. The dx9 DXCapsViewer shows that dx10 windows drivers only claim
256 constants on Windows, so we can and should do the same.
2009-04-27 13:23:36 +02:00
Stefan Dösinger
bc07ad0579
d3d8, d3d9: Don't rely on the wined3d buffer type.
2009-04-08 11:35:29 +02:00
Henri Verbeet
fd3d769a12
d3d9: Fix locking.
...
It appears there are some calls to wined3d missing critical sections.
2009-03-23 14:08:03 +01:00
Henri Verbeet
39ae94d0b3
d3d9: Present parameters are an array when D3DCREATE_ADAPTERGROUP_DEVICE is specified.
2009-03-11 13:03:33 +01:00
Henri Verbeet
61a9efc4b9
d3d9: Explicitly convert between D3DFORMAT and WINED3DFORMAT values.
2009-02-20 11:10:14 +01:00
Michael Stefaniuc
bca813a5a6
d3d9: Remove superfluous pointer casts.
2009-01-29 14:06:18 +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
Stefan Dösinger
3d96f97ee1
d3d9: Use the correct AddRef and Release macros.
2008-11-04 11:40:23 +01:00
Stefan Dösinger
93af8d3631
d3d: Do not restore the display mode in ddraw.
2008-11-03 13:34:13 +01:00
Stefan Dösinger
d5f05c59c7
ddraw: Beware of the surface type when checking for format support.
2008-09-02 14:56:26 +02:00
Stefan Dösinger
8869c0f147
d3d: De-pointerize the WINED3DCAPS structure.
2008-03-25 19:36:38 +01:00
Stefan Dösinger
c1a0037b88
d3d9: IDirect3DDevice9Ex stub.
2008-03-03 20:48:50 +01:00
Stefan Dösinger
d9f9725993
d3d9: Add an IDirect3D9Ex stub.
2008-03-03 20:48:05 +01:00
Stefan Dösinger
01c6c982bb
d3d9: Some caps fixes.
2007-08-21 13:35:35 +02:00
Stefan Dösinger
66821059b4
d3d9: Hold the lock in IDirect3D9 methods.
2007-06-18 12:33:54 +02:00
Stefan Dösinger
725f4bfeb1
d3d9: Rework the converted vertex declaration management.
...
Instead of creating a converted declaration each time SetFVF is
called, exactly one declaration is created for each FVF(on demand) and
stored for the lifetime of the device. This avoids memory leaks and
makes keeping track of converted declarations easier. Wether a
declaration is converted from a fvf or not is now a static information
inside the declaration. Those declarations are not destroyed in
VertexDeclaration::Release, they stay for the lifetime of the
device. This keeps us free from tracking the declaration through
stateblocks
2007-04-18 13:13:45 +02:00
Stefan Dösinger
7cee0b2ed0
d3d9: Do not allow Direct3D9::GetAdapterModeCount to be called with D3DFMT_UNKNOWN.
2007-04-17 11:21:13 +02:00
Stefan Dösinger
8a5b6df483
d3d: Enumerate palettized formats for ddraw.
2007-04-16 12:12:34 +02:00
Stefan Dösinger
022e884342
wined3d/ddraw: Forward DDSCL_MULTITHREADED to wined3d.
2007-03-19 12:17:18 +01:00
H. Verbeet
a4bc52a89c
wined3d: Fix WINED3DPRESENT_PARAMETERS and use it instead of D3DPRESENT_PARAMETERS.
2007-02-16 12:31:03 +01:00
Stefan Dösinger
8658d20b3e
wined3d, d3d9: Caps correction.
2007-01-15 12:44:03 +01:00
Stefan Dösinger
cb74603e43
d3d9: Implement IDirect3DDevice9::StretchRect.
2007-01-12 11:49:38 +01:00
Andrew Talbot
590bca8425
d3d9: Declare some functions static.
2007-01-04 21:14:05 +01:00
Chris Robinson
ed21935479
d3d: Fix adapter mode enumeration and filtering.
2006-12-20 17:58:34 +01:00
Markus Amsler
467b1dd3ad
d3d9: Handle surface container in d3d9.
2006-12-18 12:08:02 +01:00
Markus Amsler
73b5fb059f
d3d9: Fix implicit swap chain refcounting.
2006-12-18 12:07:38 +01:00
Markus Amsler
5e0fc62135
d3d: Callback infrastructure for implicit swap chain destruction in IWineD3DDevice.
2006-12-18 12:07:26 +01:00
Markus Amsler
f9f3ec2f00
d3d9: Fix implicit surface refcounting.
2006-12-18 12:07:09 +01:00
Markus Amsler
3fd04308ab
d3d: Callback infrastructure for implicit depth stencil surface destruction in IWineD3DDevice.
2006-12-06 12:39:30 +01:00
Markus Amsler
a60d4b2d2f
d3d: Pass the superior creating object down to the callback functions.
2006-12-04 12:40:38 +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
d04f0507cf
wined3d: Implement Init3D and Uninit3D.
2006-04-19 12:43:22 +02:00
Stefan Dösinger
d2510847b0
wined3d: Split device creation and opengl initialization.
2006-04-13 11:22:45 +02:00
Stefan Dösinger
fce54bcc49
wined3d: Add WINED3DDISPLAYMODE to wined3d_types.h.
2006-04-03 12:17:22 +02:00
Stefan Dösinger
1d47556195
wined3d: Use WINED3DSWAPEFFECT in the wined3d headers and code.
2006-03-28 17:51:45 +02:00
Stefan Dösinger
b4b295c2a5
wined3d: Add WINED3DMULTISAMPLE_TYPE to wined3d_types.h.
2006-03-27 11:30:49 +02:00
Francois Gouget
0edbaf7e80
Remove spaces before '\n' in traces.
2005-11-10 12:14:56 +00: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
46e7c30a71
Implement swapchains.
2005-06-23 11:05:24 +00:00
Oliver Stieber
e70e3ba0ff
Change the way caps are sent between d3d9/d3d8 and wined3d to make it
...
easier for wined3d to support additional versions of Direct3D.
2005-06-17 09:59:03 +00:00
Dmitry Timoshkov
4625628e67
Make some of the OLE interface vtables const.
2005-05-27 20:17:35 +00:00
Oliver Stieber
67f2ad4563
- Volume now inherits Resource. This isn't the way Microsoft implements
...
the interface but it is more correct way (Microsoft even have a
resource type of volume).
- Moved usage, format, allocatedMemory and size onto the resource
class structure.
- Refactored Preload for classes that inherit BaseTexture, preload now
binds the texture instead of bind texture calling preload, bindTexture
allocated a glTexture if there isn't one.
- Added two new class static members BaseTexture_CleanUp and
Resource_CleanUp that should be called by classes that implement
BaseTexture or Resource.
2005-03-29 19:01:00 +00:00
Raphael Junqueira
1226e72bf7
- add vertex Declaration support (using wined3d)
...
- minimal impl for SetRenderTarget and CreateQuery (needed to get
some samples working)
- remove no longer needed #undef GL_VERSION_1_4
2005-01-28 14:03:32 +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
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
289562eeb5
- Implement SetStreamSource
...
- Ensure wined3d objects maintain a reference count of at least that
of the d3dx version.
2004-11-23 13:52:46 +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
Jason Edmeades
b9e2bedac1
Copy and tidy up the code from dx8 create device into wined3d. Call
...
from wined3d and d3d8, but short term only use the code for real from
d3d9.
2004-10-08 20:52:33 +00:00
Jason Edmeades
ac490fabac
Add a IWineD3DDevice object type (empty for now), and create one when
...
an IDirect3DDevice object is created.
2004-10-07 04:22:21 +00:00
Jason Edmeades
b519893e41
Move the GetDeviceCaps into the wined3d library and call from d3d9.
2004-10-06 00:05:29 +00:00
Jason Edmeades
c579fa6213
Move the Check* type functions into wined3d and copy from d3d9, and
...
flag that they are mostly stubs.
2004-10-05 02:14:06 +00:00
Jason Edmeades
c3421ea434
Move into wined3d and call from d3d9 the GetAdapterId function and
...
copy all the gl declarations into the more global wined3d_gl header
file.
2004-09-29 21:26:47 +00:00
Jason Edmeades
ae5a436873
- Make d3d8 know about the wined3d device and start using it.
...
- Move some of the screen mode related functions into wined3d and add
untested support for the new d3d9 options of providing the format to
some of the calls.
- Move other functions from the directx interface into the common
library and implement the calls from d3d9 as well.
- Copy across the first of the functions used to make traces more readable,
creating utils.c to store them in. Eventually the ones in d3d8 will be
removed but for now just duplicate the code.
2004-09-28 02:12:12 +00:00
Jason Edmeades
24ab49e250
Create a wined3d interface, and generate a wined3d object in the d3d9
...
create method. Make the first (simple) call implementation into the
new wined3d interface.
2004-09-23 04:34:27 +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