Commit Graph

77 Commits

Author SHA1 Message Date
Henri Verbeet 179cee08b0 d3d8: Fix GetDevice() for surfaces that are part of a texture.
If the surface is part of a texture it doesn't keep its own reference to the
device, but instead relies on the reference the texture has. This fixes a
regression introduced by 3cedef2ffe.
2009-12-07 14:34:04 +01:00
Henri Verbeet 3cedef2ffe d3d8: Simplify GetDevice().
We already store "parentDevice", so we might as well use it.
2009-12-04 14:34:59 +01:00
Henri Verbeet f8bd01a315 d3d8: Add traces. 2009-10-19 11:45:57 +02:00
Allan Tong 6792bb8843 d3d8: Don't release the parent device before destroying its children. 2009-09-29 12:05:53 +02: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 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
Henri Verbeet 88162fabb8 wined3d: Get rid of the pointers in WINED3DSURFACE_DESC. 2009-06-15 13:42:29 +02:00
Henri Verbeet 72b5378758 d3d8: Get rid of resource.c. 2009-03-23 14:08:03 +01:00
Henri Verbeet d575b5fecb d3d8: Explicitly convert between D3DFORMAT and WINED3DFORMAT values. 2009-02-20 11:09:54 +01:00
Stefan Dösinger a69c86d3f5 ddrawex: Add a test for the permanent DC function. 2009-01-09 16:26:06 +01:00
Stefan Dösinger 34d1beed74 d3d8: Hold the lock in IDirect3DSurface8 methods. 2007-06-12 11:14:16 +02:00
H. Verbeet 7b48db196f d3d: Fix the surface locking rectangle validation. 2007-05-04 13:41:13 +02:00
Markus Amsler 0531858146 d3d8: Handle surface container in d3d8. 2006-12-18 12:07:46 +01:00
Markus Amsler 5dbd834ca0 d3d8: Release non implicit surfaces only if refcount is 0, with test. 2006-12-14 12:57:27 +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
H. Verbeet c6e0ca28d5 d3d8: Win64 printf format warning fixes. 2006-10-10 19:58:56 +02:00
Vitaliy Margolen 145442a79d d3d8: Fix remaining refcount tests and tighten all tests. 2006-07-07 16:57:41 +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
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Peter Beutner 5c4a1fc8de d3d8: Fix GetDesc and GetLevelDesc for surfaces and textures.
In DX8 the D3DSURFACE_DESC structure has a size field which needs to be set.
2006-05-20 17:47:45 +02:00
Stefan Dösinger bbe490abcc wined3d: Add WINED3DLOCKED_RECT to wined3d_types.h. 2006-04-06 22:23:31 +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 913df5b143 wined3d: Consistently use WINED3DRESOURCETYPE. 2006-03-10 21:43:00 +01:00
H. Verbeet f7356a34c3 wined3d: Fix the relation between surfaces and their container. 2006-03-06 20:08:22 +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
H. Verbeet 9a86a0b046 Fix DXT2 & DXT4 support for d3d8. 2005-09-29 10:31:22 +00:00
Alexandre Julliard 49b7fdcfc0 Removed the broken mmap64 configure check, and moved the
_FILE_OFFSET_BITS define to wine/port.h. Made sure that all files that
need the define include it.
2005-08-03 21:25:10 +00:00
Mike McCormack ebf4e53030 Fix sign warnings. 2005-07-28 10:16:54 +00:00
Dmitry Timoshkov 4625628e67 Make some of the OLE interface vtables const. 2005-05-27 20:17:35 +00:00
Jakob Eriksson 9ed61de9a2 Get rid of HeapAlloc casts. 2005-03-24 21:01:35 +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
Jason Edmeades 41427857b1 Add render target support, and ensure there is a front and back buffer
created during device creation.
2005-01-09 17:37:02 +00:00
Francois Gouget 486d020c1b Don't define COBJMACROS in objbase.h.
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00
Alexandre Julliard f5f7a1822c Removed some more uses of the non-standard ICOM_THIS macro. 2004-09-08 01:50:37 +00:00
Alexandre Julliard f714b39762 Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
macro.
2004-08-23 19:39:48 +00:00
Alexandre Julliard 48c4bb3c31 Get rid of the non-standard ICOM_VTABLE macro. 2004-08-12 23:00:51 +00:00
Marcus Meissner e3a37c8a26 Revert broken strict aliasing fix. 2004-05-21 20:52:57 +00:00
Raphael Junqueira 40dd9692d9 - first draft of D3DCLIPSTATUS8 handling (not really used for now)
- add a new DEBUG_SINGLE_MODE #define (for debug caps needs)
- better traces for surface dumping
- much better Texture support on Utilities functions and on
  CheckDeviceType
- D3DRS_ZVISIBLE as unsupported (as seen in msdn)
2004-05-19 04:33:42 +00:00
Alexandre Julliard ac7b9451f7 Authors: Christian Costa <titan.costa@wanadoo.fr>, Jason Edmeades <us@the-edmeades.demon.co.uk>
Fixes for rendering targets.
2004-05-02 04:22:31 +00:00
Raphael Junqueira d52c5080cf - Fix compilation again using olders GL headers
(glCompressedTexImage2DARB problem).
- Fix typo on constant.
- Detection of NVidia texture_shader and register_combiners
  extensions.
- Begin to implement BUMPMAPPING using NVidia Texture shader extension
  (not really working for now).
2004-04-29 00:20:18 +00:00
Christian Costa 15ccb11ea5 Implemented fast rendering to a texture using glCopyTexImage2D
Fixed SetViewport.
Fixed SetRenderTarget (based on Jason Edmeades' work).
Improved trace.
2004-04-26 23:34:17 +00:00
Marcus Meissner 3795a08149 Fixed some strict aliasing issues in dlls/d3d8.
Incorporated bugfix from Christian Costa in vshader_expp.
2004-04-26 20:15:02 +00:00
Raphael Junqueira b4a37991ef - implement SetRenderState D3DRS_FOGENABLE/D3DRS_RANGEFOGENABLE
- implement SetRenderState D3DRS_RANGEFOGENABLE
- fix SetRenderState D3DRS_FOGVERTEXMODE Caps/Detection traces
- fix IDirect3D8::GetAdapterIdentifier to use FillGLCaps and provide
  more exact infos (driver versions, vendor, ...)
- split Fake GL Context creation from GetDeviceCaps for external use
- add a new channel (d3d_caps) for all IDirect3D8 Caps/detection traces
- rename fps channel to d3d_fps
- high use of runtime detected OpenGL Caps instead of defines
- update supported Caps using runtime detection
2004-04-26 20:12:28 +00:00
Francois Gouget 640cc3f3e1 Assorted spelling fixes. 2004-01-06 22:08:33 +00:00
Jason Edmeades dfccba7153 Pass through floats correctly to the render states at
initialization. Fixes point problems.
2003-11-04 04:17:52 +00:00