Commit Graph

406 Commits

Author SHA1 Message Date
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