Commit Graph

205 Commits

Author SHA1 Message Date
Stefan Dösinger dc80a3ede5 d3d: Unify WINED3DVERTEXBUFFER_DESC and WINED3DINDEXBUFFER_DESC. 2009-04-08 11:36:02 +02:00
Henri Verbeet 4194d8040f ddraw: Filter invalid texture stage states passed by the application. 2009-04-01 14:23:38 +02:00
Henri Verbeet 4434d00f84 wined3d: Unify vertex and texture formats.
Some fields should be redundant now, eg. gl_vtx_type and glType. I'll leave
that for a different patch to fix though.
2009-03-27 15:51:25 +01:00
Henri Verbeet d7c7c76850 wined3d: Use separate structures for ddraw style strided data and wined3d's internal stream info. 2009-03-27 15:51:25 +01: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
Henri Verbeet 702eeb6b0c wined3d: Add separate methods for setting the primitive type. 2009-03-05 16:16:25 +01:00
Henri Verbeet 602bb1f551 wined3d: Pass the vertex count rather than the primitive count to wined3d draw methods. 2009-03-05 16:16:24 +01:00
David Adam 22bfd1396c ddraw: Implement ComputeSphereVisibility. 2009-02-26 15:13:25 +01:00
Henri Verbeet 8cefc47d81 wined3d: Add DXGI formats to WINED3DFORMAT. 2009-02-20 11:10:37 +01:00
Vincent Pelletier f879176b99 ddraw: Use ddraw_from_d3d7 to make a (IDirectDrawImpl *) from a (IDirect3D7 *). 2009-02-10 12:31:50 +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 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
Henri Verbeet ad171b143f ddraw: Get rid of ICOM_INIT_INTERFACE. 2009-01-21 11:16:51 +01:00
Henri Verbeet ba771f0fac ddraw: Fix Thunk_IDirect3DDeviceImpl_2_GetCurrentViewport(). 2009-01-20 12:34:20 +01:00
Michael Stefaniuc 5ee7a104c9 ddraw: Remove superfluous pointer casts. 2009-01-14 12:21:02 +01:00
Alexandre Julliard 149259d49f ddraw: Fix an uninitialized variable warning on non-i386. 2009-01-08 17:30:22 +01:00
Henri Verbeet cc447eac55 wined3d: Move position_transformed out of u.s in struct WineDirect3DVertexStridedData. 2009-01-08 13:21:31 +01:00
Henri Verbeet 352e60e6ed d3d: Explicitly translate texture stage states.
Ddraw and d3d8 already translate half of them, it turns out the lookup
table actually saves lines there.
2009-01-06 12:45:32 +01:00
Henri Verbeet c51bc826e8 ddraw: Properly handle sampler states. 2009-01-06 12:45:20 +01:00
Alexandre Julliard e1ced22db1 ddraw: Convert source files to utf-8. 2008-10-18 19:19:45 +02:00
Henri Verbeet 8299df900c ddraw: Remove a few more redundant inits (LLVM/Clang). 2008-10-10 12:27:28 +02:00
Andrew Talbot a697d99d66 ddraw: Sign-compare warnings fix. 2008-09-29 17:32:17 -05:00
Stefan Dösinger ddec94bf0f ddraw: Pass proper parameters to CheckDeviceFormat. 2008-09-02 14:56:45 +02:00
Stefan Dösinger d5f05c59c7 ddraw: Beware of the surface type when checking for format support. 2008-09-02 14:56:26 +02:00
David Adam bb67a925d6 ddraw: Only ddraw checks wether one can give a null pointer to SetMaterial. 2008-08-22 11:32:09 +02:00
Tobias Jakobi 69797d7f3d ddraw: Fix typo in copy_mipmap_chain. 2008-07-28 14:25:09 +02:00
Alexander Dorofeyev e2ff077697 ddraw: Improve IDirect3DDevice7_Load implementation.
Copies palette and colorkey earlier in the helper function, before
copying image, also skips UpdateSurface when palette is missing. This
prevents unnecessary surface (re)loads in wined3d, and gets rid of
some wined3d palette error messages in Sacrifice.
2008-07-22 15:20:33 +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
Alexander Dorofeyev 17dacf90b2 ddraw: Fix some code unprotected by ddraw lock. 2008-05-12 19:41:46 +02:00
Francois Gouget 42a61d7ed7 Assorted spelling fixes. 2008-05-06 16:10:20 +02:00
Alexander Dorofeyev 7e8be9ecc0 ddraw: Add full implementation of IDirect3DDevice7_Load. 2008-05-06 11:26:10 +02:00
Alexander Dorofeyev 30221f7bcd ddraw: Fix some texture blending modes. 2008-05-05 19:55:30 +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 edaaf63bd6 ddraw: Move handling of D3DRENDERSTATE_TEXTUREHANDLE from d3ddevice7 to d3ddevice3.
As supported by tests, there is no reason for this state to be handled by 
d3ddevice7, and moving it to d3ddevice3 prepares for the changes in next patch 
(setting TEXTUREHANDLE state can then go through SetTexture of d3ddevice3).
2008-05-05 19:55:05 +02:00
Alexander Dorofeyev 3e237c6199 ddraw: Set active_device in AddViewport. 2008-04-11 13:04:26 +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
Austin English 825baa23a2 ddraw: Spelling fixes. 2008-04-03 11:39:45 +02:00
Rico Schüller 4188af790a ddraw: Fix diffuse and specular color types. 2008-03-06 12:46:46 +01:00
Stefan Dösinger 069b9c8c1c ddraw: Catch No-op SetRenderTarget operations. 2008-03-03 20:45:54 +01:00
Alexander Dorofeyev 6810ebb4c1 ddraw: Fix handling of alpha with D3DTBLEND_MODULATE. 2008-01-22 11:19:18 +01:00
Francois Gouget 44b52b128c Assorted spelling fixes. 2008-01-16 12:48:29 +01:00
Andrew Talbot f074c0e162 ddraw: Remove unneeded casts. 2008-01-02 12:38:41 +01:00
Alexander Dorofeyev 4051a09eb2 ddraw: Fix wrong initialization order in IDirect3DDevice vtable. 2007-12-08 19:54:51 +01:00
Andrew Talbot 1f73a97a5a ddraw: Remove unneeded casts. 2007-12-06 12:07:41 +01:00
Stefan Dösinger a06e002e93 wined3d: Add a wined3d private WINED3DSBT_RECORDED. 2007-08-15 09:36:20 +02:00
Stefan Dösinger 89dccc7c7c ddraw: Implement IDirect3DDevice7::DrawIndexedPrimitiveStrided. 2007-08-08 15:32:00 +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 c0cc4d4219 ddraw: Fix an incorrect iface->impl cast. 2007-07-05 19:50:32 +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 d5d7d4dae4 ddraw: Hold the lock in IDirect3DDevice methods. 2007-06-04 12:52:40 +02:00
Stefan Dösinger 28170f0474 wined3d: Implement environment bump mapping with GL_ATI_envmap_bumpmap. 2007-05-09 12:07:32 +02:00
Stefan Dösinger 9b867f4d91 ddraw: Forward the mag filter correctly to wined3d.
Fixes the erros when using anisotropic mag filtering in the d3d7
filter demo.
2007-05-08 18:28:29 +02:00
Stefan Dösinger 742260d418 ddraw: Adjust the d3d viewport when changing the back buffer.
WineD3D sets up the viewport according to the front buffer, so this
needs to be changed to the values of the render target passed when the
d3d7 device is created and this device turns out not to be the known
front or back buffer.
2007-05-07 21:42:59 +02:00
Stefan Dösinger 6acc0a151d ddraw: Forward all 4 world matrices to wined3d. 2007-05-03 14:24:26 +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 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
Stefan Dösinger 1d4a4b75bc ddraw: When changing the back buffers also update the render target. 2007-03-29 21:00:25 +02:00
A C Hurst 8f14d4639d wined3d: Fix struct size calculation in EnumTextureFormats. 2007-03-19 12:23:29 +01:00
Stefan Dösinger efc03f0a34 wined3d: Index buffer fixes. 2007-02-21 10:57:08 +01:00
Stefan Dösinger 3b3e865366 ddraw: Handle mipmapped mag filters by ignoring the mipmap parameter. 2007-02-15 16:55:52 +01:00
Stefan Dösinger c3d3dcec81 ddraw: Handle mipmapped TEXTUREMIN render states. 2007-02-15 16:55:45 +01:00
Stefan Dösinger 7c40f9aaa2 ddraw: Forward D3DRS_TEXTUREADDRESS* and D3DTSS_ADDRESS* to sampler states. 2007-02-15 16:55:33 +01:00
Stefan Dösinger 67b1f4a7e9 wined3d: BeginScene and EndScene tests and fixes. 2007-02-12 12:08:34 +01:00
Stefan Dösinger 1d3abdeeaa wined3d: Store the stream number in the strided structure. 2007-01-17 11:23:54 +01:00
Stefan Dösinger 3d14118fb7 ddraw: Get some texture stage states from their equivalent sampler states. 2007-01-10 22:01:31 +01:00
Stefan Dösinger 3581d8e8d8 wined3d: Do not keep internal references on vertex buffers. 2007-01-08 20:59:06 +01:00
Stefan Dösinger 71631f7638 wined3d: Use the baseVertexIndex in the stateblock. 2007-01-03 11:02:51 +01:00
Christoph Bumiller b1cc8bec82 ddraw: Fix the AddViewport thunk. 2007-01-03 11:01:12 +01:00
Markus Amsler e2881758a1 ddraw: Call wined3d's SetTextureStageState not the one of d3d7. 2006-12-01 12:27:04 +01:00
Markus Amsler 5bec2f57a1 Revert "d3d: Remove AddRef from IWineD3DDevice_GetTexture.".
This reverts commit 274df6ef88.
2006-11-30 16:04:00 +01:00
Markus Amsler 274df6ef88 d3d: Remove AddRef from IWineD3DDevice_GetTexture. 2006-11-22 11:40:31 +01:00
Francois Gouget 30e44c85c8 Assorted spelling fixes. 2006-11-07 15:25:24 +01:00
Andrey Turkin 3bc442dc8c ddraw: Add missing dereference operators. 2006-10-26 13:04:52 +02:00
Ivan Gyurdiev 4f611bc0e0 wined3d: Add D3DTA masks to the WINED3D namespace.
Also fix usage of D3DTSS/D3DTA in ddraw.
2006-10-24 20:06:30 +02:00
Stefan Dösinger 116236f18c ddraw: Implement GetRenderState for D3DRENDERSTATE_TEXTURE[MIN/MAG]. 2006-10-16 17:05:36 +02:00
Stefan Dösinger 1d65ade5fa ddraw: Implement GetRenderState for D3DRENDERSTATE_TEXTUREADDRESS[U/V]. 2006-10-16 17:05:31 +02:00
Stefan Dösinger e92d7cbf2b ddraw: Implement GetRenderState for D3DRENDERSTATE_TEXTUREHANDLE. 2006-10-16 12:12:58 +02:00
Stefan Dösinger 1c86290bd5 ddraw: Use real handles for state blocks. 2006-10-16 12:07:30 +02:00
Ivan Gyurdiev c912032aa5 wined3d: Add D3DTEXTUREOP to the WINED3D namespace. 2006-10-13 11:13:02 +02:00
Ivan Gyurdiev 9628a1b2e2 wined3d: Merge D3DRECT types into one type in WINED3D namespace. 2006-10-12 12:37:08 +02:00
Ivan Gyurdiev ac37163124 wined3d: Merge D3DMATRIX types into one type in WINED3D namespace. 2006-10-12 12:35:00 +02:00
Ivan Gyurdiev ec782c2b97 wined3d: D3DTRANSFORMSTATETYPE: Consistently use in the WINED3D namespace. 2006-10-12 12:33:39 +02:00
Ivan Gyurdiev b1a4bd87a9 wined3d: D3DRENDERSTATETYPE: Consistently use in the WINED3D namespace. 2006-10-12 12:33:24 +02:00
Ivan Gyurdiev 5f2987ae32 wined3d: Merge VIEWPORT types into one type in WINED3D namespace. 2006-10-11 12:21:54 +02:00
Ivan Gyurdiev 90f5be2bef wined3d: Merge MATERIAL types into one type in WINED3D namespace. 2006-10-11 12:21:14 +02:00
Ivan Gyurdiev 70bbf734b1 wined3d: Merge LIGHT types into one type in WINED3D namespace. 2006-10-11 12:21:06 +02:00
H. Verbeet 2465fcb368 ddraw: Win64 printf format warning fixes. 2006-10-11 12:08:28 +02:00
James Hawkins 1a922b6a38 ddraw: Set lplpDirect3DViewport3 to NULL before returning an error (found by Smatch). 2006-10-06 15:20:46 +02:00
Francois Gouget 82babbee0b Add missing '\n's to Wine traces. 2006-10-05 17:46:48 +02:00
Stefan Dösinger de5a2f3fbe ddraw: Implement D3DRENDERSTATE_TEXTUREMAPBLEND. 2006-08-09 20:35:24 +02:00
Stefan Dösinger bffe5a6922 ddraw/wined3d: Remove texture format enumeration functions. 2006-07-18 11:25:22 +02:00
Ivan Gyurdiev 85aa8ab855 wined3d: Add position_transformed flag to Strided data format. 2006-07-07 17:35:36 +02:00
Stefan Dösinger b0c7bee2ef ddraw: Fix some material related bugs. 2006-06-30 20:42:27 +02:00
Stefan Dösinger 44ace22445 ddraw: Matrix values in the execute buffer are handles. 2006-06-30 20:42:13 +02:00
Stefan Dösinger 53fc3f6acc ddraw: Fix some compiler warnings. 2006-06-27 11:14:20 +02:00
Francois Gouget 9bfbfcbeb4 Assorted spelling, case and grammar fixes. 2006-06-26 13:06:11 +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