Henri Verbeet
3cedef2ffe
d3d8: Simplify GetDevice().
...
We already store "parentDevice", so we might as well use it.
2009-12-04 14:34:59 +01:00
Henri Verbeet
8151963f4e
d3d8: Directly store a wined3d stateblock in the stateblock handle.
...
IDirect3DStateBlock8Impl doesn't actually do anything useful.
2009-12-03 12:09:12 +01:00
Henri Verbeet
212ee15bd7
d3d8: Return D3DERR_INVALIDCALL when trying to delete an invalid pixel shader.
...
It appears this is fixed on Vista/Win7 to be consistent with
DeleteVertexShader(). Match the more consistent behaviour of Vista/Win7 and
mark the previous behaviour as broken.
2009-12-01 13:16:18 +01:00
Henri Verbeet
55f3c576d9
wined3d: Remove the effetively unused "state" field from the device.
2009-11-18 11:16:54 +01:00
Henri Verbeet
2ac74fa511
d3d8: Make convert_to_wined3d_declaration() static.
2009-11-17 15:14:55 +01:00
Henri Verbeet
e0525b663e
d3d8: Move D3D8CB_DestroySwapChain() to device.c.
2009-11-17 15:14:54 +01:00
Henri Verbeet
fea466455b
d3d8: Add a separate function for device initialization.
2009-11-17 15:14:54 +01:00
Henri Verbeet
141b995b8f
d3d8/tests: Don't require dynamic usage for textures in the stateblock tests.
...
Not all cards support dynamic usage textures, and we don't actually need it.
2009-11-12 13:13:33 +01:00
Henri Verbeet
d72c9ffbf5
d3d8/tests: Only run the vertex/pixel shader constant apply tests when the implementation supports them.
2009-11-10 13:10:27 +01:00
Marcus Meissner
6bb2d5d242
d3d8: Removed superflous NULL checks (Coverity).
2009-11-09 20:00:04 +01:00
Stefan Dösinger
e6dcf31b28
d3d8: Run the visual tests in a window.
2009-11-09 19:59:15 +01:00
Stefan Dösinger
18c1d6033a
d3d8: Read the backbuffer in the visual test.
2009-11-09 19:59:07 +01:00
Stefan Dösinger
8eef221d20
d3d: Handle the pointsize_min default difference in d3d8.
2009-11-03 21:22:12 +01:00
Stefan Dösinger
83bca75707
d3d8: Fix device creation error handling.
2009-11-03 21:22:02 +01:00
Stefan Dösinger
63326b1925
wined3d: Add a usage flag for vertex buffer optimization.
2009-11-03 21:21:48 +01:00
Stefan Dösinger
90e443758a
wined3d: Add a parameter for SetRenderTarget viewport setup.
2009-11-03 21:21:30 +01:00
Henri Verbeet
bf10dbe8a6
wined3d: Map D3DFMT_D24S8 to WINED3DFMT_D24_UNORM_S8_UINT.
...
The internal order of the depth and stencil bits is unspecified since the
format isn't lockable.
2009-10-30 11:28:52 +01:00
Henri Verbeet
50f5c9253e
d3d8/tests: Properly release the first device in test_depth_stencil_reset().
2009-10-23 12:03:03 +02:00
Henri Verbeet
f8bd01a315
d3d8: Add traces.
2009-10-19 11:45:57 +02:00
Henri Verbeet
ec5c417019
d3d8/tests: Check some more return values (LLVM/Clang).
2009-10-16 13:37:05 +02:00
Henri Verbeet
f4005c371f
d3d8: Get rid of some unused variables in IDirect3DDevice8Impl_CopyRects() (LLVM/Clang).
2009-10-16 13:36:55 +02:00
Detlef Riekenberg
7189c58f2f
d3d8/tests: Mark a failure of GetLightEnable on Win9x as broken().
2009-10-16 13:36:11 +02:00
Stefan Dösinger
e80144c403
d3d: Make EndScene calls hookable.
2009-10-14 12:21:06 +02:00
Stefan Dösinger
f54d6c366d
d3d8: Make Direct3DCreate8 hookable.
2009-10-14 12:21:06 +02:00
Henri Verbeet
6bd741e3ce
d3d8: Add some stateblock tests for device resources.
2009-10-13 11:38:28 +02:00
Henri Verbeet
eb9727bbab
d3d8: Cleanup the stateblock test callbacks a bit.
...
This mostly just makes the naming more conistent with what we use in other D3D
code, but also passes the device to the init() and cleanup() callbacks to
allow device resources to be created there. Future tests require this.
2009-10-12 12:35:58 +02:00
Henri Verbeet
1e5c398439
d3d8: Add tests for D3DSBT_PIXELSTATE stateblocks.
2009-10-09 11:50:30 +02:00
Henri Verbeet
aa576b3d35
d3d8: Add tests for D3DSBT_VERTEXSTATE stateblocks.
2009-10-09 11:50:29 +02:00
Henri Verbeet
00e7ec9cd6
d3d8: Add some tests for CreateStateBlock().
2009-10-08 13:53:56 +02:00
Henri Verbeet
a5b2721706
d3d8: Don't test D3DRS_DEBUGMONITORTOKEN in the stateblock tests.
...
It looks like this render state isn't stored in the stateblock but directly in
the device. I doubt a lot of applications depend on that though, so just
disable the test for the moment.
2009-10-08 13:53:34 +02:00
Henri Verbeet
d6f4892722
d3d8: Rename abort_stateblock() to delete_stateblock() in the stateblock tests.
2009-10-07 12:24:25 +02:00
Henri Verbeet
fb5079815d
d3d8: Use separate fields for data to check/apply in the stateblock tests.
2009-10-07 12:24:15 +02:00
Henri Verbeet
17909a0c52
d3d8: Get rid of the unused "return_data_buffer" in the stateblock tests.
2009-10-07 12:24:03 +02:00
Henri Verbeet
6dd6074f60
d3d8: Make the individual stateblock tests responsible for checking data.
2009-10-05 13:46:01 +02:00
Henri Verbeet
d818e4edf6
d3d8: Always pass "struct event_data" to "event_fn" in the stateblock tests.
2009-10-05 13:46:01 +02:00
Allan Tong
6792bb8843
d3d8: Don't release the parent device before destroying its children.
2009-09-29 12:05:53 +02:00
Henri Verbeet
47c84f4f7f
wined3d: Use the DXGI naming convention for all formats.
2009-09-25 15:15:44 +02:00
Henri Verbeet
906071aa9f
d3d8: It's not an error to have a NULL texture bound to a stage.
2009-09-25 15:15:00 +02:00
Henri Verbeet
c64da00de7
wined3d: Rename IWineD3DDevice::GetIndices() to IWineD3DDevice::GetIndexBuffer().
2009-09-25 15:14:52 +02:00
Henri Verbeet
60e32659a7
wined3d: Rename IWineD3DDevice::SetIndices() to IWineD3DDevice::SetIndexBuffer().
2009-09-25 15:14:44 +02:00
Henri Verbeet
27723affc9
d3d8: Set the vertex declaration's shader handle in vertexdeclaration_init().
2009-09-25 15:14:09 +02:00
Henri Verbeet
789372afa8
wined3d: Don't free D3D pixel shaders until the wined3d pixel shader is destroyed.
2009-09-24 13:24:53 +02:00
Henri Verbeet
717419da11
d3d8: Add a separate function for pixel shader initialization.
2009-09-24 13:24:47 +02:00
Henri Verbeet
ca05ef5dd0
wined3d: Don't free D3D vertex shaders until the wined3d vertex shader is destroyed.
2009-09-24 13:24:19 +02:00
Henri Verbeet
afed6a3f77
d3d8: Add a separate function for vertex shader initialization.
2009-09-24 13:24:11 +02:00
Henri Verbeet
66a7236590
wined3d: Don't free D3D vertex declarations until the wined3d vertex declaration is destroyed.
2009-09-23 12:36:28 +02:00
Henri Verbeet
b6d422446b
d3d8: Add a separate function for vertex declaration initialization from an FVF.
2009-09-23 12:35:42 +02:00
Henri Verbeet
f394dfc0f8
d3d8: Add a separate function for vertex declaration initialization.
2009-09-23 12:35:08 +02:00
Henri Verbeet
93b0600829
wined3d: Don't free D3D buffers until the wined3d buffer is destroyed.
2009-09-18 08:55:25 -05:00
Henri Verbeet
b1bf50d751
d3d8: Add a separate function for vertex buffer initialization.
2009-09-18 08:55:18 -05:00
Henri Verbeet
0201ddf264
d3d8: Add a separate function for index buffer initialization.
2009-09-18 08:55:11 -05:00
Henri Verbeet
a8e8f763bf
wined3d: Don't free D3D textures until the wined3d texture is destroyed.
2009-09-18 08:54:34 -05:00
Henri Verbeet
76c61cf536
d3d8: Add a separate function for texture initialization.
2009-09-17 10:10:16 -05:00
Henri Verbeet
de3bd86fb6
wined3d: Don't free D3D cube textures until the wined3d cube texture is destroyed.
2009-09-17 10:09:44 -05:00
Henri Verbeet
b5b58e423d
d3d8: Add a separate function for cube texture initialization.
2009-09-17 10:09:33 -05:00
Henri Verbeet
d84e2fa747
d3d8: Mark internal symbols hidden.
2009-09-17 10:09:21 -05:00
Henri Verbeet
a286646f51
wined3d: Don't free D3D volume textures until the wined3d volume texture is destroyed.
2009-09-16 13:06:06 -05:00
Henri Verbeet
eedfc95eef
d3d8: Add a separate function for volume texture initialization.
2009-09-16 13:05:58 -05:00
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
ff923245e1
d3d8: Add a separate function for volume initialization.
2009-09-16 13:05:06 -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
e02f7b2062
d3d8: Add a separate function for surface initialization.
2009-09-15 14:32:30 -05:00
Henri Verbeet
2b2fc827ce
wined3d: Remove unused parameters to drawPrimitive().
2009-09-11 12:09:14 +02:00
Henri Verbeet
fecbf7b416
d3d8: Remove trailing spaces.
2009-08-31 12:41:21 +02:00
Michael Stefaniuc
ebe5219c6b
d3d8: Release the lock instead of locking a second time (Smatch).
2009-08-26 12:10:27 +02:00
Henri Verbeet
f9c791f9ca
d3d8: Use a wined3d cs for wined3d locking.
...
We will need this for d3d10, where both dxgi and d3d10core are making wined3d
calls. Right now d3d8/d3d9 also use this to protect their own data, but
eventually we should push this down into wined3d itself and use something a
bit more fine-grained. There's no good reason that doing e.g. a vertex buffer
upload in some thread should block all of wined3d.
2009-08-25 11:12:17 +02:00
Henri Verbeet
4d1379f6a9
d3d8: Remove stray tabs.
2009-08-25 11:09:52 +02:00
Stefan Dösinger
6f5a1d9a15
wined3d: Filter WINED3DSTENCILCAPS_TWOSIDED in d3d8.
2009-08-07 14:56:48 +02:00
Stefan Dösinger
296573caae
d3d: Filter R8G8B8 in d3d8 and d3d9.
2009-08-07 14:56:40 +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
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
f0e8307566
d3d8/tests: Make sure the device is released properly.
2009-06-23 11:48:02 +02:00
Henri Verbeet
a25947fa7e
d3d8: Add WINED3DFMT_W11V11U10 <=> D3DFMT_W11V11U10 conversion.
2009-06-19 13:52:42 +02:00
Paul Vriens
91e306579b
d3d8/tests: Fix some tests (logical || with non-zero constant).
2009-06-19 13:52:32 +02:00
Henri Verbeet
7dd5cc8749
d3d8: Add tests for deleting invalid shader handles.
2009-06-16 13:36:59 +02:00
Henri Verbeet
1bbc65b155
d3d8: Deleting an invalid pixel shader handle should return D3D_OK.
2009-06-16 13:36:54 +02:00
Henri Verbeet
dc3958c079
d3d8: Do some more verification on handles.
2009-06-16 13:36:48 +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
Henri Verbeet
621da64245
wined3d: Get rid of the silly pointers in WINED3DVOLUME_DESC.
2009-06-09 17:01:14 +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
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
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
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
458902b5b2
d3d8: Add tests for IDirect3D8Device_Reset.
2009-04-22 12:55:45 +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
ff16f30677
d3d8: Store the fvf in the d3d8 vertex buffer.
2009-04-09 16:27:43 +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
41ea1e1df7
d3d8: Fix some indentation.
2009-03-26 14:47:21 +01:00
Henri Verbeet
c0cefb3501
d3d8: Cleanup the vertexshader handling code a bit.
2009-03-24 12:56:50 +01:00
Henri Verbeet
4131135a9f
d3d8: Cleanup the pixelshader handling code a bit.
...
This mostly just reduces the nesting to something more sane.
2009-03-24 12:56:33 +01:00
Henri Verbeet
3f559f26d6
d3d8: Properly handle unsetting the pixelshader in SetPixelShader().
2009-03-24 12:56:25 +01:00