Commit Graph

949 Commits

Author SHA1 Message Date
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
Alexandre Julliard e969027104 Fixed warnings. 2002-10-02 01:34:17 +00:00
Alexandre Julliard 137eed8d9b Moved X flags and libraries out of Make.rules into the makefiles that
need them.
2002-10-01 18:16:19 +00:00
Christian Costa 8534e08a02 Implement SwapTextureHandles method. 2002-09-30 18:52:06 +00:00
Alexandre Julliard a56a16ee73 Added check for OpenGL. 2002-09-29 18:05:32 +00:00
Christian Costa 92810b90c1 execute: Activate the viewport passed as parameter when executing
buffer.
2002-09-29 18:01:13 +00:00
Christian Costa c3fa405ab7 Implement IDirect3DViewport2_DeleteLight. 2002-09-29 18:00:43 +00:00
Christian Costa 48d8ff42e1 Remove wrong and useless transformation of z projected coordinates.
Add normals world transformation.
2002-09-27 22:01:28 +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
Christian Costa 58e8807a71 Added desallocation of the viewport private data. 2002-09-26 03:20:35 +00:00
Christian Costa 30633659b8 Added allocation/desallocation of the light private data. 2002-09-26 03:20:23 +00:00
Christian Costa 74d0d4c562 Enable creation of our OpenGL Direct3D device from a surface used as
rendering target.
Enable creation of a texture from a surface.
2002-09-26 03:20:07 +00:00
Christian Costa 80be53efee Added support for POINT, WIREFRAME and SOLID fill modes. 2002-09-25 03:18:38 +00:00
Christian Costa 3bfa1fb384 IDirect3DTexture2Impl_Load: when the surface is not allocated and no
location are specified, set it to video memory.
2002-09-25 03:18:17 +00:00
Alexandre Julliard 2c40e29987 Import wine_tsx11_lock/unlock directly from x11drv in opengl32 and
ddraw, so that they don't need to link with libwine_tsx11.
Removed header wine_gl.h.
2002-09-25 00:29:56 +00:00
Alexandre Julliard cea2e825b2 Link all remaining dlls except kernel32 as separated dlls, by
temporarily exporting the few functions that are not properly
separated yet.
2002-09-06 18:51:31 +00:00
Patrik Stridvall d016f819f1 Added include protection for unistd.h and sys/time.h. 2002-08-17 00:43:16 +00:00
Gregg Mattinson 8c9bdcc9e1 Fixes for Sparc build. 2002-08-07 01:18:41 +00:00
Christian Costa afe785c4d5 Initialize the DDCAPS structure of the DDRAW object at creation. 2002-08-06 23:49:46 +00:00
Lionel Ulmer 00b088bc25 Support negative values in RECTs during Blts. 2002-08-03 19:11:55 +00:00
Lionel Ulmer 262cbcdb09 Be less strict on parameter checking in the SetSurfaceDesc function. 2002-08-02 19:10:16 +00:00
Michael Karcher 4ae5380cbb Set the correct length of the struct DDSURFACEDESC. 2002-07-22 20:37:01 +00:00
Ove Kaaven 1af798920c Wait for the asynchronous update thread to complete if the app
requests it. Fixed blit offseting issues in windowed mode.
2002-07-20 20:01:57 +00:00
Gregg Mattinson 8a191ff5b8 Avoid structures or arrays of size 0. 2002-07-19 03:18:05 +00:00
Tony Lambregts 2c5a41b027 Added support DDBLT_DDFX flag in DirectDrawSurface_Blt. 2002-07-16 01:42:47 +00:00
Lionel Ulmer b6051dec93 - DDRAW_SYSTEMMEMORY is handled like OFFSCREENPLAIN for now
- added more logging
2002-07-16 01:16:14 +00:00
Alexandre Julliard a80a814234 Fixed corruption when copying to the same surface (with the help of
Tony Lambregts and Lionel Ulmer).
2002-07-10 23:10:54 +00:00
Ove Kaaven 1d8f92c88c Removed the flags fields of IDirectDrawPaletteImpl, as we should use
the dwFlags field of DDRAWI_DDRAWPALETTE_GBL structure instead.
2002-07-10 03:05:43 +00:00
Ove Kaaven ea20614e39 Handle WM_SYNCPAINT with DefWindowProc. 2002-07-10 03:04:58 +00:00
Gregg Mattinson bac71315d2 Removed non-static structure initializers. 2002-07-03 21:06:58 +00:00
Gregg Mattinson 2e38a17021 Void functions can't return a value, even if it is the return value
from another void function.
2002-07-03 01:20:07 +00:00
Jukka Heinonen 9859606ec8 Disable OWN_WINDOW as it no longer works. 2002-06-28 23:26:57 +00:00
Tony Lambregts fede234ed0 Added support for DDBLT_KEYSRCOVERRIDE/DDBLT_KEYDESTOVERRIDE. 2002-06-28 17:32:25 +00:00
Alexandre Julliard 77afd6c47e Made some more spec file entries optional or unnecessary.
Fixed a few DLLName/DLLFileName mismatches.
2002-06-21 19:15:45 +00:00
Dmitry Timoshkov bf2c7efaa2 Fixed version info. 2002-06-13 23:49:01 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Vincent Béron 6a5ba8fba2 Fixed some more missing \n in traces. 2002-05-29 19:09:54 +00:00
Alexandre Julliard 261e28a775 Removed some unnecessary imports. 2002-05-23 02:46:10 +00:00
Alexandre Julliard 2ab7625934 Removed most imports of ntdll since we no longer import Wine internal
functions from there.
2002-05-17 03:37:12 +00:00
Alexandre Julliard ad53383f9b Added winebuild support for generating a .dbg.c file containing the
debug channels definitions.
Made win32 the default type for spec files.
Ignore C compiler in winebuild so we can simply pass it $(DEFS).
Removed type win32 and debug_channels from spec files.
Fixed winebuild to always generate correct C identifiers (reported by
Vincent Béron).
2002-05-14 20:54:58 +00:00
Alexandre Julliard 67371bcc8d Added -res option to specify resources on winebuild command-line.
Added -exe mode to generate a .spec.c for an exe without having to
provide a .spec.
Removed some no longer needed spec files.
Removed .dll extension in makefiles import specifications.
2002-05-11 23:06:32 +00:00
Alexandre Julliard 32459912dc Moved imports specification from the .spec into the Makefile so that
it can be used on platforms that don't build a .spec.c file.
2002-05-09 00:05:48 +00:00
Alexandre Julliard 5769d1de00 Better support for configure detection of missing types, added check
for ssize_t.
Removed a couple of no longer used portability functions.
Various portability fixes in port.h.
2002-04-26 19:05:15 +00:00
Alexandre Julliard 85cacd8fe9 Removed call to DIB_GetDIBWidthBytes. 2002-03-28 22:25:02 +00:00
Alexandre Julliard c1bfca04e1 Changed builtin dlls file names to make it clear they are not normal
Unix libraries, and install them in $libdir/wine instead of $libdir to
avoid name conflicts in /usr/lib.
2002-03-20 22:19:06 +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
Lionel Ulmer e88edac600 Fix crash in the X11 HAL when setting a NULL palette to a surface. 2002-02-26 00:36:21 +00:00
Patrik Stridvall 57e5784c21 Move __stdcall/__cdecl to the right place. 2002-02-02 18:42:11 +00:00
Patrik Stridvall 74e4d21ebe Avoid wildcards in .cvsignore. 2002-01-29 03:05:12 +00:00
Francois Gouget 5f30ee0651 Comment out/ifdef out unused code and variables. 2002-01-21 23:37:53 +00:00
Alexandre Julliard 193cf50a09 Removed some of the calls to HEAP_strdup* functions. 2002-01-01 00:24:30 +00:00
Andreas Mohr a69c039c80 Documentation update. 2001-12-26 20:40:47 +00:00
François Gouget 1425941e29 Fix the #include order for config.h.
Add #include "config.h" directives where needed.
2001-11-06 20:57:11 +00:00
Jukka Heinonen 2547121843 When a surface becomes primary surface, mark the whole surface damaged. 2001-10-17 17:45:53 +00:00
Francois Gouget e5ddd26dd7 When including config.h, include it first. 2001-10-14 16:18:52 +00:00
Marcus Meissner 34cf5e8463 Return the FOURCC codes set by the HAL driver. 2001-09-14 00:11:52 +00:00
Patrik Stridvall 3c0211f969 Cleanup code that is strange or difficult to parse. 2001-09-11 00:32:32 +00:00
Marcus Meissner 4d2f173ce3 Added dwFlags to lock_update private functions so we can pass
WRITEONLY/READONLY.
Added those flags to the internal Lock() calls.
Only copy the surface from screen to surface if not writeonly.
Restrict blitting between display window and surface to the
locked/unlocked rectangle and the clipwindow section.
Added defines for DDHAL_UNLOCKDATA/DDHAL_LOCKDATA, added calls to HAL
implementation.
2001-09-10 23:12:16 +00:00
Jörg Mayer e5b5af9d66 Fixed a few signed/unsigned and "unsigned < 0 always true" warnings. 2001-08-10 22:49:35 +00:00
Alexandre Julliard e994d5036e Added Interlocked*Pointer functions.
Fixed InterlockedCompareExchange prototype.
2001-08-09 21:21:13 +00:00
Alexandre Julliard 502d83b1d2 Fixed a few problems with DCX_* flags handling. 2001-07-31 00:14:06 +00:00
Alexandre Julliard 4c5b35d6e9 Removed unused DC_FUNCS pointers. 2001-07-28 00:09:07 +00:00
Alexandre Julliard 9dd5b16382 Added missing ntdll imports. 2001-07-27 19:49:49 +00:00
Alexandre Julliard e9dd63ef16 Removed import of x11drv from ddraw. 2001-07-26 21:48:17 +00:00
Alexandre Julliard 1922c72b8a Removed unnecessary inclusion of heap.h. 2001-07-25 00:43:29 +00:00
Alexandre Julliard f899ef07a6 Removed some unnecessary includes. 2001-07-23 00:04:00 +00:00
Alexandre Julliard 6ac3937630 Commented out references to x11drv internals from MESA code. 2001-07-22 23:42:09 +00:00
Dmitry Timoshkov 822429ad55 Fix out of the source tree build (again). 2001-07-19 19:09:33 +00:00
Patrik Stridvall 33929be46f - Made sure that the files that contains the declarations
of implementated functions are included.
- Corrected mismatching prototypes.
- Cleaned up the include section.
2001-07-18 21:04:23 +00:00
Lionel Ulmer aeb92b1ca3 - removed unused OSMesa linking
- removed OSMesa code
2001-07-12 02:46:23 +00:00
Marcus Meissner 6e24312af5 Make (G|S)etClipList not abort, but return DDERR_NOCLIPLIST.
Do not scroll FIXME()s too much.
2001-07-10 19:03:15 +00:00
Patrik Stridvall 3ca9823941 Documentation ordinal fixes. 2001-06-20 23:03:14 +00:00
Patrik Stridvall 8b216b3d02 Documentation ordinal fixes. 2001-06-19 18:20:47 +00:00
Patrik Stridvall d9b9c4c496 Documentation ordinal fixes (using winapi_fixup). 2001-06-11 20:14:43 +00:00
Jason McMullan 238b1de12b More accurate stub of DDRAW:GetFourCCCodes. 2001-05-31 21:31:04 +00:00
Alexandre Julliard c559735bf8 Renamed display to gdi_display where it is used for GDI operations, to
allow supporting multiple X connections.
2001-05-11 00:17:47 +00:00
Francois Gouget e76218dd61 Add '\n' at the end of traces. 2001-05-09 17:31:31 +00:00
Francois Gouget 485cefd02d DDRAW_{XF86DGA2,XVidMode}_Init was moved to dlls/x11drv. 2001-04-27 18:00:33 +00:00
Alexandre Julliard 56a45b2049 Small cleanups. 2001-04-24 23:17:53 +00:00
Alexandre Julliard b735928ba1 Removed a few obsolete files. 2001-04-18 17:41:07 +00:00
Ove Kaaven c14bed35f6 Fix DGA so it works properly again. 2001-04-18 17:40:43 +00:00
Ove Kaaven 71c6984901 Implemented DirectDraw's Hardware Abstraction Layer (HAL) interface.
Disabled DirectDraw's old XVidMode and DGA2 drivers, it now depends on the
display driver (x11drv) HAL implementations of these features.
2001-04-17 17:48:19 +00:00
Ove Kaaven 793bf04e24 Removed the obsolete DIBTexture surface class. 2001-04-17 17:36:44 +00:00
Ove Kaaven fe01f0e7d0 Fill in some more HAL fields. Flip some of them when appropriate.
Allow SetSurfaceDesc to change client memory surface address.
Propagate DIB color table updates to backbuffers too (thanks to
Stephen Clouse).
2001-04-17 17:36:28 +00:00
Ove Kaaven 04b7b7a86d Fill in some DirectDrawPalette HAL fields. 2001-04-17 17:35:57 +00:00
Ove Kaaven 3b7d0928f0 Removed User_DirectDraw_GetCaps. Using Main_DirectDraw_GetCaps instead,
and the User constructor filling in the main capability bits.
2001-04-17 17:35:36 +00:00
Ove Kaaven c33e34cdcf Fill in some of the ddraw HAL fields.
Call the set_exclusive_mode callback when necessary.
Added a Main_DirectDraw_GetCaps method.
Removed references to obsolete DIBTexture surface class.
2001-04-17 17:34:48 +00:00
Ove Kaaven 2043c42cef Implemented gamma control on the DirectDraw primary window.
Ensured that the primary window is created before the constructor returns.
Flag the primary window as transparent so mouse clicks pass through it.
Put the primary window handle into a reserved field for x11drv HAL use.
2001-04-17 17:34:11 +00:00
Ove Kaaven e37b1d31a8 Implemented the IDirectDrawGammaControl interface. 2001-04-16 19:35:18 +00:00
Ove Kaaven 01b9436018 Added ddraw HAL and gamma ramp stuff to implementation structures.
Added a parameter and return value to flip_data and flip_update.
2001-04-16 19:06:13 +00:00
Ove Kaaven 365508512c Add version resource to ddraw.dll, versioned to DirectX 7.0. 2001-04-16 19:04:41 +00:00
Marcus Meissner a1d0bc3914 Actually print the guids in DllGetClassObject(). 2001-04-09 18:32:38 +00:00
Jeff Garzik 3ea0c073f8 Warning fixes. 2001-03-21 20:31:26 +00:00
Ove Kaaven 03dab82c3f Remove obsolete and misleading FIXME. 2001-03-21 03:37:10 +00:00
Andreas Mohr 5b7e1810a1 - correct DDRAW_Convert_DDDEVICEIDENTIFIER_2_To_1 confusion
- fix GetAvailableVidMem ddraw iface copy&paste bug (doh !)
2001-02-14 00:28:02 +00:00
Lionel Ulmer 7dd4c312a4 Allow an application to re-ask for EXCLUSIVE DirectDraw access. 2001-02-12 18:08:53 +00:00
Marcus Meissner c5d2f5efeb Handle differently sized structs by using their dwSize parameters. 2001-02-12 03:43:53 +00:00
Ove Kaaven c2fd62d0ba Fix DGA2 mode setting to use the correct color depth. 2001-02-12 01:20:04 +00:00
Marcus Meissner 9bed6988a4 dvideo.dll forgets to set the DDSD_CAPS flag, just assume it set.
Output more debug info on failure.
2001-01-29 00:31:50 +00:00
Marcus Meissner 15a525973b - Siedler3 appears to have rather limited buffers for device/description
strings and crashes with those long strings. Shortened those strings.
- Also driver needs to be "display" for display devices (some other
  programs rely on that info I seem to remember).
