Commit Graph

814 Commits

Author SHA1 Message Date
Alexandre Julliard
8b3e426821 ddraw: Call DDRAW_ChooseDefaultDriver only on PROCESS_ATTACH. 2006-03-21 15:06:36 +01:00
Alexandre Julliard
db0aabca25 ddraw: Don't crash in d3d test if OpenGL is missing. 2006-03-13 14:19:58 +01:00
Peter Beutner
07fe82dd55 ddraw: Fix transparent Blits on 8bit surfaces.
There are no red/green/blue bitmasks with color depth==8bpp. In that
case always match against the whole byte.
2006-02-27 12:20:21 +01:00
Stefan Dösinger
6e27152c96 ddraw: Small function corrections.
The pPlaneEquation parameter of IDirect3DDevice7::SetClipPlane is not const
IDirect3DDevice2::NextViewport takes an IDirect3DDevice2 interface, not an 
IDirect3DDevice3, the same for IDirect3DDevice::NextViewport.
2006-02-11 20:30:48 +01:00
Stefan Dösinger
531c487807 ddraw: ProcessVertices correction.
Use the texture index to get the texcoord size from the fvf, not the
vertex index.
2006-02-11 20:30:13 +01:00
Lionel Ulmer
00577aa605 ddraw: Better simulate what 'GetVerticalBlankStatus' does on real hardware. 2006-01-16 20:38:08 +01:00
Francois Gouget
8ca1f3fc14 Assorted spelling fixes 2006-01-03 12:10:50 +01:00
Ivan Leo Puoti
3cc9e40c3b ddraw: Fix DirectDrawSurface::QueryInterface crash. 2005-12-21 21:11:54 +01:00
Alexandre Julliard
ae964ac801 Take advantage of the __EXCEPT_PAGE_FAULT macro. 2005-12-16 17:17:57 +01:00
Eric Pouech
8cddd5d2fb Made some functions static. 2005-12-12 11:53:56 +01:00
Rein Klazes
72caaad6cc ddraw: Catch access violations when calling DirectDrawEnumerateProc. 2005-12-05 20:40:42 +01:00
Alexandre Julliard
0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Lionel Ulmer
4665deda9e Use the front buffer palette for DC operations on off-screen buffers. 2005-11-14 12:27:55 +00:00
H. Verbeet
9bf1fe622d Fix the default value for keylow in DIB_DirectDrawSurface_Blt.
Unset DDBLT_DDFX when lpbltfx is NULL / contains no dwDDFX.
2005-11-14 12:27:31 +00:00
Christian Costa
d40302a833 Add DDBLT_DONOTWAIT flag.
Separate DDBLT_WAIT and DDBLT_ASYNC fixme in Blt method.
2005-11-14 11:22:20 +00:00
Francois Gouget
0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Christian Costa
be29e3708b Finish moving d3d[1..3] light code to use d3d7. 2005-10-31 10:05:15 +00:00
Christian Costa
c656dfc39c Enumerate only requested modes by taking into account surface desc
when present.
2005-10-17 08:55:27 +00:00
Christian Costa
85155cc6be Disable depth test when there is no Z buffer attached.
Initialise texture states at creation instead of when tex name is
generated.
2005-10-12 21:05:40 +00:00
Lionel Ulmer
002608224d Add an assert if both arguments to DD_STRUCT_COPY_BYSIZE are equal. 2005-10-10 19:53:37 +00:00
Lionel Ulmer
dfd1153f1d - do not pass private data to the application but a copy of it
- add some more traces
2005-10-10 10:44:23 +00:00
Lionel Ulmer
ef735703e8 - pass a copy of the surface description to the application
- increase the surface reference count when giving the surface pointer
  to the caller
2005-10-10 10:28:05 +00:00
Raphael Junqueira
9e18b7efa9 Don't crash if pDDSD is NULL on DirectDrawSurface::Lock. 2005-10-07 15:01:02 +00:00
Stefan Dösinger
71af04b60c - Add handling for DDSCL_SETFOCUSWINDOW in SetCooperativeLevel.
- Print a fixme for DDSCL_CREATEDEVICEWINDOW  and
  DDSCL_SETDEVICEWINDOW.
