Commit Graph

2172 Commits

Author SHA1 Message Date
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
Stefan Dösinger f39443787a ddraw/tests: Use a software VP device in test_surface_interface_mismatch. 2013-03-12 18:54:56 +01:00
Stefan Dösinger a990dbfa22 ddraw/tests: Use a TnLHal device only if supported in ddraw7 tests.
Intel GPUs don't support d3d7 hardware vertexprocessing on Windows. In
d3d8 and d3d9 it is available starting with i965 chips, but for some
reason the driver does not expose this for d3d7.
2013-03-12 18:54:45 +01:00
Francois Gouget 3e6d0a373d ddraw/tests: Fix the refresh rate test when running with the Windows 'Standard VGA' driver. 2013-02-20 10:34:41 +01:00
Michael Stefaniuc 54a1504c57 ddraw/tests: Simplify some equality comparisons between bools. 2013-02-20 10:34:29 +01:00
Michael Stefaniuc 7d0ab835ae ddraw/tests: Use assignment instead of memcpy to copy structs. 2013-02-05 20:15:36 +01:00
Stefan Dösinger ab8276fe91 ddraw/tests: Add viewport handling tests. 2013-01-29 11:48:19 +01:00
Stefan Dösinger 57ab0363f5 ddraw: Don't check for NULL in GetCurrentViewport. 2013-01-29 11:48:13 +01:00
Stefan Dösinger 06ff1c710e ddraw: Unset the viewport if the current vp is deleted. 2013-01-29 11:48:05 +01:00
Stefan Dösinger 0209b0a96c ddraw: AddViewport holds a reference to the viewport. 2013-01-29 11:48:00 +01:00
Stefan Dösinger 351730e2d6 ddraw: Check for NULL pointers in SetCurrentViewport. 2013-01-29 11:47:55 +01:00
Stefan Dösinger 8e6e420a9d ddraw: Check for NULL pointers in DeleteViewport. 2013-01-29 11:47:47 +01:00
Stefan Dösinger b822c259fd ddraw: Delete viewports when destroying the device. 2013-01-29 11:47:43 +01:00
Stefan Dösinger 9a0b2a5100 ddraw: device::GetCurrentViewport returns an error if no viewport is set. 2013-01-29 11:47:37 +01:00
Stefan Dösinger d7e5189cc2 ddraw: Implement DrawIndexedPrimitiveStrided with regular draws. 2013-01-25 11:29:28 +01:00
Stefan Dösinger 7e62acc62e ddraw: Implement DrawPrimitiveStrided with regular draws. 2013-01-25 11:29:24 +01:00
Stefan Dösinger aaa11492db wined3d: Ignore clears if count = 0 and rects != NULL. 2013-01-23 19:16:32 +01:00
Henri Verbeet 1249976eb6 wined3d: Get rid of the surface_type parameter to wined3d_check_device_format(). 2013-01-17 12:22:01 +01:00
Henri Verbeet ce912d5149 wined3d: Get rid of the surface_type parameter to wined3d_surface_create(). 2013-01-17 12:21:55 +01:00
Henri Verbeet 8e7590e22f ddraw: Avoid LPD3DSTATUS. 2013-01-17 12:21:44 +01:00
Stefan Dösinger a8469a458f ddraw/tests: Add basic tests for DrawIndexedPrimitiveStrided. 2013-01-16 20:27:19 +01:00
Henri Verbeet 31e8976910 wined3d: Get rid of the surface_type parameter to wined3d_swapchain_create(). 2013-01-16 12:22:57 +01:00
Henri Verbeet 56b256cb77 ddraw: Update DefaultSurfaceType if we had to fallback to a wined3d object without 3D support. 2013-01-16 12:22:48 +01:00
Henri Verbeet 1bb17316ff ddraw: Avoid LPD3DBRANCH. 2013-01-16 12:22:37 +01:00
Henri Verbeet 1ed6a0842d ddraw: Avoid LPD3DTRIANGLE. 2013-01-16 12:22:35 +01:00
Henri Verbeet a7f4ac283b ddraw: Get rid of the local "window" variable in ddraw7_SetCooperativeLevel().
Having both a "hwnd" and a "window" here doesn't exactly make things much
easier to follow.
2013-01-15 12:13:08 +01:00
Henri Verbeet 292522c4ad ddraw: Only modify the ddraw destination window at the end of ddraw7_SetCooperativeLevel().
We want this to happen after ddraw_destroy_swapchain() in particular, because
dest_window being different from d3d_window will cause it to destroy
d3d_window, but this seems like a good idea in general.
2013-01-15 12:13:04 +01:00
Henri Verbeet ae725df54a ddraw: Add a small tests for SetCooperativeLevel() calls with different windows.
In particular, test that the windows aren't destroyed by accident.
2013-01-15 12:12:56 +01:00
Henri Verbeet b43f897675 ddraw: Avoid LPD3DPROCESSVERTICES. 2013-01-15 12:12:48 +01:00
Henri Verbeet 61e8f02ce2 ddraw: Avoid LPD3DSTATE. 2013-01-15 12:12:45 +01:00
Henri Verbeet 7595a58085 ddraw: Explicitly create a wined3d object without 3D capabilities when creating a normal wined3d object fails. 2013-01-14 11:01:53 +01:00
Henri Verbeet af377acabe ddraw: Get rid of dump_light(). 2013-01-14 11:01:46 +01:00
Henri Verbeet d9051bbe93 ddraw: Only check dwFlags if we actually have a D3DLIGHT2 structure in d3d_light_SetLight(). 2013-01-14 11:01:42 +01:00
Henri Verbeet cc60cc6abb ddraw: Avoid LPD3DINSTRUCTION. 2013-01-14 11:01:34 +01:00
Henri Verbeet e8f9704462 ddraw: Avoid LPD3DLIGHT2. 2013-01-11 18:14:06 +01:00
Stefan Dösinger d3520ef465 ddraw: Don't discard buffers that haven't been used in draws. 2013-01-10 16:05:34 +01:00
Andrew Talbot 1e31182c0b ddraw: Avoid signed-unsigned integer comparisons. 2013-01-10 12:23:13 +01:00
Henri Verbeet 6ba9f27c16 ddraw: Cleanup ddraw7_QueryInterface() a bit. 2013-01-08 12:49:06 +01:00
Henri Verbeet da817d8e91 ddraw: Get rid of some redundant code in IDirect3DImpl_GetCaps().
dwTextureBlendCaps is overwritten later, and (potentially) uninitialized here.
2013-01-07 11:12:28 +01:00
Henri Verbeet 293f362d55 ddraw: Avoid LPD3DMATRIX. 2013-01-04 12:16:27 +01:00
Stefan Dösinger 3b197749f9 ddraw: Align user vertex data. 2012-12-18 12:37:00 +01:00
Stefan Dösinger 09d44a1967 ddraw: Handle DrawIndexedPrimitive via dynamic buffers. 2012-12-18 12:36:54 +01:00
Stefan Dösinger 94388ed6c2 ddraw: Handle DrawPrimitive with a dynamic vertex buffer. 2012-12-18 12:36:47 +01:00
Stefan Dösinger 6deaa02fda ddraw: Move the index buffer growing code to a separate function. 2012-12-18 12:36:40 +01:00
Stefan Dösinger ea40a3a8b5 ddraw: Pass the number of vertices to DrawIndexedPrimitive. 2012-12-18 12:36:28 +01:00
Henri Verbeet 99dcfdf0ce ddraw: Avoid LPD3DDEVICEDESC7. 2012-12-12 11:58:55 +01:00
Henri Verbeet fb37ac56d9 ddraw: Avoid LPDDSURFACEDESC2. 2012-12-07 10:35:36 +01:00
Henri Verbeet b1186d71c2 ddraw: Avoid LPDDSURFACEDESC. 2012-12-07 10:35:29 +01:00
Stefan Dösinger 67230fc013 ddraw: Create a dynamic buffer if DDLOCK_DISCARDCONTENTS is used. 2012-12-04 10:55:06 +01:00
Stefan Dösinger 21e2ceb4c1 ddraw: Don't map 1, 2 and 4 bit alpha formats to WINED3DFMT_A8_UNORM. 2012-12-03 12:37:06 +01:00
Stefan Dösinger a61f68fc5a ddraw: Properly use the index buffer as a dynamic buffer. 2012-11-28 20:14:58 +01:00
Stefan Dösinger 108fcb691c ddraw: Make the index buffer write only. 2012-11-28 20:14:58 +01:00
Stefan Dösinger 4b95487bdd ddraw: Don't create a wastefully large index buffer. 2012-11-28 20:14:57 +01:00
Frédéric Delanoy 80d3010099 ddraw: Return appropriate value for non matching 32 bit pixel format in PixelFormat_DD2WineD3D (coverity). 2012-11-26 11:49:47 +01:00
Andrew Talbot 9c3722ec40 ddraw: Remove unused variable. 2012-11-21 13:24:47 +01:00
Henri Verbeet 79f0b4d977 d3d9: Avoid resetting device state for d3d9ex resets. 2012-11-20 11:44:27 +01:00
Henri Verbeet 0fa127b1fa ddraw: Avoid LPDIRECT3D7. 2012-11-16 11:39:42 +01:00
Henri Verbeet a24d59a1dd ddraw: Avoid LPDIRECT3DDEVICE7. 2012-11-14 11:27:30 +01:00
Henri Verbeet ea50cde939 ddraw: Avoid LPDIRECT3DVIEWPORT2. 2012-11-13 16:54:53 +01:00
Henri Verbeet 98dc4cd43c ddraw: Avoid LPDIRECT3DVERTEXBUFFER7. 2012-11-08 15:37:46 +01:00
Henri Verbeet 99daff8f03 ddraw: Avoid LPDIRECTDRAW. 2012-11-08 15:37:46 +01:00
Henri Verbeet 8fd29034d0 ddraw/tests: Avoid LPDIRECTDRAW7. 2012-11-07 11:57:13 +01:00
Henri Verbeet 2889ec6bb0 ddraw: Avoid LPDIRECTDRAWSURFACE. 2012-11-06 16:02:33 +01:00
Henri Verbeet b146861c36 ddraw: Avoid LPDIRECTDRAWSURFACE2. 2012-11-06 16:02:32 +01:00
Henri Verbeet 5190792b33 ddraw: Avoid LPDIRECTDRAWSURFACE4. 2012-11-05 11:30:31 +01:00
Henri Verbeet 1216eb577b ddraw: Avoid LPDIRECTDRAWSURFACE7. 2012-11-05 11:30:31 +01:00
Henri Verbeet 2bf46c60fb wined3d: Replace the face and level parameters to device_parent_create_texture_surface() with the sub-resource index. 2012-10-25 11:48:25 +02:00
Henri Verbeet 191db92fd5 ddraw: Move the mipmap desc fixup code to ddraw_surface_create_texture() from device_parent_create_texture_surface(). 2012-10-25 11:48:19 +02:00
Henri Verbeet ddbe791d37 wined3d: Set texture_level in surface_set_texture_target() as well. 2012-10-24 11:24:22 +02:00
Henri Verbeet f9105db050 ddraw/tests: Add some display mode set / restore tests with multiple ddraw objects. 2012-10-17 11:54:57 +02:00
Henri Verbeet 698ff9ba4e ddraw: When restoring the display mode, use the mode set before the first mode change on any ddraw object. 2012-10-17 11:45:20 +02:00
Henri Verbeet bc3d767fda ddraw: Only restore the display mode if we changed it. 2012-10-17 11:45:14 +02:00
Henri Verbeet 40d3a34004 ddraw: Prevent mode changes when a different ddraw object is in exclusive mode. 2012-10-17 11:45:08 +02:00
Henri Verbeet 1fab14af9e ddraw: Just implement ddraw7_RestoreDisplayMode() on top of wined3d_set_adapter_display_mode(). 2012-10-16 11:37:10 +02:00
Henri Verbeet 4a5ed44d79 ddraw: Get rid of some fallback code in CreateSurface(). 2012-10-16 11:36:55 +02:00
Henri Verbeet 9d127a4d36 wined3d: wined3d_surface_set_palette() never fails. 2012-10-09 09:59:38 +02:00
Henri Verbeet 8e24dbb60a wined3d: wined3d_stateblock_apply() never fails. 2012-10-08 11:28:37 +02:00
Henri Verbeet b69545c7da wined3d: wined3d_stateblock_capture() never fails. 2012-10-08 11:28:32 +02:00
Henri Verbeet adddf10cd8 wined3d: wined3d_swapchain_get_desc() never fails. 2012-10-04 14:09:55 +02:00
Henri Verbeet 50c61959eb wined3d: Just return the surface from wined3d_device_get_surface_from_dc(). 2012-10-03 11:19:41 +02:00
Henri Verbeet 82282db65e ddraw: Properly release the ddraw reference when the last interface is released in ddraw_surface_release_iface(). 2012-10-01 12:11:09 +02:00
Henri Verbeet 95b4207c7f wined3d: Just return the surface from wined3d_device_get_depth_stencil(). 2012-10-01 12:11:02 +02:00
Henri Verbeet 972217fd6a wined3d: Just return the surface from wined3d_device_get_render_target(). 2012-10-01 12:10:55 +02:00
Henri Verbeet f9d494294a wined3d: Just return the texture from wined3d_device_get_texture(). 2012-09-27 13:10:43 +02:00
Henri Verbeet c0a83b1d96 wined3d: wined3d_device_get_texture_stage_state() never fails. 2012-09-26 14:40:35 +02:00
Henri Verbeet 26c0714009 wined3d: wined3d_device_set_texture_stage_state() never fails. 2012-09-26 14:40:33 +02:00
Henri Verbeet 01918d05ed wined3d: wined3d_device_set_vertex_declaration() never fails. 2012-09-21 10:53:06 +02:00
Henri Verbeet 62670c7ba5 wined3d: wined3d_device_get_sampler_state() never fails. 2012-09-19 13:04:52 +02:00
Henri Verbeet 0d96be2c20 wined3d: wined3d_device_set_sampler_state() never fails. 2012-09-19 13:04:48 +02:00
Erich Hoover b0cefe897c ddraw: Enumerate wined3d interfaces with DirectDrawEnumerateEx. 2012-09-18 18:02:41 +02:00
Erich Hoover 83b02573cc ddraw: Convert calls to DirectDrawEnumerate into DirectDrawEnumerateEx. 2012-09-18 18:01:52 +02:00
Henri Verbeet 343974e2fd wined3d: wined3d_device_get_material() never fails. 2012-09-18 10:18:51 +02:00
Henri Verbeet 2669feeb8c wined3d: wined3d_device_set_material() never fails. 2012-09-18 10:18:42 +02:00
Alexandre Julliard 8ab2ed64fd ddraw/tests: Fix clip region tests for older ddraw too. 2012-09-17 12:10:55 +02:00
Henri Verbeet 90bd04c6b6 wined3d: wined3d_device_multiply_transform() never fails. 2012-09-14 15:43:20 +02:00
Alexandre Julliard 83cfd54f85 ddraw/tests: Allow the clip region to contain multiple rectangles. 2012-09-13 23:35:49 +02:00
Henri Verbeet 706ece827b wined3d: wined3d_device_get_transform() never fails. 2012-09-12 12:46:12 +02:00
Henri Verbeet f79bbc767d wined3d: wined3d_device_set_transform() never fails. 2012-09-12 12:46:07 +02:00
Henri Verbeet d601a0dede wined3d: wined3d_device_get_render_state() never fails. 2012-09-11 18:03:57 +02:00
Henri Verbeet 75cec973d5 wined3d: wined3d_device_set_render_state() never fails. 2012-09-11 18:03:53 +02:00
Henri Verbeet 3569b6ccd2 wined3d: wined3d_device_get_viewport() never fails. 2012-09-10 11:40:19 +02:00
Henri Verbeet 64aae8cf02 wined3d: wined3d_device_set_viewport() never fails. 2012-09-10 11:40:14 +02:00
Henri Verbeet a3e28f6ce5 wined3d: wined3d_device_set_index_buffer() never fails. 2012-09-06 15:45:32 +02:00
Henri Verbeet 8fd7d3a2b3 wined3d: Just return the swapchain from wined3d_device_get_swapchain(). 2012-09-05 11:48:04 +02:00
Jacek Caban 4551135f7a ddraw: Use proper helpers for iface calls. 2012-08-27 19:46:03 +02:00
Henri Verbeet 5b093e6ba9 ddraw: Implement ddraw7_GetMonitorFrequency() on top of wined3d_get_adapter_display_mode(). 2012-07-25 11:20:51 +02:00
Henri Verbeet 5f83f2cdf4 ddraw: Implement ddraw7_GetVerticalBlankStatus() on top of wined3d_get_adapter_raster_status(). 2012-07-19 15:43:17 +02:00
Henri Verbeet 2bfc5214be ddraw: Implement ddraw7_GetScanLine() on top of wined3d_get_adapter_raster_status(). 2012-07-19 15:43:11 +02:00
Henri Verbeet 89a781adc9 ddraw: Create surfaces with the correct mip level in device_parent_create_texture_surface(). 2012-07-16 14:21:46 +02:00
Henri Verbeet e5bb2e7d8b ddraw: Create texture surfaces from device_parent_create_texture_surface().
Instead of creating them in advance and hoping we can find them back later.
2012-07-13 10:29:35 -05:00
Henri Verbeet d4fa0d8de2 ddraw: Get rid of some redundant TRACE_ON invocations. 2012-07-13 10:29:25 -05:00
Henri Verbeet 46a9a7e548 ddraw: Get rid of the "tex_root" hack. 2012-07-13 10:29:19 -05:00
Henri Verbeet 0821c8024b wined3d: Merge the device parent create_rendertarget() and create_depth_stencil() handlers. 2012-07-11 09:57:07 -05:00
Henri Verbeet 8ad98cdbee wined3d: Get rid of the "discard" parameter to device_parent_create_depth_stencil(). 2012-07-10 10:39:42 -05:00
Henri Verbeet 9b74ebd794 wined3d: Get rid of the "lockable" parameter to device_parent_create_rendertarget(). 2012-07-10 10:39:34 -05:00
Henri Verbeet 73eceafb17 d3d9: Implement d3d9_device_ResetEx(). 2012-07-09 15:04:18 -04:00
Henri Verbeet e97dc9f33d d3d9: Implement d3d9_EnumAdapterModesEx(). 2012-07-02 19:17:59 +02:00
Henri Verbeet f95f466060 ddraw: Prevent ddraw from being unloaded. 2012-06-28 18:52:29 +02:00
Henri Verbeet 2c8834dffd d3d9: Implement d3d9_GetAdapterDisplayModeEx(). 2012-06-28 01:39:27 +02:00
Henri Verbeet a1bfd0988f wined3d: Take scanline ordering into account in the mode setting code. 2012-06-28 01:39:26 +02:00
Henri Verbeet 0f0fe49240 wined3d: Implement mode setting in the adapter instead of the device. 2012-06-22 16:13:58 +02:00
Henri Verbeet 220a55c36c ddraw: Use wined3d_get_adapter_display_mode() in d3d_device2_EnumTextureFormats(). 2012-06-21 19:52:33 +02:00
Henri Verbeet 339ef6c252 ddraw: Use wined3d_get_adapter_display_mode() in d3d_device7_EnumTextureFormats(). 2012-06-21 19:52:29 +02:00
Henri Verbeet bf876d2a7c ddraw: Use wined3d_get_adapter_display_mode() in d3d7_EnumZBufferFormats(). 2012-06-21 19:52:24 +02:00
Henri Verbeet a78708ca50 ddraw: Use wined3d_get_adapter_display_mode() in CreateSurface(). 2012-06-21 19:52:21 +02:00
Henri Verbeet 11b7604934 ddraw: Use wined3d_get_adapter_display_mode() in ddraw7_GetScanLine(). 2012-06-21 19:52:16 +02:00
Henri Verbeet 0833a639a9 ddraw: Use wined3d_get_adapter_display_mode() in ddraw7_GetFourCCCodes(). 2012-06-20 19:27:22 +02:00
Henri Verbeet e109754b1e ddraw: Use wined3d_get_adapter_display_mode() in ddraw7_GetDisplayMode(). 2012-06-20 19:27:17 +02:00
Henri Verbeet bf9b2a89ba ddraw: Use wined3d_get_adapter_display_mode() in ddraw_create_swapchain(). 2012-06-20 19:27:14 +02:00
Henri Verbeet 2a0463ac21 wined3d: Only filter redundant mode changes in wined3d. 2012-06-20 19:26:56 +02:00
Henri Verbeet a6ffab3bf5 wined3d: Rename WINED3DLOCK_* to WINED3D_MAP_*. 2012-06-18 17:48:56 +02:00
Henri Verbeet c722f2d31e ddraw: Merge ddraw_surface_destroy() into ddraw_surface_cleanup(). 2012-06-13 21:35:38 +02:00
Henri Verbeet 34c9586b60 ddraw/tests: Split up test_coop_level_surf_create(). 2012-06-01 17:46:43 +02:00
Henri Verbeet d61d842630 ddraw/tests: Split up test_initialize(). 2012-06-01 17:46:43 +02:00
Henri Verbeet 4f85b3772d ddraw/tests: Add test_coop_level_mode_set() for older ddraw versions. 2012-06-01 17:46:42 +02:00
Henri Verbeet 5227dfa8ef ddraw/tests: Move test_coop_level_mode_set() to ddraw7.c. 2012-05-31 18:05:15 +02:00
Henri Verbeet 643a68f692 ddraw/tests: Add test_redundant_mode_set() for older ddraw versions. 2012-05-30 17:17:59 +02:00
Henri Verbeet 5582e1c9fe ddraw/tests: Move test_redundant_mode_set() to ddraw7.c. 2012-05-30 17:17:59 +02:00
Henri Verbeet 7a52db09e3 ddraw/tests: Add test_window_style() for older ddraw versions. 2012-05-29 10:45:02 +02:00
Henri Verbeet ec8a9df007 ddraw/tests: Move test_window_style() to ddraw7.c. 2012-05-29 10:44:56 +02:00
Henri Verbeet 4bf45eca23 ddraw/tests: Add test_wndproc() for the other ddraw versions as well. 2012-05-24 20:08:49 +02:00
Henri Verbeet ef03ac0005 ddraw/tests: Move test_wndproc() to ddraw7.c. 2012-05-24 20:08:48 +02:00
Henri Verbeet 4905773baf ddraw: Only initially enable color keying for version 1 devices. 2012-05-24 20:08:48 +02:00
Henri Verbeet baa5ceecb0 ddraw/tests: Add a test for the initial color keying state. 2012-05-23 18:24:51 +02:00
Henri Verbeet fa90a256d7 ddraw/tests: Properly cleanup on failed device creation in a couple of places. 2012-05-23 18:24:50 +02:00
Henri Verbeet 89d561e6f8 ddraw/tests: Add a helper function to setup execute buffers. 2012-05-23 18:24:47 +02:00
Henri Verbeet e3ecfa5974 wined3d: Store user clip planes as 4-component float vectors. 2012-05-22 18:07:02 +02:00
Michael Stefaniuc 7fcbf0736e ddraw/tests: Remove some stray ok() calls. 2012-05-21 11:34:38 +02:00
Michael Stefaniuc 3525e1dc46 ddraw/tests: Actually run a test. 2012-05-17 10:18:24 +02:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02:00
Henri Verbeet 0f9ccac447 ddraw: Get rid of the member_info typedef. 2012-05-03 23:44:53 +02:00
Henri Verbeet 9267148705 wined3d: The wined3d object doesn't need a parent. 2012-05-03 11:18:00 +02:00
Henri Verbeet 5b680d6023 ddraw: Get rid of the flag_info typedef. 2012-05-03 11:17:56 +02:00
Henri Verbeet 9fd2d34d68 ddraw: Get rid of IClassFactoryImpl. 2012-04-26 19:26:11 +02:00
Henri Verbeet e744bf78c8 ddraw/tests: Add a helper function to set the viewport background material. 2012-04-20 11:58:00 +02:00
Henri Verbeet 3f0af44ffb ddraw/tests: Add a helper function to create a material. 2012-04-16 12:05:21 +02:00
Henri Verbeet 8cef8b3587 wined3d: Unify the wined3d_mapped_rect and wined3d_mapped_box structures. 2012-04-13 10:48:51 +02:00
Henri Verbeet fae3a6430d ddraw: Get rid of IDirect3DVertexBufferImpl. 2012-04-12 20:36:53 +02:00
Henri Verbeet 4d1a659c3a ddraw: Get rid of IDirect3DExecuteBufferImpl. 2012-04-11 18:14:41 +02:00
Henri Verbeet daedd0077d ddraw: Get rid of IDirect3DDeviceImpl. 2012-04-10 16:21:25 +02:00
Henri Verbeet 96fa113513 ddraw: Properly retrieve an interface pointer in IDirect3DDeviceImpl_7_GetTexture(). 2012-04-10 16:21:25 +02:00
Henri Verbeet 9cb7ca004a ddraw: Properly retrieve an interface pointer in ddraw7_GetSurfaceFromDC(). 2012-04-10 16:21:24 +02:00
Henri Verbeet 9d317e632f ddraw: Properly retrieve an interface pointer in ddraw_surface7_GetPalette(). 2012-04-09 12:02:55 +02:00
Henri Verbeet 02b9988f48 ddraw: Simplify updating palette entries in d3d_texture2_Load(). 2012-04-09 12:02:51 +02:00
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