Commit Graph

663 Commits

Author SHA1 Message Date
James Hawkins fae181b099 Added API documentation for DirectDrawEnumerateEx. 2004-08-30 18:37:17 +00:00
Robert Shearman 9e2e594a1c Implement IDirectDrawClipper_GetClipList for case where we have a
handle to a window.
2004-08-24 20:14:26 +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
Tobias Burnus 998a827370 - Limit number of FIXME()s in Clipper_SetClipList and document
function.
- Document Clipper_GetClipList.
2004-08-23 18:50:14 +00:00
Alexandre Julliard 48c4bb3c31 Get rid of the non-standard ICOM_VTABLE macro. 2004-08-12 23:00:51 +00:00
Christian Costa 479c13b84e Implemented IDirect3DDevice{2,3}::GetLightState.
Fixed traces in execute buffers.
Updated copyright info.
2004-08-06 17:30:44 +00:00
Lionel Ulmer fbf003dd39 - add S3TC support to BltFast (fixes NOLF)
- proper surface unlocking in case of error in the Blt case
2004-08-02 22:21:30 +00:00
Christian Costa 5e6487fe78 Improved IDirect3DViewportImpl_3_2_1_TransformVertices stub. 2004-08-02 18:27:32 +00:00
Christian Costa 0bbe91213d Fixed D3DOP_STATELIGHT opcode.
Implemented _dump_D3DEXECUTEBUFFERDESC.
2004-08-02 18:26:53 +00:00
Christian Costa 9713f651fe Moved libtxc_dxt definitions into ddraw headers. 2004-08-02 18:24:40 +00:00
Lionel Ulmer 5ffe177543 - Fix compilation on boxes without OpenGL installed.
- Print the warning message only once.
2004-08-02 18:24:04 +00:00
Christian Costa eac96b5606 Added native and emulated S3TC support. 2004-07-30 18:54:32 +00:00
Lionel Ulmer c9eb05e560 Better handle the frame-buffer locking case. 2004-07-12 19:47:48 +00:00
Marcus Meissner 42e1216cf5 COPY_COLORKEY_FX: Do not use lvalue casts. 2004-07-06 18:43:10 +00:00
Lionel Ulmer 112c426c47 Move the FPS computation from the D3D code to the common code. 2004-06-04 19:37:16 +00:00
Ivan Leo Murray-Smith 10778aa761 Updated the version info of all DirectX dlls to the version numbers of
DirectX 9.0b for Windows 2000/XP.
2004-05-14 21:37:32 +00:00
Lionel Ulmer d069312de6 Add the possibility to save a snapshot of the backbuffer at
flip-time.
2004-04-12 22:07:33 +00:00
Alexandre Julliard bb133bd596 Fixed a couple of header files ordering issues. 2004-04-07 03:59:41 +00:00
James Perry 7afb399802 Fix handling of D3DBLEND_BOTH* blend modes. 2004-03-27 01:36:26 +00:00
Alexandre Julliard 9e4ed6460c .spec.c files are no longer used for 32-bit dlls. 2004-03-24 03:36:44 +00:00
Christian Costa a501ea73ea Do not return an error when setting a material to NULL.
Fixed access to d3d private data.
2004-03-23 23:02:37 +00:00
Christian Costa bfeca3bff9 Enable creation of a zbuffer in system memory. 2004-03-22 22:57:30 +00:00
Christian Costa 7e51de6ea7 Improve D3D7 compatibility. 2004-03-20 02:33:17 +00:00
Elias Ross 56aca378c1 Added 24-bit color key support in DIB_DirectDrawSurface_BltFast. 2004-03-16 19:41:50 +00:00
Christian Costa 85cbe8213b DD_STRUCT_COPY_BYSIZE: Do not clear more that struct size. 2004-03-16 01:13:29 +00:00
Dmitry Timoshkov 21fc3c8067 CreateDIBSection takes a const pointer to BITMAPINFO. 2004-03-12 19:46:12 +00:00
Alexandre Julliard 05df86a38f Moved more GDI definitions to gdi_private.h.
Get rid of bitmap.h and palette.h.
2004-03-04 20:41:12 +00:00
Alexandre Julliard 589e115233 We no longer use the .exe.spec.c files. 2004-03-02 21:16:37 +00:00
Patrik Stridvall ede82e3055 Fixed some issues found by winapi_check. 2004-02-20 20:19:23 +00:00
Sami Aario d3383740d6 No need to link against the uuid library. 2004-02-16 22:18:59 +00:00
Sami Aario 225f142c8d Added surface tests. 2004-02-16 20:23:58 +00:00
Dmitry Timoshkov cc535b7cce There is no point in specifying both MEM_RESERVE and MEM_COMMIT for
VirtualAlloc.
2004-02-11 23:57:36 +00:00
Lionel Ulmer 2b8281a827 Fix palette deletion issue seen in DungeonKeeper. 2004-01-30 22:58:03 +00:00
Lionel Ulmer 2ae876fadf Fix the Z transform in the XYRZHW case. 2004-01-30 22:57:43 +00:00
Alexandre Julliard 20b4585e3c Only link against libdxguid where necessary. 2004-01-27 00:11:16 +00:00
Francois Gouget 6b6ed724ae Add missing '\n's to debug traces. 2004-01-27 00:01:43 +00:00
Francois Gouget 998cc56773 Add trailing '\n's to ok() calls. 2004-01-20 21:49:35 +00:00
Lionel Ulmer 266223ddf1 Also remove in the D3D code the pedantic check on the GetProcAddress
extension.
2003-12-30 19:13:32 +00:00
Lionel Ulmer 88b928fd0d Limit usage of vertex arrays to correct states. 2003-12-08 21:53:40 +00:00
Lionel Ulmer 1eaee42399 Use vertex arrays when possible. 2003-11-25 00:06:33 +00:00
Lionel Ulmer 63d9cfcf11 Fix some other multi-texturing problems. 2003-11-18 23:20:25 +00:00
Sami Aario f22a4720b5 Added some conformance tests for ddraw. These enumerate some display
modes and then attempt to open them.
2003-11-18 00:12:00 +00:00
Lionel Ulmer a122673ebf Fix graphical corruption on surface lock when multi-texturing is
active.
2003-11-17 20:02:33 +00:00
Lionel Ulmer a39afdd633 Fix parsing of GL version string in X.Y cases. 2003-11-11 20:38:20 +00:00
Lionel Ulmer b6ddd8cadb Better color-keying support. 2003-11-11 00:31:16 +00:00
Lionel Ulmer 4a078c8376 Fix some stupid bug with missing braces. 2003-11-09 01:21:25 +00:00
Christian Costa 4bf5d02c23 Add support for all Z buffer depths that are lower that the current
one.
2003-10-16 19:08:33 +00:00
Christian Costa a03c939a66 Add necessary AddRef/Release stuff to {Set/Get}CurrentViewport.
When changing parameters of a viewport, do the appropriate update if
it is current.
2003-10-14 01:16:42 +00:00
Dimitrie O. Paun fbdfd910c1 Remove SYMBOLFILE and LDDLLFLAGS from Makefiles. 2003-10-11 01:09:15 +00:00
Daniel Marmier 0348649853 Fixed warnings with gcc option "-Wwrite-strings". 2003-10-06 21:03:32 +00:00
Alex Pasadyn bd554e63fc - Add more logging to resolution changes and queries.
- Always enumerate and allow 8, 16, and 32-bit modes.
- Add more default choices to Wine desktop sizes.
- Renamed some variables to make things easier to follow.
2003-09-30 00:31:42 +00:00
Christian Costa 0accacecb2 Small lighting fix. 2003-09-30 00:29:11 +00:00
Dimitrie O. Paun 976483e2a9 Merge documentation/status/directdraw into the ddraw code. 2003-09-27 02:22:56 +00:00
Alex Pasadyn 6c9f813cce Enable resolution changes for older D3D/DDraw applications. 2003-09-16 20:25:02 +00:00
Lionel Ulmer 8c1c276b5b - add ZBuffer write support
- some TRACEing fixes
2003-09-15 20:00:03 +00:00
Lionel Ulmer 6288266a61 Use ddraw_geom in the execute buffer code. 2003-09-15 19:59:19 +00:00
Alexandre Julliard cf52644a1c Removed the A/W constants for builtin cursors, icons and resource
types since they don't exist on Windows, and added typecasts
everywhere instead.
2003-09-10 03:56:47 +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
Alexandre Julliard 864ca06832 winnls.h must not include winbase.h. 2003-08-20 18:22:31 +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 4bc97ce8b4 Report some news caps that were added in DX6. 2003-08-02 00:41:03 +00:00
Alexandre Julliard 20698b22df Make the DllRegisterServer, DllRegisterServerEx, DllUnregisterServer,
DllGetClassObject and DllCanUnloadNow functions private (suggested by
Jon Griffiths).
2003-07-30 03:48:55 +00:00
Lionel Ulmer 1b2f56e62e Fixed the TEXCOORDINDEX code. 2003-07-30 03:40:39 +00:00
Lionel Ulmer 8297fec7d2 Added ddraw_tex to add texture snooping without needing to recompile. 2003-07-30 03:39:58 +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 3057315863 - added a ddraw_fps debug channel
- checked what Windows does on empty surface description
- fix the GetTextureStageStage call
2003-07-26 20:33:23 +00:00
John K. Hohm 97ae1d2139 Implement DllRegisterServer and DllUnregisterServer for ddraw.dll, and
add OleSelfRegister version string.
2003-07-19 03:10:06 +00:00
Lionel Ulmer 08cc0d1c73 - do not forget to set the 'initial_upload_done' flag (to have better
performance)
- better handling of the 'initial' flag for frame-buffer flushes
2003-07-16 23:28:37 +00:00
Francois Gouget 3ca761220a Spelling fixes (s/occured/occurred/ and variants). 2003-07-15 20:53:39 +00:00
Lionel Ulmer 2f34e74ede Some broken games do not put the TEXTURE flags in the surface caps. 2003-07-15 20:45:01 +00:00
Lionel Ulmer ad912cf257 - added fast-path for color-keyed Blts
- fix 565 colour-keying conversion
- properly handles Pitch in colour conversion
- easier and less buggy UNPACK_WIDTH support
2003-07-11 03:50:43 +00:00
Lionel Ulmer 51df9314d8 - fix FPS computation
- some TRACEing fixes
- optimize BltFast locking rectangles
2003-07-08 21:10:01 +00:00
Dmitry Timoshkov 4e1ef0c114 For all DLLs with defined DllMain and which do not require
DLL_THREAD_ATTACH/DLL_THREAD_DETACH notifications, call
DisableThreadLibraryCalls() in order to slightly improve performance
on thread creation/exiting.
2003-06-30 20:53:48 +00:00
Lionel Ulmer 3dfdfbfa6f - some TRACEing fixes
- faster Blt to the framebuffer using texture engine
2003-06-23 03:34:34 +00:00
Francois Gouget 9591836ffb 'sizeof type' is best avoided as it won't always compile (e.g. 'int
main() {return sizeof int;}'). Use 'sizeof(type)' instead.
2003-06-18 19:45:22 +00:00
Lionel Ulmer e10a0fd375 - rewrote the buffer to buffer fast path using Texture engine (much
faster on my NVIDIA hardware)
- small optimizations
2003-06-16 20:22:46 +00:00
Lionel Ulmer c203d68e98 - fix some regressions
- GetDC does not lock in ReadOnly mode as it leads to problems with
  some D3D optimizations
