Commit graph

425 commits

Author SHA1 Message Date
Henri Verbeet
256d433164 d3d9: Implement d3d9_device_PresentEx(). 2012-06-29 10:14:21 +02:00
Henri Verbeet
0ce894f274 d3d9: Implement d3d9_device_GetDisplayModeEx(). 2012-06-28 01:39:28 +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
56fffd0659 d3d9: Get rid of IDirect3DQuery9Impl. 2012-06-12 17:27:34 +02:00
Henri Verbeet
2f2995de75 d3d9: Get rid of IDirect3DPixelShader9Impl. 2012-06-12 17:27:29 +02:00
Henri Verbeet
df9c6aa3ec d3d9: Get rid of IDirect3DVertexShader9Impl. 2012-06-12 17:27:25 +02:00
Henri Verbeet
bdd42942c0 d3d9: Get rid of IDirect3DVertexDeclaration9Impl. 2012-06-01 17:46:45 +02:00
Henri Verbeet
79d62ca1fb d3d9: Get rid of IDirect3DStateBlock9Impl. 2012-06-01 17:46:44 +02:00
Henri Verbeet
6341389fe4 d3d9: Get rid of IDirect3DIndexBuffer9Impl. 2012-05-31 18:05:32 +02:00
Henri Verbeet
503b16392b d3d9: Get rid of IDirect3DVertexBuffer9Impl. 2012-05-31 18:05:29 +02:00
Henri Verbeet
cb9cc2ccee d3d9: Get rid of IDirect3DSurface9Impl. 2012-05-30 17:18:00 +02:00
Henri Verbeet
d4c5c03cbb d3d9: Get rid of IDirect3DSwapChain9Impl. 2012-05-30 17:18:00 +02:00
Henri Verbeet
a91ef5217d d3d9: Get rid of IDirect3DVolume9Impl. 2012-05-29 10:45:13 +02:00
Henri Verbeet
2a63fe6624 d3d9: Get rid of IDirect3DDevice9Impl. 2012-05-29 10:45:09 +02:00
Henri Verbeet
82adae949b d3d9: Get rid of IDirect3D9Impl. 2012-05-25 16:24:11 +02:00
Henri Verbeet
e3ecfa5974 wined3d: Store user clip planes as 4-component float vectors. 2012-05-22 18:07:02 +02:00
Henri Verbeet
9936ec0c1c d3d9: Properly retrieve an interface pointer in IDirect3DDevice9Impl_GetStreamSource(). 2012-04-30 11:01:13 +02:00
Henri Verbeet
c208d973f6 d3d9: Properly retrieve an interface pointer in IDirect3DDevice9Impl_GetIndices(). 2012-04-30 11:01:09 +02:00
Henri Verbeet
c638aab2b4 d3d9: Properly retrieve an interface pointer in IDirect3DDevice9Impl_GetPixelShader(). 2012-04-27 11:59:27 +02:00
Henri Verbeet
722e60ab2e d3d9: Properly retrieve an interface pointer in IDirect3DDevice9Impl_GetVertexShader(). 2012-04-27 11:59:23 +02:00
Henri Verbeet
a495b7af48 d3d9: Properly retrieve an interface pointer in IDirect3DDevice9Impl_GetVertexDeclaration(). 2012-04-27 11:59:21 +02:00
Henri Verbeet
3e2d946290 d3d9: Properly retrieve an interface pointer in IDirect3DDevice9Impl_GetTexture(). 2012-04-26 19:26:08 +02:00
Henri Verbeet
e333334450 d3d9: Properly retrieve an interface pointer in IDirect3DDevice9Impl_GetDepthStencilSurface(). 2012-04-26 19:26:06 +02:00
Henri Verbeet
6a03dbf111 d3d9: Properly retrieve an interface pointer in IDirect3DDevice9Impl_GetRenderTarget(). 2012-04-26 19:26:02 +02:00
Henri Verbeet
d01e0647d1 d3d9: Get rid of IDirect3DBaseTexture9Impl. 2012-04-25 12:14:54 +02:00
Henri Verbeet
fb5bc72408 d3d9: Properly retrieve an interface pointer in IDirect3DDevice9Impl_GetBackBuffer(). 2012-04-25 12:14:02 +02:00
Henri Verbeet
138edd31e5 d3d9: Use the surface implementation pointer in reset_enum_callback(). 2012-04-25 12:13:58 +02:00
Henri Verbeet
11a2231c11 d3d9: Properly retrieve an interface pointer in IDirect3DDevice9Impl_GetSwapChain(). 2012-04-25 12:13:55 +02:00
Henri Verbeet
7da2dc747c d3d9: Get rid of IDirect3DVolumeTexture9Impl. 2012-04-24 11:29:40 +02:00
Henri Verbeet
21c65893c9 d3d9: Get rid of IDirect3DCubeTexture9Impl. 2012-04-23 11:47:58 +02:00
Henri Verbeet
5569db9a98 d3d9: Get rid of IDirect3DTexture9Impl. 2012-04-23 11:44:48 +02:00
Henri Verbeet
949f7b4524 d3d9: COM cleanup for the IDirect3DVertexDeclaration9 interface. 2012-04-13 10:48:46 +02:00
Henri Verbeet
81ed6e0c86 d3d9: Use the wined3d declaration to retrieve the FVF in IDirect3DDevice9Impl_GetFVF(). 2012-04-13 10:48:43 +02:00
Henri Verbeet
5fc17b84d0 d3d9: Store wined3d vertex declarations in the fvf lookup table.
This also implicitly gets rid of the convFVF hack in
IDirect3DVertexDeclaration9Impl_Release().
2012-04-12 20:36:45 +02:00
Henri Verbeet
ba67df7a60 d3d9: Introduce a separate function for vertex declaration creation. 2012-04-12 20:36:40 +02:00
Henri Verbeet
53b3f9d40e d3d9: COM cleanup for the IDirect3DSwapChain9 interface.
This is mostly based on the COM cleanup scripts by Michael Stefaniuc.
2012-04-11 18:14:36 +02:00
Henri Verbeet
8b95d8d2e3 d3d9: Introduce a separate function for swapchain creation. 2012-04-11 18:14:30 +02:00
Henri Verbeet
f47267ad55 d3d9: Don't return a pointer to the implementation in IDirect3DDevice9Impl_QueryInterface(). 2012-04-03 12:00:45 +02:00
Henri Verbeet
cbc3e9985c d3d9: Store an implementation pointer to the d3d9 structure in IDirect3DDevice9Impl. 2012-03-28 11:36:32 +02:00
Stefan Dösinger
038e308a41 wined3d: Relax depth blit requirements. 2012-01-23 16:06:55 +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
a44b062aed wined3d: Get rid of the WINED3DCUBEMAP_FACES typedef. 2012-01-13 17:34:31 +01:00
Henri Verbeet
43fcbcb36e wined3d: Get rid of the WINED3DTEXTURESTAGESTATETYPE typedef. 2012-01-10 10:47:27 +01:00
Henri Verbeet
9a8491045e wined3d: Get rid of the WINED3DMULTISAMPLE_TYPE typedef. 2012-01-09 12:22:17 +01:00
Henri Verbeet
45f6def784 wined3d: Get rid of the WINED3DBACKBUFFER_TYPE typedef. 2012-01-06 19:24:21 +01:00
Henri Verbeet
360c1114d6 wined3d: Get rid of the WINED3DRASTER_STATUS typedef. 2011-12-02 11:51:33 +01:00
Henri Verbeet
94c9b0b4fc wined3d: Get rid of the WINED3DPRESENT_PARAMETERS typedef. 2011-12-02 11:51:29 +01:00
Henri Verbeet
b171d5f95d d3d9: Implement texture creation from system memory. 2011-12-02 11:51:15 +01:00
Henri Verbeet
d9ab258df8 d3d9: Add some FIXMEs for d3d9ex resource sharing. 2011-12-02 11:51:09 +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
d1327bbefe wined3d: Get rid of the WINED3DDEVICE_CREATION_PARAMETERS typedef. 2011-11-28 16:40:47 +01:00
Henri Verbeet
1c74172a28 wined3d: Get rid of the WINED3DCLIPSTATUS typedef. 2011-11-25 16:21:57 +01:00
Henri Verbeet
2fb21e0a2e wined3d: Get rid of the WINED3DTRIPATCH_INFO typedef. 2011-11-24 17:10:06 +01:00
Henri Verbeet
2ecbe2aa0f wined3d: Get rid of the WINED3DRECTPATCH_INFO typedef. 2011-11-23 09:13:58 +01:00
Henri Verbeet
2e1c0d83c1 wined3d: Get rid of the WINED3DGAMMARAMP typedef. 2011-11-22 10:52:45 +01:00
Henri Verbeet
be8917cd91 wined3d: Get rid of the WINED3DVIEWPORT typedef. 2011-11-22 10:52:40 +01:00
Henri Verbeet
02bb70fc3b wined3d: Get rid of the WINED3DMATERIAL typedef. 2011-11-21 11:01:02 +01:00
Henri Verbeet
f597359727 wined3d: Get rid of the WINED3DLIGHT typedef. 2011-11-21 11:00:57 +01:00
Henri Verbeet
37a0f7ad65 wined3d: Get rid of the WINED3DMATRIX typedef. 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
Henri Verbeet
e0a0d611af wined3d: Pass a wined3d_color struct to wined3d_device_clear(). 2011-11-16 09:41:53 +01:00
Henri Verbeet
7459180a51 wined3d: Get rid of the WINED3DCOLORVALUE typedef. 2011-11-16 09:41:50 +01:00
Henri Verbeet
6e8273177a wined3d: Reject multisampled readbacks in wined3d_surface_get_render_target_data(). 2011-10-24 11:16:33 +02:00
Henri Verbeet
d607586d62 wined3d: Make the present_parameters parameter to wined3d_device_reset() const. 2011-10-19 12:24:36 +02:00
Stefan Dösinger
4365d2905c d3d9: Remove the palette implementation methods. 2011-10-11 13:37:49 +02:00
Henri Verbeet
739a9d9805 wined3d: Return WINED3DERR_NOTFOUND if the render target is NULL in wined3d_device_get_render_target().
This is similar to how wined3d_device_get_depth_stencil() works.
2011-10-10 13:39:39 +02:00
Stefan Dösinger
e1d92059ea d3d9: Implement FPUSETUP for msvc. 2011-09-26 17:59:41 +02:00
Henri Verbeet
7e3ecd683c wined3d: Move rectangle validation from surface_cpu_blt() to wined3d_surface_blt().
This fixes some tests because these were getting skipped for the BltOverride() path.
2011-08-04 09:04:39 +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
44e109debe wined3d: Unbind resources inside wined3d_device_reset(). 2011-07-25 21:25:15 +02:00
Henri Verbeet
0739cae273 wined3d: Pass "reset_enum_callback" directly to wined3d_device_reset().
It would have been nice if we could do all of this inside wined3d, but we need
to determine what resources are in use by d3d8/d3d9, not wined3d. This is
mostly an issue for "implicit" resources like swapchain render targets and the
depth / stencil surface. The fact that we're having this problem probably
means we're doing it wrong. Since these implicit resources should only be
referenced by wined3d, we could probably just destroy and recreate the
swapchain, instead of the little updateSurfaceDesc() dance we currently do.
2011-07-25 21:25:01 +02:00
Michael Stefaniuc
4e31d28cff d3d9: COM cleanup for the IDirect3DSurface9 iface. 2011-07-07 12:32:19 +02:00
Michael Stefaniuc
a7530e7892 d3d9: Use unsafe_impl_from_IDirect3DSurface9 for app provided ifaces. 2011-07-07 12:32:16 +02:00
Michael Stefaniuc
17eccaffbf d3d9: COM cleanup for the IDirect3DVertexBuffer9 iface. 2011-07-06 16:49:10 +02:00
Michael Stefaniuc
2b3a364e9a d3d9: Use unsafe_impl_from_IDirect3DVertexBuffer9 for app provided ifaces. 2011-07-06 16:49:04 +02:00
Michael Stefaniuc
bb4f750592 d3d9: COM cleanup for the IDirect3DVertexShader9 iface. 2011-07-06 16:49:00 +02:00
Michael Stefaniuc
f12cbfb509 d3d9: Use unsafe_impl_from_IDirect3DVertexShader9 for an app provided iface. 2011-07-06 16:48:56 +02:00
Michael Stefaniuc
b09078b016 d3d9: COM cleanup for the IDirect3DPixelShader9 iface. 2011-07-05 14:30:42 +02:00
Michael Stefaniuc
704f0efe0c d3d9: Use unsafe_impl_from_IDirect3DPixelShader9 for an app provided iface. 2011-07-05 14:30:38 +02:00
Michael Stefaniuc
db1dd90225 d3d9: COM cleanup for the IDirect3DIndexBuffer9 iface. 2011-07-05 14:30:33 +02:00
Michael Stefaniuc
875d6900c6 d3d9: Use unsafe_impl_from_IDirect3DIndexBuffer9 for an app provided iface. 2011-07-05 14:30:31 +02: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
Andrew Nguyen
94785ab4d5 d3d9: Increment the reference count of the IDirect3D9 parent when creating a device. 2011-06-06 21:49:19 +02:00
Andrew Nguyen
c4a6c25378 d3d9: Drop a superfluous cast in IDirect3DDevice9Impl_CreateOffscreenPlainSurface. 2011-05-31 18:32:59 +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
Henri Verbeet
979e3744f7 wined3d: Remove state management methods from the IWineD3DDevice interface. 2011-05-17 10:06:15 +02:00
Henri Verbeet
99092e8a0a d3d9: Simplify reset_enum_callback().
Note that the existing code wouldn't work for volumes, since volumes aren't
proper resources in d3d9.
2011-05-05 11:45:10 +02:00
Henri Verbeet
1c1de920e3 wined3d: Remove COM from the surface implementation. 2011-04-29 16:52:13 +02:00
Michael Stefaniuc
d5739cd2c3 d3d9: Finish the COM cleanup of the IDirect3DDevice9Ex iface. 2011-04-25 11:40:35 +02:00
Michael Stefaniuc
5f57cc1451 d3d9: Pass an object instead of an iface to IDirect3DDevice9Impl_CreateSurface(). 2011-04-25 11:40:32 +02:00
Michael Stefaniuc
e798c72cf4 d3d9: Use impl_from_IDirect3DDevice9Ex instead of casting iface to object. 2011-04-25 11:40:30 +02:00
Michael Stefaniuc
a3e77bfe59 d3d9: COM cleanup for the IDirect3DVolumeTexture9 iface. 2011-04-20 16:34:01 +02:00
Michael Stefaniuc
aab2d427e3 d3d9: COM cleanup for the IDirect3DVolume9 iface. 2011-04-20 16:33:55 +02:00
Michael Stefaniuc
31bea55ef4 d3d9: COM cleanup for the IDirect3DTexture9 iface. 2011-04-20 16:33:42 +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
Michael Stefaniuc
29116e2400 d3d9: COM cleanup for the IDirect3DCubeTexture9 iface. 2011-04-12 12:50:44 +02:00
Michael Stefaniuc
a991b6708b d3d9: COM cleanup for the IDirect3DStateBlock9 iface. 2011-04-12 12:50:37 +02:00
Michael Stefaniuc
78ea105b85 d3d9: COM cleanup for the IDirect3DQuery9 iface. 2011-04-12 12:50:30 +02:00
Henri Verbeet
3c07f7a68e d3d9: Get rid of the implicit swapchain refcounting hacks. 2011-04-11 23:54:18 +02:00
Henri Verbeet
f8f83ff2f7 wined3d: Remove COM from the shader implementation. 2011-03-31 12:37:46 +02:00
Henri Verbeet
3d4fe0b750 wined3d: Get rid of IWineD3DPixelShader. 2011-03-30 12:18:03 +02:00
Henri Verbeet
49725ba583 wined3d: Get rid of IWineD3DVertexShader. 2011-03-30 12:17:51 +02:00
Henri Verbeet
fd8e18bd2b wined3d: Remove COM from the texture implementation. 2011-03-28 17:08:52 +02:00
Henri Verbeet
2b18192e7a wined3d: Get rid of IWineD3DSurface::GetDesc(). 2011-03-11 11:40:31 +01:00
Henri Verbeet
ab8a9f27f9 d3d9: Surfaces always have resource type WINED3DRTYPE_SURFACE. 2011-03-09 12:29:23 +01:00
Henri Verbeet
756fdb7c5a wined3d: Merge the various resource desc structures. 2011-03-09 12:28:58 +01:00
Henri Verbeet
b9fae5e9a8 wined3d: Don't require container parents for IWineD3DDeviceParent methods to be COM objects. 2011-03-08 12:27:41 +01:00
Henri Verbeet
a27ee75ed2 wined3d: Remove COM from the buffer implementation. 2011-03-04 16:25:58 +01:00
Henri Verbeet
1de6adfbae wined3d: Make IWineD3DResourceImpl an independent structure. 2011-03-01 13:21:59 +01:00
Henri Verbeet
5765632d9f wined3d: Remove COM from the vertex declaration. 2011-02-03 13:15:17 +01:00
Henri Verbeet
36d4268e3c wined3d: Remove COM from IWineD3D. 2011-02-02 12:22:42 +01:00
Henri Verbeet
4b109ff1f8 wined3d: Remove COM from the stateblock. 2011-01-31 12:24:58 +01:00
Henri Verbeet
69ea0884ab d3d9: Check the correct swapchain in IDirect3DDevice9Impl_GetSwapChain() (LLVM/Clang). 2011-01-28 11:58:09 +01:00
Henri Verbeet
06581b4513 d3d9: Fix some return values. 2010-11-16 13:48:51 +01:00
André Hentschel
ce0e1f07dc d3d9: Improve CheckDeviceState stub to run Firefox 4 Beta 7. 2010-11-12 11:56:41 +01:00
Henri Verbeet
7e3985e1fe ddraw: Setup the device window in SetCooperativeLevel(). 2010-11-08 13:30:54 +01:00
Henri Verbeet
41a76b958d d3d9: Add some missing locking to IDirect3DDevice9Impl_EndStateBlock().
Found by Michael Stefaniuc & Coccinelle.
2010-11-04 12:12:56 +01:00
Henri Verbeet
cd957f5b64 d3d9: Partially implement IDirect3D9Ex::CreateDeviceEx(). 2010-10-27 12:12:00 +02:00
Rico Schüller
e6d52c0c8b wined3d: Add argument check for Type to Get/SetTextureStageState(). 2010-09-14 13:32:00 -05:00
Henri Verbeet
07b5c4becf wined3d: Getting the current pixel shader should never fail. 2010-09-07 11:23:31 +02:00
Henri Verbeet
0c54dfe7ba wined3d: Getting the current vertex shader should never fail. 2010-09-07 11:23:27 +02:00
Henri Verbeet
2465b4cf01 d3d9: Move device functions to device.c. 2010-09-01 14:01:02 +02:00
Henri Verbeet
6c4c351791 wined3d: Don't require wined3d object parents to be COM objects. 2010-09-01 14:01:02 +02:00
Henri Verbeet
2ef400901d wined3d: Devices don't need parents. 2010-09-01 12:40:07 +02:00
Henri Verbeet
c568916f9e wined3d: Implicit depth/stencil surfaces don't have a container.
They're owned by the device instead of the swapchain.
2010-08-31 14:23:47 +02:00
Henri Verbeet
4005eb2a18 wined3d: Get rid of WINED3DRECT. 2010-08-31 14:23:47 +02:00
Austin English
243771deb1 d3d8/d3d9: Fix a compiler warning on non-i386/x86_64. 2010-08-24 12:25:14 +02:00
Henri Verbeet
cc5271d1b7 wined3d: Rename WINED3DFORMAT to wined3d_format_id. 2010-08-24 12:25:01 +02:00
Henri Verbeet
0df144164b wined3d: Pass floating point colors to IWineD3DDeviceImpl_ColorFill(). 2010-08-24 12:24:43 +02:00
Henri Verbeet
e6611e22fb d3d9: Set the FPU control word on device creation. 2010-05-26 17:36:32 +02:00
Henri Verbeet
914c8cb8ea ddraw: Acquire/release the focus window from the correct location. 2010-03-18 10:24:15 +01:00
Henri Verbeet
7f8ccf0342 d3d9: Add a separate function for stateblock initialization. 2010-01-20 15:32:15 +01:00
Henri Verbeet
bfb63a8634 d3d9: Add a separate function for query initialization. 2010-01-18 14:37:21 +01:00
Henri Verbeet
76804fa711 d3d9: Add a separate function for swapchain initialization. 2009-12-21 15:01:25 +01:00
Henri Verbeet
55f3c576d9 wined3d: Remove the effetively unused "state" field from the device. 2009-11-18 11:16:54 +01:00
Henri Verbeet
434a23d90d d3d9: Move D3D9CB_DestroySwapChain() to device.c. 2009-11-18 11:16:35 +01:00
Henri Verbeet
b9243b721a d3d9: Add a separate function for device initialization. 2009-11-18 11:16:31 +01:00
Stefan Dösinger
90e443758a wined3d: Add a parameter for SetRenderTarget viewport setup. 2009-11-03 21:21:30 +01:00
Henri Verbeet
bf10dbe8a6 wined3d: Map D3DFMT_D24S8 to WINED3DFMT_D24_UNORM_S8_UINT.
The internal order of the depth and stencil bits is unspecified since the
format isn't lockable.
2009-10-30 11:28:52 +01:00
Henri Verbeet
4dbf1c4900 d3d9: Add traces. 2009-10-20 14:00:36 +02:00
Henri Verbeet
44aead2e1c d3d9: Fix some IDirect3DDevice9Ex methods. 2009-10-19 11:45:25 +02:00
Stefan Dösinger
e80144c403 d3d: Make EndScene calls hookable. 2009-10-14 12:21:06 +02:00
Stefan Dösinger
dcacd83a82 d3d9: Make some functions hookable. 2009-10-14 12:21:06 +02:00
Henri Verbeet
47c84f4f7f wined3d: Use the DXGI naming convention for all formats. 2009-09-25 15:15:44 +02:00
Henri Verbeet
c64da00de7 wined3d: Rename IWineD3DDevice::GetIndices() to IWineD3DDevice::GetIndexBuffer(). 2009-09-25 15:14:52 +02:00
Henri Verbeet
60e32659a7 wined3d: Rename IWineD3DDevice::SetIndices() to IWineD3DDevice::SetIndexBuffer(). 2009-09-25 15:14:44 +02:00