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
934d97b56b
Fix texture parameters handling on texture change.
2003-06-04 23:19:14 +00:00
Lionel Ulmer
8352f1f48a
- remove some extraneous saving of the read buffer settings
...
- cleaned-up the GL / device critical section handling
2003-06-04 23:18:24 +00:00
Lionel Ulmer
241d306221
- protect viewport setting with GL lock
...
- no need anymore to flush to FB on execute buffer calling
2003-06-04 23:17:23 +00:00
Lionel Ulmer
f87c54f14f
Some threading fixes (prevents some dead-locks).
2003-06-04 23:16:28 +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
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
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
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
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
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
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
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
Christian Costa
bc2cf94d2f
Reimplemented SwapTextureHandles.
2003-01-02 20:07:05 +00:00
Lionel Ulmer
ae10e9c5aa
- removed some useless WARNs
...
- fixed backface culling and material settings
2003-01-02 20:05:48 +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
825ad05656
Fixed texturing.
2003-01-02 20:00:25 +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
7a025001d3
- implemented GetTexture
...
- semi-stubbed ValidateTexture
- fixed some errors in logging
2003-01-02 19:52:22 +00:00
Lionel Ulmer
6fb7ed8fa7
Added 'blt' and 'bltfast' override functions.
2003-01-02 19:51:25 +00:00
Lionel Ulmer
ce3d96889f
Added 'emulated' VertexBuffer support.
2003-01-02 19:46:46 +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
da66dad0cc
Handle texture addressing the D3D7 way.
2003-01-02 19:43:08 +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
608da067ac
- factorize Clear method between Viewport and Device
...
- some more rendering states handled
2002-12-24 01:03:04 +00:00
Lionel Ulmer
5f78568b53
Support viewports the D3D7 way.
2002-12-24 01:00:45 +00:00
Lionel Ulmer
c40b756021
Added some stencil / D3DDevice7 capabilities.
2002-12-24 00:58:27 +00:00
Lionel Ulmer
90bf1f2ea8
Combine texturing for D3D3 and 7 by thunking 3 to 7.
2002-12-24 00:53:50 +00:00
Lionel Ulmer
8768a6ba27
- factorize the D3D1/2 draw_primitive code with the new strided function
...
- rewrote a little bit this strided function to always use the static
functions
2002-12-24 00:48:03 +00:00
Christian Costa
3da729eab6
Update and clean-up draw_primitive_strided_7.
...
Make draw_primitive_7 based on draw_primitive_strided_7.
2002-12-24 00:25:39 +00:00
Lionel Ulmer
c6f5baac23
- fix returning of capabilities in FindDevice
...
- fill properly some caps according to what OpenGL can do
2002-12-23 02:03:38 +00:00
Lionel Ulmer
a62fc661e9
If we support 'non-native' texture format, advertise it.
2002-12-17 04:14:55 +00:00
Lionel Ulmer
16fcd747af
- revert some optimisations breaking some games
...
- added a new texture format (4444 ARGB)
- fixed the computation of colors
- added new render states and fog support (NOT handled yet for
transformed vertices)
2002-12-16 23:09:23 +00:00
Christian Costa
47b6b94e09
Implemented DrawPrimitiveStrided and DrawIndexPrimitiveStrided.
2002-12-16 23:07:41 +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
8377b9d49b
- fix Twist demo
...
- some clean-ups / traces
2002-12-16 22:48:20 +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
Ove Kaaven
1f5315c80f
Make sure that no files except unknwn.h include wine/obj_base.h
...
directly.
2002-12-05 20:33:07 +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
5261f031a4
- only handle memory allocation for non-already loaded textures
...
- implement GetCaps for D3DDevice7
2002-12-02 21:39:34 +00:00
Christian Costa
2db04157c7
Handle D3DLIGHTSTATE_COLORVERTEX to prevent SetLightState from
...
failing.
2002-12-02 21:11:47 +00:00
Lionel Ulmer
41fcb0bbe4
- implement the texturing the D3D3 way
...
- prepare for multi-texturing support
2002-12-02 18:59:11 +00:00
Christian Costa
0a6c272766
Add D3D capability.
2002-11-30 19:29:20 +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
5f49e78e35
- start of support for device locking / unlocking via glReadPixels /
...
glDrawPixels interface (slow but should be enough for a start)
- implement one vertex case for the D3D3/7 DrawPrimitive functions
- fix a missing \n in a TRACE call
2002-11-30 19:06:52 +00:00
Lionel Ulmer
da0b4dc74e
- fix caps filling to be more in line with what we support
...
- optimize a little bit the DrawPrimitive function
2002-11-30 01:49:08 +00:00
Lionel Ulmer
710b86e43e
- add implementation for FindDevice function
...
- some miscellaneous clean-ups / additions
2002-11-24 22:33:41 +00:00
Christian Costa
774c5f77db
Reenable OpenGL surface's flip method.
...
Reenable execute buffers.
Some bug fixes.
2002-11-24 22:14:40 +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
b34fb35b31
Fixed warnings caused by conversion to -DSTRICT.
2002-10-18 23:48:57 +00:00
Christian Costa
b47c14aef9
Implement OpenGL overriding of surface's flip method.
...
Remove broken code.
2002-10-17 01:20:52 +00:00
Christian Costa
b44822a4a2
Associate texture to the device when GetHandle is called and perform
...
the appropriate AddRef/Release.
Fix 3_3_2 pixel format.
Move some ENTER_GL() calls to the right place.
Fix some FIXME/TRACE calls.
2002-10-16 18:57:52 +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
Vincent Béron
9a62491660
Removed trailing whitespace.
2002-05-31 23:06:46 +00:00
Alexandre Julliard
0799c1a780
Added LGPL standard comment, and copyright notices where necessary.
...
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Francois Gouget
5f30ee0651
Comment out/ifdef out unused code and variables.
2002-01-21 23:37:53 +00:00