Commit Graph

76 Commits

Author SHA1 Message Date
Matteo Bruni 90460f2042 d3d9: Don't upload unused system memory vertex buffers.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-06 18:30:57 +01:00
Józef Kucia b51bc84338 wined3d: Move wined3d_bit_scan() to public header.
wine/port.h is required for ffs().

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-25 23:09:07 +01:00
Michael Stefaniuc 417983f2da d3d9: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-21 12:40:45 +01:00
Henri Verbeet 31250d6d4d d3d9: Use the global memory allocation helpers.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-07 10:05:51 +01:00
Józef Kucia 8b493d769e wined3d: Introduce R10G10B10X2 vertex formats for D3D8/9.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-27 22:21:12 +09:00
Andrey Gusev 425160ce85 d3d9: TRACE fixes. 2015-09-18 14:57:38 +02:00
Henri Verbeet 1b08196c5a wined3d: Implement d3d10 style instance data step rates. 2015-03-24 17:41:06 +09:00
Henri Verbeet 88f230b56e d3d10core: Also pass unused input layout elements to wined3d.
While these won't be used by the shader, they potentially affect the
calculated offset for WINED3D_APPEND_ALIGNED_ELEMENT elements.
2015-03-23 22:59:12 +09:00
Michael Stefaniuc d86ecd4bb4 d3d9: Remove ERR() on HeapAlloc failure for small sizes known at compile time. 2013-02-07 15:48:20 +01:00
Henri Verbeet bdd42942c0 d3d9: Get rid of IDirect3DVertexDeclaration9Impl. 2012-06-01 17:46:45 +02:00
Henri Verbeet 2a63fe6624 d3d9: Get rid of IDirect3DDevice9Impl. 2012-05-29 10:45:09 +02:00
Henri Verbeet b5d64260e0 d3d9: Get rid of the D3D_DECL_* macros. 2012-05-25 16:23:59 +02:00
Henri Verbeet 51024a078f d3d9: Get rid of the d3dType field from d3d_dtype_lookup. 2012-05-25 16:23:56 +02:00
Henri Verbeet 8560f36cb8 d3d9: Get rid of the D3DDECLTYPE_INFO typedef. 2012-05-24 20:08:49 +02:00
Henri Verbeet 949f7b4524 d3d9: COM cleanup for the IDirect3DVertexDeclaration9 interface. 2012-04-13 10:48:46 +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 8e40db2783 d3d9: Don't return a pointer to the implementation in IDirect3DVertexDeclaration9Impl_QueryInterface(). 2012-03-29 20:49:14 +02:00
Henri Verbeet 6a529e5847 wined3d: Get rid of the WINED3DVERTEXELEMENT typedef. 2011-11-25 16:21:57 +01:00
Henri Verbeet 8d4ca1f815 wined3d: Remove COM from the device implementation. 2011-05-17 10:06:18 +02:00
Henri Verbeet 00a5f38595 wined3d: Remove object creation methods from the IWineD3DDevice interface. 2011-05-11 14:56:48 +02:00
Michael Stefaniuc d5739cd2c3 d3d9: Finish the COM cleanup of the IDirect3DDevice9Ex iface. 2011-04-25 11:40:35 +02:00
Henri Verbeet 5765632d9f wined3d: Remove COM from the vertex declaration. 2011-02-03 13:15:17 +01: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 cc5271d1b7 wined3d: Rename WINED3DFORMAT to wined3d_format_id. 2010-08-24 12:25:01 +02:00
Henri Verbeet ff92e6eb6a d3d9: Simplify GetDevice(). 2009-12-04 14:34:59 +01:00
Henri Verbeet 66961840a5 d3d9: Free "elements" in a vertexdeclaration_init() error path (Valgrind). 2009-10-22 10:46:25 +02:00
Henri Verbeet 4dbf1c4900 d3d9: Add traces. 2009-10-20 14:00:36 +02:00
Allan Tong 5d56eddb7c d3d9: Don't release the parent device before destroying its children.
Releasing the device earlier may cause the underlying wineD3D device
to be freed before the child object has had a chance to clean up.
2009-09-29 12:05:47 +02:00
Henri Verbeet 47c84f4f7f wined3d: Use the DXGI naming convention for all formats. 2009-09-25 15:15:44 +02:00
Henri Verbeet 66a7236590 wined3d: Don't free D3D vertex declarations until the wined3d vertex declaration is destroyed. 2009-09-23 12:36:28 +02:00
Henri Verbeet 0241fefa94 d3d9: Add a separate function for vertex declaration initialization. 2009-09-23 12:35:00 +02:00
Henri Verbeet 85ab52a48d d3d9: Properly destroy vertex declarations. 2009-09-22 16:17:37 +02:00
Henri Verbeet e7d14d02d0 d3d9: Remove trailing spaces. 2009-08-28 11:54:50 +02:00
Henri Verbeet 5f9f079d71 d3d9: Use the wined3d cs for wined3d locking. 2009-08-26 12:11:41 +02:00
Henri Verbeet 4434d00f84 wined3d: Unify vertex and texture formats.
Some fields should be redundant now, eg. gl_vtx_type and glType. I'll leave
that for a different patch to fix though.
2009-03-27 15:51:25 +01:00
Henri Verbeet 6f206c75ec wined3d: Don't create an END element for wined3d vertex declarations.
Wined3d doesn't need it since it already has the element count.
2009-03-27 15:51:25 +01:00
Chris Robinson 0bdab5f80c d3d9: Use the correct size for D3DFVF_XYZW. 2008-12-29 11:49:54 +01:00
Stefan Dösinger a8497a5545 wined3d: Fix the num blend values -> type match. 2008-11-04 11:40:37 +01:00
Stefan Dösinger 3d96f97ee1 d3d9: Use the correct AddRef and Release macros. 2008-11-04 11:40:23 +01:00
Stefan Dösinger e8b9f167d6 wined3d: Fix the texcoord size mask.
There is room for 8 texture coordinates, not just 4.
2008-08-26 12:07:41 +02:00
Stefan Dösinger c1a0037b88 d3d9: IDirect3DDevice9Ex stub. 2008-03-03 20:48:50 +01:00
Andrew Talbot 43ed6eae5a d3d9: Assign to struct instead of using memcpy. 2008-02-15 11:09:37 +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 8ff517eeb9 wined3d: Vertex attributes are 4 byte aligned. 2007-12-21 13:43:58 +01:00
Stefan Dösinger 57acd1d9a6 d3d9: Hold the lock in VertexDeclaration methods. 2007-06-25 11:35:24 +02:00
Stefan Dösinger 725f4bfeb1 d3d9: Rework the converted vertex declaration management.
Instead of creating a converted declaration each time SetFVF is
called, exactly one declaration is created for each FVF(on demand) and
stored for the lifetime of the device. This avoids memory leaks and
makes keeping track of converted declarations easier. Wether a
declaration is converted from a fvf or not is now a static information
inside the declaration. Those declarations are not destroyed in
VertexDeclaration::Release, they stay for the lifetime of the
device. This keeps us free from tracking the declaration through
stateblocks
2007-04-18 13:13:45 +02:00
Stefan Dösinger 35dd693a79 d3d9: Fix the circular converted vertex declaration reference. 2007-04-12 16:10:48 +02:00
Stefan Dösinger 2db7691ec8 d3d9: AddRef the device in IDirect3DVertexDeclaration9::AddRef. 2007-04-12 16:09:23 +02:00