Commit Graph

665 Commits

Author SHA1 Message Date
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
Henri Verbeet 88162fabb8 wined3d: Get rid of the pointers in WINED3DSURFACE_DESC. 2009-06-15 13:42:29 +02:00
Henri Verbeet 4bc6b376e0 wined3d: Remove the useless "resource_type" parameter from IWineD3DDevice::CreateSurface(). 2009-06-12 17:33:15 +02:00
Gerald Pfeifer 6383d5fee2 d3d9: Use correct constant types (WINED3DPOOL_DEFAULT instead of D3DPOOL_DEFAULT and WINED3DRTYPE_SURFACE instead of D3DRTYPE_SURFACE). 2009-06-11 11:53:54 +02:00
Henri Verbeet 621da64245 wined3d: Get rid of the silly pointers in WINED3DVOLUME_DESC. 2009-06-09 17:01:14 +02:00
Gerald Pfeifer f39e7182e1 d3d9: Use WINED3DPOOL_DEFAULT instead of D3DPOOL_DEFAULT as appropriate. 2009-06-03 11:27:34 +02:00
Alexandre Julliard 2449eea0fd d3d9/tests: Skip CheckDeviceMultiSampleType test if not available. 2009-06-01 16:16:04 +02:00
Henri Verbeet 59268f7924 d3d9: Having a NULL rendertarget isn't a failure. 2009-05-29 11:26:50 +02:00
Louis Lenders 06936f04c0 wined3d: Fix CheckDeviceMultiSampleType when queried with D3DMULTISAMPLE_NONE. 2009-05-28 15:02:08 +02:00
Henri Verbeet 13a05caa97 wined3d: Remove the "declaration" parameter to IWineD3DDeviceImpl_CreateVertexShader().
Once upon a time this was used for creating fake vertex shader
attribute semantics for d3d8 shaders. We don't need this anymore since
device_stream_info_from_declaration() will use the vertex
declaration's output slot to load the data, if present. That also
avoids the potentially expensive matching of attribute semantics
between vertex shader and declaration for d3d8.
2009-05-28 12:42:18 +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
Henri Verbeet f0e303b0f2 wined3d: Add the output signature to IWineD3DDevice_CreateVertexShader(). 2009-05-26 13:49:55 +02:00
Henri Verbeet 9a579a43b1 wined3d: Use the output signature to map SM4 pixel shader outputs to the appropriate register. 2009-05-11 12:43:00 +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
Stefan Dösinger 9f1731edb6 d3d: Limit d3d8 and d3d9 vshader constants to 256.
DX10 cards support 512(ATI) or 1024(Nvidia) vertex shader constants in
GL. The dx9 DXCapsViewer shows that dx10 windows drivers only claim
256 constants on Windows, so we can and should do the same.
2009-04-27 13:23:36 +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
Henri Verbeet 6f33b97c94 wined3d: Get rid of the shared_handle parameter.
I don't expect us to support this in the near future, and right now it's just
dead code.
2009-04-23 14:22:06 +02:00
David Adam d993f85167 d3d9: Add tests for IDirect3D9Device_Reset. 2009-04-22 12:55:48 +02:00
Stefan Dösinger cb1c9dcda9 d3d: Remove the format from index buffers. 2009-04-09 16:28:25 +02:00
Stefan Dösinger f0efa97413 wined3d: Remove the buffer fvf. 2009-04-09 16:28:10 +02:00
Stefan Dösinger 77e6dcca02 d3d9: Store the FVF in the d3d9 vertex buffer. 2009-04-09 16:27:52 +02:00
Stefan Dösinger 513a493f00 wined3d: Merge IWineD3DIndexBuffer and IWineD3DBuffer. 2009-04-08 11:37:29 +02:00
Stefan Dösinger 3ed94329a3 wined3d: Use Map and Unmap for index buffers.
Just a change in name to prepare for the next patch
2009-04-08 11:36:18 +02:00
Stefan Dösinger dc80a3ede5 d3d: Unify WINED3DVERTEXBUFFER_DESC and WINED3DINDEXBUFFER_DESC. 2009-04-08 11:36:02 +02:00
Stefan Dösinger bc07ad0579 d3d8, d3d9: Don't rely on the wined3d buffer type. 2009-04-08 11:35:29 +02:00
Henri Verbeet 4434d00f84 wined3d: Unify vertex and texture formats.
Some fields should be redundant now, eg. gl_vtx_type and glType. I'll leave
that for a different patch to fix though.
2009-03-27 15:51:25 +01:00
Henri Verbeet 6f206c75ec wined3d: Don't create an END element for wined3d vertex declarations.
Wined3d doesn't need it since it already has the element count.
2009-03-27 15:51:25 +01: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
Henri Verbeet fd3d769a12 d3d9: Fix locking.
It appears there are some calls to wined3d missing critical sections.
2009-03-23 14:08:03 +01:00
Henri Verbeet 435b528e83 d3d9: Get rid of resource.c. 2009-03-23 14:08:02 +01:00
Henri Verbeet 82dd5bc2a1 d3d9: Get rid of basetexture.c. 2009-03-23 14:08:02 +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 39ae94d0b3 d3d9: Present parameters are an array when D3DCREATE_ADAPTERGROUP_DEVICE is specified. 2009-03-11 13:03:33 +01:00
Henri Verbeet 1b9a6fb4e9 d3d9: Fix some sign compare warnings. 2009-03-09 14:44:09 +01:00
Henri Verbeet 09f21f3fd8 d3d9: Improve IDirect3DDevice9::SetFVF() code flow. 2009-03-06 15:38:19 +01:00
Henri Verbeet aa3027a604 wined3d: Merge IWineD3DVertexBuffer with IWineD3DBuffer.
That still leaves IWineD3DIndexBuffer, but that code is also mostly similar,
except for the conversion code (which will be unused there).
2009-03-06 15:35:58 +01:00
Henri Verbeet 702eeb6b0c wined3d: Add separate methods for setting the primitive type. 2009-03-05 16:16:25 +01:00
Henri Verbeet 602bb1f551 wined3d: Pass the vertex count rather than the primitive count to wined3d draw methods. 2009-03-05 16:16:24 +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
Henri Verbeet 0048a0373b d3d10core: Keep a reference to the wined3d device in the d3d10 device. 2009-02-23 12:20:29 +01:00
Henri Verbeet 8cefc47d81 wined3d: Add DXGI formats to WINED3DFORMAT. 2009-02-20 11:10:37 +01:00
Henri Verbeet 61a9efc4b9 d3d9: Explicitly convert between D3DFORMAT and WINED3DFORMAT values. 2009-02-20 11:10:14 +01:00
Henri Verbeet 445255983d d3d9: Also copy the AutoDepthStencilFormat field in GetPresentParameters(). 2009-02-19 12:53:50 +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
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