From 5abc0654b56eb5730b2afbc53d425ec80ede6be4 Mon Sep 17 00:00:00 2001
From: Jason Edmeades <us@the-edmeades.demon.co.uk>
Date: Sat, 19 Apr 2003 20:33:23 +0000
Subject: [PATCH] Correct device capabilites including support in previous
 patch, as well as making the texture operations capabilities more accurate.

---
 dlls/d3d8/directx.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/dlls/d3d8/directx.c b/dlls/d3d8/directx.c
index 6488f4986e7..83811b39aae 100644
--- a/dlls/d3d8/directx.c
+++ b/dlls/d3d8/directx.c
@@ -322,6 +322,9 @@ HRESULT  WINAPI  IDirect3D8Impl_GetDeviceCaps              (LPDIRECT3D8 iface,
     pCaps->CubeTextureFilterCaps = 0;
     pCaps->VolumeTextureFilterCaps = 0;
     pCaps->TextureAddressCaps = D3DPTADDRESSCAPS_BORDER | D3DPTADDRESSCAPS_CLAMP | D3DPTADDRESSCAPS_WRAP;
+#if defined(GL_VERSION_1_3)
+    pCaps->TextureAddressCaps |= D3DPTADDRESSCAPS_MIRROR;
+#endif
     pCaps->VolumeTextureAddressCaps = 0;
 
     pCaps->LineCaps = D3DLINECAPS_TEXTURE | D3DLINECAPS_ZTEST;
@@ -347,7 +350,15 @@ HRESULT  WINAPI  IDirect3D8Impl_GetDeviceCaps              (LPDIRECT3D8 iface,
                          D3DSTENCILCAPS_REPLACE | D3DSTENCILCAPS_ZERO /* | D3DSTENCILCAPS_DECR | D3DSTENCILCAPS_INCR */;
 
     pCaps->FVFCaps = D3DFVFCAPS_PSIZE | 0x80000;
-    pCaps->TextureOpCaps = 0xFFFFFFFF;
+
+    pCaps->TextureOpCaps = D3DTEXOPCAPS_ADD | D3DTEXOPCAPS_ADDSIGNED | D3DTEXOPCAPS_ADDSIGNED2X |
+                           D3DTEXOPCAPS_MODULATE | D3DTEXOPCAPS_MODULATE2X | D3DTEXOPCAPS_MODULATE4X |
+                           D3DTEXOPCAPS_SELECTARG1 | D3DTEXOPCAPS_DOTPRODUCT3 | D3DTEXOPCAPS_DISABLE;
+              /* FIXME: Add D3DTEXOPCAPS_ADDSMOOTH D3DTEXOPCAPS_BLENDCURRENTALPHA D3DTEXOPCAPS_BLENDDIFFUSEALPHA D3DTEXOPCAPS_BLENDFACTORALPHA 
+                            D3DTEXOPCAPS_BLENDTEXTUREALPHA D3DTEXOPCAPS_BLENDTEXTUREALPHAPM D3DTEXOPCAPS_BUMPENVMAP D3DTEXOPCAPS_BUMPENVMAPLUMINANCE 
+                            D3DTEXOPCAPS_LERP D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA 
+                            D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA D3DTEXOPCAPS_MULTIPLYADD 
+                            D3DTEXOPCAPS_PREMODULATE D3DTEXOPCAPS_SELECTARG2 D3DTEXOPCAPS_SUBTRACT */
 
     {
         GLint gl_max;
@@ -653,7 +664,7 @@ HRESULT  WINAPI  IDirect3D8Impl_CreateDevice               (LPDIRECT3D8 iface,
        IDirect3DDevice8Impl_SetViewport((LPDIRECT3DDEVICE8) object, &vp);
     }
 
-    TRACE("(%p,%d)\n", This, Adapter);
+    TRACE("(%p,%d) All defaults now set up, leaving CreateDevice\n", This, Adapter);
     return D3D_OK;
 }
 
-- 
GitLab