- added a fast Back => Front / Front => Back Blt fast path
2003-06-16 19:41:34 +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 26f51af674 - fixes the COLORFILL case for front-buffer
- some preparations for GL-accelerated Blts
- some small optimizations in the Clear code
2003-06-13 23:17:59 +00:00
Christian Costa 0153a911e4 Fix matrix multiplication. 2003-06-13 18:54:37 +00:00
Lionel Ulmer 8944b25ead Be more stringent in the 'Lock' invalid RECT check. 2003-06-13 16:31:41 +00:00
Lionel Ulmer f0339d222d Fix the BLT COLOR_FILL case. 2003-06-13 16:29:18 +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 e14233ae03 - Viewport hack to get some old D3D1 games to work
- TRACEing fix
2003-06-04 23:39:13 +00:00
Lionel Ulmer 3f61d28661 - small TRACEing fix
- fix bug in texture upload (I wonder how I missed this :-/ )
- improve the D3D1/2 texture mapping modes
2003-06-04 23:38:22 +00:00
Lionel Ulmer ed88304868 - fix (stupid) regressions introduced by last series of patch
- 24 bpp handling for lock / unlock code
- some better checks for AlphaPixel value
- better TRACEing to better catch threading problems
2003-06-04 23:36:48 +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 f683839c13 Fixed a bug in the FrameBuffer => Texture blits. 2003-06-04 23:27:28 +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 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
Yorick Hardy a856019687 Added the D3DTBLEND_DECAL render state. 2003-06-04 21:52:46 +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 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 5d62e55d3d Better handling of pitch set to 0. 2003-05-19 21:38:58 +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 7ebdcb3538 Initialize the dwMipmapCount field even if the application forgets it. 2003-05-11 03:46:53 +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 0955adfc2e Enable branch forward operation in execute buffer. 2003-05-11 03:28: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
Alexandre Julliard f00c46f030 Use a more compatible technique to declare COM interfaces methods,
using Microsoft's STDMETHOD macros instead of the Wine-specific
ICOM_METHOD ones.
2003-04-10 00:19:24 +00:00
Rok Mandeljc ef141f721c Update version info to 8.1. 2003-04-03 23:56:12 +00:00
Alexandre Julliard 114a31a2a8 Take advantage of new winebuild syntax to remove redundant function
names in spec files.
2003-03-20 03:53:12 +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 93a943eecc Add support for 24 bpp to _Blt_ColorFill.
Fix endianness issue in DIB_DirectDrawSurface_Blt.
2003-02-11 21:58:07 +00:00
Alexandre Julliard f8aa3b506c Added -Wpointer-arith gcc flag, and fixed the resulting warnings. 2003-01-23 21:32:35 +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
Christian Costa 6d9630f397 Make D3D1..3 lights code rely on D3D7. 2003-01-20 23:24:05 +00:00
Lionel Ulmer f85759bcc9 Update the 'DIRECTDRAW7' flag according to the interface initialized. 2003-01-13 18:30:47 +00:00
Dan Kegel 0fd521fee3 Change RECT to use LONG to match win32 standard headers and fix format
strings to use %ld for RECT elements.
2003-01-08 21:09:25 +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 2d7c07c7c3 Ignore the LPSURFACE bit if ALLOCONLOAD is set. 2003-01-05 20:28:17 +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 442b235e63 Fix for stupid applications reading some bytes after the end of the
surface memory.
2003-01-02 20:14:24 +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
Christian Costa f78cf542dc Fix IDirect3DVertexBuffer interface.
Implements GetVertexBufferDesc.
Remove some useless FIXME.
2003-01-02 20:02:49 +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 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 f0541aa544 Added some blend states. 2003-01-02 19:56:52 +00:00
Christian Costa eb620386dd Handle more blend states. 2003-01-02 19:56:08 +00:00
Lionel Ulmer 07bcdf40d1 Prevent memory leak in freeing of the VertexBuffer. 2003-01-02 19:54:09 +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 62d4f41ee8 Factorize some code in the texture uploading function. 2003-01-02 19:44:14 +00:00
Lionel Ulmer da66dad0cc Handle texture addressing the D3D7 way. 2003-01-02 19:43:08 +00:00
Lionel Ulmer ffc8344ef2 Prevent lock-up in paletted texture with no palette case. 2003-01-02 19:41:25 +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 3429c3cffe Fix crash in GetAvailableVidMem function when TRACE is activated. 2003-01-02 17:57:39 +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 800cb96bd7 Dump new D3D7 rendering states. 2002-12-24 00:48:21 +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 81ac4adbcb Remove useless FIXMEs since there is nothing to do in BeginScene and
EndScene.
2002-12-24 00:25:55 +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 3542c9c4d5 - fix mipmap texture creation
- some logging improvements
2002-12-23 02:10:31 +00:00
Lionel Ulmer 19ef31e802 - fix small TRACE bug introduced in a previous patch
- add WRAPU / WRAPV warning
2002-12-23 02:09:20 +00:00
Lionel Ulmer f5e1e3beba Have the 'Lock' warning a bit clearer. 2002-12-23 02:04:12 +00:00
Lionel Ulmer f876bf6f67 Report that we do not support compressed texture yet. 2002-12-23 02:03:57 +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 4feb257eed Fix Direct3D2 => Direct3D3 thunk for FindDevice. 2002-12-23 01:34:15 +00:00
Lionel Ulmer 96a24ec8ea Added surface dumping function for debug. 2002-12-19 04:13:46 +00:00
Lionel Ulmer 4943ced93a Fix in another place in the code computing the memory usage. 2002-12-18 02:23:49 +00:00
Lionel Ulmer a62fc661e9 If we support 'non-native' texture format, advertise it. 2002-12-17 04:14:55 +00:00
Lionel Ulmer 6ac84072da - fix bad TRACE
- fixed computation of memory used by a texture
2002-12-16 23:10:27 +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
Christian Costa c301b39005 Improve traces + small fix. 2002-12-16 22:50:30 +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 66aa7e03c4 Add support for the TextureAddress render state. 2002-12-16 22:08:24 +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
Alexandre Julliard dbf8b78acd Added .spec.def files. 2002-12-12 22:04:04 +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
Christian Costa 71e880851b Add support for D3DBLEND_ONE for D3DRENDERSTATE_{DEST/SRC}BLEND. 2002-12-03 22:08:37 +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
Francois Gouget d2667a4ce3 Removed unnecessary HANDLE typecasts. 2002-12-02 18:10:57 +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 2b87b23321 Implemented GetRenderTarget. 2002-11-30 02:20:31 +00:00
Lionel Ulmer 9e94cece22 Added enumeration of ZBuffer format. 2002-11-30 02:20:11 +00:00
Lionel Ulmer 5cb15cda5e Do not forget to AddRef the returned Direct3D interface. 2002-11-30 01:53:44 +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 4941a3aff2 - fix texture snooping (plus adds snoop for 1555 format)
- add texture memory usage tracking
2002-11-27 21:38:28 +00:00
Lionel Ulmer dd738eab07 - Prevent the backbuffer to also have the frontbuffer flag set.
- Log the Locking flags.
- Print symbolic name (if any) of zero values for bit fields (thanks
  Andi).
