Commit Graph

2273 Commits

Author SHA1 Message Date
Henri Verbeet ee5e469fd8 ddraw/tests: Get rid of struct sVertex. 2014-07-15 15:29:53 +02:00
Stefan Dösinger 403d7c1dee ddraw: Refuse SetPalette and GetPalette on lost surfaces.
The SetPalette check is outside of ddraw_surface_set_palette to make
sure the palettes are properly freed when a lost P8 surface is destroyed.
2014-07-07 15:49:06 +02:00
Henri Verbeet 7447b37ff5 ddraw/tests: Get rid of struct nvertex. 2014-07-01 12:52:16 +02:00
Henri Verbeet ecf20e2630 ddraw/tests: Get rid of struct tvertex. 2014-07-01 12:52:13 +02:00
Henri Verbeet 3cf189af64 ddraw/tests: Get rid of struct vertex. 2014-07-01 12:52:11 +02:00
Henri Verbeet 8ebc82cd8d ddraw: Check for a lost surface in ddraw_surface7_Flip(). 2014-07-01 12:51:46 +02:00
Henri Verbeet 881219354f ddraw: Implement ddraw7_RestoreAllSurfaces(). 2014-06-30 22:04:53 +02:00
Henri Verbeet 8d4988a43f ddraw: Improve ddraw7_TestCooperativeLevel(). 2014-06-30 22:04:53 +02:00
Stefan Dösinger 9d49b7a9be wined3d: Set palettes on the swapchain. 2014-06-30 22:04:53 +02:00
Henri Verbeet 09fda3b805 d3d9: Improve d3d9_device_TestCooperativeLevel(). 2014-06-27 10:37:36 +02:00
Henri Verbeet 1b4c55df29 ddraw/tests: Add some lost device tests. 2014-06-27 10:37:33 +02:00
Frédéric Delanoy 2ab8729020 Assorted spelling/grammar fixes. 2014-06-20 12:19:31 +02:00
Henri Verbeet 9031adfd5c ddraw/tests: Properly declare matrices. 2014-06-16 14:00:16 +02:00
Henri Verbeet b9bfcf2c2a ddraw/tests: Get rid of some unused assignments. 2014-06-16 14:00:14 +02:00
Henri Verbeet d30720d825 ddraw: Don't try to create surfaces for wined3d internal textures. 2014-06-13 10:11:56 +02:00
Henri Verbeet b0f1feb4f0 ddraw: Properly support creating compressed user memory surfaces. 2014-06-12 18:05:20 +02:00
Henri Verbeet e2d9cb69ba ddraw: Use wined3d_surface_get_pitch() to calculate dwLinearSize for compressed surfaces. 2014-06-12 18:05:20 +02:00
Henri Verbeet 92ea79a198 ddraw: Clear DDSD_PITCH on compressed surfaces. 2014-06-12 18:05:19 +02:00
Henri Verbeet 64a5dc11bf ddraw: Clear DDSD_LINEARSIZE on uncompressed surfaces. 2014-06-12 18:05:18 +02:00
Henri Verbeet 7e33bc7a47 ddraw/tests: 64-bit ddraw only has DWORD surface pitch alignment in some cases. 2014-06-12 18:05:17 +02:00
Stefan Dösinger e7163c802d ddraw/tests: Test D3DVBCAPS_WRITEONLY. 2014-06-11 16:14:58 +02:00
Stefan Dösinger fd0189bbfa wined3d: Move get_dc palette updates to ddraw. 2014-05-15 19:05:02 +02:00
Stefan Dösinger 544816797a wined3d: Don't update the color table on palette changes. 2014-05-14 13:30:33 +02:00
Stefan Dösinger fc25510fad wined3d: Remove wined3d_surface_get_palette. 2014-05-12 21:24:59 +02:00
Francois Gouget 22acc5cb30 ddraw/tests: Fix compilation on systems that don't support nameless unions. 2014-05-09 16:28:04 +02:00
Stefan Dösinger 8ca711f428 ddraw/tests: Test palette alpha behavior.
What I care about here is that setting peFlags != 0 doesn't cause errors
either during ddraw palette creation or DIB section creation. peFlags
isn't an alpha channel, but P8 textures abuse it that way, hence the
name of the test. It probably has deeper meaning in DDSCL_NORMAL when
the X server is running in 8 bit paletteindexed mode, but I don't think
we really care about this.
2014-05-07 20:21:57 +02:00
Stefan Dösinger a227188573 ddraw: Alpha palettes can only be attached to textures. 2014-05-07 20:21:57 +02:00
Francois Gouget 4e950d9cbc ddraw: Remove WINAPI on static functions where not needed. 2014-05-02 17:15:22 +02:00
Stefan Dösinger 39212d2ffb wined3d: Remove broken gdi palette code. 2014-05-02 16:32:54 +02:00
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
Francois Gouget 4dc152bd70 ddraw/tests: Fix compilation on systems that don't support nameless unions. 2013-10-28 10:42:00 +01:00
Stefan Dösinger e47edf47fe ddraw/tests: Test DDLOCK_DISCARDCONTENTS. 2013-10-24 19:01:56 +02:00
Stefan Dösinger 9e0ba3eab0 ddraw: Make default pool resources dynamic.
To make DDLOCK_DISCARDCONTENTS actually do anything. The MAPPABLE flag
is now redundant.
2013-10-24 19:01:56 +02:00
Stefan Dösinger a562af5ace ddraw/tests: Test DDSCAPS2_D3DTEXTUREMANAGE. 2013-10-23 17:02:57 +02:00
Stefan Dösinger db68ffcba1 ddraw: Treat D3DTEXTUREMANAGE like TEXTUREMANAGE.
Sim City 4 uses this flag. The main problem I noticed was with
WINED3D_MAP_DISCARD handling introduced for surfaces in patches that
aren't yet in the tree, but the difference already matters for older
cards because of video memory accounting.
2013-10-23 17:02:57 +02:00
Stefan Dösinger 9c456ef88c ddraw/tests: Add surface lockability tests. 2013-10-23 17:02:57 +02:00
Frédéric Delanoy 3d30fb881a ddraw/tests: Use BOOL type where appropriate. 2013-10-10 10:44:40 +02:00
Michael Stefaniuc 0e681027a2 tests: Compile the tests by default with -D__WINESRC__. 2013-10-02 11:04:02 +02:00
Francois Gouget 0cc1c22d16 ddraw/tests: Fix compilation on systems that don't support nameless unions. 2013-10-01 10:56:28 +02:00
Henri Verbeet e02de5ff16 ddraw: Avoid VOID. 2013-09-23 20:38:18 +02:00
Henri Verbeet 31de4f1670 ddraw/tests: Add a test for render target surface capabilities. 2013-09-20 11:27:37 +02:00
Henri Verbeet 8aae165fc2 ddraw: Verify that the surface is not a depth buffer in SetRenderTarget().
This check is even more inconsistent between versions. Notice how the v2
interface is particularly broken because it never AddRef()'s the new iface.
This check also seems to be the original source for the questionable behaviour
in d3d_device_set_render_target() of storing the new iface before checking the
result of the wined3d_device_set_render_target(). (In particular,
SetRenderTargetTest() in tests/d3d.c tests for this behavious.)
2013-09-19 19:48:44 +02:00
Henri Verbeet c70376af63 ddraw: Verify that the surface is in video memory in SetRenderTarget().
This is where things become a bit of a mess, because the error checking is
inconsistent between versions.
2013-09-19 19:48:41 +02:00
Henri Verbeet ed92369316 ddraw: Verify that the surface is a render target in d3d_device_set_render_target(). 2013-09-19 19:48:35 +02:00
Henri Verbeet 2cc421f59d ddraw: Verify that surfaces with an indexed format have a palette attached in d3d_device_set_render_target(). 2013-09-18 13:11:21 +02:00
Henri Verbeet 4f89957161 ddraw: Verify that the surface is in video memory in d3d_device_create(). 2013-09-18 13:11:18 +02:00
Henri Verbeet c69cd599a3 ddraw: Verify that surfaces with an indexed format have a palette attached in d3d_device_create(). 2013-09-18 13:11:15 +02:00
Henri Verbeet d2d0c42b6d ddraw: Verify that the surface is a render target in d3d_device_create(). 2013-09-17 12:01:23 +02:00
Henri Verbeet 3fb53e21fb ddraw: Don't set render target / depth stencil usage on sysmem surfaces.
Setting render target usage on a P8 surface for example would fail surface
creation, while such surfaces can't be used for actual rendering anyway. Tests
confirm that surface creation is supposed to succeed for P8 surfaces with both
DDSCAPS_SYSTEMMEMORY and DDSCAPS_3DDEVICE set.
2013-09-17 12:01:21 +02:00
Henri Verbeet df01e8d6cc ddraw: Fix render target refcount handling.
Similar to AddAttachedSurface() / DeleteAttachedSurface(), we should Release
the interface version that we stored. (And actually store the interface that
we AddRef.)
2013-09-17 12:01:18 +02:00
Henri Verbeet dbdde3bd4b ddraw: Take surface usage into account when checking format capabilities in CreateSurface(). 2013-09-16 12:51:13 +02:00
Francois Gouget 15b6ff2023 ddraw/tests: Fix compilation on systems that don't support nameless unions. 2013-09-13 00:17:58 +02:00
Henri Verbeet 3c6d11706f ddraw: Just set the render target to NULL in d3d_device_inner_Release().
The wined3d front buffer is not a render target.
2013-09-12 10:59:21 +02:00
Henri Verbeet 1a78667862 wined3d: Allow the first render target to be set to NULL.
Note that it still isn't necessarily safe to render in this case, because
there are places where we assume the first render target is always non-NULL in
order to determine e.g. framebuffer dimensions. It's now the responsibility of
the caller to ensure that doesn't happen.
2013-09-12 10:59:18 +02:00
Henri Verbeet 73a0327487 ddraw: Avoid LPBYTE. 2013-09-11 09:59:06 +02:00
Henri Verbeet 87ef65ab7b ddraw: Avoid LPVOID. 2013-09-11 09:59:04 +02:00
Henri Verbeet 9ccced6f41 ddraw: Get rid of get_config_key(). 2013-09-11 09:58:55 +02:00
Stefan Dösinger 20ce6bd102 ddraw/tests: Don't test transformed vertices with normals.
They crash the GPU driver of my r200 WinXP laptop, causing anything from
a BSOD to a frozen or black screen and sometimes incorrectly set
resolutions.
2013-09-09 22:10:01 +02:00
Stefan Dösinger b92928333b ddraw/tests: Test unsupported texture formats. 2013-09-06 17:25:08 +02:00
Stefan Dösinger f69ba15a92 ddraw/tests: Test blocked texture creation restrictions. 2013-09-06 17:25:08 +02:00
Stefan Dösinger 80638b6d2f wined3d: Enforce texturing capability format restrictions on resource creation. 2013-09-06 17:25:08 +02:00
Stefan Dösinger b464067313 ddraw: Create a sysmem surface if the format is not supported. 2013-09-06 17:25:08 +02:00
Henri Verbeet 4735690dc2 ddraw: Introduce a helper function for initializing a D3DDEVICEDESC structure from a D3DDEVICEDESC7 structure. 2013-09-06 12:00:22 +02:00
Stefan Dösinger 22fc22d28b ddraw: Enumerate DXT2 and DXT4. 2013-09-05 17:56:24 +02:00
Stefan Dösinger b88daee3bc ddraw: Create managed pool textures.
The surfaces are already in WINED3D_POOL_MANAGED.
2013-09-05 17:56:17 +02:00
Stefan Dösinger 8da09ba196 ddraw/tests: Test DDCAPS2_TEXTUREMANAGE compatibility, with other flags. 2013-09-05 17:56:06 +02:00
Henri Verbeet 6f321ff2f9 ddraw: Don't imply WINED3DUSAGE_RENDERTARGET on primary surfaces.
If the application actually wants to do 3D rendering on the primary surface,
it should set DDSCAPS_3DDEVICE as well.
2013-09-05 13:18:23 +02:00
Stefan Dösinger 91fa7c07c9 ddraw/tests: Test WM_ACTIVATEAPP messages generated by SetCooperativeLevel. 2013-09-02 18:07:17 +02:00
Stefan Dösinger 769dd6d158 ddraw: Gracefully handle recursive SetCooperativeLevel calls. 2013-09-02 18:07:14 +02:00
Henri Verbeet 43ecaf29c3 wined3d: Get rid of the DDRAW_PITCH_ALIGNMENT and D3D8_PITCH_ALIGNMENT constants. 2013-08-29 19:56:17 +02:00
Stefan Dösinger ac871305f8 wined3d: Store the mipmap level in the volume. 2013-08-22 20:15:18 +02:00
Stefan Dösinger c0faf86fff ddraw: Fix double to float conversion warnings. 2013-08-01 20:43:42 +02:00
Alexandre Julliard cf8d7fbb6b ddraw/tests: Remove a todo from a test that succeeds. 2013-07-29 15:52:17 +02:00
Francois Gouget 67307a9cf1 ddraw/tests: Fix compilation on systems that don't support nameless unions. 2013-06-29 12:45:26 +02:00
Stefan Dösinger cf1e6a487a ddraw/tests: Get rid of D3DRENDERSTATE_LIGHTING hacks in ddraw4.c. 2013-06-20 22:14:36 +02:00
Stefan Dösinger 4b93cf707d ddraw/tests: Test lighting control in different interface versions. 2013-06-20 22:14:36 +02:00
Stefan Dösinger c1663c5583 ddraw: Device2 and Device3 do not have a lighting render state. 2013-06-20 22:14:36 +02:00
Stefan Dösinger 669611b4be ddraw: Send device2_Draw* through device3_Draw*. 2013-06-20 22:14:36 +02:00
Stefan Dösinger 05de3f8cee ddraw: SPECULARENABLE defaults to true in IDirect3DDevice2. 2013-06-20 22:14:36 +02:00
Stefan Dösinger 21491c8748 ddraw/tests: Add a test for fog_start == fog_end. 2013-06-19 20:09:53 +02:00
Henri Verbeet 4de77fa23f wined3d: Allow a custom pitch to be specified in wined3d_surface_set_mem(). 2013-06-14 11:46:20 +02:00
Francois Gouget 3cefe77667 ddraw: Remove WINAPI on static functions where not needed. 2013-06-10 11:49:43 +02:00
Henri Verbeet 29c43e2efc ddraw: Rename PixelFormat_WineD3DtoDD() to ddrawformat_from_wined3dformat(). 2013-06-07 11:58:29 +02:00
Henri Verbeet 86eb211159 ddraw: Rename PixelFormat_DD2WineD3D() to wined3dformat_from_ddrawformat().
For consistency with the other D3D dlls.
2013-06-07 11:58:27 +02:00
Henri Verbeet d6bc4fe71a wined3d: Allow surface flags to be passed to texture creation functions. 2013-06-06 11:47:19 +02:00
Stefan Dösinger 831424ef83 ddraw/tests: Fix a typo. 2013-06-06 10:45:46 +02:00
Stefan Dösinger 410151ca6a ddraw: Update the SetCooperativeLevel comment. 2013-06-06 10:45:44 +02:00
Stefan Dösinger 89dd55c4a6 ddraw/tests: Add EXCLUSIVE->NORMAL coop level switching tests. 2013-06-06 10:45:42 +02:00
Stefan Dösinger 4e51195e0b ddraw: Restore resolution on EXCLUSIVE->NORMAL switch. 2013-06-06 10:45:38 +02:00
Stefan Dösinger 6560135c64 ddraw: Update the focus window after recreating the swapchain. 2013-06-06 10:45:34 +02:00
Henri Verbeet b23739316c wined3d: Pass a wined3d_resource_desc structure to wined3d_texture_create_cube(). 2013-06-05 17:31:39 +02:00
Henri Verbeet 9d4cbd6195 wined3d: Pass a wined3d_resource_desc structure to wined3d_texture_create_2d(). 2013-06-05 17:31:39 +02:00
Henri Verbeet 13a38e8d5e wined3d: Pass a wined3d_resource_desc structure to device_parent_create_swapchain_surface(). 2013-06-04 10:14:28 +02:00
Henri Verbeet a4d2660c9b wined3d: Pass a wined3d_resource_desc structure to device_parent_create_texture_surface(). 2013-06-04 10:14:26 +02:00
Henri Verbeet e4816996c3 ddraw: Handle the "DirectDrawRenderer" registry key in wined3d. 2013-05-30 10:57:08 +02:00
Henri Verbeet b886d06737 ddraw: Replace the various BOOLs in struct ddraw with a flags field. 2013-05-30 10:56:51 +02:00
Stefan Dösinger 9287bb80dc d3d: d3d9ex does not do video memory accounting for D3DPOOL_DEFAULT resources. 2013-05-20 19:08:28 +02:00
Alexandre Julliard 0ad26e27f3 ddraw: Don't bother to unregister classes at process exit. 2013-05-14 11:31:31 +02:00
Alexandre Julliard 74f496d9bb ddraw: De-duplicate display modes even when returning the refresh rate. 2013-04-09 21:27:57 +02:00
Sam Edwards d1b67698b9 ddraw/tests: Verify window style after exiting fullscreen mode. 2013-04-03 11:34:05 +02:00
Stefan Dösinger 3eb6045325 ddraw/tests: Use hardware VP only if available in the visual tests. 2013-03-12 18:55:01 +01:00