Commit Graph

62 Commits

Author SHA1 Message Date
Christian Costa eac96b5606 Added native and emulated S3TC support. 2004-07-30 18:54:32 +00:00
Lionel Ulmer 1eaee42399 Use vertex arrays when possible. 2003-11-25 00:06:33 +00:00
Lionel Ulmer b6ddd8cadb Better color-keying support. 2003-11-11 00:31:16 +00:00
Lionel Ulmer 4d8d0f03ca Added support for multi-texturing. 2003-08-18 19:55:11 +00:00
Lionel Ulmer 50fbe7330e Support the mimap lod bias extension. 2003-08-05 19:18:19 +00:00
Lionel Ulmer 1d45ab4aab Proper MIRROR texture address support. 2003-08-05 18:28:07 +00:00
Lionel Ulmer d1291ba19a Better caps support (ie more in line with what GL reports). 2003-07-28 19:05:49 +00:00
Lionel Ulmer 815118a092 - GL state change optimizations
- some more preparations for GL-accelerated Blts
- added debug code to compute FPS (nice when adding optimizations)
2003-06-16 01:23:58 +00:00
Lionel Ulmer 068fa5d471 - fix the texture upload code when RECT is actually used
- optimize FB Locks / Unlocks when RECTs are used
2003-06-04 23:43:29 +00:00
Lionel Ulmer fc58c2a933 - some GL critical section fixes
- only bind textures at start of rendering
- optimized the texture parameter code
- optimize of the 'dirty checking code' for mipmapping
- handles the MAXMIPLEVEL texture parameter
2003-06-04 23:34:58 +00:00
Lionel Ulmer 4aba282bb8 - proper (tested on Win2K) reference counting for Direct3D object
- fix one case of reference counting on textures
- fix stupid bug in texture upload code
- yet another texture enumeration reordering
2003-06-04 23:31:39 +00:00
Lionel Ulmer 97140ba2d1 - added RECT support to the texture upload code
- use the common code for the FB Unlock code
2003-06-04 23:26:53 +00:00
Lionel Ulmer 3383ce5d51 - some clean-ups (extension code to be added soon)
- some interface changes for future reuse for Blt / Lock code
- fixed some Pitch problems in texture uploads (mostly for 'small'
  mip-mapping levels)
2003-06-04 23:24:59 +00:00
Lionel Ulmer 094f6bc985 Refactoring of the texture upload code. 2003-06-04 23:22:13 +00:00
Lionel Ulmer 21856fbd1c - implement FB => Texture blits
- fix compilation on non-recent glext.h systems
2003-06-04 23:10:38 +00:00
Alexandre Julliard 24d0a8394f Authors: Mike McCormack <mike@codeweavers.com>, Lionel Ulmer <lionel.ulmer@free.fr>
Make DDraw not linked 'statically' to OpenGL.
2003-06-04 20:13:21 +00:00
Lionel Ulmer 97f216c93c - some tracing fixes
- flush the right buffer to the screen
2003-05-20 04:27:04 +00:00
Lionel Ulmer c577c27e2b No need to flush the surface back if last lock was a RO lock. 2003-05-20 04:21:46 +00:00
Lionel Ulmer 8daf96c203 - fix bug in 'Blt DEPTH_FILL' override
- added a lock around the flushing of a surface to the frame buffer
- optimize texture loading my minimizing the cases where a conversion
  needs to occur and also by reusing the allocated memory
2003-05-20 04:10:22 +00:00
Lionel Ulmer 783b3236f5 Support for device surface locking. 2003-05-17 18:41:26 +00:00
Lionel Ulmer a872c781ea - separate geometry tracing in a new debug channel (ddraw_geom)
- added handling for some new texturing ops
- prepare for addition of multi-texturing
- another way to fix the device enumeration for the reference device
- fix compilation with some glext.h files
- fix a bug in one texture conversion function
- added new texture format (but still texturing problems in 3DMark2000)
2003-05-12 03:09:17 +00:00
Lionel Ulmer 6238f9a6fb Added fogging for transformed vertices. 2003-02-12 21:26:05 +00:00
Lionel Ulmer 1213c17489 - rewrote a little bit the state magagement to remove the RenderState
stucture and use only the state_block code
 - factorize some code between interface revisions
 - fix some smalls bugs
