Alexander Dorofeyev
9af59fb7f0
ddraw: Release interfaces when exiting with error.
2008-02-21 12:53:00 +01:00
Detlef Riekenberg
1eb52667ac
ddraw/tests: Avoid endless loop, when T&L is not supported.
2008-02-20 12:06:28 +01:00
Michael Stefaniuc
01cba07624
ddraw: Add missing unlock on error path. Found by Smatch.
2008-02-19 20:54:50 +01:00
Alexander Dorofeyev
74c380cb7b
ddraw/tests: Add test for palette handling in IDirect3DTexture_Load.
2008-02-19 13:39:24 +01:00
Alexander Dorofeyev
cfa40a22c9
ddraw/tests: Split d3d1 initialization and destruction into separate functions.
...
Slight rewrite to make creating additional D3D1 tests easier.
2008-02-19 13:39:23 +01:00
Alexander Dorofeyev
ed44f9d130
ddraw: Fix palette handling in IDirect3DTexture_Load.
...
This fixes a potential refcounting problem and makes the function fail with NULL
destination texture's palette and non-NULL source palette like it does on native.
2008-02-19 13:39:17 +01:00
Alexander Dorofeyev
ddd0ec1670
ddraw/tests: Add test for branch instruction with non-zero offset.
2008-02-19 12:06:50 +01:00
Alexander Dorofeyev
4981eda895
ddraw: Fix executebuffer branching with non-zero offset.
...
Fixes a crash in Moto Racer 2.
2008-02-19 12:06:38 +01:00
Roderick Colenbrander
1079f37407
wined3d: When DDCAPS_ALLOW256 is set, palette entry 0 and 255 are filled with black and white.
2008-02-19 12:06:25 +01:00
Francois Gouget
4c8e218252
Assorted spelling fixes.
2008-02-15 12:09:24 +01:00
Reece H. Dunn
8354995482
ddraw: Spelling fixes in the d3d test output.
2008-02-06 13:49:45 +01:00
Stefan Dösinger
8ad3a1f49e
ddraw: Some drivers return a refresh rate of 0.
2008-02-06 12:43:53 +01:00
Francois Gouget
20b41af9f1
ddraw/tests: Fix compilation on systems that don't support nameless unions.
2008-02-05 12:19:37 +01:00
Francois Gouget
d0794c4aeb
Assorted spelling fixes.
2008-01-23 21:16:22 +01:00
Lei Zhang
8bbb3d68e1
ddraw: Register the DirectDraw 7 Object.
2008-01-23 11:31:42 +01:00
Alexander Dorofeyev
320e253805
ddraw/tests: Add test for D3DTBLEND_MODULATE.
2008-01-22 11:19:34 +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
Francois Gouget
7478d9c44d
ddraw/tests: Fix compilation on systems that don't support nameless unions.
2008-01-16 12:46:09 +01:00
Alexander Dorofeyev
d14ef91c92
ddraw/tests: Add test for rendering vertices with zero rhw.
2008-01-08 12:53:31 +01:00
Peter Dons Tychsen
6e8b7c4cef
ddraw: Add missing pitch in callback from EnumDisplayModes().
2008-01-04 13:55:12 +01:00
Andrew Talbot
f074c0e162
ddraw: Remove unneeded casts.
2008-01-02 12:38:41 +01:00
Alexander Dorofeyev
18143f693b
ddraw: Remove redundant iface<->impl casts in IDirect3DTextureImpl_Load.
...
The implementation pointer retrieved from interface ptr wasn't being used for
anything except retrieving same interface ptr back.
2007-12-31 17:48:39 +01:00
Alexander Dorofeyev
9dbdacbd82
ddraw: Release palette interfaces.
2007-12-31 17:48:16 +01:00
Alexander Dorofeyev
f4337b4714
ddraw: Fix incorrect WARN text.
2007-12-17 12:38:43 +01:00
Francois Gouget
05170942de
ddraw/tests: Fix compilation on systems that don't support nameless unions.
2007-12-10 12:06:09 +01:00
Alexander Dorofeyev
4051a09eb2
ddraw: Fix wrong initialization order in IDirect3DDevice vtable.
2007-12-08 19:54:51 +01:00
Stefan Dösinger
f700cbe74b
wined3d: Add an alpha blending test.
2007-12-07 16:26:43 +01:00
Stefan Dösinger
f29d947f6a
ddraw: Set X8R8G8B8 for 32 bpp.
2007-12-07 16:26:31 +01:00
Francois Gouget
90834020da
ddraw: Modify DDRAW_dump_(DWORD|PTR|DDCOLORKEY|DDSCAPS2|pixelformat)() to print a trailing '\n'.
2007-12-07 14:52:56 +01:00
Francois Gouget
6a8f961e08
ddraw: Rename DDRAW_dump_flags_() to DDRAW_dump_flags_nolf() to clarify its difference from DDRAW_dump_flags().
2007-12-07 14:52:51 +01:00
Andrew Talbot
1f73a97a5a
ddraw: Remove unneeded casts.
2007-12-06 12:07:41 +01:00
Andrew Riedi
63f4b6f024
ddraw: DPRINTF -> TRACE.
2007-12-05 12:34:33 +01:00
Stefan Dösinger
3cc253c557
wined3d: Enabling too many lights is silently ignored.
...
I'm resending this patch because my reply to Henri's concern came too late.
Henri noted that I am enabling lights that do not exist. Existing tests show
that if no light is assigned to the index, LightEnable creates a light with a
set of default parameters, so the tests should be fine.
From 9ee4c61805b50886f79e87d744b52f27b7b00b4e Mon Sep 17 00:00:00 2001
From: Stefan Doesinger <stefan@codeweavers.com>
Date: Thu, 29 Nov 2007 13:22:47 +0100
Subject: [PATCH] WineD3D: Enabling too many lights is silently ignored
This patch adds tests for all d3d versions that show that Windows
pretends that enabling more lights than supported succeeds. D3D_OK is
returned, and the light is reported as enabled.
What is not tested in this patch is the rendering output of this
situation, thus the FIXME is still written.
2007-12-03 13:44:07 +01:00
Stefan Dösinger
714991bf3f
ddraw: Fix a test for Vista.
2007-11-07 12:08:07 +01:00
Stefan Dösinger
f9dba29477
ddraw: Be less picky about float precision.
2007-11-07 12:08:00 +01:00
Stefan Dösinger
0d016254a0
wined3d: Don't test D3DDEVICE surfaces in dsurface tests.
2007-11-05 13:24:36 +01:00
Stefan Dösinger
848650d908
ddraw: Downgrade the SetCooperativeLevel FIXME to a TRACE.
2007-10-10 11:59:33 +02:00
Stefan Dösinger
7a445747ea
ddraw: Do not fail on surface creation errors, skip instead.
2007-10-10 11:59:26 +02:00
Stefan Dösinger
c5055fb3eb
ddraw: Cope with Init3D failures.
2007-10-10 11:58:37 +02:00
Roderick Colenbrander
03fa9f8730
ddraw: Fix RegDeleteTreeA/W compile issues when building ddraw for Windows.
2007-10-01 14:17:09 +02:00
Stefan Leichter
b78736a4bb
ddraw: Remove 'recursive registry key delete' function.
2007-09-25 11:19:03 +02:00
David Hedberg
019cc506a8
ddraw: Enumerate additional devices in IDirect3D7_EnumDevices.
2007-09-10 16:47:30 +02:00
David Hedberg
c53487b599
ddraw: Fix and test case for situation where DDSD_MIPMAPCOUNT is set and dwMipMapCount is 0.
2007-09-10 15:29:46 +02:00
Stefan Dösinger
d0fdb1ea7e
d3d: Add a test for double surface locking.
2007-08-31 11:25:19 +02:00
Stefan Dösinger
a06e002e93
wined3d: Add a wined3d private WINED3DSBT_RECORDED.
2007-08-15 09:36:20 +02:00
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
Andrew Talbot
4eb936db33
ddraw: Replace inline static with static inline.
2007-03-20 13:00:45 +01:00
A C Hurst
8f14d4639d
wined3d: Fix struct size calculation in EnumTextureFormats.
2007-03-19 12:23:29 +01:00
Stefan Dösinger
022e884342
wined3d/ddraw: Forward DDSCL_MULTITHREADED to wined3d.
2007-03-19 12:17:18 +01:00
Stefan Dösinger
4b445124d3
direct3d: Add a fixed function fog test.
2007-03-15 12:14:50 +01:00