Commit Graph

342 Commits

Author SHA1 Message Date
Stefan Dösinger e1469961d4 wined3d: Test and fix ddraw and d3d9 GetDC differences.
The MSDN is not totally correct: A8R8G8B8 and A1R5G5B5 also allow GetDC. The
main differences that have to be filtered out in d3d9.dll are GetDC on
A8B8G8R8, X8B8G8R8 and P8.
2009-09-08 13:04:52 +02:00
Stefan Dösinger 9281bdb478 wined3d: SetLOD is ignored on D3DPOOL_DEFAULT textures.
I am not testing SYSTEMMEM and SCRATCH textures. SCRATCH textures
cannot be created, SYSTEMMEM ones cannot be used for texturing on
Windows.
2009-08-31 12:18:56 +02:00
Stefan Dösinger edf1c50b54 wined3d: Handle per-texture max LOD level.
GL_TEXTURE_BASE_LEVEL matches the basetexture::SetLOD functionality.
D3DSAMP_MAXMIPLEVEL essentially does the same as SetLOD. The test included in
this patch shows that the smallest mipmap level is used.
2009-08-31 12:18:41 +02:00
Henri Verbeet e7d14d02d0 d3d9: Remove trailing spaces. 2009-08-28 11:54:50 +02:00
Henri Verbeet ada3e059e8 d3d9: Remove stray tabs. 2009-08-26 12:10:49 +02:00
Jörg Höhle f2a4c6eeab d3d9/tests: SetAutoGenFilterType tests. 2009-08-20 17:39:45 +02:00
Henri Verbeet ffb38da024 wined3d: Try to force a top-left filling convention. 2009-08-19 14:45:09 +02:00
Jörg Höhle ba87299402 d3d9/tests: Detect empty graphics driver name. 2009-08-14 11:26:44 +02:00
Henri Verbeet 3b06fc92f4 wined3d: Use EXT_provoking_vertex to match Direct3D's provoking vertex convention. 2009-08-10 13:52:50 +02:00
Henri Verbeet 3115f3357f d3d9/tests: Use color_match() in a few more places. 2009-07-10 12:13:32 +02:00
Paul Vriens f96e210ed7 d3d9/tests: Skip a test on failure. 2009-07-06 14:35:26 +02:00
Henri Verbeet 17c0e99106 d3d9/tests: Add a small test for having multiple device active at the same time.
This is essentially the situation that caused problems with reusing the
initial GL context.
2009-07-03 13:05:52 +02:00
Henri Verbeet 7d3beb6b79 d3d: Add a test for releasing the device after destroying the window. 2009-06-29 12:30:32 +02:00
Henri Verbeet c672071db7 d3d9/tests: Make sure the device is released properly. 2009-06-23 11:47:59 +02:00
Henri Verbeet ad05c39fd7 d3d9/tests: Release the query in test_occlusion_query_states(). 2009-06-23 11:47:53 +02:00
Henri Verbeet 6cc2f9573a d3d9/tests: Release the vertex buffer in test_null_stream(). 2009-06-23 11:47:49 +02:00
Paul Vriens d8669f9e41 d3d9/tests: Use color_match ((logical || with non-zero constant). 2009-06-23 11:47:38 +02:00
Gerald Pfeifer 9b043744cd d3d9/tests: Fix three incorrect logic conditions. 2009-06-22 11:44:37 +02:00
Stefan Dösinger 2364ce08e5 d3d9: Add a SGN test. 2009-06-22 11:26:14 +02:00
Stefan Dösinger b93136e0c3 d3d9: Add an aL indexing test. 2009-06-22 11:26:07 +02:00
Henri Verbeet 1e0b1e5487 d3d9: Use color_match() in the fog test. 2009-06-19 13:52:56 +02:00
Stefan Doesinger f75dadfeb7 d3d9: Accept an alternative oFog->ps_3_0 handling. 2009-06-17 12:19:57 +02:00
Alexandre Julliard 2449eea0fd d3d9/tests: Skip CheckDeviceMultiSampleType test if not available. 2009-06-01 16:16:04 +02:00
Louis Lenders 06936f04c0 wined3d: Fix CheckDeviceMultiSampleType when queried with D3DMULTISAMPLE_NONE. 2009-05-28 15:02:08 +02:00
Stefan Dösinger 6492622350 wined3d: sincos for vertex shaders.
SCS is unfortunately a fragment program only instruction. If we have the NV
extensions we can use SIN and COS. Otherwise we have to approximate sine and
cosine with a taylor series. Luckily we're provided with the necessary
constants by the application.
2009-05-27 11:56:53 +02:00
Louis Lenders f9b9f73991 d3d9/tests: Add simple test to show that QualityLevels is not zero, when we call CheckDeviceMultiSampleType with D3DMULTISAMPLE_NONE. 2009-05-27 11:55:04 +02:00
Austin English 68ccd08952 d3d9/tests: Sign compare fix. 2009-05-08 14:30:51 +02:00
Stefan Dösinger 31f5b01f9a wined3d: Add a point size test.
It shows that our current behavior (enabling coord_replace on all
units) is correct.
2009-05-08 12:17:04 +02:00
David Adam 758777d1e2 d3d9: Fix a copy/paste error in test. 2009-04-27 13:23:19 +02:00
David Adam 33eb939390 wined3d: SetDepthStencilSurface is always called when AutoDepthStencil is enabled. 2009-04-24 11:51:27 +02:00
David Adam d993f85167 d3d9: Add tests for IDirect3D9Device_Reset. 2009-04-22 12:55:48 +02:00
Henri Verbeet 8a0fc70584 d3d9: Don't depend on specific display modes in test_reset(). 2009-03-26 14:47:42 +01:00
Henri Verbeet 49c22d6100 d3d9: Properly initialize the viewport dimensions. 2009-03-26 14:47:34 +01:00
Henri Verbeet db9bd91893 d3d9: Fix some indentation. 2009-03-26 14:47:28 +01:00
Michael Stefaniuc 2df012a01a d3d9/tests: Use LONG instead of long. 2009-03-23 12:41:14 +01:00
Michael Stefaniuc 8e64efeeec d3d9/tests: Fix some ok() strings in the fog test. 2009-03-12 13:09:54 +01:00
Michael Stefaniuc a242d601cc d3d9/tests: Limit the back buffer to 800x600 in the scissor size test. 2009-03-12 13:09:54 +01:00
Henri Verbeet 1b9a6fb4e9 d3d9: Fix some sign compare warnings. 2009-03-09 14:44:09 +01:00
Jörg Höhle 7a4ed15884 d3d9/tests: Fix typos in text. 2009-03-04 15:45:43 +01:00
Francois Gouget 3be6654259 d3d9/tests: Use win_skip() to skip over unimplemented functionality. 2009-02-25 12:49:30 +01:00
Stefan Dösinger 4aa0591c96 d3d9: Add an alpha blending test. 2009-02-24 16:57:30 +01:00
Stefan Dösinger e51f2a0e6e d3d9: Test table fog and exp fog in the shader fog test. 2009-02-11 12:22:00 +01:00
Stefan Dösinger 693d9ded47 wined3d: Properly set the fog frag coord according to the FOGTABLEMODE.
This also fixes the test that an earlier patch broke, so the todo_wine can be
removed again.
2009-02-11 12:21:44 +01:00
Michael Stefaniuc bca813a5a6 d3d9: Remove superfluous pointer casts. 2009-01-29 14:06:18 +01:00
Marcus Meissner 7111ca5506 d3d9: Remove useless NULL check in stateblock test (Coverity). 2009-01-28 12:30:48 +01:00
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
Stefan Dösinger 903c774263 d3d9: Use D3DFOG_* constants instead of plain integers. 2009-01-13 17:33:08 +01:00