Hi, i would like to say "Thanks for your work!" to all wine developers. In past months there was realy big progress in implementation of Direct3D in wine (that part is most important for me) and other parts such Dinput, so I would like to introduce you some more sreenshots from latest Direct3D applications. I will try to post them on official wine website.

To run third benchmark in 3DMark 2005 I used wined3d_3dmark05.diff.txt patch (from H. Verbeet) To run Call of Dutty 2 I used cod2.diff patch (my latest modification of patch against current CVS)

All screenshots are from today CVS 20.02.2007 without patch "[9/10] WineD3D: Use VBOs for index buffers" which caused some regressions.

http://headline.czela.net/Mirek/wine/

or via IP: http://62.240.181.87/Mirek/wine/
diff -Naur wine.old/dlls/wined3d/directx.c wine/dlls/wined3d/directx.c
--- wine.old/dlls/wined3d/directx.c	2007-02-20 02:05:32.000000000 +0100
+++ wine/dlls/wined3d/directx.c	2007-02-20 01:59:01.000000000 +0100
@@ -1857,8 +1857,9 @@
 
     *pCaps->Caps                    = 0;
     *pCaps->Caps2                   = WINED3DCAPS2_CANRENDERWINDOWED |
+				      WINED3DCAPS2_DYNAMICTEXTURES |
                                       WINED3DCAPS2_FULLSCREENGAMMA;
-    *pCaps->Caps3                   = 0;
+    *pCaps->Caps3                   = WINED3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD;
     *pCaps->PresentationIntervals   = WINED3DPRESENT_INTERVAL_IMMEDIATE;
 
     *pCaps->CursorCaps              = 0;
@@ -1886,7 +1887,11 @@
                                       WINED3DPMISCCAPS_CLIPTLVERTS           |
                                       WINED3DPMISCCAPS_CLIPPLANESCALEDPOINTS |
                                       WINED3DPMISCCAPS_MASKZ                 |
-                                      WINED3DPMISCCAPS_BLENDOP;
+				      WINED3DPMISCCAPS_TSSARGTEMP            |
+				      WINED3DPMISCCAPS_FOGANDSPECULARALPHA   |
+				      WINED3DPMISCCAPS_SEPARATEALPHABLEND    |
+				      WINED3DPMISCCAPS_BLENDOP		 |
+				      WINED3DPMISCCAPS_FOGVERTEXCLAMPED;
                                     /* TODO:
                                         WINED3DPMISCCAPS_NULLREFERENCE
                                         WINED3DPMISCCAPS_INDEPENDENTWRITEMASKS
@@ -2266,7 +2271,10 @@
        ------------------------------------------------ */
     if (This->dxVersion > 8) {
         /* d3d9.dll sets D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES here because StretchRects is implemented in d3d9 */
-        *pCaps->DevCaps2                          = WINED3DDEVCAPS2_STREAMOFFSET;
+        *pCaps->DevCaps2                          = WINED3DDEVCAPS2_STREAMOFFSET	|
+						    WINED3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES |
+						    WINED3DDEVCAPS2_PRESAMPLEDDMAPNPATCH |
+						    WINED3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET;
         /* TODO: VS3.0 needs at least D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET */
         *pCaps->MaxNpatchTessellationLevel        = 0;
         *pCaps->MasterAdapterOrdinal              = 0;
diff -Naur wine.old/include/wine/wined3d_types.h wine/include/wine/wined3d_types.h
--- wine.old/include/wine/wined3d_types.h	2007-02-20 02:05:51.000000000 +0100
+++ wine/include/wine/wined3d_types.h	2007-02-20 02:00:10.000000000 +0100
@@ -1577,4 +1577,6 @@
 #define WINED3DCREATE_DISABLE_DRIVER_MANAGEMENT     0x00000100
 #define WINED3DCREATE_ADAPTERGROUP_DEVICE           0x00000200
 
+#define WINED3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD  0x00000020
+
 #endif
---

 dlls/wined3d/directx.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 841e16f..ca3eaaf 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -585,7 +585,7 @@ BOOL IWineD3DImpl_FillGLCaps(IWineD3D *iface, Display* 
display) {
                 glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &gl_max);
                 TRACE_(d3d_caps)(" FOUND: ARB Multitexture support - 
GL_MAX_TEXTURE_UNITS_ARB=%u\n", gl_max);
                 gl_info->supported[ARB_MULTITEXTURE] = TRUE;
-                gl_info->max_textures = min(MAX_TEXTURES, gl_max);
+                gl_info->max_textures = 8;
                 gl_info->max_texture_stages = min(MAX_TEXTURES, gl_max);
                 gl_info->max_samplers = max(gl_info->max_samplers, gl_max);
             } else if (strcmp(ThisExtn, "GL_ARB_texture_cube_map") == 0) {
@@ -2196,7 +2196,7 @@ static HRESULT WINAPI IWineD3DImpl_GetDeviceCaps(IWineD3D 
*iface, UINT Adapter,
     *pCaps->MaxVertexBlendMatrixIndex   = 1;
 
     *pCaps->MaxAnisotropy   = GL_LIMITS(anisotropy);
-    *pCaps->MaxPointSize    = GL_LIMITS(pointsize);
+    *pCaps->MaxPointSize    = 64.0f;
 
 
     *pCaps->VertexProcessingCaps = WINED3DVTXPCAPS_DIRECTIONALLIGHTS |
@@ -2294,7 +2294,8 @@ static HRESULT WINAPI IWineD3DImpl_GetDeviceCaps(IWineD3D 
*iface, UINT Adapter,
         *pCaps->NumSimultaneousRTs = GL_LIMITS(buffers);
 
             
-        *pCaps->StretchRectFilterCaps             = 0;
+        *pCaps->StretchRectFilterCaps             = 
WINED3DPTFILTERCAPS_MINFLINEAR |
+                                                    
WINED3DPTFILTERCAPS_MAGFLINEAR;
         *pCaps->VertexTextureFilterCaps           = 0;
         
         if(*pCaps->VertexShaderVersion == WINED3DVS_VERSION(3,0)) {


Reply via email to