Commit Graph

639 Commits

Author SHA1 Message Date
Ge van Geldorp ae79b02ca6 d3d8/tests: Make tests pass on a W2K8 VM. 2009-01-27 11:30:03 +01:00
Francois Gouget 1f601015cd d3d8: Make some device_parent_*() functions static. 2009-01-26 15:13:29 +01:00
Henri Verbeet b5eaca542e d3d8: Properly test for dynamic usage in device_parent_CreateSurface(). 2009-01-16 13:29:52 +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
Michael Stefaniuc 357c3f4a2c d3d8: Remove superfluous pointer casts. 2009-01-14 13:51:01 +01:00
Stefan Dösinger a69c86d3f5 ddrawex: Add a test for the permanent DC function. 2009-01-09 16:26:06 +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
Paul Vriens 49da5031c2 d3d8/tests: Fix a test failure on VMware and VirtualBox. 2009-01-05 15:09:17 +01:00
Henri Verbeet 007c648c20 d3d: Correct some debug levels. 2008-12-30 11:36:50 +01:00
Henri Verbeet ff409280e7 d3d8: Port the d3d9 stateblock tests to d3d8. 2008-12-30 11:36:11 +01:00
Henri Verbeet 664b58dc6f d3d: Make sure the device is properly released when exiting the tests. 2008-12-29 12:16:35 +01:00
Henri Verbeet 4adb342327 wined3d: Remove GetFVF() and SetFVF() from IWineD3DDevice. 2008-12-17 14:02:03 +01:00
Henri Verbeet dfe41770e7 d3d8: Add a test for GetVertexShader() with a FVF set. 2008-12-16 12:52:16 +01:00
Henri Verbeet 46572f682c wined3d: Refuse to create shaders with a NULL function. 2008-12-16 12:51:49 +01:00
Henri Verbeet 62497e8772 d3d8: Remove unused code.
Also corrects some related comments.
2008-12-16 12:51:40 +01:00
Henri Verbeet 0a47e1beb4 d3d8: Use the wined3d declaration to retrieve the d3d8 shader in IDirect3DDevice8Impl_GetVertexShader().
This makes it no longer necessary to create a wined3d vertex shader
when the d3d8 vertex shader has a NULL function.
2008-12-15 14:00:46 +01:00
Henri Verbeet b9468a89fc d3d8: Create a d3d8 declaration as parent for FVF based declarations. 2008-12-15 14:00:37 +01:00
Francois Gouget ec7cbc26f5 d3d8: Make D3D8CB_CreateSurface() static. 2008-12-15 12:25:02 +01:00
Huw Davies 855ce5bd86 d3d8/tests: Skip tests if we can't create the D3D8 object. 2008-12-04 12:51:18 +01:00
Alexandre Julliard 00e0d1510b d3d8: Make a function static. 2008-12-04 12:46:52 +01:00
Henri Verbeet a6917b143d wined3d: Use IDL to generate wined3d.h. 2008-11-25 13:37:22 +01:00
Francois Gouget d3c7b2f7cc d3d8: Remove WINAPI on static functions where not needed. 2008-11-24 14:18:42 +01:00
Michael Stefaniuc 4f199a10ad Remove the remaining casts of NULL. 2008-11-03 13:42:09 +01:00
Stefan Dösinger 93af8d3631 d3d: Do not restore the display mode in ddraw. 2008-11-03 13:34:13 +01:00
Henri Verbeet 30a504bab8 d3d8: Don't ignore the GetCursorInfo() return value (LLVM/Clang). 2008-11-03 11:49:27 +01:00
Henri Verbeet 092b51e82a wined3d: Rename CreateAdditionalSwapChain to CreateSwapChain. 2008-10-28 12:46:46 +01:00
Henri Verbeet 7142754820 wined3d: Remove the SDKVersion parameter to WineDirect3DCreate(). 2008-10-24 14:24:59 +02:00
Alexandre Julliard 7f327237bf Convert remaining source files to utf-8. 2008-10-18 19:23:08 +02:00
Detlef Riekenberg 38abbe3d60 d3d8/tests: Fix test on win9x with broken driver. 2008-10-13 12:03:25 +02:00
Aric Stewart f7cacc1f09 d3d8: Initialize IDirect3DDevice8 *device to NULL in case of immediate cleanup (Coverity 795). 2008-10-07 15:21:20 +02:00
Rob Shearman 0f236745a9 d3d8/9: Use WINED3D_OK instead of D3D_OK in vertexshader.c. 2008-10-06 13:07:02 +02:00
Rob Shearman 941801c548 d3d8: Fix incorrect ordering of brackets in IDirect3DVertexShader8Impl_GetDevice.
The comparison should be (D3D_OK == hr && myDevice), not (D3D_OK == (hr && myDevice)).
(Found with PreFast.)
2008-09-30 10:20:41 -05:00
Henri Verbeet 8f07e99ec5 d3d8: Add a test for auto depth stencil reset. 2008-09-10 12:05:45 +02:00
Henri Verbeet 43f5d8e5ad d3d8: Fix IDirect3DDevice8::SetRenderTarget().
The render target should be left alone if the render target argument is
NULL. WineD3D calls should be done inside the critical section.
2008-09-10 12:05:25 +02:00
Henri Verbeet 01539fb926 d3d8: GetDepthStencilSurface returns D3DERR_NOTFOUND when no depth stencil is present. 2008-09-10 12:05:10 +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 acaeb92042 d3d8/d3d9: Remove unconsistent tests for SetMaterial. 2008-08-22 11:32:09 +02:00
H. Verbeet 898c2c9778 d3d8: Don't store shader_handle's.
They're not stable across table resizes.
2008-08-20 10:26:51 +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
Tobias Jakobi 9ba3d03e78 d3d8: Fix IDirect3DDevice8::CreateImageSurface pool type. 2008-07-08 21:08:32 +02:00
Tobias Jakobi 413ce31eff d3d8: Add testcase for IDirect3DDevice8::CreateImageSurface. 2008-07-08 20:39:08 +02:00
Alexandre Julliard f98157f601 d3d8: Don't depend on the dxerr8 static library in the tests. 2008-07-08 17:51:45 +02:00
Alexandre Julliard 79c64acc7b tests: Don't depend on the static uuid libraries in the tests.
This avoids trouble with the broken MingW libraries when
cross-compiling the tests.
2008-07-08 17:51:45 +02:00
H. Verbeet 873c0afb82 d3d: Allow more imprecision in the texop test. 2008-06-25 20:29:05 +02:00
H. Verbeet 3546b8bbfc d3d8: Use color_match() in alpha_test().
Also fixes some of the messages.
2008-06-24 11:48:32 +02:00
Alexandre Julliard 360d87f420 d3d8: Make Direct3DCreate8 fail if we can't initialize wined3d. 2008-06-24 11:07:43 +02:00
Huw Davies a52224a48b d3d8: Fix typo in test. 2008-06-20 11:19:34 +02:00
Dmitry Timoshkov 92dfc02b01 d3d8: Avoid a not needed address-of operator. 2008-06-06 10:29:14 +02:00
H. Verbeet 2f6fbdec8c d3d8: Test our texop implementation. 2008-05-27 12:04:29 +02:00
H. Verbeet 14b13d0687 d3d: Use an alpha capable backbuffer format in the visual tests. 2008-05-27 12:04:05 +02:00
Andrew Talbot c8d495bac1 d3d8: Dangling pointers fix. 2008-05-05 19:46:15 +02:00
Alexandre Julliard dad21bbcbf makefiles: List the static libraries as normal imports instead of extra libs. 2008-04-30 14:23:55 +02:00
James Hawkins 537c4babed d3d8: Fix a few test failures in win2k3. 2008-04-25 11:33:47 +02:00
David Adam 7df193676e wined3d: Fix a possible null dereference. 2008-04-21 16:54:00 +02:00
Alexander Dorofeyev d6ba069d9e wined3d: Improve detection of device palette change. 2008-04-03 11:31:57 +02:00
Stefan Dösinger 0fa0df7843 d3d8: Reject broken normal declaration types with fixed function. 2008-03-28 14:49:30 +01:00
Austin English 06d429d6b6 Spelling fixes. 2008-03-27 20:48:19 +01:00
Austin English 4777f26d61 Spelling fixes. 2008-03-27 11:10:07 +01:00
Stefan Dösinger 8869c0f147 d3d: De-pointerize the WINED3DCAPS structure. 2008-03-25 19:36:38 +01:00
Alexander Dorofeyev 94949ab849 d3d8/tests: Test DrawIndexedPrimitiveUP with primitive count zero. 2008-03-24 20:40:24 +01:00
Alexander Dorofeyev 785e6fa61f d3d8/tests: Cover one more case in p8_texture_test.
Test if a P8 texture gets properly updated if there was a palette change while 
this texture wasn't bound to any stage.
2008-03-10 12:54:54 +01:00
Rob Shearman 48000893f9 makefiles: Simplify the use of the IMPORTLIB variable in the DLL makefiles.
Only specify the root to keep platform-specifics out of the individual 
DLL makefiles.
2008-03-04 20:55:01 +01:00
Alexander Dorofeyev 57d506f654 d3d8/tests: Add a P8 texture test. 2008-02-25 12:38:37 +01:00
Francois Gouget 4c8e218252 Assorted spelling fixes. 2008-02-15 12:09:24 +01:00
Alexandre Julliard 980ee365a0 wined3d: Use unsigned int instead of size_t for element counts. 2008-01-07 17:17:04 +01:00
Gerald Pfeifer 55e92b9410 d3d8: Fix type of loop variable. 2008-01-04 12:12:31 +01:00
Gerald Pfeifer 21a9c2d2f9 wined3d: Removed dead FIXME checks. 2008-01-03 11:53:29 +01:00
Andrew Talbot 70d82dfbd9 d3d8: Remove unneeded casts. 2008-01-02 12:38:41 +01:00
Stefan Dösinger f700cbe74b wined3d: Add an alpha blending test. 2007-12-07 16:26:43 +01:00
Alexandre Julliard ad9396302d Removed some unneeded imports. 2007-12-06 21:24:24 +01:00
Andrew Talbot cd2964483a d3d8: Remove unneeded casts. 2007-12-05 12:04:39 +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 f0c479d6f7 d3d8: Destroy the window after the visual test. 2007-11-20 13:10:51 +01:00
Stefan Dösinger 6cecaa9852 d3d8: Release the vertex declarations array when destroying the device. 2007-11-20 12:53:00 +01:00
Stefan Dösinger 4bd65f2a66 d3d8: Initialize the vertex decl when allocating it. 2007-11-05 13:24:36 +01:00
Stefan Dösinger d0fdb1ea7e d3d: Add a test for double surface locking. 2007-08-31 11:25:19 +02:00
Stefan Dösinger 6ec6c941fa wined3d: BaseVertexIndex can be negative. 2007-08-27 12:00:42 +02:00
Stefan Dösinger a06e002e93 wined3d: Add a wined3d private WINED3DSBT_RECORDED. 2007-08-15 09:36:20 +02:00
Paul Vriens c20a285510 d3d8/tests: Make tests run again on win95. 2007-08-14 12:45:57 +02:00
Francois Gouget a9abf580b5 d3d8/tests: DXGetErrorString8() prints 'Unknown' for too many hresults which makes diagnosis impossible. So print the raw code instead. 2007-08-10 11:55:58 +02:00
Stefan Dösinger 2d15cb8b27 d3d: Add a simple offscreen rendering test. 2007-08-08 15:32:00 +02:00
Stefan Dösinger 573db35bf6 d3d8: Skip tests if d3d is not supported. 2007-08-06 12:05:17 +02:00
Francois Gouget 69958262eb d3d8: Better match the PSDK types and fix the winapi_check warnings. 2007-08-03 12:44:22 +02:00
Stefan Dösinger e70adcd8b6 d3d8: Only test pixel shaders if they are supported. 2007-07-30 23:37:58 +02:00
Stefan Dösinger 19c574b7e5 d3d8: Use a less demanding format for the depth stencil test. 2007-07-30 23:37:58 +02:00
Stefan Dösinger 9a06fd000b d3d8: Only test volume textures if they are supported. 2007-07-30 23:37:58 +02:00
Stefan Dösinger 6ff16b9f2e d3d8: Only test cube textures if they are supported. 2007-07-30 23:37:58 +02:00
Stefan Dösinger 630d602631 d3d8: Only test pixel shaders for refcounting if they are supported. 2007-07-30 12:50:12 +02:00
Stefan Dösinger 5016f48daa d3d8: Skip volume test if volume textures are not supported. 2007-07-30 12:50:06 +02:00
Stefan Dösinger a1f83aae8e wined3d: rsq and rcp use the .w component if no swizzle is given. 2007-07-03 12:29:34 +02:00
Stefan Dösinger 527295e57f d3d8: Convert fvfs to vertex declarations. 2007-06-21 13:08:57 +02:00
Stefan Dösinger 078523f73e wined3d: Present does not clear the depth stencil. 2007-06-14 13:22:19 +02:00
Stefan Dösinger 00c8dbe2aa d3d8: Hold the lock in IDirect3Dtexture8 methods. 2007-06-13 11:08:20 +02:00
Stefan Dösinger e980058f58 d3d8: Hold the lock in IDirect3DVolumeTexture8 methods. 2007-06-13 11:08:14 +02:00
Stefan Dösinger 3e8948c173 d3d8: Hold the lock in volume methods. 2007-06-13 11:08:06 +02:00
Stefan Dösinger 68d4fbeab3 d3d8: Hold the lock in IDirect3DVertexBuffer methods. 2007-06-13 11:07:59 +02:00
Stefan Dösinger 1bf30c037c d3d8: Hold the lock in swapchain methods. 2007-06-13 11:07:52 +02:00
Stefan Dösinger 34d1beed74 d3d8: Hold the lock in IDirect3DSurface8 methods. 2007-06-12 11:14:16 +02:00
Stefan Dösinger 1ec8788b34 d3d8: Hold the lock in IDirect3DIndexBuffer8 methods. 2007-06-12 11:14:01 +02:00
Stefan Dösinger e96287e49c d3d8: Hold the lock in cubetexture methods. 2007-06-12 11:13:49 +02:00
Stefan Dösinger 09aefe2108 d3d8: Hold the lock in IDirect3DDevice8 methods. 2007-06-11 13:54:33 +02:00
H. Verbeet 6ee356fca0 wined3d: Get rid of the pBaseVertexIndex parameter to IWineD3DDeviceImpl_GetIndices, use GetBaseVertexIndex instead. 2007-06-07 11:20:48 +02:00
Stefan Dösinger 4f14c4700e d3d8: Hold the DLL lock in IDirect3D8 methods. 2007-06-06 13:39:49 +02:00
Stefan Dösinger 193ccecaee d3d8: Add a dll global critical section. 2007-06-06 13:39:36 +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
Francois Gouget f64f30cdba d3d8/tests: Fix the Visual C++ double to float conversion warnings. 2007-05-29 13:46:56 +02:00
Francois Gouget d476313a49 direct3d: Remove misspelled constants as they exist correctly spelled. 2007-05-21 12:38:54 +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
H. Verbeet 2c7328891b d3d8: Add a surface locking test. 2007-05-04 13:41:30 +02:00
H. Verbeet 7b48db196f d3d: Fix the surface locking rectangle validation. 2007-05-04 13:41:13 +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 725057da47 d3d: Remove dependency on ddraw.h header. 2007-04-16 13:20:15 +02:00
Andrew Talbot fb367f813a d3d8: Void functions should not return a value. 2007-04-09 12:15:28 +02:00
Felix Nawothnig ea0d7f17ca d3d8: Add missing relay trace. 2007-04-07 11:01:26 +02:00
Felix Nawothnig c343fb1cdf wined3d: Make CreateCubeTexture fail when not supported. 2007-04-02 11:28:39 +02: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
Paul Vriens c912f791ee d3d8/tests: Use skip as is done in the other tests. 2007-03-12 12:21:49 +01:00
H. Verbeet 6bed8536be d3d8: Add tests for GetVertexShaderDeclaration, GetVertexShaderFunction and GetPixelShaderFunction. 2007-03-08 11:58:57 +01:00
H. Verbeet b68c72faef d3d8: Implement IDirect3DDevice8_GetVertexShaderDeclaration. 2007-03-08 11:58:41 +01:00
H. Verbeet 138826b8cc d3d8: Save the d3d8 vertex declaration. 2007-03-08 11:58:23 +01:00
Stefan Dösinger 4a16dbbbec wined3d: More Clear fixes.
Test for rectangles with x1 > x2 and y1 > y2. Empire earth passes such rects.
2007-02-27 12:20:10 +01:00
Stefan Dösinger bbcf98209c wined3d: No bounds checking is done on sampler / texture numbers. 2007-02-20 11:49:42 +01:00
Stefan Dösinger ef68e32b03 wined3d/d3d8: Move todo about sw vp usage to d3d8. 2007-02-20 11:45:56 +01:00
Stefan Dösinger 266fc77cf0 wined3d: Lighting is calculated for vertices without normals.
It still should be disabled for transformed vertices though.
2007-02-19 13:08:35 +01:00
Stefan Dösinger 03bc11fa16 wined3d: Visual test framework. 2007-02-19 13:07:44 +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 d74712690c d3d8: Set WINED3DPRESENT_PARAMETERS.MultiSampleQuality to a valid pointer. 2007-02-15 17:22:35 +01:00
Alexandre Julliard a43cb2807a d3d8: Avoid a size_t printf format warning. 2007-02-14 14:43:14 +01:00
H. Verbeet 157205c085 d3d8: Don't store the d3d8 declaration in the wined3d object. 2007-02-14 13:56:50 +01:00
H. Verbeet efed9aea1f d3d8: Move loading local d3d8 vertex shader constants from wined3d to d3d8. 2007-02-14 13:54:55 +01:00
H. Verbeet dea795f7ac d3d9: Don't store the d3d9 declaration in the wined3d object. 2007-02-14 13:54:42 +01:00
H. Verbeet 32e5cac2be wined3d: Get rid of the vertexDeclaration field in IWineD3DVertexShaderImpl. 2007-02-14 13:54:29 +01:00
H. Verbeet 5ad6766c85 d3d8: Store the d3d8 vertex declaration in the d3d8 vertex shader. 2007-02-14 13:54:17 +01:00
H. Verbeet a0b417725a d3d8: Add an IDirect3DVertexDeclaration8 class to hold the wined3d vertex declaration. 2007-02-14 13:50:57 +01:00
Stefan Dösinger 00aa8ab08c d3d8: Deleting bound shaders unbinds them. 2007-02-13 12:07:46 +01:00
Stefan Dösinger 67b1f4a7e9 wined3d: BeginScene and EndScene tests and fixes. 2007-02-12 12:08:34 +01:00
Francois Gouget a76e6b11b0 d3d8/tests: Warn that tests were skipped if we could not load d3d8.dll.
But report a failed test if a mandatory function is missing from it.
2007-01-12 11:25:27 +01:00
H. Verbeet d73e5d6fc8 d3d8: IDirect3DDevice8Impl_GetVertexShaderDeclaration gets passed a handle instead of a pointer. 2007-01-08 11:46:05 +01:00
H. Verbeet 6e3b732ffb d3d8: IDirect3DDevice8Impl_GetVertexShaderFunction gets passed a handle instead of a pointer. 2007-01-08 11:46:05 +01:00
H. Verbeet cae630f92e d3d8: IDirect3DDevice8Impl_GetPixelShaderFunction gets passed a handle instead of a pointer. 2007-01-08 11:46:05 +01:00
Stefan Dösinger 71631f7638 wined3d: Use the baseVertexIndex in the stateblock. 2007-01-03 11:02:51 +01:00
Louis Lenders e236d91ab8 d3d8: Fix failing tests on windows, when no 3d hardware acceleration is available. 2007-01-02 13:24:14 +01:00
Alexandre Julliard 005efa740b d3d8/tests: Avoid sizeof in traces. 2006-12-29 12:49:43 +01:00
Chris Robinson b66a52856c d3d8: Don't report Shader Model 2.0 or higher. 2006-12-29 12:49:41 +01:00
Chris Robinson b7b9d4e3c7 d3d: GetStreamSource on a stream with NULL data isn't an error. 2006-12-26 12:52:54 +01:00
Chris Robinson ed21935479 d3d: Fix adapter mode enumeration and filtering. 2006-12-20 17:58:34 +01:00
Markus Amsler 87083c9d71 d3d8: Handle volume container in d3d8. 2006-12-18 12:07:54 +01:00
Markus Amsler 0531858146 d3d8: Handle surface container in d3d8. 2006-12-18 12:07:46 +01:00
Markus Amsler 5e0fc62135 d3d: Callback infrastructure for implicit swap chain destruction in IWineD3DDevice. 2006-12-18 12:07:26 +01:00