2003-01-07 23:08:31 +00:00
Lionel Ulmer 76beb5b7ec Factorize the 'ortho' code (will be needed later on). 2003-01-05 20:28:35 +00:00
Lionel Ulmer f89ea6499d - some fixes / optimisations in the color keying code
- minimize at the maximum texture uploads
2003-01-03 21:17:47 +00:00
Christian Costa 4fc7a8495a Beginning of state block.
Initialize the device with the right D3D default values.
Implements GetRenderState, GetTextureStageState and GetLightState.
2003-01-03 21:08:50 +00:00
Lionel Ulmer c064dcf50c - hack for one case of the ProcessVertices case
- some changes in the execute buffer to reuse the new Matrix code
- always reinitialize the enumeration structures in case some games
  modify them
- added support for the (unused) Reserved1 field in the FVF formats
- fix 32 bit texturing and added more checks
- remove some useless and annoying fixme
2003-01-03 21:07:22 +00:00
Lionel Ulmer 0114945b6d - create a function to set the various transformation matrices to
factorize the code between the various code path
- fixed some logging stuff
2003-01-03 21:05:38 +00:00
Lionel Ulmer 5f87d778aa - some additionnal flags logged
- fixes in the vertex buffer thunking + optimized flag support
2003-01-03 19:10:48 +00:00
Lionel Ulmer 4dac4a5580 Added support for per-vertex material properties. 2003-01-02 20:12:16 +00:00
Lionel Ulmer d70a2c0322 - beginning of Material and Light support for D3D7
- new rendering states supported
2003-01-02 20:01:54 +00:00
Lionel Ulmer b07df8a198 - allow application to load palette-less textures
- handle palette change of loaded textures
- some changes in the ExecuteBuffer
2003-01-02 19:59:49 +00:00
Lionel Ulmer bb9837d2a4 - added some tracing in the fake ZBuffer methods
- added support for the DEPTH_FILL BLT
- set by defaut perspective correction to nicest.
- decrease the limit where 'w' is ignored
2003-01-02 19:58:21 +00:00
Lionel Ulmer eb6e830727 Implement GetTransform and rework a bit the matrices storage. 2003-01-02 19:53:43 +00:00
Lionel Ulmer c3d89f5566 - do not use the alpha coordinates when ALPHABLEND is disabled
- disable fogging in the XYZRHW case
- various other small fixes
2003-01-02 19:45:23 +00:00
Lionel Ulmer 8cd2609587 Enable the application to create first textures and then the D3D
device.
2003-01-02 19:39:57 +00:00
Lionel Ulmer 1d97f52fa1 Some clean-ups after the DrawPrimitive rewrite. 2003-01-02 17:57:58 +00:00
Lionel Ulmer 74c3eab255 - actually use the background color when Clear-ing
- replace glOrtho by a hand-built matrix
- fix applications doing SetTransform + using XYZRHW vertices
2002-12-24 01:07:21 +00:00
Lionel Ulmer ee65d59cf6 Fix a memory leak and optimize a little bit the generic path. 2002-12-16 22:57:39 +00:00
Lionel Ulmer dfddf92ecf Supports the ALPHAFUNC and ALPHAREF rendering states. 2002-12-16 22:39:09 +00:00
Lionel Ulmer 91c6f817b9 - rework how texturing is done in the D3D driver
- added the generic path for DrawPrimitive API in D3D 3 / 7
2002-12-15 01:17:59 +00:00
Lionel Ulmer b0350a3f4a Have only one GUID for Wine's OpenGL D3D device. 2002-12-05 19:07:59 +00:00
Lionel Ulmer c5f38756a2 - actually use the VertexBuffer stubs
- implement Lock function to prevent crash when the stubs are used
2002-11-30 19:27:19 +00:00
Lionel Ulmer f4b941e859 Beginning of support for D3D7 / D3DDevice7. 2002-11-30 19:21:42 +00:00
Lionel Ulmer a6e5080296 - some more code sharing between D3DDevice versions
- implementation of D3DFVF_TLVERTEX format fast path
2002-11-30 19:19:00 +00:00
Lionel Ulmer 708c4b244f - fixed D3DFVF_VERTEX case
- some other miscellaneous fixes
2002-11-30 19:12:32 +00:00
Lionel Ulmer 710b86e43e - add implementation for FindDevice function
- some miscellaneous clean-ups / additions
2002-11-24 22:33:41 +00:00
Lionel Ulmer 43c3dc4d33 - Clean up all the D3D COM handling (but the underlaying code is still
as ugly as before).
- Handle properly (ie as on real Windows) negative values in
  rectangles during blitting.
2002-11-21 21:04:16 +00:00
Alexandre Julliard a56a16ee73 Added check for OpenGL. 2002-09-29 18:05:32 +00:00
Christian Costa 427b333391 Fix devices creation broken code. Now, the display and the drawable
are retrieve through GDI escape sequences and stored in the private
data. Add desallocation of the device private data.
2002-09-27 22:01:12 +00:00