Roderick Colenbrander : wined3d: texture caps fixes.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Aug 7 07:13:17 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 930a9a1d02daa5c4352c541b1a6ac3decfd64b72
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=930a9a1d02daa5c4352c541b1a6ac3decfd64b72

Author: Roderick Colenbrander <thunderbird2k at gmx.net>
Date:   Sun Aug  6 22:50:40 2006 +0200

wined3d: texture caps fixes.

---

 dlls/wined3d/directx.c |   43 +++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 41 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index f8c7ab5..7da6b9d 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -1839,8 +1839,47 @@ #endif
                                 WINED3DPTFILTERCAPS_MIPNEAREST       |
                                 WINED3DPTFILTERCAPS_NEAREST;
 
-    *pCaps->CubeTextureFilterCaps = 0;
-    *pCaps->VolumeTextureFilterCaps = 0;
+    if (GL_SUPPORT(EXT_TEXTURE_FILTER_ANISOTROPIC)) {
+        *pCaps->TextureFilterCaps |= WINED3DPTFILTERCAPS_MAGFANISOTROPIC |
+                                     WINED3DPTFILTERCAPS_MINFANISOTROPIC;
+    }
+
+    if (GL_SUPPORT(ARB_TEXTURE_CUBE_MAP)) {
+        *pCaps->CubeTextureFilterCaps = WINED3DPTFILTERCAPS_MAGFLINEAR       |
+                                        WINED3DPTFILTERCAPS_MAGFPOINT        |
+                                        WINED3DPTFILTERCAPS_MINFLINEAR       |
+                                        WINED3DPTFILTERCAPS_MINFPOINT        |
+                                        WINED3DPTFILTERCAPS_MIPFLINEAR       |
+                                        WINED3DPTFILTERCAPS_MIPFPOINT        |
+                                        WINED3DPTFILTERCAPS_LINEAR           |
+                                        WINED3DPTFILTERCAPS_LINEARMIPLINEAR  |
+                                        WINED3DPTFILTERCAPS_LINEARMIPNEAREST |
+                                        WINED3DPTFILTERCAPS_MIPLINEAR        |
+                                        WINED3DPTFILTERCAPS_MIPNEAREST       |
+                                        WINED3DPTFILTERCAPS_NEAREST;
+
+        if (GL_SUPPORT(EXT_TEXTURE_FILTER_ANISOTROPIC)) {
+            *pCaps->CubeTextureFilterCaps |= WINED3DPTFILTERCAPS_MAGFANISOTROPIC |
+                                            WINED3DPTFILTERCAPS_MINFANISOTROPIC;
+        }
+    } else
+        *pCaps->CubeTextureFilterCaps = 0;
+
+    if (GL_SUPPORT(EXT_TEXTURE3D)) {
+        *pCaps->VolumeTextureFilterCaps = WINED3DPTFILTERCAPS_MAGFLINEAR       |
+                                          WINED3DPTFILTERCAPS_MAGFPOINT        |
+                                          WINED3DPTFILTERCAPS_MINFLINEAR       |
+                                          WINED3DPTFILTERCAPS_MINFPOINT        |
+                                          WINED3DPTFILTERCAPS_MIPFLINEAR       |
+                                          WINED3DPTFILTERCAPS_MIPFPOINT        |
+                                          WINED3DPTFILTERCAPS_LINEAR           |
+                                          WINED3DPTFILTERCAPS_LINEARMIPLINEAR  |
+                                          WINED3DPTFILTERCAPS_LINEARMIPNEAREST |
+                                          WINED3DPTFILTERCAPS_MIPLINEAR        |
+                                          WINED3DPTFILTERCAPS_MIPNEAREST       |
+                                          WINED3DPTFILTERCAPS_NEAREST;
+    } else
+        *pCaps->VolumeTextureFilterCaps = 0;
 
     *pCaps->TextureAddressCaps =  D3DPTADDRESSCAPS_INDEPENDENTUV |
                                   D3DPTADDRESSCAPS_CLAMP  |




More information about the wine-cvs mailing list