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
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
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
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
Stefan Dösinger
f69ba15a92
ddraw/tests: Test blocked texture creation restrictions.
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
8da09ba196
ddraw/tests: Test DDCAPS2_TEXTUREMANAGE compatibility, with other flags.
2013-09-05 17:56:06 +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
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
d6bc4fe71a
wined3d: Allow surface flags to be passed to texture creation functions.
2013-06-06 11:47:19 +02:00
Stefan Dösinger
410151ca6a
ddraw: Update the SetCooperativeLevel comment.
2013-06-06 10:45:44 +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
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
74f496d9bb
ddraw: De-duplicate display modes even when returning the refresh rate.
2013-04-09 21:27:57 +02: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
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
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
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
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
fb37ac56d9
ddraw: Avoid LPDDSURFACEDESC2.
2012-12-07 10:35:36 +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
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
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
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
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
8fd7d3a2b3
wined3d: Just return the swapchain from wined3d_device_get_swapchain().
2012-09-05 11:48:04 +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
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
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
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
9267148705
wined3d: The wined3d object doesn't need a parent.
2012-05-03 11:18:00 +02:00
Henri Verbeet
fae3a6430d
ddraw: Get rid of IDirect3DVertexBufferImpl.
2012-04-12 20:36:53 +02:00
Henri Verbeet
daedd0077d
ddraw: Get rid of IDirect3DDeviceImpl.
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
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
cf30899f1a
ddraw: Version 1 devices are aggregated by the surface that created them.
2012-04-06 20:11:17 +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
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
f6bb0a9016
ddraw: Don't return a pointer to the implementation in ddraw7_QueryInterface().
2012-03-14 11:48:26 +01:00
Henri Verbeet
d0a37cdeb5
ddraw: Get rid of IDirectDrawPaletteImpl.
2012-03-13 10:26:54 +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
ed47f259bd
wined3d: Don't take the wined3d mutex during WM_DISPLAYCHANGE either.
2012-02-21 11:30:10 +01:00
Henri Verbeet
3769afa33d
wined3d: Get rid of the WINED3DSURFTYPE typedef.
2012-01-20 13:31:33 +01:00
Henri Verbeet
ed417a6f13
wined3d: Get rid of the WINED3DSTATEBLOCKTYPE typedef.
2012-01-18 12:37:38 +01:00
Henri Verbeet
e53a277305
wined3d: Get rid of the WINED3DPOOL typedef.
2012-01-18 12:37:38 +01:00
Henri Verbeet
6a5a098b23
wined3d: Get rid of the WINED3DRESOURCETYPE typedef.
2012-01-18 12:37:38 +01:00
Henri Verbeet
992dbc1078
ddraw: Maintain D3D state across cooperative level changes.
2012-01-18 12:37:38 +01:00
Henri Verbeet
a44b062aed
wined3d: Get rid of the WINED3DCUBEMAP_FACES typedef.
2012-01-13 17:34:31 +01:00
Francois Gouget
daeb4d6d29
ddraw: Make ddraw_reset_enum_callback() and ddraw_surface_destroy() static.
2012-01-09 12:52:11 +01:00
Henri Verbeet
9a8491045e
wined3d: Get rid of the WINED3DMULTISAMPLE_TYPE typedef.
2012-01-09 12:22:17 +01:00
Henri Verbeet
3d33887c2f
wined3d: Get rid of the WINED3DSWAPEFFECT typedef.
2012-01-06 19:24:22 +01:00
Henri Verbeet
387a5f632c
ddraw: Fix the title and class name for the auto ddraw device window.
2011-12-23 13:44:26 +01:00
Henri Verbeet
3e6313050b
ddraw: Handle the special DDSCL_SETFOCUSWINDOW | DDSCL_CREATEDEVICEWINDOW combination.
2011-12-23 13:44:19 +01:00
Henri Verbeet
d8153e5364
ddraw: Properly handle DDSCL_CREATEDEVICEWINDOW.
2011-12-23 13:44:12 +01:00
Henri Verbeet
a5af10e12b
ddraw: Clear the focus and device windows on DDSCL_NORMAL.
2011-12-23 13:44:07 +01:00
Henri Verbeet
2ec0c7bfdc
ddraw: DDSCL_CREATEDEVICEWINDOW requires DDSCL_EXCLUSIVE.
2011-12-23 13:44:00 +01:00
Henri Verbeet
67bca436ee
wined3d: Get rid of the WINED3DDEVTYPE typedef.
2011-12-13 18:58:58 +01:00
Henri Verbeet
ebb85da5f7
wined3d: Get rid of the WINEDDCAPS typedef.
2011-12-13 18:58:58 +01:00
Henri Verbeet
e6fb4537f0
ddraw: Move clipper handling to ddraw.
2011-12-13 18:58:37 +01:00
Henri Verbeet
6523ef5f67
ddraw: Don't enumerate surfaces without references.
2011-12-06 15:50:58 +01:00
Henri Verbeet
94c9b0b4fc
wined3d: Get rid of the WINED3DPRESENT_PARAMETERS typedef.
2011-12-02 11:51:29 +01:00
Henri Verbeet
3430e11605
wined3d: Add a flags parameter to wined3d_surface_create().
2011-11-30 11:50:48 +01:00
Henri Verbeet
82dd612d50
ddraw: Resize the swapchain window on mode changes in exclusive mode.
2011-11-30 11:50:42 +01:00
Henri Verbeet
22d41e2c3f
ddraw: Rename the wineD3D field in IDirectDrawImpl to wined3d.
2011-11-29 13:23:00 +01:00
Henri Verbeet
0f10ac9358
ddraw: Create the wined3d swapchain when setting the cooperative level.
2011-11-29 13:22:54 +01:00
Henri Verbeet
376ffdf3d5
wined3d: Get rid of the WINED3DADAPTER_IDENTIFIER typedef.
2011-11-24 17:10:09 +01:00
Henri Verbeet
bca0ec8182
ddraw: Fail surface creation if the cooperative level isn't set yet.
2011-11-24 17:09:57 +01:00
Henri Verbeet
74345201ad
ddraw: Move setting ddraw->d3d_target out of ddraw_attach_d3d_device().
2011-11-23 09:13:49 +01:00
Henri Verbeet
8e6f5c34a2
ddraw: We can't render to the desktop window either.
2011-11-18 14:26:16 +01:00
Henri Verbeet
18a7653c78
wined3d: Get rid of the WINED3DDISPLAYMODE typedef.
2011-11-17 11:37:26 +01:00
Stefan Dösinger
9e0baa55ce
ddraw: Set correct HEL and HAL color models.
2011-11-15 19:37:28 +01:00
Henri Verbeet
a2963b662c
ddraw: Use wined3d_mutex_lock() / wined3d_mutex_unlock() for locking.
2011-11-14 15:25:21 +01:00
Henri Verbeet
d09ad48328
ddraw: Read/draw from/to the actual screen when there is no swapchain window.
2011-10-25 16:57:24 +02:00
Henri Verbeet
14ca56ed97
ddraw: Destroy the swapchain in ddraw_destroy() if it still exists.
2011-10-18 15:10:21 +02:00
Ričardas Barkauskas
472a8f7a67
ddraw: COM cleanup for IDirect3DDevice7 interface.
2011-10-17 18:24:58 +02:00
Ričardas Barkauskas
7dc08745d1
ddraw: Use impl_from_IDirect3DDevice7 for application provided interfaces.
2011-10-17 18:24:42 +02:00
Ričardas Barkauskas
6b7e3e77d0
ddraw: COM cleanup for IDirect3DDevice3 interface.
2011-10-17 18:24:21 +02:00
Ričardas Barkauskas
d32df839ac
ddraw: COM cleanup for IDirect3DDevice2 interface.
2011-10-17 18:23:42 +02:00
Stefan Dösinger
496b438ede
wined3d: Remove d3d8/9 palette support.
2011-10-11 13:37:49 +02:00
Ričardas Barkauskas
6253d319cb
ddraw: COM cleanup for IDirect3DViewport3 interface.
2011-10-04 15:25:20 -05:00
Ričardas Barkauskas
a6656468ef
ddraw: COM cleanup for the IDirectDrawPalette interface.
2011-10-04 15:24:44 -05:00
Akihiro Sagawa
f2044702fa
ddraw: Use the same device name as Windows for the Direct3D HAL device.
2011-10-03 11:25:59 -05:00
Henri Verbeet
4228bbc5bf
ddraw: Store the wined3d swapchain reference in the ddraw object instead of the primary surface.
2011-09-20 16:21:38 +02:00
Henri Verbeet
cc45316d02
ddraw: Setup swapchain dimensions and format using the current display mode in ddraw_create_swapchain().
2011-09-20 16:21:38 +02:00
Henri Verbeet
ec04f80cf6
ddraw: Implement ddraw7_Initialize().
2011-09-19 17:56:05 +02:00
Henri Verbeet
feb96511a9
ddraw: Get rid of IDirectDraw3.
2011-09-19 17:56:05 +02:00
Henri Verbeet
b9fcf71c71
ddraw: Use real flips.
2011-09-16 17:23:08 +02:00
Henri Verbeet
1aeee59bd8
ddraw: Use offscreen backbuffers.
...
In principle this allows us to use more than one backbuffer in ddraw. It's
also a requirement for the next patch.
2011-09-16 17:23:08 +02:00
Henri Verbeet
5186882098
ddraw: Store the primary surface.
2011-09-16 17:23:08 +02:00
Henri Verbeet
f60b54d952
ddraw: Get rid of the surfaces field in IDirectDrawImpl.
2011-09-15 15:41:40 +02:00
Henri Verbeet
5de020342c
ddraw: Get rid of the unused "initialized" field in IDirectDrawImpl.
2011-09-14 09:59:12 +02:00
Henri Verbeet
8173e6f539
ddraw: Just use a static variable for vblank emulation.
2011-09-14 09:58:58 +02:00
Henri Verbeet
60f6c41a67
ddraw: Just use a static variable for scanline emulation.
...
Tracking it per ddraw object doesn't add much.
2011-09-14 09:58:53 +02:00
Francois Gouget
8973c20f7d
Assorted spelling fixes.
2011-09-13 11:27:01 +02:00
Henri Verbeet
b23809868a
ddraw: Get the total amount of video memory from wined3d.
...
Instead of hoping that what's available at ddraw_init() time is the total.
2011-09-12 10:08:52 +02:00
Henri Verbeet
f3e1a9fa16
ddraw: Initialize the swapchain presentation parameters in ddraw_create_swapchain().
2011-09-12 10:08:38 +02:00
Henri Verbeet
bbfbd66d9f
ddraw: Introduce a function for creating the swapchain.
2011-09-08 11:11:20 +02:00
Henri Verbeet
cbc009b8d2
ddraw: Also check errors returned by ddraw_create_gdi_swapchain() in CreateSurface().
2011-09-08 11:11:15 +02:00