Commit Graph

616 Commits

Author SHA1 Message Date
Henri Verbeet 64aae8cf02 wined3d: wined3d_device_set_viewport() never fails. 2012-09-10 11:40:14 +02:00
Henri Verbeet c8f4ca315e wined3d: Just return the buffer from wined3d_device_get_index_buffer(). 2012-09-06 15:45:32 +02:00
Henri Verbeet a3e28f6ce5 wined3d: wined3d_device_set_index_buffer() never fails. 2012-09-06 15:45:32 +02:00
Jacek Caban 1524cc2ab7 d3d8: Use proper helpers for iface calls. 2012-08-27 19:45:59 +02: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 3509c89194 d3d8: Introduce a helper function to create D3DPRESENT_PARAMETERS from a wined3d_swapchain_desc. 2012-07-03 14:56:47 +02:00
Henri Verbeet b4d0b4e452 d3d8: Introduce a helper function to create a wined3d_swapchain_desc from D3DPRESENT_PARAMETERS. 2012-07-03 14:56:41 +02:00
Henri Verbeet 79dc346131 d3d8: Introduce a separate function for swapchain creation. 2012-07-02 19:18:01 +02:00
Henri Verbeet 9e0d03e653 d3d8: Pass a wined3d_swapchain_desc structure to swapchain_init(). 2012-07-02 19:18:00 +02:00
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
Francois Gouget e06ed82e94 d3d8: Add a trailing '\n' to an ERR() message. 2012-05-23 18:25:11 +02:00
Henri Verbeet 75d166f62c d3d8: Get rid of IDirect3DVolume8Impl. 2012-05-23 18:25:01 +02:00
Henri Verbeet ec466ff3b7 d3d8: Get rid of IDirect3DSurface8Impl. 2012-05-23 18:24:57 +02:00
Henri Verbeet 584053d0ee d3d8: Get rid of IDirect3DSwapChain8Impl. 2012-05-22 18:07:09 +02:00
Henri Verbeet 1993727ee7 d3d8: Get rid of IDirect3DVertexBuffer8Impl. 2012-05-22 18:07:05 +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 27ca37dbe0 d3d8: Get rid of IDirect3DIndexBuffer8Impl. 2012-05-21 21:31:13 +02:00
Henri Verbeet 9b085a9260 d3d8: Get rid of IDirect3DDevice8Impl. 2012-05-21 21:31:10 +02:00
Henri Verbeet e103a7a52d d3d8: Get rid of IDirect3D8Impl. 2012-05-03 23:45:05 +02:00
Henri Verbeet d9000aeec3 d3d8: Properly retrieve an interface pointer in IDirect3DDevice8Impl_GetStreamSource(). 2012-04-24 11:29:33 +02:00
Henri Verbeet 53e9cf8ab4 d3d8: Properly retrieve an interface pointer in IDirect3DDevice8Impl_GetIndices(). 2012-04-24 11:29:29 +02:00
Henri Verbeet dd8ed6f8a9 d3d8: Properly retrieve an interface pointer in IDirect3DDevice8Impl_GetTexture(). 2012-04-23 11:44:43 +02:00
Henri Verbeet 7024ffac9a d3d8: Properly retrieve an interface pointer in IDirect3DDevice8Impl_GetDepthStencilSurface(). 2012-04-23 11:44:39 +02:00
Henri Verbeet 17b83cd254 d3d8: Properly retrieve an interface pointer in IDirect3DDevice8Impl_GetRenderTarget(). 2012-04-23 11:44:35 +02:00
Henri Verbeet 230c5fc7f9 d3d8: Properly retrieve an interface pointer in IDirect3DDevice8Impl_GetBackBuffer(). 2012-04-20 11:57:47 +02:00
Henri Verbeet 5cc7d0645b d3d8: Use the surface implementation pointer in reset_enum_callback(). 2012-04-20 11:57:43 +02:00
Henri Verbeet 83761d20a8 d3d8: Get rid of IDirect3DBaseTexture8Impl. 2012-04-19 12:01:47 +02:00
Henri Verbeet 98696724b7 d3d8: Get rid of IDirect3DVolumeTexture8Impl. 2012-04-18 13:58:55 +02:00
Henri Verbeet b8d07a2b44 d3d8: Get rid of IDirect3DCubeTexture8Impl. 2012-04-17 11:47:02 +02:00
Henri Verbeet 7bb17f49e3 d3d8: Get rid of IDirect3DTexture8Impl. 2012-04-17 11:46:59 +02:00
Henri Verbeet 925a791dff d3d8: Don't return a pointer to the implementation in IDirect3DDevice8Impl_QueryInterface(). 2012-03-26 18:15:06 +02:00
Stefan Dösinger 3c1d5f6c5d d3d8/tests: Port the depth blit test to d3d8. 2012-03-09 11:28:57 +01:00
Henri Verbeet 24d4a52e85 d3d8: Remove COM from the pixel shader implementation. 2012-01-25 11:25:40 +01:00
Henri Verbeet 483b17d410 d3d8: Remove COM from the vertex shader implementation. 2012-01-25 11:25:35 +01:00
Henri Verbeet f056fe7bb5 d3d8: Remove COM from the vertex declaration implementation. 2012-01-25 11:25:27 +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 e70990041b wined3d: Get rid of the WINED3DTEXTUREFILTERTYPE typedef. 2012-01-13 17:34:31 +01:00
Henri Verbeet a44b062aed wined3d: Get rid of the WINED3DCUBEMAP_FACES typedef. 2012-01-13 17:34:31 +01:00
Henri Verbeet a206f43648 wined3d: Get rid of wined3d_surface_set_format(). 2012-01-13 17:34:30 +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 08545dc739 wined3d: Get rid of the WINED3DSAMPLERSTATETYPE typedef. 2012-01-09 12:22:12 +01:00
Henri Verbeet 45f6def784 wined3d: Get rid of the WINED3DBACKBUFFER_TYPE typedef. 2012-01-06 19:24:21 +01:00
Henri Verbeet 3082c1a9de wined3d: Get rid of the WINED3DRENDERSTATETYPE typedef. 2011-12-20 10:11:47 +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 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 94fd6dc03d d3d8: Implement CopyRects() on top of wined3d_surface_blt(). 2011-10-31 16:46:19 +01: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 054ec0b42b d3d8: Remove the palette implementation methods. 2011-10-11 13:37:49 +02:00
Stefan Dösinger 14a245690d d3d8: Implement FPUSETUP for msvc. 2011-09-26 17:59:45 +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 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 9ab233ea24 d3d8: COM cleanup for the IDirect3DVertexBuffer8 iface. 2011-07-08 14:45:14 +02:00
Michael Stefaniuc aa8e4dd81b d3d8: Use unsafe_impl_from_IDirect3DVertexBuffer8 for app provided ifaces. 2011-07-08 14:45:09 +02:00
Michael Stefaniuc 638cf80c4f d3d8: COM cleanup for the IDirect3DIndexBuffer8 iface. 2011-07-05 13:47:38 +02:00
Michael Stefaniuc c1eeeec2d2 d3d8: Use unsafe_impl_from_IDirect3DIndexBuffer8 for an app provided iface. 2011-07-05 13:47:35 +02:00
Michael Stefaniuc d615be8eea d3d8: COM cleanup for the IDirect3DSurface8 iface. 2011-07-05 13:47:30 +02:00
Michael Stefaniuc cce8294f39 d3d8: Use unsafe_impl_from_IDirect3DSurface8 for app provided ifaces. 2011-07-05 13:47:26 +02:00
Michael Stefaniuc bdd8459a53 d3d8: Avoid an unsafe IDirect3DSurface8 to object cast. 2011-07-05 13:47:22 +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
Henri Verbeet b296f181dd wined3d: Explicitly set surface alignment in the client libs.
Instead of using dxVersion.
2011-06-24 08:49:42 -05:00
Stefan Dösinger ae5ca837d5 d3d8: Don't print the ResourceManagerDiscardBytes fixme when Bytes == 0. 2011-06-17 15:37:38 +02:00
Andrew Nguyen 174b03cad8 d3d8: Increment the reference count of the IDirect3D8 parent when creating a device. 2011-06-06 21:49:19 +02:00
Henri Verbeet 3032b40c80 wined3d: Get rid of the IWineD3DDeviceParent interface. 2011-05-19 10:06:21 +02:00
Stefan Dösinger e55b3bef0f d3d8: Add a float to DWORD cast. 2011-05-18 16:42:03 +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 00a5f38595 wined3d: Remove object creation methods from the IWineD3DDevice interface. 2011-05-11 14:56:48 +02:00
Stefan Dösinger 7b1e081515 d3d8: Map ZBIAS values to a smaller depth range. 2011-05-10 14:04:55 +02:00
Henri Verbeet 693fb6d56c d3d8: Check for D3DPOOL_DEFAULT resources before doing a Reset(). 2011-05-04 17:26:46 +02:00
Henri Verbeet 1c1de920e3 wined3d: Remove COM from the surface implementation. 2011-04-29 16:52:13 +02:00
Stefan Dösinger e140077cc7 d3d8: Add more tests for NULL render targets. 2011-04-26 16:17:45 +02:00
Stefan Dösinger 463162b414 d3d8: Don't reapply the old DS if SetDepthStencilSurface failed. 2011-04-26 16:17:43 +02:00
Stefan Dösinger 96b758f7b3 d3d: Map D3DRS_ZBIAS to WINED3DRS_DEPTHBIAS.
ZBIAS was removed in d3d9 and replaced with DEPTHBIAS. Currently
wined3d implements both independently which will cause trouble if we
want to set the depthbias value depending on the depth stencil format.
2011-04-22 17:51:29 +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 4e56a4fe79 d3d8: Get rid of the implicit swapchain refcounting hacks. 2011-04-11 23:54:13 +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
Michael Stefaniuc d71d1cf703 d3d8: COM cleanup for the IDirect3DVolumeTexture8 iface. 2011-03-17 17:45:02 +01:00
Michael Stefaniuc bc6786d0e5 d3d8: COM cleanup in shader.c. 2011-03-15 17:14:07 +01:00
Stefan Dösinger 733f81ef74 d3d8: Disallow z buffers smaller than the color buffer. 2011-03-14 13:10:08 +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 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 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
Michael Stefaniuc 8bf1940c62 d3d8: COM cleanup for the IDirect3DTexture8 iface. 2011-01-31 13:01:09 +01:00
Michael Stefaniuc 8a13f059ea d3d8: COM cleanup for the IDirect3DCubeTexture8 iface. 2011-01-31 13:01:09 +01:00
Michael Stefaniuc 8ec3238b5e d3d8: COM cleanup for the IDirect3DSwapChain8 iface. 2011-01-31 13:01:08 +01:00
Michael Stefaniuc 05b6032fb6 d3d8: COM cleanup for the IDirect3DVolume8 iface. 2011-01-31 13:01:08 +01:00
Henri Verbeet 4b109ff1f8 wined3d: Remove COM from the stateblock. 2011-01-31 12:24:58 +01:00
Michael Stefaniuc 7f184144ff d3d8: COM cleanup for the IWineD3DDeviceParent_iface. 2011-01-28 11:59:45 +01:00
Michael Stefaniuc 54a61ae734 d3d8: Finish the COM cleanup of the IDirect3DDevice8 iface. 2011-01-28 11:59:39 +01:00
Michael Stefaniuc dec337acac d3d8: Use impl_from_IDirect3DDevice8() instead of the iface to object cast. 2011-01-28 11:59:34 +01:00
Michael Stefaniuc bb6ae095d4 d3d8: Pass an object instead of an iface to an internal function. 2011-01-26 15:00:13 +01:00
Henri Verbeet f024e2372f d3d8: Fix some return values. 2010-11-16 13:48:54 +01:00
Henri Verbeet 7e3985e1fe ddraw: Setup the device window in SetCooperativeLevel(). 2010-11-08 13:30:54 +01:00
David Adam 743e9b35a1 d3d8: ApplyStateBlock with a zero token returns D3D_OK. 2010-10-25 15:30:46 +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 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 3ad82a82bb wined3d: The stateblock doesn't have a parent. 2010-07-30 11:36:03 +02:00
Henri Verbeet 7d5666e084 d3d8: Set the FPU control word on device creation. 2010-05-26 17:36:32 +02:00
Alexandre Julliard 26cc3efb33 d3d8: Avoid using a pointer difference in a trace. 2010-04-09 15:54:54 +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 2e27ab6b67 d3d8: Add a separate function for swapchain initialization. 2009-12-21 15:01:25 +01:00
Henri Verbeet 8151963f4e d3d8: Directly store a wined3d stateblock in the stateblock handle.
IDirect3DStateBlock8Impl doesn't actually do anything useful.
2009-12-03 12:09:12 +01:00
Henri Verbeet 212ee15bd7 d3d8: Return D3DERR_INVALIDCALL when trying to delete an invalid pixel shader.
It appears this is fixed on Vista/Win7 to be consistent with
DeleteVertexShader(). Match the more consistent behaviour of Vista/Win7 and
mark the previous behaviour as broken.
2009-12-01 13:16:18 +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 e0525b663e d3d8: Move D3D8CB_DestroySwapChain() to device.c. 2009-11-17 15:14:54 +01:00
Henri Verbeet fea466455b d3d8: Add a separate function for device initialization. 2009-11-17 15:14:54 +01:00
Stefan Dösinger 8eef221d20 d3d: Handle the pointsize_min default difference in d3d8. 2009-11-03 21:22:12 +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 f8bd01a315 d3d8: Add traces. 2009-10-19 11:45:57 +02:00
Henri Verbeet f4005c371f d3d8: Get rid of some unused variables in IDirect3DDevice8Impl_CopyRects() (LLVM/Clang). 2009-10-16 13:36:55 +02:00
Stefan Dösinger e80144c403 d3d: Make EndScene calls 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 906071aa9f d3d8: It's not an error to have a NULL texture bound to a stage. 2009-09-25 15:15:00 +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
Henri Verbeet 717419da11 d3d8: Add a separate function for pixel shader initialization. 2009-09-24 13:24:47 +02:00
Henri Verbeet afed6a3f77 d3d8: Add a separate function for vertex shader initialization. 2009-09-24 13:24:11 +02:00
Henri Verbeet b6d422446b d3d8: Add a separate function for vertex declaration initialization from an FVF. 2009-09-23 12:35:42 +02:00
Henri Verbeet f394dfc0f8 d3d8: Add a separate function for vertex declaration initialization. 2009-09-23 12:35:08 +02:00
Henri Verbeet b1bf50d751 d3d8: Add a separate function for vertex buffer initialization. 2009-09-18 08:55:18 -05:00
Henri Verbeet 0201ddf264 d3d8: Add a separate function for index buffer initialization. 2009-09-18 08:55:11 -05:00
Henri Verbeet 76c61cf536 d3d8: Add a separate function for texture initialization. 2009-09-17 10:10:16 -05:00
Henri Verbeet b5b58e423d d3d8: Add a separate function for cube texture initialization. 2009-09-17 10:09:33 -05:00
Henri Verbeet eedfc95eef d3d8: Add a separate function for volume texture initialization. 2009-09-16 13:05:58 -05:00
Henri Verbeet e9000d2e6c wined3d: Don't free D3D volumes until the wined3d volume is destroyed. 2009-09-16 13:05:20 -05:00
Henri Verbeet ff923245e1 d3d8: Add a separate function for volume initialization. 2009-09-16 13:05:06 -05:00
Henri Verbeet a5214c306f wined3d: Don't free D3D surfaces until the wined3d surface is destroyed.
This prevents for example a d3d9 depth stencil from being destroyed when it
has no external references but is still in use by the device/stateblock. A
nice side effect is that it simplifies handling of "implicit" surfaces like
the frontbuffer and backbuffers, as well as the forwarding of reference counts
for surfaces that are part of a texture.
2009-09-16 13:04:32 -05:00
Henri Verbeet e02f7b2062 d3d8: Add a separate function for surface initialization. 2009-09-15 14:32:30 -05:00
Henri Verbeet 2b2fc827ce wined3d: Remove unused parameters to drawPrimitive(). 2009-09-11 12:09:14 +02:00
Henri Verbeet fecbf7b416 d3d8: Remove trailing spaces. 2009-08-31 12:41:21 +02:00
Henri Verbeet f9c791f9ca d3d8: Use a wined3d cs for wined3d locking.
We will need this for d3d10, where both dxgi and d3d10core are making wined3d
calls. Right now d3d8/d3d9 also use this to protect their own data, but
eventually we should push this down into wined3d itself and use something a
bit more fine-grained. There's no good reason that doing e.g. a vertex buffer
upload in some thread should block all of wined3d.
2009-08-25 11:12:17 +02:00
Stefan Dösinger 6f5a1d9a15 wined3d: Filter WINED3DSTENCILCAPS_TWOSIDED in d3d8. 2009-08-07 14:56:48 +02:00
Henri Verbeet a25947fa7e d3d8: Add WINED3DFMT_W11V11U10 <=> D3DFMT_W11V11U10 conversion. 2009-06-19 13:52:42 +02:00
Henri Verbeet 1bbc65b155 d3d8: Deleting an invalid pixel shader handle should return D3D_OK. 2009-06-16 13:36:54 +02:00
Henri Verbeet dc3958c079 d3d8: Do some more verification on handles. 2009-06-16 13:36:48 +02:00
Henri Verbeet 88162fabb8 wined3d: Get rid of the pointers in WINED3DSURFACE_DESC. 2009-06-15 13:42:29 +02:00
Henri Verbeet 4bc6b376e0 wined3d: Remove the useless "resource_type" parameter from IWineD3DDevice::CreateSurface(). 2009-06-12 17:33:15 +02:00
Henri Verbeet 13a05caa97 wined3d: Remove the "declaration" parameter to IWineD3DDeviceImpl_CreateVertexShader().
Once upon a time this was used for creating fake vertex shader
attribute semantics for d3d8 shaders. We don't need this anymore since
device_stream_info_from_declaration() will use the vertex
declaration's output slot to load the data, if present. That also
avoids the potentially expensive matching of attribute semantics
between vertex shader and declaration for d3d8.
2009-05-28 12:42:18 +02:00
Henri Verbeet f0e303b0f2 wined3d: Add the output signature to IWineD3DDevice_CreateVertexShader(). 2009-05-26 13:49:55 +02:00
Henri Verbeet 9a579a43b1 wined3d: Use the output signature to map SM4 pixel shader outputs to the appropriate register. 2009-05-11 12:43:00 +02:00
Stefan Dösinger 9f1731edb6 d3d: Limit d3d8 and d3d9 vshader constants to 256.
DX10 cards support 512(ATI) or 1024(Nvidia) vertex shader constants in
GL. The dx9 DXCapsViewer shows that dx10 windows drivers only claim
256 constants on Windows, so we can and should do the same.
2009-04-27 13:23:36 +02:00
Henri Verbeet 6f33b97c94 wined3d: Get rid of the shared_handle parameter.
I don't expect us to support this in the near future, and right now it's just
dead code.
2009-04-23 14:22:06 +02:00
Stefan Dösinger cb1c9dcda9 d3d: Remove the format from index buffers. 2009-04-09 16:28:25 +02:00
Stefan Dösinger f0efa97413 wined3d: Remove the buffer fvf. 2009-04-09 16:28:10 +02:00
Stefan Dösinger ff16f30677 d3d8: Store the fvf in the d3d8 vertex buffer. 2009-04-09 16:27:43 +02:00
Stefan Dösinger 513a493f00 wined3d: Merge IWineD3DIndexBuffer and IWineD3DBuffer. 2009-04-08 11:37:29 +02:00
Henri Verbeet c0cefb3501 d3d8: Cleanup the vertexshader handling code a bit. 2009-03-24 12:56:50 +01:00
Henri Verbeet 4131135a9f d3d8: Cleanup the pixelshader handling code a bit.
This mostly just reduces the nesting to something more sane.
2009-03-24 12:56:33 +01:00
Henri Verbeet 3f559f26d6 d3d8: Properly handle unsetting the pixelshader in SetPixelShader(). 2009-03-24 12:56:25 +01:00
Henri Verbeet 775ea907a3 d3d8: Fix locking. 2009-03-23 14:08:03 +01:00
Henri Verbeet 24100cd026 d3d8: Release the d3d8 shader once we're done with it in IDirect3DDevice8Impl_GetPixelShader(). 2009-03-13 11:28:35 +01:00
Henri Verbeet f9d82ed1de d3d8: Handles aren't supposed to be pointers.
This might even make d3d8 a bit more 64-bit safe.
2009-03-10 12:08:58 +01:00
Henri Verbeet cbc8630019 d3d8: Make the shader handle table a bit more generic. 2009-03-10 12:08:32 +01:00
Henri Verbeet 954c3e22e1 d3d8: Don't call Release() in a while loop.
There should only ever be a single reference to these objects, since only
their handle is exposed outside d3d8. Should there be more references than
that, calling Release() in a while loop probably isn't the right approach.
2009-03-10 12:07:59 +01:00
Henri Verbeet aa3027a604 wined3d: Merge IWineD3DVertexBuffer with IWineD3DBuffer.
That still leaves IWineD3DIndexBuffer, but that code is also mostly similar,
except for the conversion code (which will be unused there).
2009-03-06 15:35:58 +01:00
Henri Verbeet 702eeb6b0c wined3d: Add separate methods for setting the primitive type. 2009-03-05 16:16:25 +01:00
Henri Verbeet 602bb1f551 wined3d: Pass the vertex count rather than the primitive count to wined3d draw methods. 2009-03-05 16:16:24 +01:00
Henri Verbeet 0048a0373b d3d10core: Keep a reference to the wined3d device in the d3d10 device. 2009-02-23 12:20:29 +01:00
Henri Verbeet 8cefc47d81 wined3d: Add DXGI formats to WINED3DFORMAT. 2009-02-20 11:10:37 +01:00
Henri Verbeet d575b5fecb d3d8: Explicitly convert between D3DFORMAT and WINED3DFORMAT values. 2009-02-20 11:09:54 +01:00
Francois Gouget 1f601015cd d3d8: Make some device_parent_*() functions static. 2009-01-26 15:13:29 +01:00
Henri Verbeet b5eaca542e d3d8: Properly test for dynamic usage in device_parent_CreateSurface(). 2009-01-16 13:29:52 +01:00