- Don't allow DDSCL_EXCLUSIVE without DDSCL_FULLSCREEN.
2005-10-06 12:26:04 +00:00
Alexandre Julliard
7e22be4d84 We are no longer generating .dbg.c files. 2005-09-29 10:35:58 +00:00
Alexandre Julliard
860c4fe7de The clip list is in screen coordinates so we need to map the result of
GetRandomRgn if the Windows version is win9x.
2005-09-27 09:34:24 +00:00
Christian Costa
3d6154aa33 Implement Begin/Vertex/End rendering functions. 2005-09-25 15:18:18 +00:00
Alexandre Julliard
157f974159 Use Get/SetWindowLongPtr to access pointers in the window extra
bytes.
2005-09-12 15:38:56 +00:00
Alexandre Julliard
c6b005ac69 Fixed some more traces to use the right printf format and avoid
typecasts.
2005-09-12 14:12:46 +00:00
Saulius Krasuckas
f1853ba186 - DirectDrawCreateEx fails with Standard VGA Adapter driver.
- IDirect3D7::CreateDevice() returns E_OUTOFMEMORY if a card has no 3D
  acceleration.
2005-08-25 19:19:46 +00:00
Saulius Krasuckas
6b702cc84c Skip testing on IDirect3D7::CreateDevice() failure. 2005-08-23 19:59:35 +00:00
Saulius Krasuckas
328d3107e1 Don't leak a list of visuals (with advice of Jacek Caban). 2005-08-22 18:58:27 +00:00
Maxime Bellengé
cb0a4595ba Fix regression in color keying with RGB mask. 2005-08-22 09:20:51 +00:00
Christian Costa
244762bbcc Take RGB mask into account when doing color keying.
Add corresponding conformance test.
2005-08-17 09:52:56 +00:00
Mike McCormack
b814be9814 Fix gcc 4.0 warnings. 2005-08-11 10:57:47 +00:00
Alexandre Julliard
d37f0abf07 Don't prefix the functions DllCanUnloadNow, DllGetClassObject and
Dll(Un)RegisterServer with the dll name so that the compiler can check
the prototypes.
2005-08-08 17:35:28 +00:00
Francois Gouget
65f2082108 Add missing WINAPI to MSXML_DllGetClassObject().
Standardize the DllGetClassObject() prototypes so they match the MSDN
definition.
2005-08-08 15:04:53 +00:00
Alexandre Julliard
49b7fdcfc0 Removed the broken mmap64 configure check, and moved the
_FILE_OFFSET_BITS define to wine/port.h. Made sure that all files that
need the define include it.
2005-08-03 21:25:10 +00:00
Mike McCormack
82f9c97cbf Warning fixes. 2005-08-01 09:22:26 +00:00
Alexandre Julliard
76ed2835cd Make CONST_VTABLE the default in the Wine source. 2005-07-26 20:10:51 +00:00
Vincent Béron
05b2c1cc81 Remove multiple declarations of the same function, keeping the public
one as reference.
2005-07-24 16:17:28 +00:00
Mike McCormack
2d7ea23868 Interlocked LONG* gcc warning fixes. 2005-07-11 13:21:17 +00:00
Francois Gouget
28dc5a8afc Assorted spelling fixes. 2005-07-11 10:59:41 +00:00
Marcus Meissner
1e3dda640c Make check fails in dlls/ddraw/tests/d3d, because a heap allocate is
fed to wrong size. (sizeof(BOOLEAN) is 1 , but ative_lights is a DWORD
array).
2005-07-03 11:21:32 +00:00
Alexandre Julliard
aa0b9aac0d Sort entry points alphabetically. 2005-06-22 18:38:23 +00:00
Stefan Huehner
9213d56ae0 Make some function static. 2005-06-20 15:35:54 +00:00
Stefan Huehner
ac6f562b52 Fix more -Wstrict-prototypes warnings. 2005-06-20 14:18:03 +00:00
Francois Gouget
6394a15314 Assorted spelling fixes. 2005-06-17 20:59:49 +00:00
Alexandre Julliard
c2d5b444b3 Moved the NONAMELESSUNION/STRUCT macros to wine/test.h so that they
can be used in all the test.
2005-06-13 12:10:54 +00:00
Lionel Ulmer
78e95198cb Support all possible texture coordinates sizes. 2005-06-12 10:43:11 +00:00
Stefan Leichter
ff23e5a916 Make ddraw tests loadable on NT4. 2005-06-09 20:38:21 +00:00
Antoine Chavasse
926e35532c Test cases for the direct3d7 light api. 2005-06-07 21:34:59 +00:00
Antoine Chavasse
b65e790bd3 Rewrote the light management API to allow for an unlimited amount of
lights to be set, and only a subset of them to be enabled.
2005-06-07 21:34:40 +00:00
Christian Costa
69c3e6ff11 Moved d3ddevice and direct3d objects files to ddraw root dir.
Renamed all remaining files.
2005-06-06 15:51:50 +00:00
Christian Costa
8d0480d754 Moved dsurface object files to ddraw root dir. 2005-06-05 17:50:49 +00:00
Christian Costa
96eb47392c Moved ddraw object files to ddraw root dir. 2005-06-04 09:34:54 +00:00
Christian Costa
4dadfc481a Moved clipper and palette objects files to ddraw root dir. 2005-06-03 11:30:11 +00:00
Christian Costa
719187f190 Merged remaining header files in DirectDraw objects folders into
ddraw_private.h.
2005-06-02 10:33:06 +00:00
Christian Costa
b3473bbcf2 Merged d3ddevice/main.h and direct3d/main.h into d3d_private.h.
Fixed Thunk_IDirect3DImpl_2_CreateViewport.
2005-06-01 19:52:25 +00:00
Christian Costa
1c196c5923 Merged convert.c, struct_convert.c and helper.c into ddraw_utils.c. 2005-05-31 09:32:44 +00:00
Antoine Chavasse
477ddd8e4d - Implemented the implicit creation of mipmaps for surfaces that have
DDSCAPS_COMPLEX, DDSCAPS_MIPMAP and for which the mipmap count is
  not specified.