- Fixed DSurface::GetSurfaceDesc to not just blindly copy a
  DDSURFACEDESC2 struct over a smaller DDSURFACEDESC one.
2001-01-28 23:15:17 +00:00
James Juran f4d5fefb0a Add <string.h> to files that needed it. 2001-01-26 20:43:40 +00:00
Patrik Stridvall d5f824b482 Fixed some issues found by winapi_check. 2001-01-25 22:23:08 +00:00
Josh DuBois 87a9ddaa9a Include 'options.h' for a needed prototype. 2001-01-22 19:24:20 +00:00
Marcus Meissner 50af4a381c Fixed an interface cast in DD2->DD7 thunk. 2001-01-15 20:20:50 +00:00
Alexandre Julliard 472d410c8b Added missing WIN_ReleaseWndPtr. 2001-01-13 01:01:35 +00:00
Gavriel State ba3c18df69 Warning fixes. 2001-01-12 23:18:22 +00:00
Alexandre Julliard 67d39034b9 No longer used. 2001-01-11 20:32:45 +00:00
Gavriel State 3f3e8d2957 Reenabled DXGrab option. 2001-01-10 23:55:56 +00:00
Gerald Pfeifer ab75b89a55 Fixed some incorrect format strings. 2001-01-09 21:50:01 +00:00
Marcus Meissner b904063b54 Removed one &, now CoCreateInstance() of ddraw objects works again. 2001-01-07 21:49:00 +00:00
Francois Gouget a1d23f5da6 Removed the 'fn' prefix (i.e. ICOM_FN). 2001-01-04 22:59:48 +00:00
Alexandre Julliard d6c0f9f784 Authors: Andrew Lewycky <andrew@transgaming.com>, Gavriel State <gav@transgaming.com>, Ove Kaaven <ovek@transgaming.com>
Major DirectDraw restructure/reimplementation, using an improved component
object model hierarchy. The implementation currently supports:
- DirectDraw over GDI/USER in a window (using DIBsections and
  asynchronous updates)
