Commit Graph

454 Commits

Author SHA1 Message Date
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