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