Commit Graph

605 Commits

Author SHA1 Message Date
Alasdair Sinclair f95b0209ab d3d9/tests: Fix missing void in empty parameter list. 2009-01-28 12:10:47 +01:00
Marcus Meissner ace65a527f d3d9: Initialize hr (Coverity). 2009-01-28 12:10:28 +01:00
Stefan Dösinger 50109aa969 wined3d: Get rid of last_was_foggy_shader & friends.
The fog settings do not depend on wether the shader writes to oFog or not,
instead they depend on the FOGVERTEXMODE and FOGTABLEMODE settings, and if a
vertex shader is bound at all.

It works the same way as with the fixed function, and having a vertex shader
is the same as using pretransformed vertices, just that the fog coord comes
from the shader instead of the specular color:

FOGTABLEMODE != NONE: The Z coord is used, oFog is ignored
FOGTABLEMODE == NONE, with VS: oFog is used
FOGTABLEMODE == NONE, no VS, XYZ: Z is used
FOGTABLEMODE == NONE, no VS, XYZRHW: diffuse color is used
2009-01-20 12:45:40 +01:00
Henri Verbeet 9e7b5676a7 d3d9: Remove some superfluous pointer casts. 2009-01-20 12:34:12 +01:00
Henri Verbeet e6babd8367 d3d9: Properly test for dynamic usage in device_parent_CreateSurface(). 2009-01-16 13:29:57 +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 903c774263 d3d9: Use D3DFOG_* constants instead of plain integers. 2009-01-13 17:33:08 +01:00
Stefan Dösinger b3b60f9602 d3d9: Properly set AutoRestoreDisplayMode. 2009-01-13 16:39:53 +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
Henri Verbeet 04808cc5aa d3d9: Don't test invalid texture stages. 2009-01-06 12:45:14 +01:00
Stefan Dösinger 616ea53226 ddraw: Add a test for IDirectDrawSurface::GetDC. 2009-01-03 15:14:38 +01:00
Roderick Colenbrander a6d28bcc52 d3d9: Relax color matching in bumpmap test. 2009-01-02 11:53:56 +01:00
Henri Verbeet 007c648c20 d3d: Correct some debug levels. 2008-12-30 11:36:50 +01:00
Henri Verbeet 8da71ca6a6 d3d9: Use separate codepaths for failure and NULL return values in GetVertexShader() / GetPixelShader(). 2008-12-30 11:36:42 +01:00
Henri Verbeet 1d9c8a2df7 d3d9: Use a HAL device for the stateblock tests. 2008-12-29 12:16:47 +01:00
Henri Verbeet de494ffe3c wined3d: The initial value for D3DRS_POINTSIZE_MAX depends on the pointsize limit. 2008-12-29 12:16:42 +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 a394dbec13 d3d9: Release the vertex declaration once we're done with it. 2008-12-29 12:16:27 +01:00
Chris Robinson 0bdab5f80c d3d9: Use the correct size for D3DFVF_XYZW. 2008-12-29 11:49:54 +01:00
Henri Verbeet 0fb3cb9314 d3d9: Don't crash in GetFVF() if a NULL vertex declaration is set. 2008-12-24 19:57:51 +01:00
Vincent Pelletier defe641725 d3d9: Set IDirect3DDevice9Impl_GetVertexShader return value to NULL on error. 2008-12-23 20:14:59 +01:00
Rico Schüller bf5912208f d3d9/tests: Don't create a Null-shader in d3d9, it will crash. 2008-12-22 14:14:52 +01:00
Henri Verbeet c889bab8e6 d3d9: Add a test for shader constant application through IDirect3DStateBlock9_Apply().
We already behave correctly here, the test just verifies it.
2008-12-18 13:16:38 +01:00
Henri Verbeet 42036ab6f5 d3d9: Fix a trace. 2008-12-18 13:16:28 +01:00
Henri Verbeet 1e1cf78073 d3d9: Fix the shader constant test.
Using the same values for the test data and the default data masks
potential failures.
2008-12-17 14:02:17 +01:00
Henri Verbeet 4adb342327 wined3d: Remove GetFVF() and SetFVF() from IWineD3DDevice. 2008-12-17 14:02:03 +01:00
Henri Verbeet 46572f682c wined3d: Refuse to create shaders with a NULL function. 2008-12-16 12:51:49 +01:00
Francois Gouget 287dee6e78 d3d9/tests: Make some functions static. 2008-12-12 11:41:53 +01:00
Huw Davies 12b9d37120 d3d9/tests: Skip tests if we can't create the D3D9 object. 2008-12-04 12:51:20 +01:00
Alexandre Julliard 8eccb01a47 d3d9: Make some functions static. 2008-12-04 12:47:04 +01:00
Stefan Dösinger e04556bb16 wined3d: Fix D3DFMT_R32F, R16F, G16R16F, ... in the pixel shader.
This allows us to drop the load time conversion and the clear
readback hack and replaces it with a color fixup in the fixed
function pipeline replacement.
2008-12-04 12:00:15 +01:00
Henri Verbeet a6917b143d wined3d: Use IDL to generate wined3d.h. 2008-11-25 13:37:22 +01:00
Francois Gouget 1c87e4664f d3d9: Remove WINAPI on static functions where not needed. 2008-11-24 14:33:06 +01:00
Francois Gouget 001288ecae d3d9: Remove IDirect3DDevice9Impl_GetFrontBuffer() as it is unused. 2008-11-24 14:33:02 +01:00
Stefan Dösinger cd011661e6 d3d9: Test psize_min vs psize_max vs psize behavior.
Add a test that checks what happens if D3DRS_POINTSIZE, D3DRS_POINTSIZE_MIN
and POINTSIZE_MAX have conflicting values. D3DRS_POINTSIZE_MAX trumps
D3DRS_POINTSIZE_MIN, and both MIN and MAX clamp the D3DRS_POINTSIZE value if it is
outside of their range.
2008-11-20 12:17:18 +01:00
Stefan Dösinger 40c06ea296 d3d9: Add a test for GetTexture with no texture set. 2008-11-04 11:41:20 +01:00
Stefan Dösinger a8497a5545 wined3d: Fix the num blend values -> type match. 2008-11-04 11:40:37 +01:00
Stefan Dösinger 123a3f44d9 d3d9: WINED3DSURFACE_DESC::MultiSampleType is not a DWORD. 2008-11-04 11:40:29 +01:00
Stefan Dösinger 3d96f97ee1 d3d9: Use the correct AddRef and Release macros. 2008-11-04 11:40:23 +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
Stefan Dösinger 561ebb355f d3d9: Test the effect of lighting on the result alpha. 2008-11-03 13:34:13 +01:00
Henri Verbeet eb0c0b3f25 d3d9: Don't ignore the GetCursorInfo() return value (LLVM/Clang). 2008-11-03 11:49:31 +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 90fd6a2f4d d3d9: Convert source files to utf-8. 2008-10-18 19:19:23 +02:00
Detlef Riekenberg 7cfaf4aca0 d3d9/tests: Fix test for old gfx-card. 2008-10-13 12:03:43 +02:00
Detlef Riekenberg c27b37a77e d3d9/tests: Fix test on win9x. 2008-10-13 12:03:38 +02:00
Francois Gouget 0f38a60dd3 Assorted spelling fixes. 2008-10-10 14:14:05 +02:00
Michael Stefaniuc 6a908eb149 d3d9/tests: Use FAILED instead of !SUCCEEDED. 2008-10-08 13:42:25 +02:00
Henri Verbeet 5780b9b56d d3d9: Use more reasonable texture dimensions.
caps.MaxTextureWidth / caps.MaxTextureHeight can potentially be very
large, which could cause a driver to run out of memory. Arguably the
driver shouldn't report such large limits, but there's no reason for
us to create a texture larger than 1024x1024 either.
2008-10-07 12:11:40 +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 a4b2a2c380 d3d9: Fix incorrect ordering of brackets in IDirect3DVertexShader9Impl_GetDevice.
The comparison should be (D3D_OK == hr && myDevice), not (D3D_OK == (hr && myDevice)).
(Found with PreFast.)
2008-09-30 10:20:22 -05:00
Rob Shearman f6813e55c5 d3d9: Fix type used to store return value in IDirect3DDevice9Impl_GetNPatchMode.
It should be a float, not an HRESULT.
2008-09-15 13:23:30 +02:00
Stefan Dösinger 631f751fe1 wined3d: Add a test for zenable=false, zwriteenable=false.
I suspected that in this situation d3d writes to the z buffer, but the
test shows that I was mistaken
2008-09-11 11:43:42 +02:00
Henri Verbeet 3783c5c029 d3d9: Add a test for auto depth stencil reset. 2008-09-10 12:05:41 +02:00
Henri Verbeet 8a77aa03e0 d3d9: Only run the reset test once. 2008-09-10 12:05:36 +02:00
Henri Verbeet c0d770de9e d3d9: GetDepthStencilSurface returns D3DERR_NOTFOUND when no depth stencil is present. 2008-09-10 12:03:55 +02:00
Rico Schüller 525e30e6b7 wined3d/d3d9: Set the initial scissorrect to the dimesions of the backbuffer from the first swapchain of the device. 2008-09-04 12:26:59 +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
Stefan Dösinger 8b1727ae62 wined3d: Report incorrect filtering settings in ValidateDevice. 2008-09-02 14:56:06 +02:00
Stefan Dösinger b294e43206 wined3d: D3DTOP_DOTPRODUCT3 colorop overrides the alphaop.
Note that the fix is only implemented in the arbfp and atifs fragment
pipeline. Unfortunately nvrc doesn't support dot3 as alpha operation.
2008-08-27 13:21:24 +02:00
Stefan Dösinger 4767be8cde wined3d: The final luminance factor is clamped. 2008-08-26 12:07:41 +02:00
Stefan Dösinger 6c6a6a2e61 wined3d: Implement D3DTA_ALPHAREPLICATE in arbfp and atifs.
Also adds a simple test for this. In the fixed function and nvrc/nvts
code this already works properly.
2008-08-26 12:07:41 +02:00
Stefan Dösinger 6c12b81552 wined3d: Implement D3DTOP_BUMPENVMAPLUMINANCE. 2008-08-26 12:07:41 +02:00
Stefan Dösinger e8b9f167d6 wined3d: Fix the texcoord size mask.
There is room for 8 texture coordinates, not just 4.
2008-08-26 12:07:41 +02:00
David Adam acaeb92042 d3d8/d3d9: Remove unconsistent tests for SetMaterial. 2008-08-22 11:32:09 +02:00
Stefan Dösinger b692e86104 wined3d: De-pickify the texbem test. 2008-08-21 13:34:06 +02:00
Stefan Dösinger a901f0966d d3d9: Make the bumpmap test less picky. 2008-08-21 13:33:58 +02:00
Stefan Dösinger bbf313e76a d3d9: Test for fixed function value clamping. 2008-08-21 13:27:58 +02:00
Stefan Dösinger 6a24b28b75 wined3d: Support YUV formats with GL_APPLE_ycbcr_422. 2008-08-20 12:25:00 +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
Rob Shearman 30cd9b473e d3d9: Remove unneeded local variable in IDirect3DDevice9Impl_SetFVF. 2008-08-18 17:15:57 +02:00
Rob Shearman 320aac97e4 d3d9: Fix variable type in IDirect3DDevice9Impl_GetSoftwareVertexProcessing.
IWineD3DDevice_GetSoftwareVertexProcessing returns a BOOL, not an HRESULT.
2008-08-18 17:15:56 +02:00
Stefan Dösinger ef647c9ad9 d3d9: Skip gracefully if A16R16G16B16 is not supported. 2008-08-04 13:12:20 +02:00
Francois Gouget 2592687321 d3d9: Add an API documentation stub to make winapi_check happy. 2008-08-04 13:04:39 +02:00
Stefan Dösinger b554cdbb5a d3d: D3DDECLTYPE_UNUSED is not valid in vertex declarations. 2008-07-24 11:55:42 +02:00
H. Verbeet d1c835f890 d3d9: Use color_match() in test_vshader_input(). 2008-07-24 11:55:27 +02:00
Gerald Pfeifer 971a1e66f4 d3d9: Fix type of loop variable in stream_test() and texop_test(). 2008-07-21 15:06:35 +02:00
Stefan Dösinger 3a224fe289 d3d9: Unset the vertex shader in the compare_instructions test. 2008-07-18 11:40:26 +02:00
H. Verbeet c876c929a2 d3d9: Correct some shader comments. 2008-07-18 11:11:53 +02:00
H. Verbeet 0bebad66f7 d3d9: Replace color_near() with color_match(). 2008-07-18 11:11:49 +02:00
H. Verbeet f902b044d3 d3d9: Use color_match() in vshader_version_varying_test().
Also fixes the range on the test, 0x19 plus 1 equals 0x1a, and
0x003c0000 should've been 0x004c0000.
2008-07-17 11:36:51 +02:00
Tobias Jakobi fb0fbc4b85 d3d9: Remove faulty comment from CreateOffscreenPlainSurface. 2008-07-08 21:08:53 +02:00
Alexandre Julliard a08bb2f04c d3d9: Don't depend on the dxerr9 static library in the tests. 2008-07-08 17:51:46 +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
James Hawkins 7d22101e6b d3d9: Fix a failing test for broken drivers. 2008-07-08 10:48:10 +02:00
Stefan Dösinger c4eae160d7 wined3d: RENDERTARGET | AUTOGENMIPMAP are compatible.
The test used D3DPOOL_MANAGED which is mutually exclusive with
RENDERTARGET usage, thus the call failed.
2008-07-02 12:24:12 +02:00
James Hawkins 74bb01f4a9 d3d9: Fix a test that fails with broken drivers. 2008-07-02 12:16:44 +02:00
H. Verbeet 674b3b84e9 d3d9: Unset the pixel shader at the end of cnd_test().
This prevents failures in subsequent tests when no PS2.0 support is present.
2008-06-25 20:29:12 +02:00
H. Verbeet 873c0afb82 d3d: Allow more imprecision in the texop test. 2008-06-25 20:29:05 +02:00
H. Verbeet 079686b707 d3d9: Use color_match() in fog_with_shader_test(). 2008-06-25 10:43:13 +02:00
H. Verbeet 60b5581e1c d3d9: Use color_match() in alpha_test().
Also fixes some of the messages.
2008-06-24 11:48:38 +02:00
Alexandre Julliard 15a5da9790 d3d9/tests: Test for Direct3DCreate9 failure. 2008-06-24 11:09:47 +02:00
Alexandre Julliard a6e0c9cbf3 d3d9: Make Direct3DCreate9 fail if we can't initialize wined3d. 2008-06-24 11:07:53 +02:00
Paul Vriens 189603a995 d3d9/tests: Fix a few typos. 2008-06-11 12:55:43 +02:00
Dmitry Timoshkov 1c8994247e d3d9: Avoid a not needed address-of operator. 2008-06-06 10:29:18 +02:00
Michael Karcher a6e515af83 d3d9/tests: Keep swapchain while its backbuffer is in use. 2008-06-03 11:11:20 +02:00
Maarten Lankhorst 06f65e65d0 d3d9: Add a test to see whether offscreen surfaces can be locked while a reset occurs. 2008-05-29 12:08:20 +02:00