Henri Verbeet
e9000d2e6c
wined3d: Don't free D3D volumes until the wined3d volume is destroyed.
2009-09-16 13:05:20 -05:00
Henri Verbeet
8ffca99fb0
d3d9: Add a separate function for volume initialization.
2009-09-16 13:04:57 -05:00
Henri Verbeet
a5214c306f
wined3d: Don't free D3D surfaces until the wined3d surface is destroyed.
...
This prevents for example a d3d9 depth stencil from being destroyed when it
has no external references but is still in use by the device/stateblock. A
nice side effect is that it simplifies handling of "implicit" surfaces like
the frontbuffer and backbuffers, as well as the forwarding of reference counts
for surfaces that are part of a texture.
2009-09-16 13:04:32 -05:00
Henri Verbeet
52e45865bd
d3d9: Add a separate function for surface initialization.
2009-09-15 14:32:23 -05:00
Henri Verbeet
2b2fc827ce
wined3d: Remove unused parameters to drawPrimitive().
2009-09-11 12:09:14 +02:00
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
5f9f079d71
d3d9: Use the wined3d cs for wined3d locking.
2009-08-26 12:11:41 +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
Stefan Dösinger
296573caae
d3d: Filter R8G8B8 in d3d8 and d3d9.
2009-08-07 14:56:40 +02:00
Henri Verbeet
3115f3357f
d3d9/tests: Use color_match() in a few more places.
2009-07-10 12:13:32 +02:00
Henri Verbeet
699f68cdee
wined3d: Get rid of some pointers in WINED3DADAPTER_IDENTIFIER.
...
This also avoids some unchecked strcpy() calls.
2009-07-07 11:50:30 +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
Gerald Pfeifer
b44596ffff
d3d9: Fix variable type in reset_enum_callback().
2009-06-26 12:02:59 +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
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