-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, Changelog: - currently always use sloaw path as fast path have some problems - fix APIENTRY mismatched value used by gl func pointers (in d3dcore_gl.h) as seen by luchos Regards, Raphael -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE++iQXp7NA3AmQTU4RAgBtAJ9uN9VRHsfFaIh3Aq9syb8DU0I2EQCfRidm pjws/FMHbjLclt7jfvsI1JE= =0OaL -----END PGP SIGNATURE-----
? d3d_compat.h Index: d3d8_main.c =================================================================== RCS file: /home/wine/wine/dlls/d3d8/d3d8_main.c,v retrieving revision 1.8 diff -u -r1.8 d3d8_main.c --- d3d8_main.c 4 Jun 2003 22:45:57 -0000 1.8 +++ d3d8_main.c 25 Jun 2003 22:30:21 -0000 @@ -29,6 +29,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d); +int num_lock = 0; void (*wine_tsx11_lock_ptr)(void) = NULL; void (*wine_tsx11_unlock_ptr)(void) = NULL; Index: d3d8_private.h =================================================================== RCS file: /home/wine/wine/dlls/d3d8/d3d8_private.h,v retrieving revision 1.38 diff -u -r1.38 d3d8_private.h --- d3d8_private.h 18 Jun 2003 03:17:42 -0000 1.38 +++ d3d8_private.h 25 Jun 2003 22:30:28 -0000 @@ -18,8 +18,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef __WINE_D3DX8_PRIVATE_H -#define __WINE_D3DX8_PRIVATE_H +#ifndef __WINE_D3D8_PRIVATE_H +#define __WINE_D3D8_PRIVATE_H #ifndef __WINE_CONFIG_H # error You must include config.h to use this header @@ -49,8 +49,14 @@ extern void (*wine_tsx11_unlock_ptr)(void); /* As GLX relies on X, this is needed */ +extern int num_lock; +#if 0 +#define ENTER_GL() ++num_lock; TRACE("inc lock to: %d\n", num_lock); wine_tsx11_lock_ptr() +#define LEAVE_GL() if (num_lock > 2) TRACE("fucking locks: %d\n", num_lock); --num_lock; wine_tsx11_unlock_ptr() +#else #define ENTER_GL() wine_tsx11_lock_ptr() #define LEAVE_GL() wine_tsx11_unlock_ptr() +#endif #include "d3d8.h" @@ -185,31 +191,6 @@ #include "d3dcore_gl.h" -#define USE_GL_FUNC(type, pfn) type pfn; -typedef struct _GL_Info { - /** - * CAPS Constants - */ - UINT max_lights; - UINT max_textures; - UINT max_clipplanes; - - GL_PSVersion ps_arb_version; - GL_PSVersion ps_nv_version; - - GL_VSVersion vs_arb_version; - GL_VSVersion vs_nv_version; - GL_VSVersion vs_ati_version; - - BOOL supported[30]; - - /** OpenGL EXT and ARB functions ptr */ - GL_EXT_FUNCS_GEN; - /** OpenGL GLX functions ptr */ - GLX_EXT_FUNCS_GEN; - /**/ -} GL_Info; -#undef USE_GL_FUNC #define GL_LIMITS(ExtName) (This->direct3d8->gl_info.max_##ExtName) #define GL_SUPPORT(ExtName) (TRUE == This->direct3d8->gl_info.supported[ExtName]) @@ -252,7 +233,6 @@ * Predeclare the interface implementation structures */ extern ICOM_VTABLE(IDirect3D8) Direct3D8_Vtbl; -extern ICOM_VTABLE(IDirect3D8) mesa_d3d8vt; /***************************************************************************** * IDirect3D implementation structure Index: d3dcore_gl.h =================================================================== RCS file: /home/wine/wine/dlls/d3d8/d3dcore_gl.h,v retrieving revision 1.3 diff -u -r1.3 d3dcore_gl.h --- d3dcore_gl.h 13 Jun 2003 18:09:05 -0000 1.3 +++ d3dcore_gl.h 25 Jun 2003 22:30:28 -0000 @@ -33,8 +33,10 @@ #endif #undef XMD_H +#undef APIENTRY +#define APIENTRY -/******* +/********************************** * OpenGL Extensions (EXT and ARB) * defines and functions pointer */ @@ -143,14 +145,14 @@ #endif -/******* +/********************************* * OpenGL GLX Extensions * defines and functions pointer */ -/******* +/********************************* * OpenGL GLX Official Version * defines and functions pointer */ @@ -176,7 +178,7 @@ typedef void (APIENTRY * PGLXFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask); -/******* +/******************************************** * OpenGL Supported Extensions (ARB and EXT) */ @@ -280,11 +282,10 @@ const void *idxData, int minIndex); -/* Structures required to draw primitives */ - - - +/***************************************** + * Structures required to draw primitives + */ typedef struct Direct3DStridedData { BYTE *lpData; /* Pointer to start of data */ @@ -307,5 +308,32 @@ Direct3DStridedData input[16]; /* Indexed by constants in D3DVSDE_REGISTER */ } DUMMYUNIONNAME; } Direct3DVertexStridedData; + +#define USE_GL_FUNC(type, pfn) type pfn; +typedef struct _GL_Info { + /** + * CAPS Constants + */ + UINT max_lights; + UINT max_textures; + UINT max_clipplanes; + + GL_PSVersion ps_arb_version; + GL_PSVersion ps_nv_version; + + GL_VSVersion vs_arb_version; + GL_VSVersion vs_nv_version; + GL_VSVersion vs_ati_version; + + BOOL supported[30]; + + /** OpenGL EXT and ARB functions ptr */ + GL_EXT_FUNCS_GEN; + /** OpenGL GLX functions ptr */ + GLX_EXT_FUNCS_GEN; + /**/ +} GL_Info; +#undef USE_GL_FUNC + #endif /* __WINE_D3DCORE_GL_H */ Index: drawprim.c =================================================================== RCS file: /home/wine/wine/dlls/d3d8/drawprim.c,v retrieving revision 1.2 diff -u -r1.2 drawprim.c --- drawprim.c 18 Jun 2003 03:17:42 -0000 1.2 +++ drawprim.c 25 Jun 2003 22:30:31 -0000 @@ -1295,7 +1295,7 @@ drawStridedSoftwareVS(iface, &dataLocations, PrimitiveType, NumPrimitives, idxData, idxSize, minIndex, StartIdx); - } else if (/*TRUE ||*/ + } else if (TRUE || (dataLocations.u.s.pSize.lpData != NULL) || (dataLocations.u.s.diffuse.lpData != NULL) || (dataLocations.u.s.blendWeights.lpData != NULL)) {