- XVidMode
- XF86DGA2
- All DirectDraw interfaces from versions 1 to 7 (at least in theory)
- Hooks for Direct3D interfaces
2001-01-04 22:44:55 +00:00
Marcus Meissner a337437706 IDirectDrawSurface::Blt::SRCCOPY is the default ROP operation, do not
throw error.
2000-12-22 01:39:22 +00:00
Marcus Meissner 34c9f9fb39 Check for NULL before doing IsEqualGUID(). 2000-12-16 20:17:22 +00:00
Marcus Meissner c9afc46efa If DirectDrawCreate gets passed a IDirectDraw{2,4,7} interface, get
this interface and do not use IDirectDraw.
2000-12-14 19:25:36 +00:00
Alexandre Julliard 5be8e7d8e0 Created a small static library in ole/libuuid.a that contains all the
UUID definitions (with the help of Francois Gouget).
2000-12-06 01:50:47 +00:00
Francois Gouget 99acd7dfa3 Use the DUMMYUNIONNAME macros so that the headers can be used in
Winelib.
2000-12-03 03:16:05 +00:00
Alexandre Julliard b2ed2528b4 Finished separation of ole32. 2000-11-30 20:29:30 +00:00
David Elliott ea186796eb Remove libXXXX.so.1.0 lines from .cvsignore files. 2000-11-30 19:57:34 +00:00
Dimitrie O. Paun 529da54394 Require {DECLARE,DEFAULT}_DEBUG_CHANNEL statements to end in a ; 2000-11-27 23:54:25 +00:00
Marcus Meissner e38b41911f Truncate dest blit rectangle down to surface size. 2000-11-27 23:06:36 +00:00
Dimitrie O. Paun 5298812be1 Make sure all files using config.h constants actually #include "config.h" 2000-11-26 04:04:21 +00:00
Francois Gouget f5cea729a6 We must include windef.h before wtypes.h (directly or indirectly). 2000-11-08 05:05:15 +00:00
Alexandre Julliard eb58e1d597 Declare debug channels in all dlls that need them; added imports of
ntdll where necessary.
2000-11-05 04:53:07 +00:00
Andreas Mohr bb84359c41 Avoid division by zero. 2000-11-04 02:55:08 +00:00
Alexandre Julliard 908464d448 Authors: Andreas Mohr <amohr@codeweavers.com>, Dimitrie O. Paun <dimi@cs.toronto.edu>, Patrik Stridvall <ps@leissner.se>
Various warning fixes.
2000-11-01 03:11:12 +00:00
William Waghorn 1e19fe323f xf86vmode_setdisplaymode() wasn't properly saving the 'private' field
of the XF86VidModeModeLine structure.
2000-10-25 21:27:16 +00:00
Patrik Stridvall 135dfd7576 Fixed some warnings. 2000-10-24 01:42:55 +00:00
Marcus Meissner aa10949064 Added some basic IDirectDraw7 interface support, fixed argument count
of IDirectDraw{4,7}_SetDisplayMode defines.
2000-10-23 00:36:45 +00:00
Marcus Meissner 5de0fa127c DirectDrawCreateEx() should already return the interface for the
passed refiid.
2000-10-22 23:47:09 +00:00
Lionel Ulmer c4134c741b Change the width / height parameter on a SetDisplayMode. 2000-10-22 23:46:48 +00:00
Lionel Ulmer cb4ff8c51e Warning fix. 2000-10-17 00:26:37 +00:00
Gerald Pfeifer 1841a2ac08 Remove unused variable orig_mode. 2000-10-15 00:30:16 +00:00
Marcus Meissner c429669791 Return "default" DirectDraw driver if we have at least one driver
registered.
2000-10-15 00:23:09 +00:00
Gerald Pfeifer df47d35e9d Fixed incorrect format string. 2000-10-13 23:08:13 +00:00
Lionel Ulmer 85f4a49c2d Support non-buffered overlays. 2000-10-12 23:09:40 +00:00
Marcus Meissner fad4593a74 Added 16 (565) -> 15 (555) bit depth converter. 2000-10-12 23:05:48 +00:00
Lionel Ulmer a9d3fab147 Implememnted GetFourCCCodes. 2000-10-12 20:50:45 +00:00
Marcus Meissner f71c962872 Enable XF86vmode switching possible for X11 too. 2000-10-12 20:47:42 +00:00
Lionel Ulmer fc67be9a01 Added support for DirectDraw overlays using the XVideo extension. 2000-09-26 00:38:03 +00:00
Gerald Pfeifer 54449ce348 Remove unused local variable in DGA_IDirectDrawSurface4Impl_SetPalette(). 2000-09-18 01:41:26 +00:00
Lionel Ulmer 48455b369a Upgrade also 15bpp to 16bpp surfaces. 2000-09-13 00:00:26 +00:00
Andreas Mohr 20cd9356a8 - fixes debugger output
- get rid of wrong comments
- fix comments
- .spec spelling fix
- improve warning message
2000-09-12 23:40:40 +00:00
Lionel Ulmer 5e14b07961 Fixed DGA / DGA 2 palette creation. 2000-09-12 23:35:17 +00:00
Lionel Ulmer 109066bb8e Do not support DGA when DirectVideo not present. 2000-09-09 19:40:08 +00:00
Alexandre Julliard 94074bc224 Fixed non-OpenGL compile. 2000-08-30 01:51:21 +00:00
Peter Hunnisett 5b6bf34067 Newbie friendly error message for 3D creation failure. 2000-08-29 23:55:26 +00:00
Lionel Ulmer 6e408c4f16 - added ARGB 1555 format
- fixed refcount problem for Add/DeleteAttachedSurface
2000-08-28 19:31:18 +00:00
Lionel Ulmer 6cd85a5816 Fixed the displaying of the FOURCC codes in _dump_pixelformat. 2000-08-25 21:34:09 +00:00
Lionel Ulmer e34191fc6d Change pixel format for 24 BPP surfaces when the DDraw BPP is 32. 2000-08-25 21:31:15 +00:00
James Abbatiello ba0a533669 Don't crash when calling DirectDrawSurface::EnumAttachedSurfaces on a
surface with no attached surfaces.
2000-08-22 20:38:00 +00:00
Alexandre Julliard 2a2321bbca Authors: Alexandre Julliard <julliard@codeweavers.com> (for Corel), Albert den Haan <albertd@corel.com>
Added syslevel locking for GDI operations.
Propagate the changes through the graphics code.
2000-08-19 21:38:55 +00:00
Alexandre Julliard 5ab9d860f2 Removed some unnecessary #includes and dll dependencies. 2000-08-09 22:35:05 +00:00
Alexandre Julliard a007f3364a Moved a few non-standard headers into their respective dlls. 2000-08-09 00:54:58 +00:00
Marcus Meissner 9bc9f5e6df If we are looking for an existing pixmap format, we do not need the
same bitsperpixel (fixes depth 15/bitspixel 16 mode).
2000-08-07 17:09:37 +00:00
Alexandre Julliard bea617be47 Moved GUID definitions to their respective dll. 2000-08-03 04:22:35 +00:00
Marcus Meissner 28816705c6 One of the 24/32 convert color masks was wrong. 2000-08-03 00:22:59 +00:00
Alexandre Julliard 6c9d83aa4c Added imports of user32/gdi32/kernel32 wherever necessary. 2000-08-03 00:04:24 +00:00
Alexandre Julliard 646c562f9c Cleaned up some more USER dependencies. 2000-07-31 23:32:47 +00:00
Marcus Meissner 77e3cd8cd0 No longer crash when running with DirectDraw with a DDClipper in
-desktop mode.
2000-07-29 00:01:30 +00:00
Eric Pouech 67247b2b1d Compilation fixes for OpenGL. 2000-07-23 19:27:21 +00:00
Lionel Ulmer 1434d875ea Detect broken glext.h headers. 2000-07-23 14:23:31 +00:00
Ove Kaaven fddc3e15d8 Added a few C++ operators to Direct3D structures, and made some unions
'nameless'.
2000-07-23 14:19:19 +00:00
Marcus Meissner bfae5c8382 IDirectDraw,IDirectDraw2,IDirectDraw4 fixed up in regard to COM usage. 2000-07-23 13:39:52 +00:00
Lionel Ulmer a8cc5f543e - fix Direct3D support and a lot of warnings
- add support for DDraw in a window (not optimized yet)
- cleans up OpenGL extensions handling for D3D
2000-07-16 14:40:35 +00:00
Marcus Meissner 5d760b1ca8 Check for NULL flipchain and just return the current surface if it
happens.
2000-07-11 22:05:21 +00:00
Marcus Meissner 14a842761d Corrected 24->32 conversion. Still only correct for little endian. 2000-07-08 18:28:57 +00:00
Marcus Meissner 62eedafb4a Removed another bad assert and two no longer needed ones. 2000-07-08 11:43:34 +00:00
Marcus Meissner cbe749f16a Fixed two asserts in Blt(). 2000-06-25 12:50:54 +00:00
Gerald Pfeifer 67263a3ec8 Properly cast arguments to printf to match the intended output. 2000-06-25 12:50:31 +00:00
Marcus Meissner 05fce2cf62 Create xlib ddsurfaces with correct reference counts. 2000-06-24 12:50:08 +00:00
Peter Ganten 3020d1b0be _common_depth_to_pixelformat() returns -1 and not zero, if a mode is
supported.
2000-06-23 16:54:23 +00:00
Marcus Meissner 968580c136 Use correct bpp for the X side of the surface XImages.
Cleaned up Xlib_Surface_Release so it is a bit more readable.
use VirtualAlloc for conversion-programside buffer to simplify
handling.
2000-06-23 16:52:53 +00:00
Marcus Meissner 653d57a22a Dump FourCC correctly, print conversion messages, add reference to
ddraw in DDSurface::GetDDInterface.
2000-06-23 16:50:24 +00:00
Patrik Stridvall 4710be20fe Fixed some warnings. 2000-06-23 15:47:14 +00:00
Alexandre Julliard 6953d6756c For dlls, derive SPEC_SRCS from MODULE and ALTNAMES. 2000-06-20 20:24:14 +00:00
Marcus Meissner 9c51c96c6d Added 24->32 packed pixel mapping support to convert.
Slightly rewrote the conversion initialisation.
2000-06-13 01:06:53 +00:00
Lionel Ulmer 2babd685a4 replaced a DPRINTF by a TRACE 2000-06-12 21:54:00 +00:00
Lionel Ulmer ef275bbb99 Removed the Release in case of error as we do not AddRef anymore. 2000-06-12 01:18:35 +00:00
Ove Kaaven 70b699a1a1 Call TSXFlush after setting DGA palette, so it updates immediately. 2000-06-10 04:24:41 +00:00
Andreas Mohr 2e011a5243 Lots of spelling fixes that accumulated in my tree again, made several
error msgs more verbose, doc updates.
2000-06-01 23:28:25 +00:00
Lionel Ulmer 0761f537ee Install the colormap only if it was created. 2000-05-30 20:05:05 +00:00
Patrik Stridvall 17d1e9e5e2 Fixed issues found by winapi_check. 2000-05-23 23:38:32 +00:00
Ove Kaaven 76ba037559 Made WINE_DirectDraw a decorationless popup window. Fixes mouse
coordinates previously offset by the invisible decorations.
2000-05-23 21:13:33 +00:00
Lionel Ulmer 75f98cfc4c Remove the PRIMARYSURFACE attribute from back buffers. 2000-05-23 04:03:48 +00:00
Lionel Ulmer 79457d818c Initialize the back-buffer with the correct VTable. 2000-05-23 01:21:47 +00:00
Ove Kaaven 561895a937 Made IDirectDrawSurface::SetPalette set the surface's DIBSection color
map to point to the IDirectDrawPalette's own depth conversion color map.
2000-05-18 00:04:10 +00:00
Ove Kaaven 9d0abdbcca Initialize an identity mapping in CreatePalette if no depth conversion
is necessary. Also fixed a warning.
2000-05-18 00:03:36 +00:00
Ove Kaaven d8ba1268b4 Use unsigned int instead of unsigned short in DirectDraw
depth-conversion color map.
2000-05-15 02:34:41 +00:00
Ove Kaaven 270c9fb109 Improved DIBSection support for IDirectDrawSurface::GetDC. 2000-05-14 22:53:51 +00:00
Peter Hunnisett 8c735b9bdb - Added ability to create 3D3 interfaces for Xlib
- Changed DD_OK to D3D_OK in some places for consistency
- Cleaned up some compiler warnings present without DGA2
- Changed order for DirectDrawEnumerateExA to enumerate at least
  what abilities are known rather than bailing on unsupported flags
