Commit Graph

571 Commits

Author SHA1 Message Date
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
Henri Verbeet a966293f59 wined3d: Add an IWineD3DDeviceParent interface.
Other than being a bit nicer than passing function pointers all over the
place, this helps dxgi/d3d10. While the swapchain itself is created in dxgi,
its surfaces are constructed in d3d10core, which makes it impractical for dxgi
to pass the appropriate function pointers.
2009-01-16 13:29:32 +01:00
Michael Stefaniuc 357c3f4a2c d3d8: Remove superfluous pointer casts. 2009-01-14 13:51:01 +01:00
Henri Verbeet 352e60e6ed d3d: Explicitly translate texture stage states.
Ddraw and d3d8 already translate half of them, it turns out the lookup
table actually saves lines there.
2009-01-06 12:45:32 +01:00
Henri Verbeet 007c648c20 d3d: Correct some debug levels. 2008-12-30 11:36:50 +01:00
Henri Verbeet 4adb342327 wined3d: Remove GetFVF() and SetFVF() from IWineD3DDevice. 2008-12-17 14:02:03 +01:00
Henri Verbeet 46572f682c wined3d: Refuse to create shaders with a NULL function. 2008-12-16 12:51:49 +01:00
Henri Verbeet 0a47e1beb4 d3d8: Use the wined3d declaration to retrieve the d3d8 shader in IDirect3DDevice8Impl_GetVertexShader().
This makes it no longer necessary to create a wined3d vertex shader
when the d3d8 vertex shader has a NULL function.
2008-12-15 14:00:46 +01:00
Henri Verbeet b9468a89fc d3d8: Create a d3d8 declaration as parent for FVF based declarations. 2008-12-15 14:00:37 +01:00
Francois Gouget ec7cbc26f5 d3d8: Make D3D8CB_CreateSurface() static. 2008-12-15 12:25:02 +01:00
Alexandre Julliard 00e0d1510b d3d8: Make a function static. 2008-12-04 12:46:52 +01:00
Francois Gouget d3c7b2f7cc d3d8: Remove WINAPI on static functions where not needed. 2008-11-24 14:18:42 +01:00
Michael Stefaniuc 4f199a10ad Remove the remaining casts of NULL. 2008-11-03 13:42:09 +01:00
Stefan Dösinger 93af8d3631 d3d: Do not restore the display mode in ddraw. 2008-11-03 13:34:13 +01:00
Henri Verbeet 092b51e82a wined3d: Rename CreateAdditionalSwapChain to CreateSwapChain. 2008-10-28 12:46:46 +01:00
Henri Verbeet 43f5d8e5ad d3d8: Fix IDirect3DDevice8::SetRenderTarget().
The render target should be left alone if the render target argument is
NULL. WineD3D calls should be done inside the critical section.
2008-09-10 12:05:25 +02:00
Henri Verbeet 01539fb926 d3d8: GetDepthStencilSurface returns D3DERR_NOTFOUND when no depth stencil is present. 2008-09-10 12:05:10 +02:00
H. Verbeet 898c2c9778 d3d8: Don't store shader_handle's.
They're not stable across table resizes.
2008-08-20 10:26:51 +02:00
Stefan Dösinger e178ddd9e1 wined3d: Use a swapchain for GDI surfaces.
This is a long-needed cleanup aimed at removing the ddraw_primary,
ddraw_window, ddraw_width and ddraw_height members from
IWineD3DDeviceImpl, which just do not belong there.  Destination
window and screen handling is supposed to be done by swapchains.
2008-08-19 12:21:32 +02:00
Tobias Jakobi 9ba3d03e78 d3d8: Fix IDirect3DDevice8::CreateImageSurface pool type. 2008-07-08 21:08:32 +02:00
Andrew Talbot c8d495bac1 d3d8: Dangling pointers fix. 2008-05-05 19:46:15 +02:00
Stefan Dösinger 0fa0df7843 d3d8: Reject broken normal declaration types with fixed function. 2008-03-28 14:49:30 +01:00
Austin English 4777f26d61 Spelling fixes. 2008-03-27 11:10:07 +01:00
Stefan Dösinger 8869c0f147 d3d: De-pointerize the WINED3DCAPS structure. 2008-03-25 19:36:38 +01:00
Alexandre Julliard 980ee365a0 wined3d: Use unsigned int instead of size_t for element counts. 2008-01-07 17:17:04 +01:00
Gerald Pfeifer 55e92b9410 d3d8: Fix type of loop variable. 2008-01-04 12:12:31 +01:00
Gerald Pfeifer 21a9c2d2f9 wined3d: Removed dead FIXME checks. 2008-01-03 11:53:29 +01:00
Andrew Talbot 70d82dfbd9 d3d8: Remove unneeded casts. 2008-01-02 12:38:41 +01:00
Andrew Talbot cd2964483a d3d8: Remove unneeded casts. 2007-12-05 12:04:39 +01:00
Stefan Dösinger 6cecaa9852 d3d8: Release the vertex declarations array when destroying the device. 2007-11-20 12:53:00 +01:00
Stefan Dösinger 6ec6c941fa wined3d: BaseVertexIndex can be negative. 2007-08-27 12:00:42 +02:00
Stefan Dösinger a06e002e93 wined3d: Add a wined3d private WINED3DSBT_RECORDED. 2007-08-15 09:36:20 +02:00
Stefan Dösinger 527295e57f d3d8: Convert fvfs to vertex declarations. 2007-06-21 13:08:57 +02:00
Stefan Dösinger 09aefe2108 d3d8: Hold the lock in IDirect3DDevice8 methods. 2007-06-11 13:54:33 +02:00
H. Verbeet 6ee356fca0 wined3d: Get rid of the pBaseVertexIndex parameter to IWineD3DDeviceImpl_GetIndices, use GetBaseVertexIndex instead. 2007-06-07 11:20:48 +02:00
H. Verbeet 785771272a wined3d: Get rid of the BaseVertexIndex parameter to IWineD3DDeviceImpl_SetIndices, use SetBaseVertexIndex instead. 2007-06-06 12:10:47 +02:00
Stefan Dösinger 94b3fddec8 d3d: Pass the cube face to Create*Texture's surface creation callback. 2007-05-01 11:42:25 +02:00
Stefan Dösinger 725057da47 d3d: Remove dependency on ddraw.h header. 2007-04-16 13:20:15 +02:00
Andrew Talbot fb367f813a d3d8: Void functions should not return a value. 2007-04-09 12:15:28 +02:00
Felix Nawothnig ea0d7f17ca d3d8: Add missing relay trace. 2007-04-07 11:01:26 +02:00
H. Verbeet b68c72faef d3d8: Implement IDirect3DDevice8_GetVertexShaderDeclaration. 2007-03-08 11:58:41 +01:00
H. Verbeet 138826b8cc d3d8: Save the d3d8 vertex declaration. 2007-03-08 11:58:23 +01:00
Stefan Dösinger ef68e32b03 wined3d/d3d8: Move todo about sw vp usage to d3d8. 2007-02-20 11:45:56 +01:00
H. Verbeet a4bc52a89c wined3d: Fix WINED3DPRESENT_PARAMETERS and use it instead of D3DPRESENT_PARAMETERS. 2007-02-16 12:31:03 +01:00
Stefan Dösinger d74712690c d3d8: Set WINED3DPRESENT_PARAMETERS.MultiSampleQuality to a valid pointer. 2007-02-15 17:22:35 +01:00
H. Verbeet 157205c085 d3d8: Don't store the d3d8 declaration in the wined3d object. 2007-02-14 13:56:50 +01:00
H. Verbeet efed9aea1f d3d8: Move loading local d3d8 vertex shader constants from wined3d to d3d8. 2007-02-14 13:54:55 +01:00
H. Verbeet dea795f7ac d3d9: Don't store the d3d9 declaration in the wined3d object. 2007-02-14 13:54:42 +01:00
H. Verbeet 32e5cac2be wined3d: Get rid of the vertexDeclaration field in IWineD3DVertexShaderImpl. 2007-02-14 13:54:29 +01:00
H. Verbeet 5ad6766c85 d3d8: Store the d3d8 vertex declaration in the d3d8 vertex shader. 2007-02-14 13:54:17 +01:00
Stefan Dösinger 00aa8ab08c d3d8: Deleting bound shaders unbinds them. 2007-02-13 12:07:46 +01:00
H. Verbeet d73e5d6fc8 d3d8: IDirect3DDevice8Impl_GetVertexShaderDeclaration gets passed a handle instead of a pointer. 2007-01-08 11:46:05 +01:00
H. Verbeet 6e3b732ffb d3d8: IDirect3DDevice8Impl_GetVertexShaderFunction gets passed a handle instead of a pointer. 2007-01-08 11:46:05 +01:00
H. Verbeet cae630f92e d3d8: IDirect3DDevice8Impl_GetPixelShaderFunction gets passed a handle instead of a pointer. 2007-01-08 11:46:05 +01:00
Stefan Dösinger 71631f7638 wined3d: Use the baseVertexIndex in the stateblock. 2007-01-03 11:02:51 +01:00
Chris Robinson b66a52856c d3d8: Don't report Shader Model 2.0 or higher. 2006-12-29 12:49:41 +01:00
Chris Robinson b7b9d4e3c7 d3d: GetStreamSource on a stream with NULL data isn't an error. 2006-12-26 12:52:54 +01:00
Markus Amsler 0531858146 d3d8: Handle surface container in d3d8. 2006-12-18 12:07:46 +01:00
Markus Amsler 5e0fc62135 d3d: Callback infrastructure for implicit swap chain destruction in IWineD3DDevice. 2006-12-18 12:07:26 +01:00
Markus Amsler 4745618487 d3d8: Fix implicit surface refcounting. 2006-12-06 12:41:27 +01:00
Markus Amsler 0d725490d6 d3d8: Handle surface refcount forwarding in d3d8. 2006-12-06 12:40:12 +01:00
Markus Amsler 3fd04308ab d3d: Callback infrastructure for implicit depth stencil surface destruction in IWineD3DDevice. 2006-12-06 12:39:30 +01:00
Markus Amsler a60d4b2d2f d3d: Pass the superior creating object down to the callback functions. 2006-12-04 12:40:38 +01:00
Markus Amsler 44e6c6b67a d3d8: Use correct COM macros. 2006-12-01 12:27:17 +01:00
Markus Amsler bd072332e1 Revert "d3d: Remove AddRef from IWineD3DDevice_GetDirect3D.".
This reverts commit 167b83c28a.
2006-11-30 16:04:00 +01:00
Markus Amsler f8e7ddd798 Revert "d3d: Remove AddRef from IWineD3DDevice_GetBackBuffer.".
This reverts commit 478a414e58.
2006-11-30 16:04:00 +01:00
Markus Amsler b657cd5f58 Revert "d3d: Remove AddRef from IWineD3DDevice_GetRenderTarget.".
This reverts commit a7518f6f54.
2006-11-30 16:04:00 +01:00
Markus Amsler f5204b8afe Revert "d3d: Remove AddRef from IWineD3DDevice_GetDepthStencilSurface.".
This reverts commit 18546a65e6.
2006-11-30 16:04:00 +01:00
Markus Amsler 5bec2f57a1 Revert "d3d: Remove AddRef from IWineD3DDevice_GetTexture.".
This reverts commit 274df6ef88.
2006-11-30 16:04:00 +01:00
Markus Amsler 3a270375d7 Revert "d3d: Remove AddRef from IWineD3DDevice_GetStreamSource.".
This reverts commit 16b1e046d8.
2006-11-30 16:03:59 +01:00
Markus Amsler 9dd81f64cb Revert "d3d: Remove AddRef from IWineD3DDevice_GetIndices.".
This reverts commit 5c4008719c.
2006-11-30 16:03:59 +01:00
Markus Amsler 5c4008719c d3d: Remove AddRef from IWineD3DDevice_GetIndices. 2006-11-22 11:40:43 +01:00
Markus Amsler 16b1e046d8 d3d: Remove AddRef from IWineD3DDevice_GetStreamSource. 2006-11-22 11:40:37 +01:00
Markus Amsler 274df6ef88 d3d: Remove AddRef from IWineD3DDevice_GetTexture. 2006-11-22 11:40:31 +01:00
Markus Amsler 18546a65e6 d3d: Remove AddRef from IWineD3DDevice_GetDepthStencilSurface. 2006-11-22 11:40:24 +01:00
Markus Amsler a7518f6f54 d3d: Remove AddRef from IWineD3DDevice_GetRenderTarget. 2006-11-22 11:40:05 +01:00
Markus Amsler 478a414e58 d3d: Remove AddRef from IWineD3DDevice_GetBackBuffer. 2006-11-22 11:39:52 +01:00
Markus Amsler 167b83c28a d3d: Remove AddRef from IWineD3DDevice_GetDirect3D. 2006-11-22 11:39:39 +01:00
Markus Amsler bef60f1dfc d3d8: Backport null pointer check in SetCursorProperties. 2006-11-09 12:44:22 +01:00
Andrew Talbot 4471ad44a3 d3d8: Cast-qual warnings fix. 2006-10-27 12:10:04 +02:00
Markus Amsler dd8682e9c5 d3d8: Fix wrong function name in FIXME. 2006-10-17 11:14:15 +02:00
Stefan Dösinger 1e6a38967c d3d8: Implement CopyRects with BltFast. 2006-10-16 11:26:00 +02:00
Ivan Gyurdiev 9628a1b2e2 wined3d: Merge D3DRECT types into one type in WINED3D namespace. 2006-10-12 12:37:08 +02:00
Ivan Gyurdiev ac37163124 wined3d: Merge D3DMATRIX types into one type in WINED3D namespace. 2006-10-12 12:35:00 +02:00
Ivan Gyurdiev 732e0e908b wined3d: Merge GAMMARAMP types into one type in WINED3D namespace. 2006-10-11 12:22:01 +02:00
Ivan Gyurdiev 5f2987ae32 wined3d: Merge VIEWPORT types into one type in WINED3D namespace. 2006-10-11 12:21:54 +02:00
Ivan Gyurdiev 90f5be2bef wined3d: Merge MATERIAL types into one type in WINED3D namespace. 2006-10-11 12:21:14 +02:00
Ivan Gyurdiev 70bbf734b1 wined3d: Merge LIGHT types into one type in WINED3D namespace. 2006-10-11 12:21:06 +02:00
H. Verbeet c6e0ca28d5 d3d8: Win64 printf format warning fixes. 2006-10-10 19:58:56 +02:00
Stefan Dösinger 3529560cd7 wined3d: Add WINED3DUSAGE_OVERLAY. 2006-10-06 12:53:24 +02:00
Francois Gouget 3adb46f050 d3d8: Fix '\n' typo. 2006-10-05 17:44:51 +02:00
H. Verbeet 112810a480 d3d8: Free the shader handle table. 2006-09-12 10:52:47 +02:00
H. Verbeet 9a4ce31737 d3d8: Use proper handles for pixel shaders. 2006-08-28 11:49:06 +02:00
H. Verbeet 4a48e38e7d d3d8: Improve shader handle management. 2006-08-28 11:47:02 +02:00
H. Verbeet 7ac5bd67d5 d3d: Don't crash when SetRenderTarget() is called with a NULL pSurface. 2006-08-07 13:12:37 +02:00
Vitaliy Margolen 145442a79d d3d8: Fix remaining refcount tests and tighten all tests. 2006-07-07 16:57:41 +02:00
Alexandre Julliard 7bf49faf23 d3d8: Don't use sizeof in traces to avoid printf format warnings. 2006-06-13 14:09:36 +02:00
Alexandre Julliard c3bd09e563 d3d8: Make the virtual table functions static where possible. 2006-06-10 11:48:24 +02:00
H. Verbeet d06aa8d857 d3d8: Fix QueryInterface.
QueryInterface should return S_OK on success and set the object
pointer to NULL on failure. This is similar to the patch Ivan
submitted a while ago for wined3d.
2006-06-07 15:28:06 +02:00
Stefan Dösinger 1c46c693c7 d3d8: Back buffer count fix. 2006-05-31 11:44:32 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Vitaliy Margolen 1cc318c5a6 d3d8: All objects created by device should keep reference to it. 2006-05-22 11:29:27 +02:00
Stefan Dösinger d04f0507cf wined3d: Implement Init3D and Uninit3D. 2006-04-19 12:43:22 +02:00
Stefan Dösinger 03b256b16d wined3d: Add a parameter for surface type selection. 2006-04-18 11:09:17 +02:00
Stefan Dösinger d2510847b0 wined3d: Split device creation and opengl initialization. 2006-04-13 11:22:45 +02:00
Vitaliy Margolen 99136998e2 d3d8: VertexShader should keep reference to the parent device object. 2006-04-12 11:20:07 +02:00
Stefan Dösinger c289b3cc51 wined3d: Define WINED3DGAMMARAMP based on D3DGAMMARAMP / DDGAMMARAMP. 2006-04-04 20:00:41 +02:00
Stefan Dösinger 08c38a87e1 wined3d: Add WINED3DRASTERSTATUS to wined3d_types.h. 2006-04-04 11:51:37 +02:00
Stefan Dösinger f6ed704f96 wined3d: Make use of WINED3DDEVICE_CREATION_PARAMETERS. 2006-04-03 21:35:44 +02:00
Vitaliy Margolen fc13420770 d3dx: VertexBuffer should keep reference to the parent device object. 2006-04-03 14:14:24 +02:00
Stefan Dösinger 0ad31f819d wined3d: Add WINED3DBACKBUFFER_TYPE to wined3d_types.h. 2006-04-03 12:17:35 +02:00
Stefan Dösinger fce54bcc49 wined3d: Add WINED3DDISPLAYMODE to wined3d_types.h. 2006-04-03 12:17:22 +02:00
H. Verbeet 1e421c7da9 d3d8: Add a TRACE for IDirect3DDevice8Impl_CreateVertexBuffer. 2006-03-28 17:52:59 +02:00
Stefan Dösinger 1d47556195 wined3d: Use WINED3DSWAPEFFECT in the wined3d headers and code. 2006-03-28 17:51:45 +02:00
Stefan Dösinger d75fd75d48 wined3d: Add WINED3DPOOL to wined3d_types.h. 2006-03-28 17:34:42 +02:00
Stefan Dösinger b4b295c2a5 wined3d: Add WINED3DMULTISAMPLE_TYPE to wined3d_types.h. 2006-03-27 11:30:49 +02:00
Stefan Dösinger 0f7eb52789 wined3d: Add WINED3DTRIPATCH_INFO to wined3d_types.h. 2006-03-27 11:30:49 +02:00
Stefan Dösinger 6af24c816d wined3d: Rectpatch code fix.
Update the wined3d code to use WINED3DRECTPATCH_INFO, which was added
with an older patch.
2006-03-24 12:13:50 +01:00
H. Verbeet bb370f3582 d3d8: Change the default debug channel to d3d8 for device.c. 2006-03-20 12:09:33 +01:00
H. Verbeet 2940fd9170 d3d8: Downgrade a FIXME to a TRACE in IDirect3DDevice8Impl_SetVertexShader. 2006-03-20 12:09:10 +01:00
H. Verbeet 0ea6686134 d3d8: Fix comparison in IDirect3DDevice8Impl_DeleteVertexShader. 2006-03-20 12:09:00 +01:00
Roderick Colenbrander bcbf5f397e d3d8/wined3d: Vertex shader fixes. 2006-03-17 13:11:06 +01:00
Francois Gouget 555a06075f d3d8: Remove spaces before '\n'. 2006-02-28 12:01:47 +01:00
Roderick Colenbrander d13469c1d8 d3d8: Moved the remaining code over to WineD3D (based on patches by
Oliver Stieber).
2006-02-27 12:20:03 +01:00
Francois Gouget a323238301 d3d8: Remove spaces before '\n', spelling fix. 2006-02-24 21:07:47 +01:00
Roderick Colenbrander 3da999a1f7 d3d8: Move texturing code over to wined3d (based on Oliver Stieber's work). 2006-02-20 11:11:35 +01:00
Roderick Colenbrander 4e4fc93645 d3d8: Move d3d8 surface over to wined3d (based on the work of Oliver Stieber). 2006-02-14 17:13:19 +01:00
Roderick Colenbrander a874487f95 d3d8: fbconfig fix.
Right now the ActiveRender code in D3D8 requests a GLX_DEPTH_SIZE of
32 in case the direct3d color format also has a depth of 32. As
verified on various linux drivers (Ati fglrx, Ati (dri) and Nvidia)
the color depth needs to be 24. This patch sets the depth to 24 and it
fixes bugs in 3dmark2001 and other programs.
2006-02-07 16:51:08 +01:00
H. Verbeet e9c3f601ea d3d8: Use GL_EXTCALL to call OpenGL extension glPointParameterfvARB. 2006-02-05 12:19:13 +01:00
Vitaly Budovski d68f7a68c0 d3d8: Fixed point sprite scaling when size < 1.0f. 2006-02-04 17:14:38 +01:00
Vitaly Budovski ecacc1ebcb d3d8: Fixed POINTSPRITEENABLE. 2006-02-04 17:14:13 +01:00
Vitaly Budovski 80c82f527f d3d8: Fixed POINTSCALEENABLE. 2006-02-04 17:13:13 +01:00
H. Verbeet ac16181790 d3d8: For render states D3DRS_POINTSPRITEENABLE and
D3DRS_MULTISAMPLEANTIALIAS, use GL_SUPPORT correctly.
2006-01-23 11:26:25 +01:00
Vitaly Budovski 624efed78e d3d8: Render state additions.
Implemented D3DRS_EDGEANTIALIAS.
Implemented D3DRS_POINTSPRITEENABLE.
Implemented D3DRS_MULTISAMPLEANTIALIAS.
2006-01-17 15:58:43 +01:00
Francois Gouget 0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Raphael Junqueira 74c6321a15 - defined D3DCOLOR_B macros to access byte values of D3DCOLOR
- use D3DCOLOR macros instead of using shift + masks
- fix a bug where diffuse.lpData checked instead of specular.lpData
- implement color fixup on ARB VShader compilation code:
   ->  on input parameters using swizzle
   -> add is_color parameter on vshader_program_add_param
2005-11-03 09:54:31 +00:00
Oliver Stieber 009cc4e403 Release the OpenGL context when the device is released. 2005-10-27 12:08:00 +00:00
Oliver Stieber 9c676e6c19 Changed index and vertex buffer so that internal references are
counted separately to external ones.
2005-10-27 10:23:41 +00:00
Oliver Stieber bda8a5c08a Allow cube textures to be updated. 2005-10-13 13:44:03 +00:00
Mike McCormack ebf4e53030 Fix sign warnings. 2005-07-28 10:16:54 +00:00
Stefan Huehner 190e1597ff Fix some missing-declarations warnings. 2005-07-14 12:19:53 +00:00
Francois Gouget 28dc5a8afc Assorted spelling fixes. 2005-07-11 10:59:41 +00:00
Dmitry Timoshkov 4625628e67 Make some of the OLE interface vtables const. 2005-05-27 20:17:35 +00:00
Francois Gouget 93416cdaf7 Assorted spelling fixes. 2005-03-23 13:15:18 +00:00
Carlos Lozano b10ba61112 Check that pstream is not null. 2005-02-08 12:10:57 +00:00
Paul Vriens 7a49e82dac - use Interlocked* functions in AddRef and Release.
- store the result of the Interlocked functions and use only this.
2005-01-24 11:31:45 +00:00