Commit Graph

1021 Commits

Author SHA1 Message Date
Henri Verbeet 2256a7e804 wined3d: wined3d_device_evict_managed_resources() doesn't need a return value. 2011-07-29 12:09:39 +02:00
Matteo Bruni 332a2c05cb d3d8/tests: Add a couple of fog tests. 2011-07-25 22:30:40 +02:00
Matteo Bruni 8e522b7fb8 d3d8/tests: Fix some error messages. 2011-07-25 22:30:22 +02:00
Matteo Bruni 9475065273 d3d8/tests: Rename a variable. 2011-07-25 22:30:17 +02:00
Henri Verbeet 44e109debe wined3d: Unbind resources inside wined3d_device_reset(). 2011-07-25 21:25:15 +02:00
Henri Verbeet 0739cae273 wined3d: Pass "reset_enum_callback" directly to wined3d_device_reset().
It would have been nice if we could do all of this inside wined3d, but we need
to determine what resources are in use by d3d8/d3d9, not wined3d. This is
mostly an issue for "implicit" resources like swapchain render targets and the
depth / stencil surface. The fact that we're having this problem probably
means we're doing it wrong. Since these implicit resources should only be
referenced by wined3d, we could probably just destroy and recreate the
swapchain, instead of the little updateSurfaceDesc() dance we currently do.
2011-07-25 21:25:01 +02:00
Michael Stefaniuc 9ab233ea24 d3d8: COM cleanup for the IDirect3DVertexBuffer8 iface. 2011-07-08 14:45:14 +02:00
Michael Stefaniuc aa8e4dd81b d3d8: Use unsafe_impl_from_IDirect3DVertexBuffer8 for app provided ifaces. 2011-07-08 14:45:09 +02:00
Michael Stefaniuc 638cf80c4f d3d8: COM cleanup for the IDirect3DIndexBuffer8 iface. 2011-07-05 13:47:38 +02:00
Michael Stefaniuc c1eeeec2d2 d3d8: Use unsafe_impl_from_IDirect3DIndexBuffer8 for an app provided iface. 2011-07-05 13:47:35 +02:00
Michael Stefaniuc d615be8eea d3d8: COM cleanup for the IDirect3DSurface8 iface. 2011-07-05 13:47:30 +02:00
Michael Stefaniuc cce8294f39 d3d8: Use unsafe_impl_from_IDirect3DSurface8 for app provided ifaces. 2011-07-05 13:47:26 +02:00
Michael Stefaniuc bdd8459a53 d3d8: Avoid an unsafe IDirect3DSurface8 to object cast. 2011-07-05 13:47:22 +02:00
Henri Verbeet ddc29c40e6 wined3d: Make D3DRS_ZBIAS work.
D3DRS_ZBIAS is poorly defined, but it makes sense that the bias should be
format independent. Looking at application behaviour, it seems to include a
slope scale factor as well. This fixes a couple of regressions introduced by
96b758f7b3, although it was broken before as
well, just in a different way.
2011-07-05 13:46:07 +02:00
Henri Verbeet c461d312ba wined3d: Request per-surface palettes in the client libs. 2011-06-24 08:49:48 -05:00
Henri Verbeet b296f181dd wined3d: Explicitly set surface alignment in the client libs.
Instead of using dxVersion.
2011-06-24 08:49:42 -05:00
Henri Verbeet 330ffc83f2 d3d8: Implement IDirect3DVolume8 private data handling on top of wined3d_resource. 2011-06-23 09:47:34 +02:00
Henri Verbeet f6bfdd47c9 d3d8: Implement IDirect3DSurface8 private data handling on top of wined3d_resource. 2011-06-22 11:25:22 +02:00
Henri Verbeet 792060d67f d3d8: Implement IDirect3DVolumeTexture8 private data handling on top of wined3d_resource. 2011-06-20 11:28:40 +02:00
Henri Verbeet 5b077584d2 d3d8: Implement IDirect3DTexture8 private data handling on top of wined3d_resource. 2011-06-20 11:28:36 +02:00
Henri Verbeet ccf2ff7089 d3d8: Implement IDirect3DCubeTexture8 private data handling on top of wined3d_resource. 2011-06-20 11:28:32 +02:00
Stefan Dösinger ae5ca837d5 d3d8: Don't print the ResourceManagerDiscardBytes fixme when Bytes == 0. 2011-06-17 15:37:38 +02:00
Henri Verbeet 37d70103a1 d3d8: Implement IDirect3DIndexBuffer8 private data handling on top of wined3d_resource. 2011-06-17 11:02:43 +02:00
Henri Verbeet dc6581ce5e d3d8: Implement IDirect3DVertexBuffer8 private data handling on top of wined3d_resource. 2011-06-17 11:02:36 +02:00
Andrew Nguyen 174b03cad8 d3d8: Increment the reference count of the IDirect3D8 parent when creating a device. 2011-06-06 21:49:19 +02:00
Henri Verbeet c866eab730 d3d8: Just return the resource type in IDirect3DResource8::GetType() implementations.
There's no need to ask wined3d, since it's constant for a given
implementation.
2011-06-06 16:19:04 +02:00
Henri Verbeet 708d94212b wined3d: Don't clamp vertex depth values.
Since we report D3DPMISCCAPS_CLIPTLVERTS.
2011-06-06 16:18:33 +02:00
Andrew Nguyen eef74e5e4b d3d8/tests: Avoid a shift overflow in render_state_test_data_init. 2011-05-31 18:32:59 +02:00
Stefan Dösinger d8224118ab d3d: Make the INTZ test more reliable. 2011-05-25 12:23:24 +02:00
Henri Verbeet 022db68080 d3d8/tests: Fix the depth clamping test. 2011-05-24 11:54:45 +02:00
Stefan Dösinger 6a43986e12 d3d8/tests: Use float literals. 2011-05-19 10:08:42 +02:00
Henri Verbeet 3032b40c80 wined3d: Get rid of the IWineD3DDeviceParent interface. 2011-05-19 10:06:21 +02:00
Stefan Dösinger 6867393614 d3d8: Stream indices are WORDs. 2011-05-18 16:42:08 +02:00
Stefan Dösinger e55b3bef0f d3d8: Add a float to DWORD cast. 2011-05-18 16:42:03 +02:00
Henri Verbeet 8d4ca1f815 wined3d: Remove COM from the device implementation. 2011-05-17 10:06:18 +02:00
Henri Verbeet 979e3744f7 wined3d: Remove state management methods from the IWineD3DDevice interface. 2011-05-17 10:06:15 +02:00
Henri Verbeet 00a5f38595 wined3d: Remove object creation methods from the IWineD3DDevice interface. 2011-05-11 14:56:48 +02:00
Stefan Dösinger 7b1e081515 d3d8: Map ZBIAS values to a smaller depth range. 2011-05-10 14:04:55 +02:00
Henri Verbeet a4b032fd31 d3d8/tests: Add a volume texture test to test_reset(). 2011-05-05 11:45:17 +02:00
Henri Verbeet 693fb6d56c d3d8: Check for D3DPOOL_DEFAULT resources before doing a Reset(). 2011-05-04 17:26:46 +02:00
Henri Verbeet 7db1ebb853 d3d8/tests: Add a Reset test.
This is based on the equivalent d3d9 test.
2011-05-04 17:26:46 +02:00
Henri Verbeet b20a2703e4 d3d8/tests: Fix some failure messages in test_depth_stencil_size(). 2011-05-04 17:26:46 +02:00
Henri Verbeet 7b44caa752 d3d8/tests: Add a test for window styles on device creation. 2011-05-03 14:38:06 +02:00
Henri Verbeet 1c1de920e3 wined3d: Remove COM from the surface implementation. 2011-04-29 16:52:13 +02:00
Stefan Dösinger e140077cc7 d3d8: Add more tests for NULL render targets. 2011-04-26 16:17:45 +02:00
Stefan Dösinger 463162b414 d3d8: Don't reapply the old DS if SetDepthStencilSurface failed. 2011-04-26 16:17:43 +02:00
Stefan Dösinger 96b758f7b3 d3d: Map D3DRS_ZBIAS to WINED3DRS_DEPTHBIAS.
ZBIAS was removed in d3d9 and replaced with DEPTHBIAS. Currently
wined3d implements both independently which will cause trouble if we
want to set the depthbias value depending on the depth stencil format.
2011-04-22 17:51:29 +02:00
Henri Verbeet 2c450571e5 wined3d: Remove COM from the volume implementation. 2011-04-15 10:07:57 +02:00
Henri Verbeet 3ec19590d5 wined3d: Remove COM from the swapchain implementation. 2011-04-14 17:13:57 +02:00
Henri Verbeet d2e665230a wined3d: Get rid of the swapchain destroy callback. 2011-04-13 14:13:51 +02:00
Henri Verbeet 4e56a4fe79 d3d8: Get rid of the implicit swapchain refcounting hacks. 2011-04-11 23:54:13 +02:00
Henri Verbeet dd2c7d0d8c wined3d: Don't free D3D swapchains until the wined3d swapchain is destroyed.
This will allow us the get rid of the swapchain refcounting hacks in d3d9 in
particular. This is similar to the way we handle resources that are still in
use by a stateblock, but aren't referenced anywhere by the application.
2011-04-08 14:40:48 +02:00
Henri Verbeet 826c91c5e0 d3d8/tests: Add a test for partial depth buffer copies. 2011-04-05 11:13:51 +02:00
Henri Verbeet f8f83ff2f7 wined3d: Remove COM from the shader implementation. 2011-03-31 12:37:46 +02:00
Henri Verbeet 3d4fe0b750 wined3d: Get rid of IWineD3DPixelShader. 2011-03-30 12:18:03 +02:00
Henri Verbeet 49725ba583 wined3d: Get rid of IWineD3DVertexShader. 2011-03-30 12:17:51 +02:00
Henri Verbeet fd8e18bd2b wined3d: Remove COM from the texture implementation. 2011-03-28 17:08:52 +02:00
Henri Verbeet b8c40f3a7e wined3d: Get rid of IWineD3DCubeTexture. 2011-03-18 15:59:04 +01:00
Michael Stefaniuc d71d1cf703 d3d8: COM cleanup for the IDirect3DVolumeTexture8 iface. 2011-03-17 17:45:02 +01:00
Henri Verbeet f1ec3820d7 wined3d: Get rid of IWineD3DTexture. 2011-03-17 10:40:52 +01:00
Henri Verbeet ed0037854a wined3d: Get rid of IWineD3DVolumeTexture. 2011-03-16 14:14:21 +01:00
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