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
Stefan Dösinger
8e79a7e664
ddraw: Add some NULL pointer tests.
2011-09-07 11:15:09 +02:00
Henri Verbeet
5824551d76
ddraw: Set the swap effect to WINED3DSWAPEFFECT_COPY in ddraw_create_gdi_swapchain().
...
The actual swapchain implementation ignores the swap effect and always does a
copy anyway, but this makes it consistent with ddraw_attach_d3d_device().
2011-09-07 11:12:43 +02:00
Henri Verbeet
582767ce45
ddraw: Only explicitly initialize non-zero fields in ddraw_create_gdi_swapchain().
...
Update ddraw_attach_d3d_device() for consistency.
2011-09-07 11:12:34 +02:00
Stefan Dösinger
42b7ad4fd4
ddraw: Convert dwZBufferBitDepth into a DDPIXELFORMAT.
2011-08-31 19:43:09 +02:00
Stefan Dösinger
c42277883a
ddraw: Introduce a function to convert a DDSURFACEDESC2 to a DDSURFACEDESC.
2011-08-31 19:43:09 +02:00
Stefan Dösinger
76fecde8fb
ddraw: Introduce a function to convert a DDSURFACEDESC to a DDSURFACEDESC2.
2011-08-31 19:43:09 +02:00
Henri Verbeet
43ad90ce31
ddraw: Get rid of the ImplType fields in IDirectDrawImpl and IDirectDrawSurfaceImpl.
2011-08-31 19:42:55 +02:00
Henri Verbeet
c89a3ffe80
ddraw: Get rid of the surface implementation switching code.
2011-08-31 19:42:52 +02:00
Henri Verbeet
8f46cb6b8b
ddraw: Introduce a separate function for setting the focus window.
2011-08-29 19:42:46 +02:00
Henri Verbeet
93b5f681d9
ddraw: Remove a redundant check from ddraw7_SetCooperativeLevel().
2011-08-29 19:42:41 +02:00
Henri Verbeet
cad9cbe445
ddraw: Trace which surfaces we enumerate in ddraw7_EnumSurfaces().
2011-08-29 19:42:31 +02:00
Stefan Dösinger
899b278558
ddraw: Emulate a 24 bit depth format without stencil or padding.
2011-08-29 13:56:33 +02:00
Ričardas Barkauskas
bf7df85169
ddraw: Do not create implicit depth buffer.
2011-08-25 11:31:38 +02:00
Ričardas Barkauskas
5c8ad26757
ddraw: Do not AddRef IDirectDraw7 iface in CreateSurface helper.
2011-08-22 17:15:54 +02:00
Frédéric Delanoy
f932abf326
dlls: Assorted spelling fixes.
2011-08-01 18:26:27 +02:00
Henri Verbeet
2256a7e804
wined3d: wined3d_device_evict_managed_resources() doesn't need a return value.
2011-07-29 12:09:39 +02:00
Henri Verbeet
84413298de
ddraw: Resize the window after setting the new display mode.
2011-07-22 12:57:18 +02:00
Henri Verbeet
04d541c26d
ddraw: Just use SetWindowPos() in ddraw_set_display_mode().
...
Instead of going through wined3d_device_restore_fullscreen_window() /
wined3d_device_setup_fullscreen_window(). The main point of those functions is
changing the window styles, but we don't actually need that here. More
importantly, we filter the messages generated by those functions in wined3d,
while tests show that messages generated by SetDisplayMode() /
RestoreDisplayMode() are visible to the application. Applications depend on
WM_SIZE in particular.
2011-07-19 14:05:56 +02:00
Henri Verbeet
ddc29c40e6
wined3d: Make D3DRS_ZBIAS work.
...
D3DRS_ZBIAS is poorly defined, but it makes sense that the bias should be
format independent. Looking at application behaviour, it seems to include a
slope scale factor as well. This fixes a couple of regressions introduced by
96b758f7b3
, although it was broken before as
well, just in a different way.
2011-07-05 13:46:07 +02:00
Ričardas Barkauskas
5f6d7021aa
ddraw: Separate IDirectDrawSurface and IDirectDrawSurface7 reference counts.
2011-06-28 11:57:50 -05:00
Ričardas Barkauskas
9190d349d2
ddraw: Separate IDirectDrawSurface4 reference count.
2011-06-28 11:57:50 -05:00
Henri Verbeet
c461d312ba
wined3d: Request per-surface palettes in the client libs.
2011-06-24 08:49:48 -05:00
Henri Verbeet
b296f181dd
wined3d: Explicitly set surface alignment in the client libs.
...
Instead of using dxVersion.
2011-06-24 08:49:42 -05:00
Ričardas Barkauskas
8959a1395a
ddraw: Remove ddraw_set_surface_version and set surface version when initialising it.
2011-06-21 17:09:02 +02:00
Ričardas Barkauskas
4c0c0d3aeb
ddraw: Fix ddraw4_EnumSurfaces to pass correct iface in callbacks.
2011-06-20 19:33:30 +02:00
Michael Stefaniuc
588ddee736
ddraw: COM cleanup for the IDirectDrawClipper iface.
2011-06-20 19:32:03 +02:00
Stefan Dösinger
07c761a6a1
ddraw: Implement IDirect3D7::EvictManagedTextures.
2011-06-17 15:37:33 +02:00
Michael Stefaniuc
d7768739ec
ddraw: COM cleanup for the IDirect3DVertexBuffer7 iface.
2011-06-15 20:04:39 +02:00
Michael Stefaniuc
60223057f0
ddraw: COM cleanup for the IDirect3DVertexBuffer iface.
2011-06-15 20:04:39 +02:00
Michael Stefaniuc
ca1ee4a7c3
ddraw: Avoid unsafe IDirect3DVertexBuffer to object casts.
2011-06-15 20:04:39 +02:00
Michael Stefaniuc
d010dac84d
ddraw: Rename d3d_vertex_buffer_init() and have it allocate the object too.
2011-06-15 20:04:39 +02:00
Ričardas Barkauskas
f3ae1b99f6
ddraw: Separate IDirectDrawSurface vtable.
2011-06-10 15:26:52 +02:00
Ričardas Barkauskas
27063ffeaa
ddraw: Use unsafe_impl_from_IDirectDrawSurface() for application provided interfaces.
2011-06-10 15:26:29 +02:00
Michael Stefaniuc
0519450708
ddraw: COM cleanup for the IDirect3DLight iface.
2011-06-09 13:28:08 +02:00
Michael Stefaniuc
d9fb7b9b92
ddraw: COM cleanup for the IDirect3DMaterial3 iface.
2011-06-08 17:43:07 +02:00
Michael Stefaniuc
8d91f8b614
ddraw: Avoid "unsafe" IDirect3DMaterial3 to object casts.
2011-06-08 17:37:33 +02:00
Michael Stefaniuc
db15ce6580
ddraw: Rename d3d_material_init() and have it allocate the object too.
2011-06-08 17:37:24 +02:00
Michael Stefaniuc
e3a32e8d95
ddraw: COM cleanup for the IDirect3DMaterial iface.
2011-06-07 14:18:32 +02:00
Michael Stefaniuc
0586dd8bbe
ddraw: COM cleanup for the IDirect3DMaterial2 iface.
2011-06-07 14:18:32 +02:00
Ričardas Barkauskas
bb063b994c
ddraw: Separate IDirectDrawSurface4 vtable.
2011-06-06 21:49:23 +02:00
Ričardas Barkauskas
4582562f55
ddraw: Use unsafe_impl_from_IDirectDrawSurface4.
2011-06-06 21:49:23 +02:00
Ričardas Barkauskas
2f02bbb41f
ddraw: Change lpVtbl to IDirectDrawSurface7_iface.
2011-06-06 21:49:23 +02:00
Ričardas Barkauskas
4074dd7615
ddraw: Avoid IDirectDrawSurfaceX to IDirectDrawSurface7 casts.
2011-06-06 21:49:23 +02:00
Ričardas Barkauskas
93dfe5afc3
ddraw: Use impl_from_IDirectDrawSurface7() instead of casts.
2011-06-06 21:49:23 +02:00
Ričardas Barkauskas
705548a6ef
ddraw: Separate conversion from IDirectDrawSurface7 iface to object and conversion to other iface.
2011-06-06 21:49:22 +02:00
Ričardas Barkauskas
4123c7a38a
ddraw: Pass an object instead of iface to helper function CreateSurface.
2011-06-06 21:49:22 +02:00
Ričardas Barkauskas
28ce1c00a7
ddraw: Use unsafe_impl_from_IDirectDrawSurface7() for application provided interfaces.
2011-06-06 21:49:22 +02:00
Andrew Nguyen
a90b698e0c
ddraw: Handle a callback cancellation attempt in d3d7_EnumDevices.
2011-06-01 16:09:58 +02:00
Andrew Nguyen
f2f529ae38
ddraw: Extend the lifetime of the EnumDevices strings beyond function scope.
2011-06-01 16:09:53 +02:00
Ričardas Barkauskas
6d5be5033e
ddraw: Change IDirectDrawSurface3_vtbl to IDirectDrawSurface3_iface.
2011-05-31 19:24:10 +02:00
Ričardas Barkauskas
fb6ceb971b
ddraw: Use unsafe_impl_from_IDirectDrawSurface3() for application provided interfaces.
2011-05-31 19:22:52 +02:00
Andrew Nguyen
cf6d56a43a
ddraw: Add a NULL callback pointer check in the EnumDevices implementations.
2011-05-31 18:32:59 +02:00
Dylan Smith
f7002c6627
ddraw: Don't interpret end padding as dwCaps2 for x64.
2011-05-24 12:47:28 +02:00
Dylan Smith
3871329872
ddraw: Avoid clearing some memory unnecessarily.
2011-05-24 12:47:27 +02:00
Henri Verbeet
f147c1e928
ddraw: Don't touch the window during mode setting if we're not in exclusive mode.
2011-05-24 11:53:47 +02:00
Henri Verbeet
3032b40c80
wined3d: Get rid of the IWineD3DDeviceParent interface.
2011-05-19 10:06:21 +02:00
Henri Verbeet
8d4ca1f815
wined3d: Remove COM from the device implementation.
2011-05-17 10:06:18 +02:00
Ričardas Barkauskas
a7bd11afb0
ddraw: Fix filtering of enumerated display modes.
2011-05-12 18:22:25 +02:00
Henri Verbeet
00a5f38595
wined3d: Remove object creation methods from the IWineD3DDevice interface.
2011-05-11 14:56:48 +02:00
Henri Verbeet
5e4145d0ff
ddraw: Skip redundant mode setting calls.
2011-05-11 14:56:48 +02:00
Henri Verbeet
1c1de920e3
wined3d: Remove COM from the surface implementation.
2011-04-29 16:52:13 +02:00
Henri Verbeet
6ff226f502
ddraw: Destroy the ddraw surface after the wined3d surface is destroyed.
2011-04-21 16:53:41 +02:00
Henri Verbeet
5492560cb5
ddraw: Introduce a separate function for texture creation.
2011-04-20 13:06:45 +02:00
Henri Verbeet
2c450571e5
wined3d: Remove COM from the volume implementation.
2011-04-15 10:07:57 +02:00
Henri Verbeet
3ec19590d5
wined3d: Remove COM from the swapchain implementation.
2011-04-14 17:13:57 +02:00
Henri Verbeet
d2e665230a
wined3d: Get rid of the swapchain destroy callback.
2011-04-13 14:13:51 +02:00
Henri Verbeet
dd2c7d0d8c
wined3d: Don't free D3D swapchains until the wined3d swapchain is destroyed.
...
This will allow us the get rid of the swapchain refcounting hacks in d3d9 in
particular. This is similar to the way we handle resources that are still in
use by a stateblock, but aren't referenced anywhere by the application.
2011-04-08 14:40:48 +02:00
Henri Verbeet
fd8e18bd2b
wined3d: Remove COM from the texture implementation.
2011-03-28 17:08:52 +02:00
Henri Verbeet
b8c40f3a7e
wined3d: Get rid of IWineD3DCubeTexture.
2011-03-18 15:59:04 +01:00
Henri Verbeet
f1ec3820d7
wined3d: Get rid of IWineD3DTexture.
2011-03-17 10:40:52 +01:00
Henri Verbeet
2b18192e7a
wined3d: Get rid of IWineD3DSurface::GetDesc().
2011-03-11 11:40:31 +01:00
Henri Verbeet
756fdb7c5a
wined3d: Merge the various resource desc structures.
2011-03-09 12:28:58 +01:00
Henri Verbeet
015ad93d47
ddraw: Just pass NULL as swapchain parent.
...
The swapchain was the last place using IParent, so this allows us to kill
IParent completely.
2011-03-08 12:28:20 +01:00