- Added DirectDrawCreateEx stub
2000-05-13 01:28:49 +00:00
Lionel Ulmer bedf40b58b Added support for OpenGL. 2000-05-12 20:18:14 +00:00
Marcus Meissner b7ed6df279 Number of surface Lock/Unlocks must NOT match, so do NOT use it for
reference counting.
2000-05-09 22:33:12 +00:00
Lionel Ulmer 25b05b1a2f Remove the assertion when there is no source surface. 2000-05-03 17:43:07 +00:00
Alexandre Julliard 1ca9be85f6 Added DECL_GLOBAL_CONSTRUCTOR macro. 2000-05-01 20:25:13 +00:00
Lionel Ulmer 51177f96ba Added DGA2 driver to DirectDraw. 2000-05-01 14:25:49 +00:00
Lionel Ulmer 00d5d77ddc - added thread-safety protection to XListPixmapFormats
- moved pixmap / image format matching ERRs to WARNs
2000-04-29 17:16:53 +00:00
Patrik Stridvall 2941a2126c Compile fix for --without-x. 2000-04-25 20:34:22 +00:00
Marcus Meissner dfee49e3ed Also check for empty GUID in DirectDrawCreate. 2000-04-23 19:53:46 +00:00
Alexandre Julliard 84eb8334da Added some missing import directives. 2000-04-19 16:54:02 +00:00
Patrik Stridvall f0deb8a17e Fixed some issues reported by winapi_check. 2000-04-15 20:44:21 +00:00
Marcus Meissner 35870f95a0 Detypoed X11DRV_EVENT_SetInputMethod. 2000-04-14 14:09:50 +00:00
Francois Gouget aef6b47917 Changed the placement of WINE_UNUSED to make gcc 2.7.2 happy. 2000-04-14 14:06:49 +00:00
Marcus Meissner 8903137cd6 Make DirectDraw compile with DGA2 present. 2000-04-13 15:59:22 +00:00
Marcus Meissner 81a84bb387 Free private structure in Xlib_DDS_Release. 2000-04-11 19:37:50 +00:00
Marcus Meissner 3873f44505 Use d3dexecutebuffer_create only when compiling with MESA. 2000-04-10 13:45:17 +00:00
Marcus Meissner 01cfbaf46e Two left over HeapValidate assertions removed. 2000-04-09 18:39:52 +00:00
Alexandre Julliard c53ceba478 Improved support for Makefiles that need to recurse in subdirectories. 2000-04-09 18:19:59 +00:00
Marcus Meissner 10ad97c838 Restructured DirectDraw. Split into X11 and DGA driver, and multiple
files/dirs for easier maintenance. Cleaned up structs and include
files. Reindented the code. Started the same for Direct3D.  Driver
inclusion now done by using configure/Makefile/ELF constructor tricks.
2000-04-09 14:30:50 +00:00
Alexandre Julliard 9383eb94a7 A few simplifications and optimizations in the x11 driver. 2000-03-25 14:05:06 +00:00
Alexandre Julliard 77d5ebbb37 Link ttydrv and x11drv objects into their respective dll. 2000-03-25 14:03:50 +00:00
Patrik Stridvall fcfacb95a7 Added/fixed some documentation reported by winapi_check. 2000-03-24 20:46:04 +00:00
Alexandre Julliard fe08568a0d Moved command-line option handling out of the X11 driver.
Added support for "--" prefix on options.
Replaced a few X11 command-line options by wine.conf parameters.
2000-03-18 21:56:10 +00:00
Alexandre Julliard ddce652cae Made ddraw and dinput separate dlls. 2000-03-17 16:58:10 +00:00