Commit Graph

2144 Commits

Author SHA1 Message Date
Stefan Dösinger 7839ec874f ddraw/tests: Test mipmap GetDC behavior. 2014-05-02 16:32:52 +02:00
Stefan Dösinger a8bcb6c7ad ddraw/tests: Add a test for getdc palette handling. 2014-05-02 16:32:45 +02:00
Henri Verbeet 4d887292af ddraw: Cleanup DDRAW_dump_pixelformat(). 2014-05-02 13:45:21 +02:00
Frédéric Delanoy 2e5cb7aac8 Assorted spelling/grammar fixes. 2014-04-30 18:34:20 +02:00
Henri Verbeet 7bdbb8c890 ddraw/tests: Add some basic material tests. 2014-04-30 14:32:29 +02:00
Henri Verbeet 27a0b8a5f0 ddraw: Only output a warning when clearing a viewport without background material. 2014-04-30 09:34:05 +02:00
Henri Verbeet 4ff220f94b ddraw: Reject setting a 0 material handle in d3d_viewport_SetBackground(). 2014-04-30 09:34:03 +02:00
Henri Verbeet 91a615ee4d ddraw: Disable lighting when a 0 material handle is set. 2014-04-30 09:34:01 +02:00
Henri Verbeet 174dbaf0f3 ddraw/tests: Handle the Windows 8 testbot in test_primary_palette(). 2014-04-30 09:33:59 +02:00
Stefan Dösinger 8d1b66bee4 ddraw/tests: Skip the ddraw7 primary palette test if 8 bpp mode doesn't work. 2014-04-29 16:07:48 +02:00
Stefan Dösinger 7178675741 ddraw/tests: Test P8 to RGB blits. 2014-04-29 16:07:46 +02:00
Henri Verbeet 56d7e3b9a7 ddraw: Don't return an error when setting a 0 material handle in d3d_device3_SetLightState(). 2014-04-29 13:36:10 +02:00
Henri Verbeet 77da84b06a ddraw: Cleanup d3d_execute_buffer_QueryInterface(). 2014-04-29 13:36:09 +02:00
Henri Verbeet b2e2b42b73 ddraw: Cleanup the D3DOP_PROCESSVERTICES implementation a bit. 2014-04-29 13:36:08 +02:00
Henri Verbeet 86f209ed80 ddraw: Implement D3DOP_STATERENDER on top of IDirect3DDevice3_SetRenderState(). 2014-04-29 13:36:05 +02:00
Henri Verbeet 789fcf0daa ddraw: Implement D3DOP_STATELIGHT on top of IDirect3DDevice3_SetLightState(). 2014-04-29 13:35:33 +02:00
Stefan Dösinger e2bf5163ec ddraw/tests: Add a test for mipmap palettes. 2014-04-25 20:04:43 +02:00
Stefan Dösinger 590582e6bc ddraw: Only ddraw7 disallows SetPalette on sublevels. 2014-04-25 20:04:38 +02:00
Henri Verbeet ac70dd2c97 ddraw: Validate the pitch for user memory surfaces against the unaligned minimum pitch.
User memory surfaces have a different minimum alignment from regular surfaces.
This fixes a regression introduced by commit
9c138d772c.
2014-04-23 15:00:35 +02:00
Henri Verbeet 1af267f613 ddraw/tests: Try to make test_coop_level_mode_set() more reliable.
It appears that particularly on slower setups, on occasion we don't receive
WM_DISPLAYCHANGE messages after a mode change. The theory is that the
SendMessageTimeoutW() call in X11DRV_resize_desktop() ends up hitting the
is_queue_hung() check in the send_message handler in the server, and the
PeekMessage() calls should avoid that.
2014-04-14 20:19:01 +02:00
Stefan Dösinger ee57e19b40 ddraw: SetPrivateData(..., data = NULL, ...) is not valid. 2014-04-08 19:23:24 +02:00
Stefan Dösinger 24187d5397 ddraw/tests: Nvidia has an off-by-one rectangle handling bug. 2014-04-08 19:23:22 +02:00
Stefan Dösinger 3ff1c92dd1 ddraw/tests: Add mipmap locking tests. 2014-04-07 19:06:12 +02:00
Stefan Dösinger 938529e1f9 wined3d: Remove the version parameter. 2014-03-20 19:04:37 +01:00
Stefan Dösinger bd69346d2c ddraw/tests: Use a custom GUID for the private data tests. 2014-03-17 20:24:00 +01:00
Stefan Dösinger 4a62f81d0d ddraw/tests: Add mipmap private data tests. 2014-03-17 20:24:00 +01:00
Stefan Dösinger 1d9ff5c43b ddraw/tests: Test GetPrivateData size behavior. 2014-03-17 20:23:59 +01:00
Stefan Dösinger 7d793715f3 ddraw: Use the new private store api. 2014-03-17 20:23:58 +01:00
Henri Verbeet 82780d6ba6 ddraw/tests: Skip the overlay tests in test_block_formats_creation() if overlays are not supported. 2014-03-11 19:39:37 +01:00
Stefan Dösinger f6e0e1815b ddraw/tests: Show that a failing SetPrivateData call does not clear the old contents. 2014-03-11 19:39:33 +01:00
Henri Verbeet 0b547ee750 ddraw/tests: Verify that creating a ddraw object works before running any real tests. 2014-03-06 12:01:27 +01:00
Henri Verbeet 9ee120f108 ddraw/tests: Avoid using EnumDevices() to get a supported Z buffer format. 2014-03-05 11:49:48 +01:00
Henri Verbeet 75935f9499 ddraw/tests: Add a test for creating surfaces with an explicit pitch. 2014-03-05 11:49:44 +01:00
Henri Verbeet 76ab86ee7f ddraw: Disallow user memory surfaces before version 4. 2014-03-05 11:49:41 +01:00
Henri Verbeet 74b4b821ab ddraw: Clear DDSD_LPSURFACE after surface creation. 2014-03-05 11:49:38 +01:00
Henri Verbeet 9c138d772c ddraw: Validate the surface pitch for user memory surfaces in ddraw_surface_init(). 2014-03-04 11:51:06 +01:00
Henri Verbeet 10db40cecc ddraw: Don't overwrite the caller specified pitch in ddraw_surface_init(). 2014-03-04 11:51:03 +01:00
Henri Verbeet 162bc8db6e ddraw: User memory surfaces should be created with an explicit pitch. 2014-03-04 11:51:01 +01:00
Henri Verbeet da2fafca8d ddraw: User memory surfaces should be in the system memory pool. 2014-03-04 11:50:58 +01:00
Henri Verbeet c1032e977b wined3d: Filter redundant WINED3D_MAP_DISCARD buffer maps. 2014-03-04 11:50:54 +01:00
Henri Verbeet 66aa4dcc6c ddraw/tests: Don't trust what EnumDevices() tells us about the supported Z buffer formats. 2014-03-03 17:02:23 +01:00
Henri Verbeet 9677805ec4 ddraw/tests: Properly create offscreen plain surfaces.
It's not entirely clear what kind of surface is actually created when just
DDSCAPS_SYSTEMMEMORY is specified, but at the very least its format appears to
be validated against the current display mode, which is not what we want.
2014-03-03 17:02:22 +01:00
Henri Verbeet 048f4d4c26 ddraw/tests: Try 24 bpp display modes if 32 bpp modes are unavailable. 2014-03-03 17:02:20 +01:00
Francois Gouget af0bf54bd0 ddraw/tests: Simplify the 'NT4 testbot' special case a bit. 2014-02-27 10:04:52 -06:00
Francois Gouget 4f26fb0e0b ddraw/tests: Fix some comma versus semi-colon mixups. 2014-02-26 13:38:03 -06:00
Ken Thomases b3acbfc878 ddraw/tests: Test that DirectDraw doesn't modify the pixel format of the window it targets. 2014-02-22 08:42:07 -06:00
Francois Gouget 4afe73ff39 ddraw/tests: Better clean up when skipping the primary palette tests. 2014-02-17 20:16:32 +01:00
Stefan Dösinger 9b8a353462 ddraw/tests: Port test_private_data to ddraw4. 2014-02-17 20:16:29 +01:00
Francois Gouget 5e7724808c ddraw/tests: Skip the primary palette tests if the 640x480x8 mode is not supported. 2014-02-12 19:15:29 +01:00
Erich E. Hoover 68e3b18533 ddraw: Return the D3D identifier when GetDeviceIdentifier is called with no flags. 2014-02-11 20:22:30 +01:00
Erich E. Hoover 2cb3aeb7b9 ddraw: Return a DLL in szDriver for GetDeviceIdentifier. 2014-02-11 19:20:33 +01:00
Henri Verbeet 7c6ca2077f ddraw: Allow attaching surfaces other than depth buffers in ddraw_surface4_AddAttachedSurface(). 2014-01-27 17:39:47 +01:00
Henri Verbeet fffaf03c0d ddraw/tests: Rewrite AttachmentTest() and AttachmentTest7(). 2014-01-27 17:39:47 +01:00
Andrey Gusev e7f0a8a081 Assorted spelling and typos fixes. 2014-01-27 17:00:11 +01:00
Henri Verbeet 1318d5786f ddraw/tests: Verify dwBackBufferCount on back buffer surfaces in test_flip(). 2014-01-17 11:00:38 +01:00
Henri Verbeet c7d05d2d60 ddraw: Pass the monitor to the callback in ddraw_enumerate_secondary_devices(). 2014-01-10 12:06:22 +01:00
Erich E. Hoover dc184b526c ddraw/tests: Test DirectDrawEnumerateEx with DDENUM_ATTACHEDSECONDARYDEVICES. 2014-01-09 17:39:58 +01:00
Erich E. Hoover eba5132bfa ddraw: Make DirectDrawEnumerateEx report the driver description. 2014-01-09 17:39:57 +01:00
Erich E. Hoover 639f9335c2 ddraw: Make DirectDrawEnumerateEx only enumerate secondary display devices when requested. 2014-01-09 17:39:56 +01:00
Henri Verbeet e00cc024fd ddraw/tests: Add some color key tests for complex surfaces. 2014-01-09 17:39:49 +01:00
Henri Verbeet bddb0433f3 ddraw: Return DDERR_NOTONMIPMAPSUBLEVEL for ddraw_surface7_SetColorKey() on mipmap sub levels. 2014-01-09 17:39:47 +01:00
Henri Verbeet f7ee96c311 ddraw: Don't propagate color key changes to attached surfaces. 2014-01-09 15:50:45 +01:00
Henri Verbeet 4710c4b51a wined3d: Store color keys in textures instead of in surfaces. 2014-01-09 15:50:39 +01:00
Stefan Dösinger 03b2e737d2 ddraw/tests: Add a getdc test with a custom pitch. 2014-01-08 20:03:04 +01:00
Stefan Dösinger b91973daa7 wined3d: Merge wined3d_surface_set_mem into wined3d_surface_update_desc . 2014-01-08 20:02:22 +01:00
Stefan Dösinger 2a012ba16f ddraw: Always set surface width, height and format in ddraw_surface7_SetSurfaceDesc. 2014-01-08 19:55:06 +01:00
Frédéric Delanoy 6151371de3 ddraw/tests: Use BOOL type where appropriate. 2014-01-03 18:08:51 +01:00
Francois Gouget 1f26451964 ddraw/tests: Fix compilation on systems that don't support nameless unions. 2014-01-03 11:28:16 +01:00
Alexandre Julliard 99ef0d6ff0 makefiles: Get rid of the MAKE_TEST_RULES variable. 2014-01-02 12:13:16 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Alexandre Julliard d08ff3ff19 makefiles: Use a single variable for all types of idl files. 2013-12-31 18:15:17 +01:00
Henri Verbeet 4e7b62a46d wined3d: Get rid of unused palette flags. 2013-12-13 12:36:11 +01:00
Henri Verbeet f27bb660b3 wined3d: Explicitly pass the palette size to wined3d_palette_create(). 2013-12-13 12:36:11 +01:00
Henri Verbeet 89dedf6408 ddraw: Just set the palette caps in ddraw7_GetCaps(). 2013-12-13 12:36:11 +01:00
Henri Verbeet b9ab54a09a ddraw/tests: Add a test for palettes on primary surfaces. 2013-12-13 12:36:11 +01:00
Henri Verbeet c5a8b933af ddraw: Unset the primary surface's palette when the palette is released. 2013-12-13 12:36:10 +01:00
Stefan Dösinger cc978c90d4 ddraw/tests: Use correct ddraw COM macros. 2013-12-12 19:21:37 +01:00
Stefan Dösinger f53d83cf26 ddraw: Sysmem overlays are not allowed. 2013-12-12 19:21:37 +01:00
Stefan Dösinger 0fdb1aaff6 ddraw: SetSurfaceDesc does not work on primaries. 2013-12-12 19:21:36 +01:00
Henri Verbeet d5863f7f40 ddraw: Set DDPCAPS_PRIMARYSURFACE when attaching a palette to the primary surface. 2013-12-12 12:08:25 +01:00
Henri Verbeet bf7f80f4b3 ddraw: Store the palette flags in the ddraw palette. 2013-12-12 12:08:23 +01:00
Henri Verbeet 9651079ff9 ddraw: Don't set the palette on attached backbuffers in ddraw_surface7_SetPalette().
Tests show this is just wrong. This patch fixes a regression introduced by
commit 74e3f516bc.
2013-12-12 12:08:19 +01:00
Henri Verbeet 1f0bb534ec ddraw: Keep a reference to the palette in the surface. 2013-12-12 12:08:16 +01:00
Stefan Dösinger 5a656dead6 ddraw/tests: Test user memory and getdc interaction.
Some Windows Media Player 9 visualization plugins used ddraw in this way
to get a dc for their custom memory allocations.
2013-12-11 18:17:00 +01:00
Henri Verbeet 0f49ffae41 ddraw: Properly swap the wined3d texture parent in ddraw_surface7_Flip(). 2013-12-06 16:46:39 +01:00
Henri Verbeet 15c1a26b55 wined3d: Create volumes inside wined3d. 2013-12-06 13:14:52 +01:00
Francois Gouget 94eb50eda0 ddraw/tests: Fix compilation on systems that don't support nameless unions. 2013-12-05 12:40:57 +01:00
Henri Verbeet ce09d3633a ddraw: Properly flip through the swap chain in ddraw_surface7_Flip(). 2013-12-05 12:40:56 +01:00
Henri Verbeet 7524258aaf ddraw: Implement flips inside ddraw. 2013-12-05 12:40:56 +01:00
Henri Verbeet f637c229f9 ddraw/tests: Add a test for primary surface capabilities. 2013-12-05 12:40:56 +01:00
Henri Verbeet 8797a9eda3 ddraw: Require a non-zero back buffer count for swap chains. 2013-12-05 12:40:56 +01:00
Henri Verbeet 23f47b573e ddraw: Require DDSCAPS_FLIP and DDSCAPS_COMPLEX to be used together. 2013-12-05 12:40:55 +01:00
Henri Verbeet 6cba2285bc ddraw: Reject creating primary surfaces with DDSCAPS_TEXTURE. 2013-12-04 11:08:22 +01:00
Henri Verbeet a9afc9356e ddraw: Reject explicitly creating a flippable front buffer. 2013-12-04 11:08:19 +01:00
Henri Verbeet 00eaf27dc7 ddraw: Validate that surfaces are on the same swap chain in ddraw_surface7_Flip(). 2013-12-04 11:07:51 +01:00
Henri Verbeet 74e3f516bc ddraw: Attach the first surface in the swap chain to the last one. 2013-12-04 11:07:46 +01:00
Henri Verbeet ab8d59c29d ddraw: Reject flips of surfaces with themselves. 2013-12-04 11:07:41 +01:00
Frédéric Delanoy 5ba7f79bad Assorted spelling fixes. 2013-12-03 19:41:53 +01:00
Stefan Dösinger 42470bae67 ddraw/tests: Test SetSurfaceDesc and Lock interaction. 2013-12-03 19:36:13 +01:00
Stefan Dösinger 5e43ee256c ddraw: Check for lpSurface=NULL in SetSurfaceDesc. 2013-12-03 19:36:11 +01:00
Stefan Dösinger c15d89c803 ddraw: SetSurfaceDesc accepts DDSD_CAPS with dwCaps=0. 2013-12-03 19:36:09 +01:00
Stefan Dösinger 1f36605886 ddraw: SetSurfaceDesc is not allowed on managed textures. 2013-12-03 19:36:07 +01:00
Stefan Dösinger eb361e9eec ddraw/tests: Port test_set_surface_desc to other versions. 2013-12-03 19:36:04 +01:00
Henri Verbeet e780ee581d ddraw: Return the correct error in ddraw_surface7_Flip() when the surface is not flippable. 2013-12-03 12:35:19 +01:00
Henri Verbeet 66c71baefe ddraw: Only set DDSCAPS_FRONTBUFFER on flippable surfaces. 2013-12-03 12:35:14 +01:00
Henri Verbeet 76420a2441 ddraw: Only set DDSCAPS_VISIBLE on the root surface. 2013-12-03 12:35:11 +01:00
Henri Verbeet 28efaec21f ddraw: Only set DDSCAPS_PRIMARYSURFACE on the root surface. 2013-12-03 12:35:07 +01:00
Henri Verbeet ebd5c2076c ddraw/tests: Add a surface flipping test. 2013-12-03 12:35:03 +01:00
Henri Verbeet 019143a6a9 ddraw/tests: Unify the skip messages a bit. 2013-12-02 12:12:54 +01:00
Henri Verbeet a86aba4bc0 ddraw/tests: Add some missing DestroyWindow() calls. 2013-12-02 12:12:51 +01:00
Henri Verbeet 8a9fdb567e ddraw: Get rid of the DDSCAPS_BACKBUFFER validation in ddraw_surface_create().
All callers except ddraw1_CreateSurface() already have a stricter check
themselves.
2013-12-02 12:12:48 +01:00
Henri Verbeet d56b7c2016 ddraw: Use hr_ddraw_from_wined3d() in ddraw_surface_create(). 2013-12-02 12:12:45 +01:00
Henri Verbeet 82d5f36c8b ddraw: Get rid of copy_to_surfacedesc2(). 2013-11-28 11:19:16 +01:00
Henri Verbeet 69ebf9de54 ddraw: Get rid of CreateSurface(). 2013-11-28 11:19:15 +01:00
Henri Verbeet 028960d9d0 ddraw: Make the DDSURFACEDESC2 parameter to ddraw_surface_create_texture() const. 2013-11-28 11:19:13 +01:00
Henri Verbeet 2c109d2df1 ddraw: Move the DDSD_CAPS fixup from CreateSurface() to ddraw_surface_create_texture(). 2013-11-28 11:19:11 +01:00
Henri Verbeet 06f393dc7d ddraw: Move the DDSD_LPSURFACE fixups from CreateSurface() to ddraw_surface_create_texture(). 2013-11-28 11:19:06 +01:00
Henri Verbeet 5889f822f1 ddraw: Move the flippable validation from CreateSurface() to ddraw_surface_create_texture(). 2013-11-27 11:30:23 +01:00
Henri Verbeet 3139249a2e ddraw: Move the primary surface validation from CreateSurface() to ddraw_surface_create_texture(). 2013-11-27 11:30:22 +01:00
Henri Verbeet 2105b4493f ddraw: Create back buffers in ddraw_surface_create_texture(). 2013-11-27 11:30:20 +01:00
Henri Verbeet 559229aa10 ddraw: Move the location validation from CreateSurface() to ddraw_surface_create_texture(). 2013-11-27 11:30:18 +01:00
Henri Verbeet 4b3db52b53 wined3d: Merge the texture creation functions. 2013-11-27 11:30:15 +01:00
Henri Verbeet 995ff1d3f8 ddraw: Move the cube map validation from CreateSurface() to ddraw_surface_create_texture(). 2013-11-26 13:52:06 +01:00
Henri Verbeet f0f38d9b8d ddraw: Move the TEXTUREMANAGE validation from CreateSurface() to ddraw_surface_create_texture(). 2013-11-26 13:52:04 +01:00
Henri Verbeet 4d9c3151c3 ddraw: Don't bother setting *surface to NULL in CreateSurface().
None of the callers depend on this.
2013-11-26 13:52:02 +01:00
Henri Verbeet 659cd984d5 ddraw: Don't bother unsetting DDSCAPS2_MIPMAPSUBLEVEL in CreateSurface().
This is already handled in ddraw_surface_create_texture().
2013-11-26 13:52:00 +01:00
Henri Verbeet 0261c465eb ddraw: Don't set the pixelformat's dwSize field in CreateSurface().
This should be unnecessary.
2013-11-26 13:51:58 +01:00
Henri Verbeet b62d55d810 ddraw: Don't bother checking for DDSD_CAPS in CreateSurface().
We made sure it's always set earlier.
2013-11-25 15:15:54 +01:00
Henri Verbeet 8ce73e2ad6 ddraw: Only reset the device when creating an exclusive mode front buffer in ddraw_surface_create_texture(). 2013-11-25 15:15:54 +01:00
Patrick Rudolph 626a3c6a5f ddraw: Fill dwNumFourCCCodes in ddraw7_GetCaps. 2013-11-15 19:23:22 +01:00
Henri Verbeet 42f6ca821c wined3d: Set the surface container in surface_init(). 2013-11-15 12:00:32 +01:00
Henri Verbeet afc3d2ab70 wined3d: Create surfaces inside wined3d. 2013-11-15 12:00:26 +01:00
Henri Verbeet 9443c95a89 ddraw: Move the display mode related surface desc fixups from CreateSurface() to ddraw_surface_create_texture(). 2013-11-15 12:00:17 +01:00
Henri Verbeet 063a6c8d2d ddraw: Move the mipmap count fixup from CreateSurface() to ddraw_surface_create_texture(). 2013-11-15 12:00:15 +01:00
Henri Verbeet 9e44fadbfe ddraw: Set the cube map flags for the root surface in ddraw_surface_create_texture() as well. 2013-11-14 16:21:00 +01:00
Henri Verbeet 80055e1fcd ddraw: Pass the ddraw texture to ddraw_surface_init(). 2013-11-14 16:20:58 +01:00
Henri Verbeet 10411fb2a1 ddraw: Move the surface desc fixups from ddraw_surface_init() to ddraw_surface_create_texture(). 2013-11-14 16:20:56 +01:00
Henri Verbeet 45d37313b8 ddraw: Set WINED3D_SURFACE_PIN_SYSMEM directly in ddraw_surface_create_texture(). 2013-11-14 16:20:49 +01:00
Henri Verbeet afe5ceb729 ddraw: Create textures for additional surfaces. 2013-11-13 11:27:35 +01:00
Henri Verbeet 6ea9afe701 ddraw: Create textures for "standalone" surfaces. 2013-11-13 11:27:32 +01:00
Henri Verbeet d6f12fcdc8 ddraw: Create textures for swapchain surfaces. 2013-11-13 11:27:28 +01:00
Henri Verbeet 3d452ed95a ddraw: Create wined3d textures before ddraw surfaces. 2013-11-12 14:15:17 +01:00
Henri Verbeet 80dbeb9699 ddraw: Introduce a ddraw_texture structure as parent for textures. 2013-11-12 14:15:10 +01:00
Alexandre Julliard c7803b885b makefiles: Add makedep pragmas for registration idl files. 2013-11-05 20:38:18 +01:00
Henri Verbeet 026dc11677 ddraw/tests: Use explicit A calls. 2013-10-31 09:58:44 +01:00
Henri Verbeet ff3014221e ddraw: Use GET_MODULE_HANDLE_EX_FLAG_PIN. 2013-10-30 11:21:32 +01:00
Stefan Dösinger 7899850d60 ddraw/tests: r200 accepts 3DDEVICE | ZBUFFER render targets in ddraw4.
It doesn't in ddraw2 and 7.
2013-10-29 20:05:25 +01:00
Stefan Dösinger 4b39c46fa2 ddraw/tests: Make caps checking in test_rt_caps() less strict.
R200 creates P8 3DDEVICE surfaces in video memory, and consequently
returns a different error message when trying to create a device.
2013-10-29 20:02:40 +01:00
Stefan Dösinger 3fafd37905 ddraw/tests: Allow some flags to fail surface creation in test_rt_caps. 2013-10-29 20:01:04 +01:00
Stefan Dösinger 81ed93d4f7 ddraw/tests: Accept nvidia return values in test_rt_caps. 2013-10-29 19:59:27 +01:00