- Implemented test cases for mipmap textures creation.
2005-05-30 11:11:34 +00:00
Dmitry Timoshkov
4625628e67 Make some of the OLE interface vtables const. 2005-05-27 20:17:35 +00:00
Antoine Chavasse
9593c4ea16 Added traces in GetPrivateData and SetPrivateData.
Made SetPrivateData actually store the data from the buffer as well as
its size.
2005-05-23 11:42:40 +00:00
Alexandre Julliard
34fa35dc99 Added rules for building import libraries in the individual dll
makefiles, and added support for building a .def.a static import
library too.
2005-05-09 14:42:30 +00:00
Alexandre Julliard
d62356aa1e Added rules to build import libraries in the individual dll makefiles.
Generate import libraries with the right name right away instead of
using an intermediate .spec.def file.
2005-05-07 12:39:52 +00:00
Lionel Ulmer
ba9ce8c7d6 '0' means 'default refresh rate' and not a real refresh rate of '0'. 2005-05-07 12:17:45 +00:00
Alexandre Julliard
c3116c5e61 Renamed ttydrv and x11drv to winetty.drv and winex11.drv respectively
to follow the namespace conventions and make it clear that they are
drivers and not dlls.
Moved the graphics driver configuration to HKLM\Software\Wine\Drivers.
2005-05-06 19:38:50 +00:00
Marcus Meissner
accf3ee2e6 Fixed 3 memset()s which used the wrong size (too large). 2005-04-25 10:48:38 +00:00
Dylan Taft
14b3729ac3 Set display frequency too in SetDisplayMode. 2005-04-24 17:23:39 +00:00
Matthew Mastracci
11959ba310 Correctly lock and unlock surface for a single-surface Blt() and
BltFast() call.
2005-04-11 14:26:00 +00:00
Lionel Ulmer
acdc84e673 Create the GL texture id at texture-binding time. 2005-04-11 12:51:22 +00:00
Jakob Eriksson
9ed61de9a2 Get rid of HeapAlloc casts. 2005-03-24 21:01:35 +00:00
Christian Costa
967f11dd8d Removed wrong FIXMEs. 2005-03-21 10:28:49 +00:00
Matthew Mastracci
9eead12471 If a FOURCC surface specifies DDSD_PITCH, use that instead of
dwLinearSize.
2005-03-21 10:28:09 +00:00
Jakob Eriksson
d4727291ca SetDisplayMode can return DDERR_UNSUPPORTED. If it does, we shouldn't
try to restore something either.
2005-03-16 19:49:25 +00:00
Paul Vriens
fc1f63d279 Check always if destination surface is locked. 2005-03-10 11:13:11 +00:00
Paul Vriens
327049504b Check for NULL before touching src. 2005-03-09 18:42:35 +00:00
Matthew Mastracci
9cf27b5f1a Added surface locking. 2005-03-07 12:23:34 +00:00
Matthew Mastracci
2565f7311c Add DDCAPS_OVERLAY and DDCAPS_OVERLAYSTRETCH to GetCaps(). 2005-03-07 11:01:10 +00:00
Christian Costa
e64aae00e0 Handle more properly versions for Direct3D and Direct3DDevice
objects.
2005-02-14 11:09:46 +00:00
Raphael Junqueira
52bf5023fb Set default video memory to 64Mb (was 16Mb) as many d3d9 demos use
d3d7 code to get available video memory size (ex ConfigSystem.exe on
d3d9 sdk).
2005-01-27 10:42:24 +00:00
Francois Gouget
87b0906789 Assorted spelling fixes. 2005-01-10 13:29:24 +00:00
Paul Vriens
202b340a51 - use Interlocked* functions in AddRef and Release.
- store the result of the Interlocked functions and use only this.
2005-01-09 17:29:21 +00:00
Eric Pouech
cf1d00bb08 Removed excessive statement (break after return or goto, not useful
break, not needed vars...)
2005-01-09 16:42:53 +00:00
Mike McCormack
4a0f999859 Use CreateEventW in preference to CreateEventA for unnamed events. 2005-01-07 15:40:09 +00:00
Alexandre Julliard
75f87dd43f Get rid of the ThunkData stubs, these are not functions. 2005-01-03 20:47:48 +00:00
Christian Costa
65a4775b30 Handle correctly DDSD_LINEARSIZE flag for FOURCC textures. 2005-01-03 14:41:08 +00:00
Christian Costa
171c9420c2 Fake line sweeping of the monitor. 2004-12-27 17:12:55 +00:00
Michael Stefaniuc
5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Crestez Leonard
f4205ad71f Check for malformed source rect in DIB_DirectDrawSurfact_BltFast, and
return DDERR_INVALID_RECT.
2004-12-21 14:47:35 +00:00
Christian Costa
3bb7f70f6b Enable creation of the RGB device. 2004-12-20 17:08:41 +00:00
Alexandre Julliard
ebe3c529b1 Janitorial: C booleans must not be compared against TRUE. 2004-12-09 14:07:59 +00:00
Dmitry Timoshkov
627260f89e Avoid crashes in ddraw.dll when loading it without x11drv, for
instance from wineprefixcreate in a text mode console.
2004-12-06 16:21:27 +00:00
Eric Pouech
0a258964c2 Const correctness fixes. 2004-11-30 21:38:57 +00:00
Tom Wickline
5c38e1b561 Version resources cleanup. 2004-11-23 13:59:34 +00:00
Christian Costa
0948ed709e Fixed colorkey conversion.
Handle null surface pointer when creating surface.
2004-11-19 18:05:15 +00:00
Francois Gouget
3bb5b093e8 Assorted spelling fixes. 2004-10-22 22:27:51 +00:00
Francois Gouget
486d020c1b Don't define COBJMACROS in objbase.h.
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00
Huw Davies
e8d89cd0f5 Fix a reference leak on failure (spotted by Rob Shearman).
Move some code over to the Interlocked* functions.
2004-09-28 19:19:27 +00:00
Alexandre Julliard
f5f7a1822c Removed some more uses of the non-standard ICOM_THIS macro. 2004-09-08 01:50:37 +00:00
Hans Leidekker
fe442b21f7 Fix signed/unsigned comparison warnings. 2004-09-08 01:23:57 +00:00
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