Commit Graph

797 Commits

Author SHA1 Message Date
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
H. Verbeet 8c79f13663 d3d9: Test our texop implementation. 2008-05-27 12:04:33 +02:00
H. Verbeet 14b13d0687 d3d: Use an alpha capable backbuffer format in the visual tests. 2008-05-27 12:04:05 +02:00
Dan Kegel 83da377494 d3d9/tests: Another wee bit of slop. 2008-05-21 11:38:14 +02:00
Dan Kegel 480297336b d3d9/tests: Add missing skip(). 2008-05-19 13:35:31 +02:00
Dan Kegel 7d989b7f71 d3d9: shademode_test: Increase slop in color comparison. 2008-05-13 11:24:47 +02:00
Francois Gouget 58665f5db7 d3d9/tests: Fix compilation on systems that don't support nameless unions. 2008-05-06 16:10:07 +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 7b385fb60c d3d9: Fix a few test failures in win2k3. 2008-04-28 13:27:51 +02:00
Stefan Dösinger dc684c060f d3d9: Dump the device information in the visual tests. 2008-04-24 22:10:01 +02:00
Stefan Dösinger 97d64396eb d3d9: Check textures for srgb writing, not surfaces. 2008-04-24 22:09:55 +02:00
Stefan Dösinger 27a29a2f6a d3d9: Make the offscreen format test a bit more tolerant. 2008-04-24 22:09:15 +02:00
Stefan Dösinger 5d49dea373 d3d9: Add a test for NP2 stretchrect. 2008-04-24 11:43:18 +02:00
David Adam 7df193676e wined3d: Fix a possible null dereference. 2008-04-21 16:54:00 +02:00
Marcus Meissner c59f18121f d3d9: Initialized 2 variables with NULL. 2008-04-15 14:34:46 +02:00
Chris Robinson fd823fc2d2 wined3d: Check for NULL vertex declarations. 2008-04-09 12:17:35 +02:00
Stefan Dösinger 3e5899b38d d3d9: Some Windows drivers set undefined attributes to 0.0. 2008-04-09 11:55:22 +02:00
Stefan Dösinger 1c3e725d63 d3d9: Accept erros in the fvp->3.0 pixel shader varying test.
Some cards/drivers like ATI and the Geforce 8 driver return an error in
this case, make the test accept that. This lifts some constraints we
have to care for in WineD3D and removes one of the requirement for the
packing shader. We still need the packing shader for vs_1_1 -> ps_3_0
mapping and for indirect pixel shader varying addressing though.
2008-04-09 11:54:09 +02:00
Stefan Dösinger 9cd1d505bd d3d9: Make the srgb reading test less strict. 2008-04-09 11:53:52 +02:00
Rico Schüller 54d23c9669 d3d9: Add stream_test with instancing. 2008-04-07 21:20:59 +02:00
Rico Schüller 29713df8d9 d3d9: fix two copy and paste mistakes. 2008-04-07 12:05:13 +02:00
Rico Schüller 82521353f5 d3d9: Make the shader test more precision tolerant. 2008-04-07 12:05:06 +02:00
Stefan Dösinger c65020646c d3d9: Run the visual test with hardware vertex processing. 2008-04-07 11:49:39 +02:00
Stefan Dösinger 5b7ad3ad61 d3d9: Fix a few ok conditions in the visual tests. 2008-04-07 11:49:27 +02:00
Stefan Dösinger b245c37ce6 d3d9: Accept nvidia hardware vp garbage.
Apparently nvidia cards do not like 3.0 vshader + fixed function fragment
processing, so accept their result. This has no implementation implications
for Wine because we need the code to support the 3.0+ffp combination to
handle 3.0+1.x and 3.0+2.0 shader combinations too
2008-04-07 11:49:20 +02:00
Stefan Dösinger 3ec49a32f2 d3d9: Read from a slightly different spot in a test. 2008-04-07 11:48:46 +02:00
Stefan Dösinger b094c95d85 d3d9: Remove some test trace lines. 2008-04-07 11:48:33 +02:00
Stefan Dösinger cd7d2dc136 d3d9: Enforce ColorFill restrictions. 2008-04-07 11:48:26 +02:00
Stefan Dösinger de5a8db58b d3d9: Improve an ok line. 2008-04-03 12:01:39 +02:00
Austin English b4f52938e4 Spelling fixes. 2008-04-02 23:18:21 +02:00
Stefan Dösinger 685d14818c d3d9: Make the shading test even more precision tolerant.
This is needed on both windows and wine, seems to be a hardware thing.
2008-04-02 20:28:47 +02:00
Stefan Dösinger 20a2afe6aa d3d9: Add a test for temporary results. 2008-04-02 20:06:50 +02:00
Stefan Dösinger ab86a4e963 wined3d: Catch D3DUSAGE_AUTOGENMIPMAP and D3DUSAGE_RENDERTARGET combos. 2008-04-01 20:31:59 +02:00
Jason Green 4f5cb4fb76 d3d9: Add some visual tests for Direct3DDevice9_StretchRect(). 2008-04-01 13:41:49 +02:00
Jason Green 9625d76b5e d3d9: Add a visual test for the DP2ADD shader instruction. 2008-04-01 13:41:45 +02:00
Roderick Colenbrander 76014205de wined3d: Fix a postpixelshader_blending bug. 2008-03-31 12:14:33 +02:00
Roderick Colenbrander 61f7dc006a d3d9: Test post pixelshader blending. 2008-03-28 15:49:52 +01:00
Stefan Dösinger 82d25338aa d3d9: Add a basic test for multiple rendertargets. 2008-03-27 11:18:59 +01:00
Austin English 4777f26d61 Spelling fixes. 2008-03-27 11:10:07 +01:00
Alexander Dorofeyev 7bb58929b7 d3d9/tests: Test that GOURAUD and PHONG modes are equal. 2008-03-27 11:09:11 +01:00
Dmitry Timoshkov 5c93f092c8 d3d9: Make the visual test pass on GeForce Go 7600. 2008-03-26 11:18:33 +01:00
Stefan Dösinger aaced1f5ba d3d9: Add a projected texture test. 2008-03-25 19:39:34 +01:00
Stefan Dösinger 8869c0f147 d3d: De-pointerize the WINED3DCAPS structure. 2008-03-25 19:36:38 +01:00
Jason Green 740b56e87b d3d9: Allow for driver precision differences in some visual tests. 2008-03-22 13:10:12 +01:00
Jason Green 1a933d6b44 d3d9: Add visual test for D3DRS_SHADEMODE states. 2008-03-22 13:10:08 +01:00
Jason Green 27364e8454 d3d9: Add a visual test case for the D3DSAMP_SRGBTEXTURE sampler state. 2008-03-20 11:43:12 +01:00
Francois Gouget 8ffad44397 d3d9/tests: Fix compilation on systems that don't support nameless unions. 2008-03-10 19:12:54 +01:00
Jason Green d0b8fd0a13 d3d9: Fix a few ok() comparisons to not always return true in the visual tests. 2008-03-07 11:13:47 +01:00
Stefan Dösinger 5f14acc0bf d3d9: Add a point size test. 2008-03-07 11:01:07 +01:00
Stefan Dösinger 8a3ef776f4 wined3d: gl_FragCoord isn't exact. 2008-03-07 11:01:07 +01:00
Stefan Dösinger c00c89eb51 d3d9: Add a test for the vPos register.
The vPos register returns the unnormalised position of the current
fragment to the pixel shader. This test tests for its functionality in
both onscreen and offscreen render targets. On- and offscreen targets
are used because of the inverted y coordinate.
2008-03-07 11:01:07 +01:00
Stefan Dösinger 73ba896e8e d3d9: Add a test testing two texbem instructions in one shader. 2008-03-05 19:22:53 +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
Stefan Dösinger b0269c9486 d3d9: Remove D3D9GetSWInfo. 2008-03-03 20:53:00 +01:00
Stefan Dösinger 086dd8178f d3d9: Reorder the spec file. 2008-03-03 20:52:55 +01:00
Stefan Dösinger d7098076e1 d3d9: Implement Direct3DCreate9Ex + tests. 2008-03-03 20:50:29 +01:00
Stefan Dösinger c1a0037b88 d3d9: IDirect3DDevice9Ex stub. 2008-03-03 20:48:50 +01:00
Stefan Dösinger d9f9725993 d3d9: Add an IDirect3D9Ex stub. 2008-03-03 20:48:05 +01:00
Stefan Dösinger aedb8873c0 d3d9: Fix an ok line. 2008-03-03 11:58:19 +01:00
James Hawkins 26ad93947b janitorial: Remove links to any microsoft site. 2008-03-01 12:04:09 +01:00
Jason Green 438fa44d43 d3d9: Add tests showing the D3DUSAGE_RENDERTARGET and D3DUSAGE_AUTOGENMIPMAP are mutually exlusive. 2008-02-29 10:54:53 +01:00
Roderick Colenbrander 4ac1b94d96 wined3d: Improved CheckDeviceType. 2008-02-27 14:52:25 +01:00
Stefan Dösinger 3ed963dc5d d3d9: Fix a ok line. 2008-02-25 12:37:04 +01:00
Stefan Dösinger 708e217506 d3d9: ATI drivers do not handle D3DUSAGE_QUERY_LEGACYBUMPMAP properly. 2008-02-25 12:36:30 +01:00
Stefan Dösinger 9850e4b529 d3d9: Add a non-shader reversed fog test. 2008-02-25 12:36:22 +01:00
Stefan Dösinger 22f379ccac d3d9: Some Windows drivers do not like reversed fog.
The fog test used start = 0.9 and end = 0.1. This is perfectly ok in
theory, but some Windows drivers do not like it. Since this test tests
how fog is calculated with Vertex and Pixel shaders put the fog range in
the normal order(start = 0.1, end = 0.9), this fixes a number of fog
failures on ATI cards on Windows.
2008-02-19 14:48:34 +01:00
Stefan Dösinger 1a906aace7 d3d9: Do not expect consistent failures.
The drivers for some radeon cards are not prepared for the things the
fixed function type test does and fail inconsistently. Thus skip the
color comparison if one of the two draws fails, and do not write an
extra complaint about the inconsistency
2008-02-19 14:48:20 +01:00
Stefan Dösinger 27dd3428d7 d3d9: Add a stencil+culling test. 2008-02-19 14:48:08 +01:00
Rob Shearman dfda3c4dc8 d3d9: Fix copy and paste error in reset_enum_callback.
vertex_desc.Pool should obviously be used in the 
WINED3DRTYPE_VERTEXBUFFER case instead of index_desc.Pool.
2008-02-19 14:11:43 +01:00
Stefan Dösinger c2d97b2329 wined3d: Add a test for fixed function bump mapping. 2008-02-18 13:34:25 +01:00
Francois Gouget 4c8e218252 Assorted spelling fixes. 2008-02-15 12:09:24 +01:00
Andrew Talbot 43ed6eae5a d3d9: Assign to struct instead of using memcpy. 2008-02-15 11:09:37 +01:00
Stefan Dösinger 9950cb4bf5 wined3d: Switch the visual tests back to D3DDEVTYPE_HAL. 2008-02-15 09:40:12 +01:00
Stefan Dösinger 81de2fa10a wined3d: Add a test for the vFace register. 2008-02-15 09:40:03 +01:00
Stefan Dösinger ef4119029b d3d9: Implement the device lost state. 2008-02-07 13:05:37 +01:00
Stefan Dösinger b322f81b75 wined3d: Reject unsupported modes when restting the device. 2008-02-07 13:05:27 +01:00
Stefan Dösinger b6ecb56eef d3d9/tests: Accept the rejection of non-standard fixed function attrib types. 2008-02-05 12:41:48 +01:00
Stefan Dösinger 334e1600f2 d3d9/tests: Be less picky about X8L8V8U8 precision. 2008-02-05 12:41:39 +01:00
Stefan Dösinger 8daf8322ba wined3d: Some texture transform test corrections. 2008-02-05 12:38:06 +01:00
Stefan Dösinger 635daf8b5d wined3d: D3DTADDRESS_WRAP on conditional NP2 textures clamps to edge.
Conditional NP2 textures in Direct3D do not support D3DTADDRESS_WRAP
texture addressing. Similarly, GL_ARB_texture_rectangle textures do
not support GL_REPEAT. This patch adds a test which shows that _WRAP
clamps to the texture edge and implements that.
2008-02-05 12:37:49 +01:00
Stefan Dösinger 451d85a71c d3d9: Some drivers allow non-aligned offsets. 2008-02-05 12:33:28 +01:00
Gerald Pfeifer 450c634ab8 d3d9: Fix the type of three loop variables. 2008-02-04 11:11:20 +01:00
Marcus Meissner fc49a338bb d3d9/tests: Initialize decl. 2008-01-23 12:05:32 +01:00
Jason Green e11d7c63b4 d3d9 tests: Correct some typos. 2008-01-22 11:27:24 +01:00
Francois Gouget 44b52b128c Assorted spelling fixes. 2008-01-16 12:48:29 +01:00
Stefan Dösinger 80953d62d7 d3d9: Reject IDirect3DDevice9::Reset with active default pool resources. 2008-01-14 15:12:00 +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 0060027e4b d3d9: Fix type of loop variable. 2008-01-04 12:12:34 +01:00
Gerald Pfeifer 21a9c2d2f9 wined3d: Removed dead FIXME checks. 2008-01-03 11:53:29 +01:00
Gerald Pfeifer a77249ad14 d3d9/tests: Simplify condition in test_vshader_input(). 2008-01-02 12:38:42 +01:00
Marcus Meissner 2cb3f982a6 d3d9: Initialize pVertexBuffer. 2007-12-27 14:13:30 +01:00
Stefan Dösinger 998426e6b7 d3d9: Accept D3DDEVTYPE_REF devices in the vertex declaration test. 2007-12-21 13:44:21 +01:00
Stefan Dösinger 47a8a6bd44 wined3d: Implement and test vertex fixups with per stream offsets. 2007-12-21 13:44:16 +01:00
Stefan Dösinger e27cf6ff8f wined3d: Per stream offsets are 4 byte aligned. 2007-12-21 13:44:06 +01:00
Stefan Dösinger 8ff517eeb9 wined3d: Vertex attributes are 4 byte aligned. 2007-12-21 13:43:58 +01:00
Stefan Dösinger a0b81e1c44 wined3d: Add a test for POSITIONT vertex fixups. 2007-12-21 13:15:09 +01:00
Stefan Dösinger d8209b5de3 d3d9: Extend the fixed function vertex declaration test. 2007-12-21 13:14:49 +01:00
Stefan Dösinger aaa0e5090a wined3d: Add a test for 16 bit floats. 2007-12-20 12:10:16 +01:00
Stefan Dösinger 2d90449500 wined3d: Fixed function vertex attribute types are flexible. 2007-12-20 10:49:42 +01:00
Francois Gouget f1c27eda6b Assorted spelling fixes. 2007-12-18 14:16:11 +01:00
Stefan Dösinger df77e28854 wined3d: Implement D3DFMT_G16R16. 2007-12-18 14:08:18 +01:00
Stefan Dösinger de6aba11d4 d3d9: Add a note about a breakage in the refrast. 2007-12-18 13:22:27 +01:00
Stefan Dösinger 110facbac4 d3d9: Remove a few more incorrect D3DLOCK_DISCARDs. 2007-12-18 13:22:22 +01:00
Peter Beutner b4a0d47809 d3d9: Add stub for Direct3DShaderValidatorCreate9(). 2007-12-18 12:32:56 +01:00
Stefan Dösinger b9860a9b27 d3d9: Do not set NONE MIN and MAG filters. 2007-12-17 12:30:04 +01:00
Stefan Dösinger 297b88486e d3d9: D3DLOCK_DISCARD is not valid on managed textures. 2007-12-17 12:26:09 +01:00
Stefan Dösinger b060390c73 d3d9: The refrast returns an error on invalid clear rects. 2007-12-17 12:26:01 +01:00
Francois Gouget 5f7a9cea38 Assorted spelling fixes. 2007-12-07 16:35:32 +01:00
Stefan Dösinger f700cbe74b wined3d: Add an alpha blending test. 2007-12-07 16:26:43 +01:00
Stefan Dösinger 0e8c13e630 wined3d: A more detailed occlusion query test and fixes. 2007-12-07 15:27:11 +01:00
Alexandre Julliard ad9396302d Removed some unneeded imports. 2007-12-06 21:24:24 +01:00
Stefan Dösinger f4d2449244 wined3d: Test clearing regarding the scissor test and colorwrite. 2007-12-06 13:48:43 +01:00
Andrew Talbot 77c8a1594d d3d9: Remove unneeded casts. 2007-12-05 12:04:44 +01:00
Stefan Dösinger fce9abd095 wined3d: Clear honors the viewport. 2007-12-04 14:32: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 0f39b29da0 wined3d: mov to a0.x does a floor(), not a round to nearest. 2007-12-03 13:43:54 +01:00
Stefan Dösinger ba5c61ba20 wined3d: Fog is applied after sRGB correction. 2007-11-27 16:01:44 +01:00
Stefan Dösinger 02ebbd1fe5 d3d9: Add a test for vertex shader input matching. 2007-11-27 15:18:28 +01:00
Stefan Dösinger 22ac3704ba d3d9: Free the converted declaration data after creating the declaration. 2007-11-20 13:10:55 +01:00
Francois Gouget 5c3151b2e7 d3d9/tests: Fix the trailing '\n' in an ok() call. 2007-11-16 12:38:27 +01:00
Stefan Dösinger e4f8a2da2b wined3d: Depth stencil fixes. 2007-11-14 11:58:36 +01:00
Stefan Dösinger 9f41a359b6 wined3d: Partially revert "Get rid of the conditionals in shader_glsl". 2007-11-14 11:58:22 +01:00
Stefan Dösinger b4b10d8bc2 d3d9: Release the window after the visual tests. 2007-11-09 12:35:50 +01:00
Stefan Dösinger 4454096db2 d3d9: Be less picky in the D3DFMT_X8L8V8U8 test. 2007-11-08 12:18:30 +01:00
Stefan Dösinger 6209b36acb wined3d: mov to a0.x does a floor(), not a round to nearest. 2007-11-08 11:55:31 +01:00
Stefan Dösinger d2c166bbb7 d3d9: Initialize the test rectangle correctly. 2007-11-07 12:08:40 +01:00
Stefan Dösinger c390b6044b d3d9: Remove some spamy debug traces from the texture test. 2007-11-07 12:08:15 +01:00
Stefan Dösinger 50ea23efd6 d3d9: Use HAL devices in some tests. 2007-11-07 12:07:52 +01:00
Stefan Dösinger 5fc54b5459 wined3d: Shader Model 3.0 varying tests. 2007-11-07 12:03:04 +01:00
Stefan Dösinger aa7f9f0a72 d3d9: Silence a FIXME. 2007-11-01 12:39:32 +01:00
Stefan Dösinger 393ed4a070 wined3d: Make resource memory 32 byte aligned. 2007-11-01 12:38:45 +01:00
Stefan Dösinger a022e8b402 wined3d: Add a (nested) loop test. 2007-10-12 10:59:17 +02:00
H. Verbeet 3587dfeb48 d3d9: Release pixel shaders after we're done with them in the visual test. 2007-10-10 19:52:22 +02:00
Stefan Dösinger 6486a79e2a d3d9: Do not rely on CreateVertexShader failing. 2007-10-09 12:31:36 +02:00
Ulrich Czekalla 700c602eb6 d3d9: Fix crash in texture test. 2007-10-09 12:31:32 +02:00
Marcus Meissner 4a31362d53 d3d9/tests: Initialize shader to NULL. 2007-10-03 11:01:47 +02:00
Stefan Dösinger 4c51db896c wined3d: Check for NULL streams. 2007-09-20 15:53:19 +02:00
Stefan Dösinger 02114ac21f wined3d: The D3DSI_COISSUE flag changes the behavior of cnd. 2007-09-14 14:26:26 +02:00
Stefan Dösinger c96236ff3e wined3d: Add a test for the cnd instruction. 2007-09-14 14:26:08 +02:00
Stefan Dösinger 7248354067 wined3d: Pixel shader 1.x constants are clamped to [-1;1]. 2007-09-14 14:23:45 +02:00
Stefan Dösinger 160258b637 wined3d: Implement mipmap auto generation. 2007-09-12 12:10:25 +02:00
Stefan Dösinger 41bf0d48db wined3d: Fix WINED3DFMT_X8L8V8U8. 2007-09-11 13:48:15 +02:00
Stefan Dösinger 422e0ba1cc wined3d: texkill ignores the .w only in ps 1.x. 2007-09-11 13:48:08 +02:00
Stefan Dösinger a006d2568b wined3d: Fix texdepth instruction. 2007-09-11 13:47:49 +02:00
Stefan Dösinger a305af0b30 wined3d: Fix the z range. 2007-09-11 13:47:36 +02:00
Stefan Dösinger d0fdb1ea7e d3d: Add a test for double surface locking. 2007-08-31 11:25:19 +02:00
Francois Gouget a116879507 Assorted spelling fixes. 2007-08-30 12:26:02 +02:00
Stefan Dösinger 4438b3be06 wined3d: Texture transform flag test. 2007-08-27 18:28:48 +02:00
Stefan Dösinger cc563b9c69 d3d9: Return the correct return value in GetDepthStencilSurface. 2007-08-27 12:00:28 +02:00
Stefan Dösinger 04d62b4322 wined3d: fogstart == fogend means full fog. 2007-08-21 13:35:48 +02:00
Stefan Dösinger 01c6c982bb d3d9: Some caps fixes. 2007-08-21 13:35:35 +02:00
Stefan Dösinger 86b991c851 wined3d: Fix R32F and R16F. 2007-08-17 12:01:38 +02:00
Stefan Dösinger b220905e4a wined3d: Reinstall the internal reference on the current index buffer. 2007-08-16 11:35:06 +02:00
Stefan Dösinger a06e002e93 wined3d: Add a wined3d private WINED3DSBT_RECORDED. 2007-08-15 09:36:20 +02:00
Alexandre Julliard 427723cc37 d3d9: Comment out some failing fog tests. 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 dbd338c018 wined3d: WINED3DSAMP_MAXMIPLEVEL fixes. 2007-08-06 12:05:39 +02:00
Stefan Dösinger 9ae22f1a76 d3d9: Do not fail if d3d9 is not available. 2007-08-06 12:05:31 +02:00
Stefan Dösinger 39a8f1b2a4 d3d9: Deal with failing surface creation. 2007-08-06 12:04:58 +02:00
Stefan Dösinger 17fe57e212 d3d9: Check for volume texture support before running the volume test. 2007-08-03 12:30:58 +02:00
Stefan Dösinger 878414a5e6 d3d9: Some visual test fixes. 2007-08-03 12:30:52 +02:00
H. Verbeet 4194d784f8 d3d9: Trace the Format parameter to IDirect3DDevice9Impl_CreateTexture as hexadecimal. 2007-07-26 11:51:26 +02:00
Andrew Talbot 7a8455094d d3d9/tests: Fix use of uninitialized variable (Coverity). 2007-06-25 13:23:50 +02:00
Stefan Dösinger e84158f510 d3d9: Hold the lock in VertexShader methods. 2007-06-25 11:35:40 +02:00
Stefan Dösinger 57acd1d9a6 d3d9: Hold the lock in VertexDeclaration methods. 2007-06-25 11:35:24 +02:00
Stefan Dösinger d9583c6c58 d3d9: Hold the lock in Vertexbuffer methods. 2007-06-25 11:35:09 +02:00
Stefan Dösinger 99a3d76e8d d3d9: Hold the lock in Texture methods. 2007-06-25 11:34:58 +02:00
Stefan Dösinger ef5e5300e3 d3d9: Hold the lock in swapchain methods. 2007-06-22 13:43:11 +02:00
Stefan Dösinger 35c5c4528f d3d9: Hold the lock in suface methods. 2007-06-22 13:43:05 +02:00
Stefan Dösinger 80f792f350 d3d9: Hold the lock in stateblock methods. 2007-06-19 12:34:15 +02:00
Stefan Dösinger 9570cd5be4 d3d9: Release the wined3d query when the d3d9 query is destroyed. 2007-06-19 12:34:03 +02:00
Stefan Dösinger c0cc0f1062 d3d9: Hold the lock in query methods. 2007-06-19 12:33:56 +02:00
Stefan Dösinger 5194ce1972 d3d9: Hold the lock in Pixelshader functions. 2007-06-18 12:33:55 +02:00
Stefan Dösinger 896568f209 d3d9: Hold the lock in indexbuffer methods. 2007-06-18 12:33:55 +02:00
Stefan Dösinger ea3076b0f7 d3d9: Hold the lock in cubetexture methods. 2007-06-18 12:33:55 +02:00
Stefan Dösinger 0820777983 d3d9: Hold the lock in methods implemented in device.c. 2007-06-18 12:33:54 +02:00
Stefan Dösinger 66821059b4 d3d9: Hold the lock in IDirect3D9 methods. 2007-06-18 12:33:54 +02:00
Stefan Dösinger c4b801b7d1 d3d9: Add a dll global critical section. 2007-06-14 13:23:04 +02:00
Stefan Dösinger 078523f73e wined3d: Present does not clear the depth stencil. 2007-06-14 13:22:19 +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
H. Verbeet 785771272a wined3d: Get rid of the BaseVertexIndex parameter to IWineD3DDeviceImpl_SetIndices, use SetBaseVertexIndex instead. 2007-06-06 12:10:47 +02:00
H. Verbeet b70bc73196 d3d9: Add a test for calling DrawIndexedPrimitive with a NULL index buffer. 2007-06-04 12:58:42 +02:00
Francois Gouget e6196f9ae7 d3d9/tests: Fix the Visual C++ double to float conversion warnings. 2007-05-29 13:47:01 +02:00
Francois Gouget fd578240f2 d3d9/tests: Fix compilation with Visual C++ 2005. 2007-05-29 12:12:41 +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 1316b7f5e4 d3d9: Add a surface locking test. 2007-05-04 13:41:21 +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
Francois Gouget 5a8fc34033 Assorted spelling fixes. 2007-04-30 12:35:11 +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
Fabian Bieler 71fe9ae7da d3d9/tests: Fix fog with shader test. 2007-04-23 13:55:35 +02:00
Stefan Dösinger 725f4bfeb1 d3d9: Rework the converted vertex declaration management.
Instead of creating a converted declaration each time SetFVF is
called, exactly one declaration is created for each FVF(on demand) and
stored for the lifetime of the device. This avoids memory leaks and
makes keeping track of converted declarations easier. Wether a
declaration is converted from a fvf or not is now a static information
inside the declaration. Those declarations are not destroyed in
VertexDeclaration::Release, they stay for the lifetime of the
device. This keeps us free from tracking the declaration through
stateblocks
2007-04-18 13:13:45 +02:00
Stefan Dösinger 7cee0b2ed0 d3d9: Do not allow Direct3D9::GetAdapterModeCount to be called with D3DFMT_UNKNOWN. 2007-04-17 11:21:13 +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 c4eb3de8d8 d3d9: Fix vertex decl test. 2007-04-13 11:42:24 +02:00
Ivan Gyurdiev 9580c3f6c3 d3d9: Add a test for the converted vertex decl. 2007-04-12 16:11:39 +02:00
Ivan Gyurdiev 46c5d223ff d3d9: Break out two helper functions from test_fvf_to_decl. 2007-04-12 16:11:13 +02:00
Stefan Dösinger 35dd693a79 d3d9: Fix the circular converted vertex declaration reference. 2007-04-12 16:10:48 +02:00
Stefan Dösinger 2db7691ec8 d3d9: AddRef the device in IDirect3DVertexDeclaration9::AddRef. 2007-04-12 16:09:23 +02:00
Andrew Talbot 43155227d6 d3d9: Void functions should not return a value. 2007-04-09 12:15:42 +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
Felix Nawothnig c343fb1cdf wined3d: Make CreateCubeTexture fail when not supported. 2007-04-02 11:28:39 +02:00
Fabian Bieler 76d153144f d3d9/tests: Add test for texbem instruction. 2007-03-23 12:32:30 +01:00
Fabian Bieler 7b31e91291 d3d9/tests: Add test for fog with shader. 2007-03-23 12:31:13 +01:00
Stefan Dösinger 022e884342 wined3d/ddraw: Forward DDSCL_MULTITHREADED to wined3d. 2007-03-19 12:17:18 +01:00
Erich Hoover 01199072dd wined3d: Fix LockRect memory location calculation for WINED3DFMT_DXT*. 2007-03-17 19:51:34 +01:00
H. Verbeet 1283772a26 d3d9: Add a LockRect test for DXTn formats. 2007-03-16 11:20:42 +01:00
H. Verbeet fd64779fd0 d3d9: Add a cubemap wrapping test. 2007-03-16 11:20:08 +01:00