Commit Graph

49 Commits

Author SHA1 Message Date
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
de3bd86fb6 wined3d: Don't free D3D cube textures until the wined3d cube texture is destroyed. 2009-09-17 10:09:44 -05:00
Henri Verbeet
b5b58e423d d3d8: Add a separate function for cube texture initialization. 2009-09-17 10:09:33 -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
Michael Stefaniuc
ebe5219c6b d3d8: Release the lock instead of locking a second time (Smatch). 2009-08-26 12:10:27 +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
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
e96287e49c d3d8: Hold the lock in cubetexture methods. 2007-06-12 11:13:49 +02:00
Andrew Talbot
fb367f813a d3d8: Void functions should not return a value. 2007-04-09 12:15:28 +02: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
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
Vitaliy Margolen
1cc318c5a6 d3d8: All objects created by device should keep reference to it. 2006-05-22 11:29:27 +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
be720179b6 wined3d: Add WINED3DCUBEMAP_FACES to wined3d_types.h. 2006-04-04 20:01:10 +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
Roderick Colenbrander
3da999a1f7 d3d8: Move texturing code over to wined3d (based on Oliver Stieber's work). 2006-02-20 11:11:35 +01:00
Alexandre Julliard
45bf26cbdb d3d8: Fixed compile with older GL versions. 2006-02-16 12:10:41 +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
Francois Gouget
0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Dmitry Timoshkov
4625628e67 Make some of the OLE interface vtables const. 2005-05-27 20:17: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
Eric Pouech
cf1d00bb08 Removed excessive statement (break after return or goto, not useful
break, not needed vars...)
2005-01-09 16:42:53 +00:00
Alexandre Julliard
f5f7a1822c Removed some more uses of the non-standard ICOM_THIS macro. 2004-09-08 01:50:37 +00:00
Hans Leidekker
fe442b21f7 Fix signed/unsigned comparison warnings. 2004-09-08 01:23:57 +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
Alexandre Julliard
e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Raphael Junqueira
44edc0c0ec - dsound and d3d works better when x11drv locks/unlocks are correct
- more traces
2003-06-18 03:17:42 +00:00
Raphael Junqueira
e4882b1548 - cleaning of volume.c/volumetexture.c as done previously for
surface.c/*texture.c (with add of lockable, locked and Dirty flags)
- add of dirtyRect/dirtyBox for better dirtification management (not
  used yet, but huge optimisation can be possible now)
- fix some debug traces (well it's better to use debug_d3dpool)
- fix some stupid regression on point parameters (forgot to check
  extension on fillcaps)
2003-06-04 23:05:46 +00:00
Raphael Junqueira
0b5e9d9feb - some cleanups
- more cubetextures fixes (now d3d8 sdk cubemap sample work almost
  perfectly)
- add a new debug function "debug_d3dpool" and use it
- add a new param (the device) for the conversions functions (because
  we need to check caps to see how to convert)
- some crashes fixed in render to surface code with no stencil-depth
  surface
- a very simple cliplane fix
- a stupid palettes fix (stupid language)
- begin of anisotropic filter support
- begin of compressed textures support
- a very useful debug functions: IDirect3DSurface8Impl_SaveSnapshot to
  dump surfaces as png ;)
- many useful surfaces debug code (using SaveSnapshot)
2003-06-04 22:12:34 +00:00
Raphael Junqueira
3cae8cfa69 - implemented render to surfaces (and render to new rendertargets)
using glx pbuffers (with a useful debug code to display rendered
  surface into window drawable)
- better cubetextures
- split utilities functions into utils.c and added more
- more readable debug again
- a better caps code (not perfect but i'll use glx code later)
- use of the new caps code
- begin of UpdateTexture
- begin of Cursor support
- cleaning most of deprecated #if 0/#endif
- correct some lockable/unlockable behavior
- correct some returns code
2003-06-04 21:55:29 +00:00
Raphael Junqueira
9489f8bdc0 - mor usefull debug functions debug_d3dusage and debug_d3ddevicetype
- fix a crash in pixel shader parser (happened with unreal2)
- currently desactive pixel shaders caps (with #define) while hw
  shaders code isn't merged
- when we have a special debug channel for shader, use it ;)
- fix again some stubs return value
- more more readable traces now (principaly IDirect3D8 capacities
  check and surface locking code) using new debug functions
- fix/cleaning the surface locking code
- now we support D3DTOP_SUBSTRACT so declare it in caps
- now support true 32bit (well X 24 bit can be used as 32 bit in caps
  code)
- first try to get D3DTSS_TCI_CAMERASPACENORMAL and
  D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR look good
- native support 32 bit support (now application can choose 16 or 32
  bit support) if current resolution is 24 bit (as we can only launch
  games in windowed mode)
- textures palettes support
- fix reflexion placement code (the sdk sample begin to work)
- fix a stupid crash when using traces in vshaderdeclaration
- more more readable traces (init/caps)
- more cubetextures fixes
2003-05-17 18:33:02 +00:00
Raphael Junqueira
ef104680ed Fix compilation error reported by Stefan Leichter when using old
openGL headers.
2003-05-15 04:16:47 +00:00
Raphael Junqueira
b3ee1f7460 - cubetexture loading/preloading
- some stubs must return 0 (and non D3D_OK)
- fix IDirect3DCubeTexture8Impl::Get* (potentials CD)
2003-05-13 23:52:23 +00:00
Raphael Junqueira
eb36d31d6f - surface pool init fixes
- minor indentation and traces fixes
- fix locking/unlocking/dirty behavior (dirtify on lock) +
  optimisations (only copy when dirty)
- fix IDirect3DDevice8::Clear behavior (problem seen after a
  locking/unlocking code error)
- begin to fix volume and cube textures management
2003-05-12 03:10:27 +00:00
Alexandre Julliard
31e78f479e Header files must not include config.h. 2003-04-12 00:06:42 +00:00
Raphael Junqueira
72fb7acf8d Beginning of more COM compliant behavior:
- AddRef/Release where needed
- use IUnknown* instead void*
- fix many GetDevice using AddRef
- fix IDirect3DSurface8Impl_GetContainer using QueryInterface
2003-01-14 23:05:39 +00:00
Raphael Junqueira
e31ae92630 - some D3D8 fixes
- beginning of shaders support (Vertex and Pixel Shaders 1.1 on
  DirectX8)
- beginning of D3DX8 support the D3D8 utility API (very basic, only
  the core header)
2002-12-17 01:15:15 +00:00
Jason Edmeades
26258ce06a Initial D3D8 implementation. 2002-09-27 22:46:16 +00:00