Commit Graph

85 Commits

Author SHA1 Message Date
Vitaliy Margolen 145442a79d d3d8: Fix remaining refcount tests and tighten all tests. 2006-07-07 16:57:41 +02:00
Alexandre Julliard 558fbb8af8 d3d8: Remove dependencies on OpenGL headers and libraries. 2006-06-15 16:51:57 +02:00
Alexandre Julliard c3bd09e563 d3d8: Make the virtual table functions static where possible. 2006-06-10 11:48:24 +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 ffc8e46e76 wined3d: Add IWineD3DSurface::Blt. 2006-04-17 11:19:30 +02:00
Vitaliy Margolen 99136998e2 d3d8: VertexShader should keep reference to the parent device object. 2006-04-12 11:20:07 +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 6a8578f847 wined3d: Add WINED3DDEVTYPE to wined3d_types.h. 2006-03-30 12:45:57 +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
Roderick Colenbrander a9665eda79 d3d8: Header cleanup.
Remove unneeded structures and functions from d3d8_private.h, clean
some datatypes up and remove d3dcore_gl.h.
2006-02-28 12:01:30 +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
Roderick Colenbrander b24e69dc38 d3d8: Move the capability detection code over to WineD3D.
Let the few existing parts which need the capabiliteis use the WineD3D
capability structure (gl_info). This info structure contains next to
'flags' inidicating certain features also all GL/GLX functions
pointers. Because D3D8 moves over to the wined3d gl_info structure all
the gl prototypes in d3dcore_gl.h were unneeded and removed.
2006-02-21 11:28:58 +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
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 9c676e6c19 Changed index and vertex buffer so that internal references are
counted separately to external ones.
2005-10-27 10:23:41 +00:00
H. Verbeet f469b6f8de Fix missing prototypes when using nVidia OpenGL headers. 2005-09-28 18:12:00 +00:00
Mike McCormack 2d7ea23868 Interlocked LONG* gcc warning fixes. 2005-07-11 13:21:17 +00:00
Oliver Stieber 46e7c30a71 Implement swapchains. 2005-06-23 11:05:24 +00:00
Oliver Stieber e70e3ba0ff Change the way caps are sent between d3d9/d3d8 and wined3d to make it
easier for wined3d to support additional versions of Direct3D.
2005-06-17 09:59:03 +00:00
Kristiaan Lenaerts 605249eb61 gcc 4.0 compile fix. 2005-05-29 20:01:48 +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
Alexandre Julliard d0ee9f9309 Avoid spaces before preprocessor directives, that's not portable. 2005-03-02 12:23:20 +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
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
Jason Edmeades ae5a436873 - Make d3d8 know about the wined3d device and start using it.
- Move some of the screen mode related functions into wined3d and add
  untested support for the new d3d9 options of providing the format to
  some of the calls.
- Move other functions from the directx interface into the common
  library and implement the calls from d3d9 as well.
- Copy across the first of the functions used to make traces more readable,
  creating utils.c to store them in. Eventually the ones in d3d8 will be
  removed but for now just duplicate the code.
2004-09-28 02:12:12 +00:00
Alexandre Julliard 48c4bb3c31 Get rid of the non-standard ICOM_VTABLE macro. 2004-08-12 23:00:51 +00:00
Alexandre Julliard 0467ce9fd7 Get rid of the non-standard ICOM_VFIELD macro. 2004-08-12 19:52:49 +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 0f7b0a089b Implemented pixel shaders using ARB_fragment_program extension. 2004-05-10 19:57:51 +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
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
Francois Gouget 640cc3f3e1 Assorted spelling fixes. 2004-01-06 22:08:33 +00:00
Jason Edmeades 78a7c5f28e Check for advertized vertex blend support before querying device
capabilities, which silences issues about vertex blending.
2003-10-03 04:35:07 +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
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
Jason Edmeades beb4ac8fe1 DXT1/3/5 support was broken, but unnoticeable since we also indicated
it wasn't supported.
2003-08-15 03:50:08 +00:00
Jason Edmeades d8b2109e61 Only reapply the texture states necessary when a different texture
gets bound to the same texture unit.
2003-08-05 19:18:58 +00:00
Jason Edmeades 2ec3bbccc1 glColorMaterial enable/disable setup is only done when really necessary.
If glColorMaterial is set to track current color and none is supplied,
it gets disabled.
glMaterial is reset when I think it is necessary.
Slow mode now has defaults for when fvf parms are not supplied (as per
fast mode).
Slow mode now sets up the specular color (forgot that bit previously,
I think!).
Trace now lists the front, back and stencil buffers for ease of
debugging.
2003-08-05 18:29:20 +00:00
Jason Edmeades 564f5828b0 Add fps debug channel, so we can see how the d3d code is performing and
their impact of performance changes.
SetTransform almost rewritten in a much neater way, and in
coordination with drawprim it significantly reduces the number of
times that we reload the matrixes.
2003-07-19 03:02:42 +00:00
Jason Edmeades 021604c600 Implement UpdateTexture for 2D textures only.
Handle alphaop disabled but color op not-disable in a more appropriate
way (Docs say this is an illegal state and then proceed to use it).
Trace out textures as they are created.
Update the comments around the debug code and complete the debugging
set so textures which are used in the game can also be viewed.
2003-07-03 18:10:22 +00:00
Raphael Junqueira dcddfbc140 - currently always use sloaw path as fast path have some problems
- fix APIENTRY mismatched value used by gl func pointers (in
  d3dcore_gl.h)
2003-06-27 22:20:44 +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
Jason Edmeades 21a092816a Fix the texture operations to resolve glitches shown in UT2003 when
get quad damage.
checkGLcall must not supply a \n as that is supplied by its
expansion.
Performance fixes to save applying the same states 6 times and to
reduce function calls when accessing front/back buffers.
Make traces more readable by more constants -> english descriptions.
2003-06-13 19:14:34 +00:00
Jason Edmeades 3cf874bb04 Make the fixed function pipeline support multiple streams for created
vertex shaders with no function supplied. Also split down draw
primitive along the lines of the d3dcore requirements and put in some
diagnostic aids.
2003-06-13 18:09:05 +00:00