Commit Graph

134 Commits

Author SHA1 Message Date
Henri Verbeet
d84e2fa747 d3d8: Mark internal symbols hidden. 2009-09-17 10:09:21 -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
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
dc3958c079 d3d8: Do some more verification on handles. 2009-06-16 13:36:48 +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
Stefan Dösinger
cb1c9dcda9 d3d: Remove the format from index buffers. 2009-04-09 16:28:25 +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
72b5378758 d3d8: Get rid of resource.c. 2009-03-23 14:08:03 +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
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
d575b5fecb d3d8: Explicitly convert between D3DFORMAT and WINED3DFORMAT values. 2009-02-20 11:09:54 +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
Henri Verbeet
62497e8772 d3d8: Remove unused code.
Also corrects some related comments.
2008-12-16 12:51:40 +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
Henri Verbeet
a6917b143d wined3d: Use IDL to generate wined3d.h. 2008-11-25 13:37:22 +01: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
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
Stefan Dösinger
527295e57f d3d8: Convert fvfs to vertex declarations. 2007-06-21 13:08:57 +02:00
Stefan Dösinger
193ccecaee d3d8: Add a dll global critical section. 2007-06-06 13:39:36 +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
H. Verbeet
138826b8cc d3d8: Save the d3d8 vertex declaration. 2007-03-08 11:58:23 +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
5ad6766c85 d3d8: Store the d3d8 vertex declaration in the d3d8 vertex shader. 2007-02-14 13:54:17 +01:00
H. Verbeet
a0b417725a d3d8: Add an IDirect3DVertexDeclaration8 class to hold the wined3d vertex declaration. 2007-02-14 13:50:57 +01:00
Stefan Dösinger
71631f7638 wined3d: Use the baseVertexIndex in the stateblock. 2007-01-03 11:02:51 +01:00
Markus Amsler
87083c9d71 d3d8: Handle volume container in d3d8. 2006-12-18 12:07: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
0a3f417359 d3d8: Handle volume refcount forwarding in d3d8. 2006-12-06 12:40:24 +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
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
Vitaliy Margolen
145442a79d d3d8: Fix remaining refcount tests and tighten all tests. 2006-07-07 16:57:41 +02:00