Commit Graph

231 Commits

Author SHA1 Message Date
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
Michael Stefaniuc 5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Alexandre Julliard ebe3c529b1 Janitorial: C booleans must not be compared against TRUE. 2004-12-09 14:07:59 +00:00
Eric Pouech 0a258964c2 Const correctness fixes. 2004-11-30 21:38:57 +00:00
Jason Edmeades eba27af4f1 Add Get/Set Transform support, plus BeginScene (does nothing). 2004-11-28 15:04:41 +00:00
Jason Edmeades b9e2bedac1 Copy and tidy up the code from dx8 create device into wined3d. Call
from wined3d and d3d8, but short term only use the code for real from
d3d9.
2004-10-08 20:52:33 +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
Raphael Junqueira ac6f401056 - fix version string
- some fixes to ATI specific paths of set_tex_op (Christian needs to
  complete it)
- fix use of GL_SUPPORT(NV_TEXGEN_REFLECTION). I have used the wrong
  define, I'll get a brown paper bag :(
2004-06-14 16:57:41 +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
Christian Costa a967e7755e Fixed W buffer handling. 2004-05-10 21:24:21 +00:00
Christian Costa 0f7b0a089b Implemented pixel shaders using ARB_fragment_program extension. 2004-05-10 19:57:51 +00:00
Francois Gouget 9f1aea2fb8 Assorted spelling fixes. 2004-05-05 01:09:24 +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
Raphael Junqueira c87fd95f1f - fix the SetTextureStageState for D3DTADDRESS_MIRROR using dynamic GL
detection (and not build time GL headers)
- add a new debug channel for hardware vertex shaders
- hardware VS "compiler" fixes:
  -> special case for address registers (MOV must be replaced by ARL)
  -> add line numbers to trace (better to find why NVidia drivers complains)
  -> one parse to determine temporary and address registers needs
    (@todo: check GL limits)
  -> remove duplicate traces from Generic ParseProgram
2004-04-19 23:04:58 +00:00
Alexandre Julliard 4f56863300 Authors: Jason Edmeades <us@the-edmeades.demon.co.uk>, Christian Costa <titan.costa@wanadoo.fr>
Added support for vertex shader (using ARB_vertex_program extension).
2004-04-15 23:58:15 +00:00
Raphael Junqueira 114c9077d6 - more Extensions work (begin to detect ATI extensions)
- try to fix D3DTADDRESS_BORDER, D3DTADDRESS_MIRROR,
  D3DTADDRESS_MIRRORONCE using OpenGL extensions
- better set_tex_op: now use Runtime Extension support (and not
  compile support)
2004-03-30 05:14:57 +00:00
Raphael Junqueira 9fb52e7716 - support of D3DTSS_MAXMIPLEVEL
- support of D3DTSS_MIPMAPLODBIAS (using EXT_TEXTURE_LOD_BIAS extension)
- correct support of D3DTSS_MAXANISOTROPY for D3DTSS_MAGFILTER and
  D3DTSS_MINFILTER
- fixes for D3DTSS_MAGFILTER and D3DTSS_MAGFILTER
2004-03-27 20:42:14 +00:00
Ofir Petruska fe334f7e20 Keep the checkGLcall glActiveTexture/glActiveTextureARB separation in
all the file.
2004-03-23 23:13:56 +00:00
Ofir Petruska 4a8f7b23ad Define EXTRA_TRACES instead of #if 0. 2004-03-23 23:02:10 +00:00
Christian Costa 2616b57533 AddRef texture only if there is one for the requested stage. 2004-03-20 02:33:00 +00:00
Francois Gouget ad5ff7ceeb Assorted spelling and case fixes. 2004-02-09 22:07:42 +00:00
Francois Gouget 640cc3f3e1 Assorted spelling fixes. 2004-01-06 22:08:33 +00:00
Jason Edmeades 61608b71fc If swap mode is discard, clear the backbuffer before moving onto the
next frame.
2003-11-17 20:04:30 +00:00
Raphael Junqueira 63c1093f24 - stupid typos fixes on software vertex shader operands
- CopyRects fix (problem in error paths) based on Carlos Lozano patch
2003-11-11 00:43:51 +00:00
Carlos Lozano d970c097f4 Check that we don't write out of the defined range of palettes. 2003-11-04 04:17:28 +00:00
Jason Edmeades 2b832f11a5 Make support for CopyRects to a small area of the back buffer, and
correct the general method of updating the back buffer.
2003-10-31 04:15:07 +00:00
Jason Edmeades ef8a634cb4 Clear should not be affected by write masks. 2003-10-31 03:35:43 +00:00
Jason Edmeades ef65d2a6a6 ColorWriteEnable should not impact clearing the screen. 2003-10-31 00:09:07 +00:00
Jason Edmeades 0b37bf74b9 CopyRects (per rect) copied one too many lines, trashing the heap.
Also tidies up scissor test from previous patch.
2003-10-30 23:24:44 +00:00
Jason Edmeades c922278bfa Culling to different viewports failed as clearing the whole viewport
cleared the screen.
2003-10-30 23:05:09 +00:00
Jason Edmeades 14231aa83b Correct writing to back buffer in non-ortho mode, and ensure the line
stipple is passed correctly to enable proper wireframe support.
2003-10-30 22:46:29 +00:00
Jason Edmeades 06fd1e25f7 Minor fixes - Remove light debug statements, handle disabled specular
material properly, release surfaces when debugging and clean up trace
a little.
2003-10-03 03:35:53 +00:00
Jason Edmeades 8b2c10bcd4 MaxActiveLights means number of concurrent lights, but any number can
be  set up. Change support for lights into a linked list and only set
up an equivalent gl light when the light is enabled.
2003-09-30 00:21:07 +00:00
Jason Edmeades ce85a90538 DXTn format has odd mipmap levels in that the space allocated for
small levels needs a lot of padding.
2003-09-19 04:02:35 +00:00