Commit Graph

863 Commits

Author SHA1 Message Date
Francois Gouget 5b375aec71 ddraw: Better match the PSDK types and fix the winapi_check warnings. 2007-08-08 15:32:03 +02:00
Stefan Dösinger 2d15cb8b27 d3d: Add a simple offscreen rendering test. 2007-08-08 15:32:00 +02:00
Stefan Dösinger 89dccc7c7c ddraw: Implement IDirect3DDevice7::DrawIndexedPrimitiveStrided. 2007-08-08 15:32:00 +02:00
Stefan Dösinger df75a7e007 ddraw: SetDisplayMode may fail. 2007-08-03 12:30:21 +02:00
Stefan Dösinger 1f4d71c0f6 ddraw: Some drivers return DDERR_INVALIDPARAMS if DXTn surfaces aren't supported. 2007-08-03 12:30:03 +02:00
Francois Gouget 5266e57975 Assorted spelling fixes. 2007-07-31 21:37:50 +02:00
Stefan Dösinger 17f1c29457 ddraw: Table fog may be unsupported. 2007-07-30 23:37:58 +02:00
Robert Millan 47c847663e ddraw: Remove thread safety FIXMEs. 2007-07-30 12:59:47 +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
Francois Gouget 382329c103 ddraw/tests: Fix compilation on systems that don't support nameless unions. 2007-07-09 11:45:53 +02:00
Stefan Dösinger def7122f3c ddraw: Y coords are inversed. 2007-07-06 19:29:48 +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
Paul Vriens a470ea6205 ddraw/tests: Use skip instead of trace. 2007-07-06 18:15:32 +02:00
Paul Vriens c92026739e ddraw/tests: Use skip instead of trace. 2007-07-06 18:15:26 +02:00
Francois Gouget a3317a5c01 Assorted spelling fixes. 2007-07-05 19:56:34 +02:00
Francois Gouget 090fd6d9d2 ddraw/tests: Fix compilation on systems that don't support nameless unions. 2007-07-05 19:54:58 +02:00
Stefan Dösinger e4bf7ab578 ddraw: Implement IDirect3DViewport3::TransformVertices. 2007-07-05 19:52:27 +02:00
Stefan Dösinger 125b9b7dcf ddraw: Read the world matrix correctly. 2007-07-05 19:52:09 +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 c58b2f2283 ddraw: Materials in the execute buffer are handles. 2007-07-05 19:50:43 +02:00
Stefan Dösinger c0cc4d4219 ddraw: Fix an incorrect iface->impl cast. 2007-07-05 19:50:32 +02:00
Stefan Dösinger 58fb9dd5c0 ddraw: Z buffers can be attached to offscreen d3d devices. 2007-07-03 12:32:42 +02:00
Alexandre Julliard 7a7f416ace ddraw: Don't link against X libraries. 2007-06-26 17:44:36 +02:00
Michael Stefaniuc d6c2e6f067 ddraw: Fix missing unlock on an error path. Found by Smatch. 2007-06-26 11:57:56 +02:00
Stefan Dösinger 4f8eb6a32e wined3d: Clamp material power to 128.0. 2007-06-25 20:03:26 +02:00
Francois Gouget 73032be74a ddraw/tests: Fix compilation on systems that don't support nameless unions. 2007-06-25 13:25:39 +02:00
Stefan Dösinger fb269f9210 wined3d: Depthfill blits are allowed between BeginScene and Endscene. 2007-06-22 13:42:51 +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 974784cde0 ddraw: Hold the Lock in IDirect3DViewport methods. 2007-06-05 12:22:23 +02:00
Stefan Dösinger f45684d547 ddraw: Hold the lock in IDirect3DVertexBuffer methods. 2007-06-05 12:22:14 +02:00
Stefan Dösinger 9aab44ded5 ddraw: Hold the lock in IDirect3DTexture methods. 2007-06-05 12:22:03 +02:00
Stefan Dösinger 6eb8e3fb6f ddraw: Hold the lock in IDirect3DLight methods. 2007-06-05 12:21:53 +02:00
Stefan Dösinger a2227de7af ddraw: Hold the lock in IDirectDrawPalette methods. 2007-06-05 12:21:44 +02:00
Stefan Dösinger d0de7e72ec ddraw: Hold the lock in IDirect3DMaterial methods. 2007-06-04 12:53:09 +02:00
Stefan Dösinger e38439bdfe ddraw: Hold the lock in IDirectDrawGammaControl methods. 2007-06-04 12:53:01 +02:00
Stefan Dösinger 0086d490a9 ddraw: Hold the lock in IDirectDrawClipper methods. 2007-06-04 12:52:56 +02:00
Stefan Dösinger d5d7d4dae4 ddraw: Hold the lock in IDirect3DDevice methods. 2007-06-04 12:52:40 +02:00
Stefan Dösinger ed3f6e8d32 ddraw: Hold the lock in IDirect3DX methods. 2007-05-31 13:07:54 +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
Francois Gouget fa48cb042c Assorted spelling fixes. 2007-05-29 13:47:18 +02:00
Francois Gouget 30b7744472 ddraw/tests: Fix the Visual C++ double to float conversion warnings. 2007-05-29 13:47:03 +02:00
Francois Gouget 77440b098f ddraw/tests: Fix compilation with Visual C++ 2005. 2007-05-29 13:44:35 +02:00
Francois Gouget 47b6392b44 ddraw: Fix the name of DDSPD_IUNKNOWNPOINTER. 2007-05-29 13:17:42 +02:00
Detlef Riekenberg fb0a9291ea ddraw: Do not crash when Clipper is NULL. 2007-05-29 11:55:58 +02:00
Stefan Dösinger 83ba2c762d ddraw: Hold the dll lock in IDirectDraw methods. 2007-05-21 19:12:19 +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
Francois Gouget 0acb5810bf Assorted spelling fixes. 2007-05-15 18:09:16 +02:00
Marcus Meissner b7ac570f39 ddraw/tests: Check for failing to create surfaces. 2007-05-14 15:41:21 +02:00
Francois Gouget 72ed214932 ddraw/tests: Fix compilation on systems that don't support nameless unions. 2007-05-14 14:25:10 +02:00
Stefan Dösinger 4295b18950 ddraw: Avoid fallout of failing tests. 2007-05-11 11:26:34 +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 6e22f03654 ddraw: Remove all non-d3d7 capability flags. 2007-05-11 11:21:11 +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 df891b823a ddraw: Always set fullscreen mode in wined3d.
DDSCL_NORMAL is not set at initialization. Instead of making this a
& DDSCL_NORMAL || == 0 check just set fullscreen mode always. WineD3D
will catch NOP changes anyway.
2007-05-10 11:40:40 +02:00
Stefan Dösinger d9fef10b71 ddraw: Some caps fixes.
Cards at DirectX7 times did not support non power of 2 textures, and
some games check the capatiblity flags incorrectly. Rollcage expects the
D3DPTEXTURECAPS_POW2 (limitation) flag set and fails with the reference
rasterizer which support NP2 textures and doesn't have the cap set.
2007-05-10 11:40:01 +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 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 0fb41a8845 wined3d: Make the blit -> flip work for windowed rendering. 2007-05-08 18:28:08 +02:00
Stefan Dösinger d93e161b1f d3d: Move clippers from DDraw to wined3d. 2007-05-08 18:27:44 +02:00
Detlef Riekenberg 00028b0c37 ddraw/tests: Fix typos in messages. 2007-05-08 13:25:55 +02:00
Stefan Dösinger 00e37a81b2 ddraw: Primary surfaces always have screen size. 2007-05-07 21:43:09 +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 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
Francois Gouget 26553b6c1d ddraw/tests: Fix compilation on systems that don't support nameless unions. 2007-05-07 14:30:14 +02:00
H. Verbeet 0b9808761f ddraw: Add a surface locking test. 2007-05-04 13:41:37 +02:00
H. Verbeet 7b48db196f d3d: Fix the surface locking rectangle validation. 2007-05-04 13:41:13 +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 d913744f1e d3d: Calculate the size of WINED3DFVF_XYZBx FVFs. 2007-05-03 14:24:16 +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 378005442e ddraw: Cube map structure test. 2007-05-01 11:42:25 +02:00
Stefan Dösinger cdaf29f64e ddraw: Cube texture support. 2007-05-01 11:42:25 +02:00
Stefan Dösinger 94b3fddec8 d3d: Pass the cube face to Create*Texture's surface creation callback. 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
Francois Gouget 5a8fc34033 Assorted spelling fixes. 2007-04-30 12:35:11 +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 87544190a5 ddraw: Move the additional surface creation into a seperate function. 2007-04-30 12:21:21 +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 b4d48c7fce ddraw: Search for d3d primary a bit differently. 2007-04-30 12:20:56 +02:00
Stefan Dösinger 88af9702f1 ddraw: Use EnumAttachedSurfaces for SetColorKey. 2007-04-27 11:43:45 +02:00
Stefan Dösinger a46012eff2 ddraw: Search for texture sublevels with GetAttachedSurface. 2007-04-27 11:43:36 +02:00
Stefan Dösinger c2ffffe1ff ddraw: Use EnumAttachedSurfaces to search for a render target. 2007-04-27 11:43:27 +02:00
Stefan Dösinger 86eb79b0c9 ddraw: Add a test for EnumSurfaces. 2007-04-27 11:43:17 +02:00
Stefan Dösinger 460f71dcf8 d3d: Fix ProcessVertices.
IDirect3DDevice9::ProcessVertices takes a vertex declaration, not a
vertex buffer. The source for ProcessVertices is taken from the
stateblock, not the vertex declaration.
2007-04-26 14:54:29 +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
Stefan Dösinger 725057da47 d3d: Remove dependency on ddraw.h header. 2007-04-16 13:20:15 +02:00
Stefan Dösinger 8a5b6df483 d3d: Enumerate palettized formats for ddraw. 2007-04-16 12:12:34 +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 1d4a4b75bc ddraw: When changing the back buffers also update the render target. 2007-03-29 21:00:25 +02:00
Francois Gouget d9e8a0f63e Remove unneeded checks on the GetModuleHandle() return value for cases where we are linked with the dll. 2007-03-28 12:36:13 +02:00