Commit Graph

1010 Commits

Author SHA1 Message Date
Henri Verbeet 235dbbb5d7 d3d8: Fix IDirect3DCubeTexture8Impl_GetLOD(). 2011-03-16 14:14:21 +01:00
Michael Stefaniuc bc6786d0e5 d3d8: COM cleanup in shader.c. 2011-03-15 17:14:07 +01:00
Henri Verbeet 4a10bbc76d wined3d: Generalize AddDirtyRect() / AddDirtyBox() to AddDirtyRegion(). 2011-03-15 17:14:07 +01:00
Henri Verbeet e409b83bcb wined3d: Get rid of IWineD3DVolumeTexture::Unmap(). 2011-03-15 17:14:06 +01:00
Henri Verbeet 4c3d55f10e wined3d: Get rid of IWineD3DVolumeTexture::Map(). 2011-03-15 17:14:06 +01:00
Stefan Dösinger a6424b9445 d3d8: Test depth stencil size mismatches. 2011-03-14 13:10:32 +01:00
Stefan Dösinger ee2ac1ca6b d3d8: Use a proper window class for the device test. 2011-03-14 13:10:28 +01:00
Stefan Dösinger a80579b2f3 d3d8: Destroy the windows after the test. 2011-03-14 13:10:13 +01:00
Stefan Dösinger 733f81ef74 d3d8: Disallow z buffers smaller than the color buffer. 2011-03-14 13:10:08 +01:00
Henri Verbeet 3494106d77 wined3d: Get rid of IWineD3DCubeTexture::Unmap(). 2011-03-14 12:39:27 +01:00
Henri Verbeet 3ac924a2da wined3d: Get rid of IWineD3DCubeTexture::Map(). 2011-03-14 12:39:27 +01:00
Henri Verbeet 13b05b9dbe wined3d: Get rid of IWineD3DTexture::Unmap(). 2011-03-14 12:39:27 +01:00
Henri Verbeet b77a661515 wined3d: Get rid of IWineD3DTexture::Map(). 2011-03-14 12:39:27 +01:00
Henri Verbeet adb1e10979 wined3d: Get rid of wined3d_buffer_get_desc(). 2011-03-11 11:40:47 +01:00
Henri Verbeet 5f73f41f35 wined3d: Get rid of IWineD3DVolume::GetDesc(). 2011-03-11 11:40:37 +01:00
Henri Verbeet 2b18192e7a wined3d: Get rid of IWineD3DSurface::GetDesc(). 2011-03-11 11:40:31 +01:00
Henri Verbeet 4fd03150f6 wined3d: Get rid of IWineD3DBaseTexture::GetSubResourceDesc(). 2011-03-10 12:53:13 +01:00
Henri Verbeet 8809ebdf79 wined3d: Generalize GetSurfaceLevel() / GetVolumeLevel() to GetSubResource(). 2011-03-10 12:53:04 +01:00
Henri Verbeet 63b72d789d wined3d: Move the GetLevelDesc() functions to the IWineD3DBaseTexture interface. 2011-03-09 12:29:04 +01:00
Henri Verbeet 756fdb7c5a wined3d: Merge the various resource desc structures. 2011-03-09 12:28:58 +01:00
Henri Verbeet b9fae5e9a8 wined3d: Don't require container parents for IWineD3DDeviceParent methods to be COM objects. 2011-03-08 12:27:41 +01:00
Henri Verbeet a27ee75ed2 wined3d: Remove COM from the buffer implementation. 2011-03-04 16:25:58 +01:00
Austin English 98678879af d3d8/tests: Remove win9x hack. 2011-02-28 13:11:28 +01:00
Peter Urbanec a02195a148 d3d8/tests: Use primary monitor screen size to perform tests. 2011-02-11 17:40:37 +01:00
Henri Verbeet 5765632d9f wined3d: Remove COM from the vertex declaration. 2011-02-03 13:15:17 +01:00
Henri Verbeet 36d4268e3c wined3d: Remove COM from IWineD3D. 2011-02-02 12:22:42 +01:00
Henri Verbeet ebf66c1061 d3d8/tests: Release doesn't return a HRESULT (LLVM/Clang). 2011-02-01 12:01:00 +01:00
Michael Stefaniuc 8bf1940c62 d3d8: COM cleanup for the IDirect3DTexture8 iface. 2011-01-31 13:01:09 +01:00
Michael Stefaniuc 8a13f059ea d3d8: COM cleanup for the IDirect3DCubeTexture8 iface. 2011-01-31 13:01:09 +01:00
Michael Stefaniuc 75cc89857e d3d8: Remove the unused struct IDirect3DResource8Impl.
The rest was removed in cdb7a94ae2.
2011-01-31 13:01:09 +01:00
Michael Stefaniuc 8ec3238b5e d3d8: COM cleanup for the IDirect3DSwapChain8 iface. 2011-01-31 13:01:08 +01:00
Michael Stefaniuc 05b6032fb6 d3d8: COM cleanup for the IDirect3DVolume8 iface. 2011-01-31 13:01:08 +01:00
Henri Verbeet 4b109ff1f8 wined3d: Remove COM from the stateblock. 2011-01-31 12:24:58 +01:00
Michael Stefaniuc 7f184144ff d3d8: COM cleanup for the IWineD3DDeviceParent_iface. 2011-01-28 11:59:45 +01:00
Michael Stefaniuc 54a61ae734 d3d8: Finish the COM cleanup of the IDirect3DDevice8 iface. 2011-01-28 11:59:39 +01:00
Michael Stefaniuc dec337acac d3d8: Use impl_from_IDirect3DDevice8() instead of the iface to object cast. 2011-01-28 11:59:34 +01:00
Henri Verbeet 71b46689bc d3d8/tests: Add a test for the NULL format. 2011-01-27 14:13:59 +01:00
Michael Stefaniuc bb6ae095d4 d3d8: Pass an object instead of an iface to an internal function. 2011-01-26 15:00:13 +01:00
Henri Verbeet ccba04e58e d3d8: Remove a useless ERR (LLVM/Clang). 2011-01-26 15:00:11 +01:00
Michael Stefaniuc 6ad10335a0 d3d8: COM cleanup for the IDirect3D8 iface. 2011-01-24 14:43:24 +01:00
Henri Verbeet 3d64b44c8c d3d8/tests: Fix test_ApplyStateBlock() (Valgrind). 2011-01-20 12:18:54 +01:00
Greg Geldorp c1736fed2d d3d8/tests: Skip tests if not running in the foreground. 2011-01-12 14:56:20 +01:00
Austin English b98c8ce556 d3d8/d3d9: Fix compiler warnings on non x86/x86_64. 2010-12-03 16:08:55 +01:00
Henri Verbeet f683fe313b d3d8/tests: Add a test for 0 width / height surface creation. 2010-11-18 12:37:44 +01:00
Henri Verbeet d2f23ff61e d3d8/tests: Fix some failure messages. 2010-11-17 14:01:15 +01:00
Henri Verbeet f024e2372f d3d8: Fix some return values. 2010-11-16 13:48:54 +01:00
Henri Verbeet 7e3985e1fe ddraw: Setup the device window in SetCooperativeLevel(). 2010-11-08 13:30:54 +01:00
Henri Verbeet feaf81f60d wined3d: Use SetWindowPos() to make the focus window active. 2010-11-05 17:15:37 +01:00
Henri Verbeet b93814e959 d3d8/tests: Add a test for INTZ. 2010-11-05 17:15:36 +01:00
Henri Verbeet 6632d2c45c d3d8/tests: Check for multiple expected messages in test_wndproc(). 2010-11-04 12:12:49 +01:00
David Adam 743e9b35a1 d3d8: ApplyStateBlock with a zero token returns D3D_OK. 2010-10-25 15:30:46 +02:00
Henri Verbeet 6dd9109358 wined3d: Pass a sub-resource index instead of a face + miplevel to cube texture methods. 2010-10-25 14:29:31 +02:00
Henri Verbeet 70f4e66f84 wined3d: IWineD3DBuffer_Unmap() can't fail. 2010-10-15 16:19:54 +02:00
Henri Verbeet 95469309d6 wined3d: Consistently use Map/Unmap for mapping resources. 2010-10-14 17:54:52 +02:00
Henri Verbeet 4fa4ea7335 d3d8/tests: Add window proc tests for switching between fullscreen and windowed. 2010-10-06 14:42:10 +02:00
Alexandre Julliard 730f01801f tests: Make some variables static. 2010-10-01 13:41:42 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Rico Schüller e6d52c0c8b wined3d: Add argument check for Type to Get/SetTextureStageState(). 2010-09-14 13:32:00 -05:00
Henri Verbeet fd7c1cbf05 wined3d: IWineD3DBuffer_GetDesc() should never fail. 2010-09-14 09:43:22 -05:00
Henri Verbeet 955858e97d wined3d: IWineD3DVolume_GetDesc() should never fail. 2010-09-08 13:31:49 +02:00
Henri Verbeet 53183b4cf3 wined3d: IWineD3DSurface_GetDesc() should never fail. 2010-09-08 13:31:43 +02:00
Henri Verbeet 07b5c4becf wined3d: Getting the current pixel shader should never fail. 2010-09-07 11:23:31 +02:00
Henri Verbeet 0c54dfe7ba wined3d: Getting the current vertex shader should never fail. 2010-09-07 11:23:27 +02:00
Henri Verbeet 95098f1b2a d3d8: An invalid shader version isn't an internal error. 2010-09-06 16:14:30 +02:00
Henri Verbeet c9c034fb55 d3d8: Merge vertex and index buffer implementations into a single file. 2010-09-02 11:51:05 +02:00
Henri Verbeet 29ed11e55f d3d8: Merge vertex and pixel shader implementations into a single file. 2010-09-02 11:50:40 +02:00
Henri Verbeet 6c4c351791 wined3d: Don't require wined3d object parents to be COM objects. 2010-09-01 14:01:02 +02:00
Henri Verbeet 2ef400901d wined3d: Devices don't need parents. 2010-09-01 12:40:07 +02:00
Henri Verbeet c568916f9e wined3d: Implicit depth/stencil surfaces don't have a container.
They're owned by the device instead of the swapchain.
2010-08-31 14:23:47 +02:00
Henri Verbeet 4005eb2a18 wined3d: Get rid of WINED3DRECT. 2010-08-31 14:23:47 +02:00
Austin English 243771deb1 d3d8/d3d9: Fix a compiler warning on non-i386/x86_64. 2010-08-24 12:25:14 +02:00
Henri Verbeet cc5271d1b7 wined3d: Rename WINED3DFORMAT to wined3d_format_id. 2010-08-24 12:25:01 +02:00
Henri Verbeet 3ad82a82bb wined3d: The stateblock doesn't have a parent. 2010-07-30 11:36:03 +02:00
Alexandre Julliard b86d515ed6 dlls: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:36 +02:00
Alexandre Julliard 857d8f3675 d3d8/tests: Fix some test failures with the focus messages. 2010-07-02 13:45:25 +02:00
Henri Verbeet 7d5666e084 d3d8: Set the FPU control word on device creation. 2010-05-26 17:36:32 +02:00
Henri Verbeet fabc7ecd97 d3d8/tests: Add a shadow sampler test. 2010-05-17 13:19:59 +02:00
Henri Verbeet 51ccd69e7c d3d8/tests: Add some depth buffer tests. 2010-04-12 11:33:24 +02:00
Alexandre Julliard 26cc3efb33 d3d8: Avoid using a pointer difference in a trace. 2010-04-09 15:54:54 +02:00
Henri Verbeet ae623815ee d3d8/tests: Clear with colors that are more obviously different from the expected value in test_rcp_rsq(). 2010-04-06 11:48:39 +02:00
Henri Verbeet 60a3625328 d3d8/tests: Use color_match() in test_rcp_rsq(). 2010-04-06 11:48:35 +02:00
Henri Verbeet d11185a890 d3d8/tests: Add some message processing to test_wndproc().
Disabled testing the focus and foreground windows after creating the device
for the moment.
2010-03-25 10:02:17 +01:00
Paul Vriens dcb62f265d d3d8/tests: Fix timeouts on Win9x/WinMe. 2010-03-19 12:26:31 +01:00
Henri Verbeet 914c8cb8ea ddraw: Acquire/release the focus window from the correct location. 2010-03-18 10:24:15 +01:00
Henri Verbeet 7aa5e90914 d3d8/tests: Extend the window proc / focus window tests. 2010-03-18 10:23:52 +01:00
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01:00
Christian Costa 11a015070c d3d8: Display FIXME only once in ValidatePixelShader and ValidateVertexShader. 2010-02-22 12:36:05 +01:00
Alexandre Julliard 6164ce2d82 makefiles: Use the standard C_SRCS variable as the list of test files.
This enables it to be auto-updated by make_makefiles.
2010-02-22 10:47:11 +01:00
Stefan Dösinger bb035638d0 d3d: Make sure vertexbuffer lock doesn't return a NULL pointer. 2010-02-09 11:33:53 +01:00
Stefan Dösinger e2f83db007 d3d8: Test buffer lock flags. 2010-02-02 14:10:27 +01:00
Henri Verbeet 69861cf873 wined3d: Get rid of the depth range hack. 2010-01-27 11:16:07 +01:00
Henri Verbeet 5f68a2407b d3d8: Add depth clamp tests. 2010-01-27 11:15:54 +01:00
Henri Verbeet cdb7a94ae2 d3d8: Remove the unused Direct3DResource8_Vtbl. 2010-01-18 14:37:14 +01:00
Henri Verbeet 67cba48782 wined3d: The FVF parameter to IWineD3DDeviceImpl_CreateVertexBuffer() is unused now. 2009-12-30 13:31:20 +01:00
Henri Verbeet d18bbbf09d d3d8/tests: Add message tests for windowed devices. 2009-12-29 11:05:50 +01:00
Stefan Dösinger d6b9732497 wined3d: Remove the d3d7 do-not-convert code. 2009-12-29 11:03:36 +01:00
Henri Verbeet 5d2a46d92e d3d8/tests: Add some tests for focus behaviour. 2009-12-23 14:27:30 +01:00
Henri Verbeet 2e27ab6b67 d3d8: Add a separate function for swapchain initialization. 2009-12-21 15:01:25 +01:00
Henri Verbeet b796573d68 d3d8: Add a test to show D3D replaces the window proc. 2009-12-15 11:44:14 +01:00
Henri Verbeet 789fed5095 d3d8: Forward the volume's GetDevice() to the texture instead of the wined3d volume. 2009-12-09 13:50:52 +01:00
Alexandre Julliard 6062679b08 d3d8/tests: Fix some pointer cast warnings on 64-bit. 2009-12-09 12:04:22 +01:00
Henri Verbeet 179cee08b0 d3d8: Fix GetDevice() for surfaces that are part of a texture.
If the surface is part of a texture it doesn't keep its own reference to the
device, but instead relies on the reference the texture has. This fixes a
regression introduced by 3cedef2ffe.
2009-12-07 14:34:04 +01:00
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
Henri Verbeet 775ea907a3 d3d8: Fix locking. 2009-03-23 14:08:03 +01:00
Henri Verbeet 72b5378758 d3d8: Get rid of resource.c. 2009-03-23 14:08:03 +01:00
Henri Verbeet 7c0931b7c2 d3d8: Get rid of basetexture.c. 2009-03-23 14:08:03 +01:00
Michael Stefaniuc d4c2a387c8 d3d8/tests: Use ULONG instead of unsigned long. 2009-03-23 12:41:08 +01:00
Henri Verbeet 24100cd026 d3d8: Release the d3d8 shader once we're done with it in IDirect3DDevice8Impl_GetPixelShader(). 2009-03-13 11:28:35 +01:00
Henri Verbeet f9d82ed1de d3d8: Handles aren't supposed to be pointers.
This might even make d3d8 a bit more 64-bit safe.
2009-03-10 12:08:58 +01:00
Henri Verbeet cbc8630019 d3d8: Make the shader handle table a bit more generic. 2009-03-10 12:08:32 +01:00
Henri Verbeet 954c3e22e1 d3d8: Don't call Release() in a while loop.
There should only ever be a single reference to these objects, since only
their handle is exposed outside d3d8. Should there be more references than
that, calling Release() in a while loop probably isn't the right approach.
2009-03-10 12:07:59 +01:00
Henri Verbeet 57d971121a d3d8: Fix some sign compare warnings. 2009-03-10 12:07:41 +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
Paul Vriens 1dc4d5caae d3d8/tests: Use win_skip() and skip() where appropriate. 2009-03-02 12:29:01 +01:00
Paul Vriens a1ca18eaf8 d3d8/tests: Fix a test failure on some boxes. 2009-02-25 14:05:36 +01:00
Paul Vriens b6263f6664 d3d8/tests: Fix a test failure on VMware. 2009-02-25 14:05:31 +01:00
Francois Gouget bd14f24b69 d3d8/tests: Use win_skip() to skip over unimplemented functionality. 2009-02-25 12:49:25 +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 d575b5fecb d3d8: Explicitly convert between D3DFORMAT and WINED3DFORMAT values. 2009-02-20 11:09:54 +01:00
Ge van Geldorp ae79b02ca6 d3d8/tests: Make tests pass on a W2K8 VM. 2009-01-27 11:30:03 +01:00
Francois Gouget 1f601015cd d3d8: Make some device_parent_*() functions static. 2009-01-26 15:13:29 +01:00
Henri Verbeet b5eaca542e d3d8: Properly test for dynamic usage in device_parent_CreateSurface(). 2009-01-16 13:29:52 +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
Michael Stefaniuc 357c3f4a2c d3d8: Remove superfluous pointer casts. 2009-01-14 13:51:01 +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
Paul Vriens 49da5031c2 d3d8/tests: Fix a test failure on VMware and VirtualBox. 2009-01-05 15:09:17 +01:00
Henri Verbeet 007c648c20 d3d: Correct some debug levels. 2008-12-30 11:36:50 +01:00
Henri Verbeet ff409280e7 d3d8: Port the d3d9 stateblock tests to d3d8. 2008-12-30 11:36:11 +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 4adb342327 wined3d: Remove GetFVF() and SetFVF() from IWineD3DDevice. 2008-12-17 14:02:03 +01:00
Henri Verbeet dfe41770e7 d3d8: Add a test for GetVertexShader() with a FVF set. 2008-12-16 12:52:16 +01:00
Henri Verbeet 46572f682c wined3d: Refuse to create shaders with a NULL function. 2008-12-16 12:51:49 +01:00
Henri Verbeet 62497e8772 d3d8: Remove unused code.
Also corrects some related comments.
2008-12-16 12:51:40 +01:00
Henri Verbeet 0a47e1beb4 d3d8: Use the wined3d declaration to retrieve the d3d8 shader in IDirect3DDevice8Impl_GetVertexShader().
This makes it no longer necessary to create a wined3d vertex shader
when the d3d8 vertex shader has a NULL function.
2008-12-15 14:00:46 +01:00
Henri Verbeet b9468a89fc d3d8: Create a d3d8 declaration as parent for FVF based declarations. 2008-12-15 14:00:37 +01:00
Francois Gouget ec7cbc26f5 d3d8: Make D3D8CB_CreateSurface() static. 2008-12-15 12:25:02 +01:00
Huw Davies 855ce5bd86 d3d8/tests: Skip tests if we can't create the D3D8 object. 2008-12-04 12:51:18 +01:00
Alexandre Julliard 00e0d1510b d3d8: Make a function static. 2008-12-04 12:46:52 +01:00
Henri Verbeet a6917b143d wined3d: Use IDL to generate wined3d.h. 2008-11-25 13:37:22 +01:00
Francois Gouget d3c7b2f7cc d3d8: Remove WINAPI on static functions where not needed. 2008-11-24 14:18:42 +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
Henri Verbeet 30a504bab8 d3d8: Don't ignore the GetCursorInfo() return value (LLVM/Clang). 2008-11-03 11:49:27 +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 7f327237bf Convert remaining source files to utf-8. 2008-10-18 19:23:08 +02:00
Detlef Riekenberg 38abbe3d60 d3d8/tests: Fix test on win9x with broken driver. 2008-10-13 12:03:25 +02:00
Aric Stewart f7cacc1f09 d3d8: Initialize IDirect3DDevice8 *device to NULL in case of immediate cleanup (Coverity 795). 2008-10-07 15:21:20 +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 941801c548 d3d8: Fix incorrect ordering of brackets in IDirect3DVertexShader8Impl_GetDevice.
The comparison should be (D3D_OK == hr && myDevice), not (D3D_OK == (hr && myDevice)).
(Found with PreFast.)
2008-09-30 10:20:41 -05:00
Henri Verbeet 8f07e99ec5 d3d8: Add a test for auto depth stencil reset. 2008-09-10 12:05:45 +02:00
Henri Verbeet 43f5d8e5ad d3d8: Fix IDirect3DDevice8::SetRenderTarget().
The render target should be left alone if the render target argument is
NULL. WineD3D calls should be done inside the critical section.
2008-09-10 12:05:25 +02:00
Henri Verbeet 01539fb926 d3d8: GetDepthStencilSurface returns D3DERR_NOTFOUND when no depth stencil is present. 2008-09-10 12:05:10 +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
David Adam acaeb92042 d3d8/d3d9: Remove unconsistent tests for SetMaterial. 2008-08-22 11:32:09 +02:00
H. Verbeet 898c2c9778 d3d8: Don't store shader_handle's.
They're not stable across table resizes.
2008-08-20 10:26:51 +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
Tobias Jakobi 9ba3d03e78 d3d8: Fix IDirect3DDevice8::CreateImageSurface pool type. 2008-07-08 21:08:32 +02:00
Tobias Jakobi 413ce31eff d3d8: Add testcase for IDirect3DDevice8::CreateImageSurface. 2008-07-08 20:39:08 +02:00
Alexandre Julliard f98157f601 d3d8: Don't depend on the dxerr8 static library in the tests. 2008-07-08 17:51:45 +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
H. Verbeet 873c0afb82 d3d: Allow more imprecision in the texop test. 2008-06-25 20:29:05 +02:00
H. Verbeet 3546b8bbfc d3d8: Use color_match() in alpha_test().
Also fixes some of the messages.
2008-06-24 11:48:32 +02:00
Alexandre Julliard 360d87f420 d3d8: Make Direct3DCreate8 fail if we can't initialize wined3d. 2008-06-24 11:07:43 +02:00
Huw Davies a52224a48b d3d8: Fix typo in test. 2008-06-20 11:19:34 +02:00
Dmitry Timoshkov 92dfc02b01 d3d8: Avoid a not needed address-of operator. 2008-06-06 10:29:14 +02:00
H. Verbeet 2f6fbdec8c d3d8: Test our texop implementation. 2008-05-27 12:04:29 +02:00
H. Verbeet 14b13d0687 d3d: Use an alpha capable backbuffer format in the visual tests. 2008-05-27 12:04:05 +02:00
Andrew Talbot c8d495bac1 d3d8: Dangling pointers fix. 2008-05-05 19:46:15 +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 537c4babed d3d8: Fix a few test failures in win2k3. 2008-04-25 11:33:47 +02:00
David Adam 7df193676e wined3d: Fix a possible null dereference. 2008-04-21 16:54:00 +02:00
Alexander Dorofeyev d6ba069d9e wined3d: Improve detection of device palette change. 2008-04-03 11:31:57 +02:00
Stefan Dösinger 0fa0df7843 d3d8: Reject broken normal declaration types with fixed function. 2008-03-28 14:49:30 +01:00
Austin English 06d429d6b6 Spelling fixes. 2008-03-27 20:48:19 +01:00
Austin English 4777f26d61 Spelling fixes. 2008-03-27 11:10:07 +01:00
Stefan Dösinger 8869c0f147 d3d: De-pointerize the WINED3DCAPS structure. 2008-03-25 19:36:38 +01:00
Alexander Dorofeyev 94949ab849 d3d8/tests: Test DrawIndexedPrimitiveUP with primitive count zero. 2008-03-24 20:40:24 +01:00
Alexander Dorofeyev 785e6fa61f d3d8/tests: Cover one more case in p8_texture_test.
Test if a P8 texture gets properly updated if there was a palette change while 
this texture wasn't bound to any stage.
2008-03-10 12:54:54 +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
Alexander Dorofeyev 57d506f654 d3d8/tests: Add a P8 texture test. 2008-02-25 12:38:37 +01:00
Francois Gouget 4c8e218252 Assorted spelling fixes. 2008-02-15 12:09:24 +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 55e92b9410 d3d8: Fix type of loop variable. 2008-01-04 12:12:31 +01:00
Gerald Pfeifer 21a9c2d2f9 wined3d: Removed dead FIXME checks. 2008-01-03 11:53:29 +01:00
Andrew Talbot 70d82dfbd9 d3d8: Remove unneeded casts. 2008-01-02 12:38:41 +01:00
Stefan Dösinger f700cbe74b wined3d: Add an alpha blending test. 2007-12-07 16:26:43 +01:00
Alexandre Julliard ad9396302d Removed some unneeded imports. 2007-12-06 21:24:24 +01:00
Andrew Talbot cd2964483a d3d8: Remove unneeded casts. 2007-12-05 12:04: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 f0c479d6f7 d3d8: Destroy the window after the visual test. 2007-11-20 13:10:51 +01:00
Stefan Dösinger 6cecaa9852 d3d8: Release the vertex declarations array when destroying the device. 2007-11-20 12:53:00 +01:00
Stefan Dösinger 4bd65f2a66 d3d8: Initialize the vertex decl when allocating it. 2007-11-05 13:24:36 +01:00
Stefan Dösinger d0fdb1ea7e d3d: Add a test for double surface locking. 2007-08-31 11:25:19 +02:00
Stefan Dösinger 6ec6c941fa wined3d: BaseVertexIndex can be negative. 2007-08-27 12:00:42 +02:00
Stefan Dösinger a06e002e93 wined3d: Add a wined3d private WINED3DSBT_RECORDED. 2007-08-15 09:36:20 +02:00
Paul Vriens c20a285510 d3d8/tests: Make tests run again on win95. 2007-08-14 12:45:57 +02:00