Commit Graph

367 Commits

Author SHA1 Message Date
Henri Verbeet b005ad6f90 wined3d: Use rendertarget views for color output instead of surfaces. 2014-08-21 12:24:42 +02:00
Henri Verbeet 1fb7ccdc13 ddraw: Clamp video memory to UINT_MAX in ddraw7_GetAvailableVidMem(). 2014-08-18 12:47:04 +02:00
Henri Verbeet 8d4988a43f ddraw: Improve ddraw7_TestCooperativeLevel(). 2014-06-30 22:04:53 +02:00
Stefan Dösinger 9d49b7a9be wined3d: Set palettes on the swapchain. 2014-06-30 22:04:53 +02:00
Henri Verbeet b0f1feb4f0 ddraw: Properly support creating compressed user memory surfaces. 2014-06-12 18:05:20 +02:00
Stefan Dösinger fd0189bbfa wined3d: Move get_dc palette updates to ddraw. 2014-05-15 19:05:02 +02:00
Stefan Dösinger 7d793715f3 ddraw: Use the new private store api. 2014-03-17 20:23:58 +01:00
Henri Verbeet c1032e977b wined3d: Filter redundant WINED3D_MAP_DISCARD buffer maps. 2014-03-04 11:50:54 +01:00
Henri Verbeet c5a8b933af ddraw: Unset the primary surface's palette when the palette is released. 2013-12-13 12:36:10 +01:00
Henri Verbeet bf7f80f4b3 ddraw: Store the palette flags in the ddraw palette. 2013-12-12 12:08:23 +01:00
Henri Verbeet 1f0bb534ec ddraw: Keep a reference to the palette in the surface. 2013-12-12 12:08:16 +01:00
Henri Verbeet 82d5f36c8b ddraw: Get rid of copy_to_surfacedesc2(). 2013-11-28 11:19:16 +01:00
Henri Verbeet 69ebf9de54 ddraw: Get rid of CreateSurface(). 2013-11-28 11:19:15 +01:00
Henri Verbeet 028960d9d0 ddraw: Make the DDSURFACEDESC2 parameter to ddraw_surface_create_texture() const. 2013-11-28 11:19:13 +01:00
Henri Verbeet afc3d2ab70 wined3d: Create surfaces inside wined3d. 2013-11-15 12:00:26 +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 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
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 73a0327487 ddraw: Avoid LPBYTE. 2013-09-11 09:59:06 +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 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
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 4e51195e0b ddraw: Restore resolution on EXCLUSIVE->NORMAL switch. 2013-06-06 10:45:38 +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
Henri Verbeet 1249976eb6 wined3d: Get rid of the surface_type parameter to wined3d_check_device_format(). 2013-01-17 12:22:01 +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
Henri Verbeet 293f362d55 ddraw: Avoid LPD3DMATRIX. 2013-01-04 12:16:27 +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
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 a61f68fc5a ddraw: Properly use the index buffer as a dynamic buffer. 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
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 1fab14af9e ddraw: Just implement ddraw7_RestoreDisplayMode() on top of wined3d_set_adapter_display_mode(). 2012-10-16 11:37:10 +02:00
Henri Verbeet 46a9a7e548 ddraw: Get rid of the "tex_root" hack. 2012-07-13 10:29:19 -05:00
Henri Verbeet 0f9ccac447 ddraw: Get rid of the member_info typedef. 2012-05-03 23:44:53 +02:00
Henri Verbeet 5b680d6023 ddraw: Get rid of the flag_info typedef. 2012-05-03 11:17:56 +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 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 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 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 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 3769afa33d wined3d: Get rid of the WINED3DSURFTYPE typedef. 2012-01-20 13:31:33 +01:00
Henri Verbeet cf636cc3b3 ddraw: Allow querying the surface interface if a device was created from a surface. 2012-01-18 12:37:38 +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 f17e714857 ddraw: Implement IDirectDrawClipper::SetClipList(). 2012-01-06 19:24:20 +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 00096c82fd wined3d: Get rid of the WINED3DZBUFFERTYPE typedef. 2011-12-22 10:08:48 +01:00
Henri Verbeet 4a30db74b1 ddraw: Handle the Direct3D clipspace transformation.
Direct3D3 and earlier have an extra transformation to scale clipspace. It's
controlled by the extra viewport parameters in those versions.
2011-12-22 10:07:59 +01:00
Henri Verbeet 67bca436ee wined3d: Get rid of the WINED3DDEVTYPE 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 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 8e6f5c34a2 ddraw: We can't render to the desktop window either. 2011-11-18 14:26:16 +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 8330558e12 ddraw: Keep track of the affected rectangle for ddraw_surface_update_frontbuffer(). 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 31cf68dd95 ddraw: Use unsafe_impl_from_IDirect3DDevice7 for application provided interfaces. 2011-10-17 18:24:30 +02:00
Ričardas Barkauskas 6b7e3e77d0 ddraw: COM cleanup for IDirect3DDevice3 interface. 2011-10-17 18:24:21 +02:00
Ričardas Barkauskas bd530d3aba ddraw: Rename device_from_device3 to impl_from_IDirect3DDevice3. 2011-10-17 18:24:10 +02:00
Ričardas Barkauskas a90b2ad002 ddraw: Use unsafe_impl_from_IDirect3DDevice3 for application provided interfaces. 2011-10-17 18:23:51 +02:00
Ričardas Barkauskas d32df839ac ddraw: COM cleanup for IDirect3DDevice2 interface. 2011-10-17 18:23:42 +02:00
Ričardas Barkauskas 1c045cbb28 ddraw: Rename device_from_device2 to impl_from_IDirect3DDevice2. 2011-10-17 18:23:33 +02:00
Ričardas Barkauskas a870753dba ddraw: Use unsafe_impl_from_IDirect3DDevice2 for application provided interfaces. 2011-10-17 18:23:18 +02:00
Ričardas Barkauskas d5912c533f ddraw: COM cleanup for IDirect3DDevice interface. 2011-10-17 18:23:09 +02:00
Ričardas Barkauskas a0c9ab7894 ddraw: Rename device_from_device1 to impl_from_IDirect3DDevice. 2011-10-17 18:22:56 +02:00
Ričardas Barkauskas d19e416dee ddraw: Use unsafe_impl_from_IDirect3DDevice for application provided interfaces. 2011-10-17 18:22:44 +02:00
Octavian Voicu b44eef7085 ddraw: Keep track of interface attached by AddAttachedSurface and detach correct interface when parent is released. 2011-10-12 20:52:46 +02:00
Ričardas Barkauskas 38982ddf11 ddraw: Use unsafe_impl_from_IDirect3DViewport2 for application provided interfaces. 2011-10-04 15:25:31 -05:00
Ričardas Barkauskas 25bf0e914c ddraw: Use unsafe_impl_from_IDirect3DViewport for application provided interfaces. 2011-10-04 15:25:25 -05:00
Ričardas Barkauskas 6253d319cb ddraw: COM cleanup for IDirect3DViewport3 interface. 2011-10-04 15:25:20 -05:00
Ričardas Barkauskas f44734b724 ddraw: Use unsafe_impl_from_IDirect3DViewport3 for application provided interfaces. 2011-10-04 15:25:00 -05:00
Ričardas Barkauskas a6656468ef ddraw: COM cleanup for the IDirectDrawPalette interface. 2011-10-04 15:24:44 -05:00
Ričardas Barkauskas a8616b7fcb ddraw: Use unsafe_impl_from_IDirectDrawPalette for application provided interfaces. 2011-10-04 15:24:20 -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 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 5186882098 ddraw: Store the primary surface. 2011-09-16 17:23:08 +02:00