Commit Graph

1760 Commits

Author SHA1 Message Date
Piotr Caban 5c85f96f33 ddraw: Improve GetScanLine stub so it's usable for timing related tasks. 2012-04-06 20:16:23 +02:00
Henri Verbeet 9804ebcd9e ddraw/tests: Add some QueryInterface() tests for devices. 2012-04-06 20:11:23 +02:00
Henri Verbeet cf30899f1a ddraw: Version 1 devices are aggregated by the surface that created them. 2012-04-06 20:11:17 +02:00
Henri Verbeet e13de0adf8 ddraw: Fix querying device interfaces in IDirect3DDeviceImpl_7_QueryInterface().
Version 7 devices can only return the version 7 interface. The other versions
can only return earlier interfaces.
2012-04-06 20:11:13 +02:00
Henri Verbeet 1a98c339ca ddraw: Remove some interfaces from IDirect3DDeviceImpl_7_QueryInterface(). 2012-04-04 17:22:30 +02:00
Henri Verbeet cd8508a915 ddraw: Replace an ERR in IDirect3DDeviceImpl_7_QueryInterface() with a WARN. 2012-04-04 17:22:23 +02:00
Henri Verbeet 4f91eb3fe1 ddraw: Keep track of the ddraw version used to create a device.
This also obsoletes the "from_surface" device field.
2012-04-04 17:22:19 +02:00
Henri Verbeet cdd2d7f258 ddraw/tests: Add some QueryInterface() tests for surfaces. 2012-04-03 12:00:41 +02:00
Henri Verbeet ecd1c78c48 ddraw: Surface versions before 7 return E_INVALIDARG on failure in QueryInterface(). 2012-04-03 12:00:13 +02:00
Henri Verbeet 75aa0b38f7 ddraw: The various D3D device interfaces can't be queried from version 7 surfaces. 2012-04-03 12:00:10 +02:00
Henri Verbeet 814fd3b39e ddraw: The texture interface shares its refcount with the surface interface version used to create the surface.
This probably implies that on native the texture interface is part of a
separate object that's aggregated by the surface.
2012-04-02 12:39:28 +02:00
Henri Verbeet 7dd4f439e3 ddraw: The texture interfaces can't be queried from version 7 surfaces. 2012-04-02 12:39:22 +02:00
Henri Verbeet 8481625fa4 ddraw: Explicitly check for the IDirectDrawColorControl interface in ddraw_surface7_QueryInterface(). 2012-04-02 12:39:19 +02:00
Henri Verbeet f7719a89ad ddraw: Querying IUnknown for a surface should return the IDirectDrawSurface interface. 2012-03-30 10:43:49 +02:00
Henri Verbeet a623075612 ddraw: Replace a ERR in ddraw_surface7_QueryInterface() with a WARN. 2012-03-30 10:43:44 +02:00
Henri Verbeet f3d1d4790c ddraw: Get rid of a couple of redundant else-statements. 2012-03-30 10:43:33 +02:00
Henri Verbeet 02b6e04a76 ddraw/tests: Add a helper function to create a viewport. 2012-03-27 11:38:41 +02:00
Henri Verbeet 6f35ec6092 ddraw: Make ddraw_surface_wined3d_parent_ops static. 2012-03-26 18:15:07 +02:00
Henri Verbeet fefb5a943d ddraw: Get rid of IDirect3DMaterialImpl. 2012-03-16 11:09:07 +01:00
Henri Verbeet 0c11c316bb ddraw: Get rid of IDirect3DViewportImpl. 2012-03-15 19:52:05 +01:00
Henri Verbeet 7b918934e6 ddraw: Get rid of IDirect3DLightImpl. 2012-03-14 11:48:45 +01:00
Henri Verbeet 2071026acd ddraw: Don't return a pointer to the implementation in IDirectDrawClassFactoryImpl_QueryInterface(). 2012-03-14 11:48:41 +01:00
Henri Verbeet d92a103fc0 ddraw: Don't return a pointer to the implementation in IDirect3DMaterialImpl_QueryInterface(). 2012-03-14 11:48:37 +01:00
Henri Verbeet 9157006fc1 ddraw: Don't return a pointer to the implementation in IDirect3DDeviceImpl_7_QueryInterface(). 2012-03-14 11:48:32 +01:00
Henri Verbeet f6bb0a9016 ddraw: Don't return a pointer to the implementation in ddraw7_QueryInterface(). 2012-03-14 11:48:26 +01:00
André Hentschel b9c1e5ad32 ddraw: Fix a typo. 2012-03-13 10:38:17 +01:00
Henri Verbeet d0a37cdeb5 ddraw: Get rid of IDirectDrawPaletteImpl. 2012-03-13 10:26:54 +01:00
Henri Verbeet 9e44c4bc58 ddraw/tests: Fix a couple of return value checks. 2012-03-13 10:26:49 +01:00
Henri Verbeet 5f43cd2631 ddraw: Get rid of IDirectDrawSurfaceImpl. 2012-03-12 10:44:01 +01:00
Henri Verbeet 1cee1891fd ddraw: Get rid of IDirectDrawImpl. 2012-03-09 11:32:35 +01:00
Henri Verbeet 4c8ee13d5b ddraw: Trace color keys in hex. 2012-03-08 17:58:08 +01:00
Henri Verbeet 3c5a2549c5 ddraw/tests: Add tests for color keyed texturing with an alpha channel. 2012-02-29 10:31:20 +01:00
Stefan Dösinger f8d6d0300b ddraw/tests: LONG/ULONG and error checking fixes. 2012-02-27 14:15:31 +01:00
Francois Gouget cdac8cb176 ddraw/tests: Fix compilation on systems that don't support nameless unions. 2012-02-27 12:54:14 +01:00
Henri Verbeet 19199bc524 ddraw/tests: Add tests for z-clipping with D3DRENDERSTATE_ZENABLE disabled. 2012-02-24 09:55:56 +01:00
Henri Verbeet f20e07b77b ddraw: Always pin surfaces. 2012-02-22 11:26:32 +01:00
Henri Verbeet ed47f259bd wined3d: Don't take the wined3d mutex during WM_DISPLAYCHANGE either. 2012-02-21 11:30:10 +01:00
Matteo Bruni 769fd080f8 ddraw: Don't leak the window DC. 2012-02-08 17:20:22 -06:00
Francois Gouget 527e1ae1ac ddraw/tests: Fix compilation on systems that don't support nameless unions. 2012-02-06 10:19:53 -06:00
Henri Verbeet 204e53e449 ddraw: Implement get_window_region() on top of GetRandomRgn().
Instead of just GetClientRect(). This fixes a regression introduced by
3e9fe3e938. We also need to clip against e.g.
the screen edges instead of just the client rect.
2012-02-06 10:19:31 -06:00
Henri Verbeet 7fda67d74a ddraw/tests: Move some helper functions up with the rest of the helper functions. 2012-02-05 09:36:11 -06:00
Henri Verbeet 98bd3ef803 ddraw/tests: Use correct COM macros in a couple of places. 2012-02-05 09:34:05 -06:00
Stefan Dösinger acf82ff1f5 ddraw/tests: Add some IDirect3DViewport interface tests. 2012-02-02 12:59:36 +01:00
Stefan Dösinger 4775c76208 ddraw/tests: Add an IDirect3DDevice7::Load color key test. 2012-01-31 17:49:27 +01:00
Stefan Dösinger cfc9e120ae ddraw/tests: Add an IDirect3DTexture2::Load color key test. 2012-01-31 17:49:23 +01:00
Stefan Dösinger 2bd56ac553 ddraw/tests: Add an IDirect3DTexture::Load color key test. 2012-01-31 17:49:19 +01:00
Stefan Dösinger 551c732d74 ddraw: Properly set the color key in texture::load. 2012-01-31 17:49:15 +01:00
Henri Verbeet 0d8e6719d5 ddraw: AddAttachedSurface() just references whatever we pass it. 2012-01-31 13:46:30 +01:00
Stefan Dösinger 60ef7e0bd4 ddraw/tests: Port the depth blit test to ddraw2. 2012-01-30 20:44:47 +01:00
Stefan Dösinger b16248898b ddraw/tests: Port the depth blit test to ddraw4. 2012-01-30 20:44:47 +01:00
Stefan Dösinger 8a82f0083a ddraw/tests: Port the depth blit test to ddraw7. 2012-01-30 20:44:46 +01:00
Henri Verbeet ed6461f9da ddraw/tests: Add a test for SetCooperativeLevel() on a window that belongs to another thread. 2012-01-27 14:57:55 +01:00
Alexandre Julliard 5f42f7d4fa ddraw: AddRef the correct interface pointer in AddAttachedSurface. 2012-01-25 21:38:32 +01:00
Matteo Bruni e51d3f6de6 ddraw: Accept pointers to wrong IDirectDrawSurface versions. 2012-01-24 11:56:06 +01:00
Francois Gouget 21036e13df ddraw/tests: Fix compilation on systems that don't support nameless unions. 2012-01-23 16:06:54 +01:00
Henri Verbeet 3769afa33d wined3d: Get rid of the WINED3DSURFTYPE typedef. 2012-01-20 13:31:33 +01:00
Henri Verbeet 67d4be0347 ddraw: Just pin all version 1 surfaces. 2012-01-19 11:56:35 +01:00
Henri Verbeet ed417a6f13 wined3d: Get rid of the WINED3DSTATEBLOCKTYPE typedef. 2012-01-18 12:37:38 +01:00
Henri Verbeet e53a277305 wined3d: Get rid of the WINED3DPOOL typedef. 2012-01-18 12:37:38 +01:00
Henri Verbeet 6a5a098b23 wined3d: Get rid of the WINED3DRESOURCETYPE typedef. 2012-01-18 12:37:38 +01:00
Henri Verbeet 992dbc1078 ddraw: Maintain D3D state across cooperative level changes. 2012-01-18 12:37:38 +01:00
Henri Verbeet dfa7e9b563 ddraw/tests: Add some tests to show that we should maintain D3D state across cooperative level chnages. 2012-01-18 12:37:38 +01:00
Henri Verbeet 1acd8278c8 ddraw/tests: Add a border around the blitted source data in test_clipper_blt().
Some drivers use the neighbouring pixels in the interpolation. You can
probably argue about whether that's right or wrong, but it's really not what
we're trying to test in either case.
2012-01-18 12:37:38 +01:00
Henri Verbeet cf636cc3b3 ddraw: Allow querying the surface interface if a device was created from a surface. 2012-01-18 12:37:38 +01:00
Henri Verbeet e70990041b wined3d: Get rid of the WINED3DTEXTUREFILTERTYPE typedef. 2012-01-13 17:34:31 +01:00
Henri Verbeet a44b062aed wined3d: Get rid of the WINED3DCUBEMAP_FACES typedef. 2012-01-13 17:34:31 +01:00
Henri Verbeet afb64506ba ddraw: Implement width and height changes in ddraw_surface7_SetSurfaceDesc(). 2012-01-13 17:34:30 +01:00
Henri Verbeet f38e94af7c wined3d: Get rid of the WINED3DTRANSFORMSTATETYPE typedef. 2012-01-12 12:37:18 +01:00
Henri Verbeet d6dfb7914a ddraw/tests: Fix some surface locking calls.
In ddraw7 DDLOCK_WAIT is the default behaviour, in earlier versions it's
DDLOCK_DONOTWAIT.
2012-01-12 12:37:09 +01:00
Henri Verbeet b6431d9493 wined3d: Get rid of the WINED3DTEXTUREOP typedef. 2012-01-11 17:47:22 +01:00
Henri Verbeet 43fcbcb36e wined3d: Get rid of the WINED3DTEXTURESTAGESTATETYPE typedef. 2012-01-10 10:47:27 +01:00
Henri Verbeet 1ef86ad596 ddraw: Properly clear the clip list if ddraw_clipper_SetClipList() is called with NULL region data. 2012-01-10 10:47:13 +01:00
Henri Verbeet e2765579bc ddraw/tests: Add tests for clippers with a destroyed window. 2012-01-10 10:47:04 +01:00
Francois Gouget daeb4d6d29 ddraw: Make ddraw_reset_enum_callback() and ddraw_surface_destroy() static. 2012-01-09 12:52:11 +01:00
Francois Gouget adcd8637ac ddraw/tests: Fix compilation on systems that don't support nameless unions. 2012-01-09 12:52:10 +01:00
Henri Verbeet 9a8491045e wined3d: Get rid of the WINED3DMULTISAMPLE_TYPE typedef. 2012-01-09 12:22:17 +01:00
Henri Verbeet 08545dc739 wined3d: Get rid of the WINED3DSAMPLERSTATETYPE typedef. 2012-01-09 12:22:12 +01:00
Henri Verbeet 01992d7fb5 ddraw: Don't leak the window region if we have an extra clip rect in ddraw_clipper_GetClipList(). 2012-01-09 12:21:59 +01:00
Henri Verbeet 3d33887c2f wined3d: Get rid of the WINED3DSWAPEFFECT typedef. 2012-01-06 19:24:22 +01:00
Henri Verbeet 31f3120815 ddraw: Convert to integer before adjusting the clipped source rect.
This makes a difference for the bottom and right edges, and we could end up
with an empty source rectangle otherwise.
2012-01-06 19:24:20 +01:00
Henri Verbeet f17e714857 ddraw: Implement IDirectDrawClipper::SetClipList(). 2012-01-06 19:24:20 +01:00
Henri Verbeet 3e9fe3e938 ddraw: Use the window's client rect for clipping. 2012-01-06 19:24:19 +01:00
Henri Verbeet 223b0736c0 ddraw: Disallow clipped blits in ddraw_surface7_BltFast(). 2012-01-05 20:54:21 +01:00
Henri Verbeet 99e5e3ac0d ddraw: Refuse to set a clip list if a clipper is already tracking a window. 2012-01-05 20:54:19 +01:00
Henri Verbeet 3997457574 ddraw/tests: Add some clipper tests. 2012-01-05 20:54:17 +01:00
André Hentschel b5ba054ce8 Assorted header comment cleanup. 2012-01-04 19:35:13 +01:00
Michael Stefaniuc f1f5536d8f ddraw: Fix two memory leaks (Smatch). 2012-01-03 12:37:58 +01:00
Henri Verbeet 387a5f632c ddraw: Fix the title and class name for the auto ddraw device window. 2011-12-23 13:44:26 +01:00
Henri Verbeet 3e6313050b ddraw: Handle the special DDSCL_SETFOCUSWINDOW | DDSCL_CREATEDEVICEWINDOW combination. 2011-12-23 13:44:19 +01:00
Henri Verbeet d8153e5364 ddraw: Properly handle DDSCL_CREATEDEVICEWINDOW. 2011-12-23 13:44:12 +01:00
Henri Verbeet a5af10e12b ddraw: Clear the focus and device windows on DDSCL_NORMAL. 2011-12-23 13:44:07 +01:00
Henri Verbeet 2ec0c7bfdc ddraw: DDSCL_CREATEDEVICEWINDOW requires DDSCL_EXCLUSIVE. 2011-12-23 13:44:00 +01:00
Henri Verbeet 00096c82fd wined3d: Get rid of the WINED3DZBUFFERTYPE typedef. 2011-12-22 10:08:48 +01:00
Henri Verbeet 654d53fa5f ddraw/tests: Add some tests for DDSCL_CREATEDEVICEWINDOW. 2011-12-22 10:08:45 +01:00
Henri Verbeet fe4e2bf60e ddraw/tests: Fix a couple of test messages. 2011-12-22 10:08:07 +01:00
Henri Verbeet 4a30db74b1 ddraw: Handle the Direct3D clipspace transformation.
Direct3D3 and earlier have an extra transformation to scale clipspace. It's
controlled by the extra viewport parameters in those versions.
2011-12-22 10:07:59 +01:00
Henri Verbeet 3082c1a9de wined3d: Get rid of the WINED3DRENDERSTATETYPE typedef. 2011-12-20 10:11:47 +01:00
Henri Verbeet 5c3ba123de ddraw/tests: Move the Direct3D7 ProcessVertices() test to ddraw7.c. 2011-12-20 10:11:36 +01:00
Henri Verbeet 7cdfa40156 ddraw/tests: Add a ProcessVertices() test for Direct3D3. 2011-12-20 10:11:24 +01:00
Henri Verbeet cb8f26be02 ddraw/tests: Remove some error checking from ProcessVerticesTest(). 2011-12-20 10:10:39 +01:00
Henri Verbeet fb28e7f596 ddraw/tests: Introduce proper vector types. 2011-12-19 20:15:48 +01:00
Henri Verbeet bd09f63bff ddraw/tests: Remove a redundant IDirect3DDevice7_SetViewport() call. 2011-12-19 20:15:48 +01:00
Henri Verbeet 2db8688185 ddraw/tests: Introduce some functions for comparing floating-point vectors. 2011-12-19 20:15:48 +01:00
Henri Verbeet 67bca436ee wined3d: Get rid of the WINED3DDEVTYPE typedef. 2011-12-13 18:58:58 +01:00
Henri Verbeet ebb85da5f7 wined3d: Get rid of the WINEDDCAPS typedef. 2011-12-13 18:58:58 +01:00
Henri Verbeet 10d2a9375d ddraw: Add support for clipped blits. 2011-12-13 18:58:56 +01:00
Henri Verbeet e6fb4537f0 ddraw: Move clipper handling to ddraw. 2011-12-13 18:58:37 +01:00
Henri Verbeet 9d55388156 ddraw: Destroy the swapchain after the D3D device in DllMain(). 2011-12-12 10:20:41 +01:00
Stefan Dösinger 9cf25006ad ddraw/tests: Extend the CreateSurface(NULL test), use own function. 2011-12-08 18:04:29 +01:00
Stefan Dösinger 481e2f3366 ddraw: SetSurfaceDesc can set width, height and pitch under certain conditions. 2011-12-08 18:04:18 +01:00
Stefan Dösinger b2ca7e37f4 ddraw/tests: Make the SetSurfaceDesc test ok messages consistent. 2011-12-08 18:00:32 +01:00
Henri Verbeet 3dd03f642d wined3d: Get rid of the WINEDDCOLORKEY typedef. 2011-12-08 10:27:53 +01:00
Henri Verbeet 52231bc467 wined3d: Get rid of the WineDirect3DVertexStridedData typedef. 2011-12-08 10:27:50 +01:00
Henri Verbeet 4c3dfa1bca wined3d: Get rid of the WineDirect3DStridedData typedef. 2011-12-07 17:49:56 +01:00
Henri Verbeet 05acde9cd1 ddraw: Just read the actual reference counts in DestroyCallback(). 2011-12-07 17:49:55 +01:00
Henri Verbeet ecb2859d3c ddraw: Destroy the swapchain in the DllMain() cleanup handler.
This is mostly to make sure there aren't any resources still being referenced
by wined3d.
2011-12-07 17:49:55 +01:00
Stefan Dösinger 7ae81ba378 ddraw/tests: Add a IDirect3DDevice2 GetCaps test. 2011-12-06 17:07:15 +01:00
Henri Verbeet eafebc0491 wined3d: Get rid of the WINED3DLOCKED_RECT typedef. 2011-12-06 15:50:58 +01:00
Henri Verbeet 6523ef5f67 ddraw: Don't enumerate surfaces without references. 2011-12-06 15:50:58 +01:00
Stefan Dösinger ea151da3cd ddraw/tests: Update a copyright line. 2011-12-05 17:40:21 +01:00
Stefan Dösinger d4f504c698 ddraw/tests: Add a IDirect3DDevice7 GetCaps test. 2011-12-05 17:40:11 +01:00
Stefan Dösinger cc06d182fb ddraw: Size handling fixes for IDirect3DDevice::GetCaps. 2011-12-05 17:40:04 +01:00
Henri Verbeet 94c9b0b4fc wined3d: Get rid of the WINED3DPRESENT_PARAMETERS typedef. 2011-12-02 11:51:29 +01:00
Henri Verbeet 3a2921c559 ddraw: Keep the primary surface mapped at the same address for early ddraw versions. 2011-11-30 11:50:58 +01:00
Henri Verbeet 3430e11605 wined3d: Add a flags parameter to wined3d_surface_create(). 2011-11-30 11:50:48 +01:00
Henri Verbeet 82dd612d50 ddraw: Resize the swapchain window on mode changes in exclusive mode. 2011-11-30 11:50:42 +01:00
Henri Verbeet 22d41e2c3f ddraw: Rename the wineD3D field in IDirectDrawImpl to wined3d. 2011-11-29 13:23:00 +01:00
Henri Verbeet 0f10ac9358 ddraw: Create the wined3d swapchain when setting the cooperative level. 2011-11-29 13:22:54 +01:00
Henri Verbeet f41ea4fefe ddraw/tests: Add tests for primary dimensions to test_coop_level_mode_set(). 2011-11-28 16:40:47 +01:00
Henri Verbeet 376ffdf3d5 wined3d: Get rid of the WINED3DADAPTER_IDENTIFIER typedef. 2011-11-24 17:10:09 +01:00
Henri Verbeet bca0ec8182 ddraw: Fail surface creation if the cooperative level isn't set yet. 2011-11-24 17:09:57 +01:00
Henri Verbeet 21bd722c46 ddraw: Set the render target to the wined3d frontbuffer on D3D device cleanup.
We don't need any specific render target here, since without a D3D device we
can't do any rendering anyway. We just want to avoid pointing to something
that was free'd.
2011-11-24 17:09:48 +01:00
Henri Verbeet 74345201ad ddraw: Move setting ddraw->d3d_target out of ddraw_attach_d3d_device(). 2011-11-23 09:13:49 +01:00
Matteo Bruni ca83e14aba ddraw: Reorder formats in EnumTextureFormats. 2011-11-23 09:13:28 +01:00
Henri Verbeet 2e1c0d83c1 wined3d: Get rid of the WINED3DGAMMARAMP typedef. 2011-11-22 10:52:45 +01:00
Henri Verbeet be8917cd91 wined3d: Get rid of the WINED3DVIEWPORT typedef. 2011-11-22 10:52:40 +01:00
Francois Gouget 3315918eac ddraw/tests: Fix compilation on systems that don't support nameless unions. 2011-11-21 11:01:10 +01:00
Henri Verbeet 02bb70fc3b wined3d: Get rid of the WINED3DMATERIAL typedef. 2011-11-21 11:01:02 +01:00
Henri Verbeet f597359727 wined3d: Get rid of the WINED3DLIGHT typedef. 2011-11-21 11:00:57 +01:00
Henri Verbeet 37a0f7ad65 wined3d: Get rid of the WINED3DMATRIX typedef. 2011-11-18 14:26:16 +01:00
Henri Verbeet 8e6f5c34a2 ddraw: We can't render to the desktop window either. 2011-11-18 14:26:16 +01:00
Henri Verbeet 18a7653c78 wined3d: Get rid of the WINED3DDISPLAYMODE typedef. 2011-11-17 11:37:26 +01:00
Henri Verbeet e0a0d611af wined3d: Pass a wined3d_color struct to wined3d_device_clear(). 2011-11-16 09:41:53 +01:00
Stefan Dösinger 9e0baa55ce ddraw: Set correct HEL and HAL color models. 2011-11-15 19:37:28 +01:00
Stefan Dösinger c3d6061593 ddraw: Add more tests and fixes for SetSurfaceDesc. 2011-11-15 19:37:28 +01:00
Stefan Dösinger 460e35aace ddraw/tests: Mark a VMware failure broken. 2011-11-15 19:37:28 +01:00
Stefan Dösinger edfeec60b1 ddraw/tests: Add a YV12 blit test. 2011-11-14 15:25:24 +01:00
Stefan Dösinger a9c72d8772 ddraw/tests: Add a test for YV12 partial block locks and lock offsets. 2011-11-14 15:25:24 +01:00
Henri Verbeet a2963b662c ddraw: Use wined3d_mutex_lock() / wined3d_mutex_unlock() for locking. 2011-11-14 15:25:21 +01:00
Francois Gouget 82c3b84e40 ddraw/tests: Fix compilation on systems that don't support nameless unions. 2011-11-14 15:25:20 +01:00