Commit Graph

121 Commits

Author SHA1 Message Date
Lionel Ulmer
c312ff950b - do not search for attached surfaces if the texture doesn't have the
MIPMAP flag set
- add GL crit. section support for matrix setting
- support the various BLEND texture operations
2003-06-04 21:53:43 +00:00
Lionel Ulmer
a4d733ae5a - remove fogging too when doing the flush of the frame buffer
- handle dest rect in the Blt DEPTH_FILL case
- fix QueryInterface on the D3D Device
2003-05-22 03:38:22 +00:00
Christian Costa
1392c77d7e Remove all openGL calls in execute buffers and use the Direct3D7 APIs.
Enable retrieving the render target surface of a device through its
QueryInterface method.
Avoid lights updating when a viewport and a device have not been
associated to them.
Clear the Z buffer only when we're asked to by Checking D3DBTL_FILL
flag.
2003-05-20 17:49:40 +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
7b245fa7de Have Lights and Clipplanes transformed properly. 2003-05-20 03:58:01 +00:00
Lionel Ulmer
11b1b94a67 - implement the TFACTOR texture stage state
- support Texture matrices
- various misc. clean-ups
2003-05-20 02:15:24 +00:00
Lionel Ulmer
86f69135c4 Added support for non-full screen viewports and clearing. 2003-05-19 23:03:38 +00:00
Lionel Ulmer
2d27504fc1 Added RGB 32 surface locking (seems to work fine without resorting to
Alpha hacks).
2003-05-19 21:37:50 +00:00
Lionel Ulmer
783b3236f5 Support for device surface locking. 2003-05-17 18:41:26 +00:00
Lionel Ulmer
166750299e Silence some TRACEs to better spot real errors. 2003-05-17 18:30:27 +00:00
Francois Gouget
f803e2a92d Fix miscellaneous spelling errors and typos. 2003-05-13 00:41:57 +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
449f6b212f - added mipmapping support
- added locking for concurrent access to the D3D device
- improved tracing
- added support for most texture combine stages (inspired by the D3D8
  code)
- disable current lock / unlock code pending proper solution
2003-05-11 03:44:53 +00:00
Christian Costa
4ea9589981 Put the device name string on the stack during devices enumeration.
Disable reference enumeration.
2003-05-11 03:28:33 +00:00
Lionel Ulmer
9914a8ec5d - only enumerate 32 bpp ARGB texture format and remove RGBA one
- add support for 32 bpp ARGB texture format
2003-05-08 21:03:57 +00:00
Lionel Ulmer
1279d9a0f4 Actually set the GL context before doing any GL calls. 2003-05-04 02:24:03 +00:00
Alexandre Julliard
69361e08b9 Moved x11drv.h to dlls/x11drv. 2003-04-22 04:05:08 +00:00
Alexandre Julliard
31e78f479e Header files must not include config.h. 2003-04-12 00:06:42 +00:00
Tony Lambregts
2e24a148bf Replace DPRINTF with TRACE. 2003-03-15 00:12:42 +00:00
Lionel Ulmer
68c3a284aa - some Caps clean-up when no OpenGL compiled in
- fix some fonts displaying problems
2003-03-07 20:34:34 +00:00
Lionel Ulmer
19e6bf96e8 Use the dwStartVertex argument in the Draw*PrimitiveVB methods. 2003-02-12 21:40:25 +00:00
Lionel Ulmer
b307e6a77f Change algorithm to detect lighted / unlighted vertices. 2003-02-12 21:36:56 +00:00
Lionel Ulmer
4d09cba51d Handle the COLORVERTEX render state. 2003-02-12 21:35:06 +00:00
Lionel Ulmer
db9b5f74dc Trace after the matrix has been copied, not before. 2003-02-12 21:34:46 +00:00
Lionel Ulmer
dff968b5f3 - fixed GetTransform
- implemented MultiplyTransform
2003-02-12 21:26:28 +00:00
Lionel Ulmer
6238f9a6fb Added fogging for transformed vertices. 2003-02-12 21:26:05 +00:00
Christian Costa
f21887f431 Fix comment in ZfromZproj.
Fix missing path in lighting code.
Move some OpenGL fog init to the right place.
2003-02-12 01:11:17 +00:00
Christian Costa
3268097dcd Implemented IDirect3DDevice7_Load. 2003-02-12 01:10:03 +00:00
Christian Costa
a49cc9e4e1 Implement vertex and pixel fog.
Fix fog color initialization.
2003-01-23 01:21:50 +00:00
Christian Costa
820b8ca0e8 Handle more light states. 2003-01-20 23:27:08 +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
Dimitrie O. Paun
297f3d898d Define NONAMELESS{STRUCT,UNION} explicitly in the files that need them. 2003-01-07 20:36:20 +00:00
Christoph Frick
7f4cb0621b Implementation of (Get|Set)ClipPlane for d3d7. 2003-01-07 19:42:26 +00:00
Lionel Ulmer
76beb5b7ec Factorize the 'ortho' code (will be needed later on). 2003-01-05 20:28:35 +00:00
Lionel Ulmer
07f1269302 - fix in the GetHandle method
- factorize some code between D3D1/2/3 and D3D7
- fix reference counting for palettes
2003-01-05 01:04:55 +00:00
Lionel Ulmer
330a1b5f2d Enable Z buffer by default. 2003-01-03 22:32:30 +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
Lionel Ulmer
cec93d0abd - re-activate the color-keying code
- fix yet again texture enumeration to please all games :-/
2003-01-03 21:16:03 +00:00
Christian Costa
b110a96226 Reenable device's default render states initialization. 2003-01-03 21:10:11 +00:00
Lionel Ulmer
e51b007088 Fix order of texture enumeration to fix yet another set of dumb games. 2003-01-03 21:09:25 +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
74c95ec008 - more thunking in the D3DVertexBuffer COM object
- added 'support' for GetInfo
2003-01-03 21:04:12 +00:00
Lionel Ulmer
d0f1569218 - light improvements
- misc. fixes
2003-01-03 21:03:15 +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
00a3d5f3f8 - added enumeration of the Reference device (some games seems to need
it to work and they want it enumerated first..)
- some comments about potential problems with Z masking
2003-01-02 20:13:47 +00:00
Lionel Ulmer
4dac4a5580 Added support for per-vertex material properties. 2003-01-02 20:12:16 +00:00