2002-11-25 02:42:04 +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
Lionel Ulmer 56ab2b3e91 Load OpenGL library dynamically from x11drv. 2002-11-15 04:16:38 +00:00
Lionel Ulmer b103f7b679 Proper logging of DDSCAPS / DDSCAPS2 structures. 2002-11-11 22:23:10 +00:00
Marko Kreen 971f3f3518 Clip bottom coordinates. 2002-11-11 20:26:33 +00:00
Matthew Bloch c9df52c381 Vtable fixes. 2002-11-06 19:53:45 +00:00
Alexandre Julliard 1e1313d54c Made the dll entry point default to DllMain and removed most of the
'init' spec file declarations.
2002-11-04 23:53:41 +00:00
Lionel Ulmer 52b93b6ae4 Additional exported capabilities to please some picky games. 2002-11-04 22:34:25 +00:00
Lionel Ulmer 5ecd8903e2 - only compare the first WORD in the DDSCAPS2 structure if no DX7
- add some TRACEs
2002-11-04 22:34:11 +00:00
Lionel Ulmer f18aec26c4 Augment the DDSCAPS2 dumping routine with new caps. 2002-11-04 22:33:53 +00:00
Lionel Ulmer 0595c0ca07 Add 3D support at the User driver level. 2002-10-19 17:16:00 +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 fe6c281b58 Initialize the DDCAPS structure of the DDRAW object at creation. 2002-10-10 23:27:49 +00:00
Christian Costa ce35cc03a8 Main_DirectDrawSurface_QueryInterface: enable creation of a
IDirect3DTexture2 from a surface.
2002-10-10 23:27:32 +00:00
Lionel Ulmer 1c0a8ac4c0 Added some TRACEs to the ddraw code. 2002-10-10 22:47:02 +00:00