H. Verbeet : wined3d: Add WINED3DTEXOPCAPS flags and use them.
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Feb 15 05:28:04 CST 2007
Module: wine
Branch: master
Commit: ea683407af76935fe626a04e200f09cbe31c587c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ea683407af76935fe626a04e200f09cbe31c587c
Author: H. Verbeet <hverbeet at gmail.com>
Date: Wed Feb 14 23:30:46 2007 +0100
wined3d: Add WINED3DTEXOPCAPS flags and use them.
---
dlls/wined3d/directx.c | 56 ++++++++++++++++++++--------------------
dlls/wined3d/wined3d_private.h | 1 +
include/wine/wined3d_caps.h | 49 +++++++++++++++++++++++++++++++++++
3 files changed, 78 insertions(+), 28 deletions(-)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 398aca0..c2e8522 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -2137,48 +2137,48 @@ static HRESULT WINAPI IWineD3DImpl_GetDeviceCaps(IWineD3D *iface, UINT Adapter,
*pCaps->FVFCaps = D3DFVFCAPS_PSIZE | 0x0008; /* 8 texture coords */
- *pCaps->TextureOpCaps = D3DTEXOPCAPS_ADD |
- D3DTEXOPCAPS_ADDSIGNED |
- D3DTEXOPCAPS_ADDSIGNED2X |
- D3DTEXOPCAPS_MODULATE |
- D3DTEXOPCAPS_MODULATE2X |
- D3DTEXOPCAPS_MODULATE4X |
- D3DTEXOPCAPS_SELECTARG1 |
- D3DTEXOPCAPS_SELECTARG2 |
- D3DTEXOPCAPS_DISABLE;
+ *pCaps->TextureOpCaps = WINED3DTEXOPCAPS_ADD |
+ WINED3DTEXOPCAPS_ADDSIGNED |
+ WINED3DTEXOPCAPS_ADDSIGNED2X |
+ WINED3DTEXOPCAPS_MODULATE |
+ WINED3DTEXOPCAPS_MODULATE2X |
+ WINED3DTEXOPCAPS_MODULATE4X |
+ WINED3DTEXOPCAPS_SELECTARG1 |
+ WINED3DTEXOPCAPS_SELECTARG2 |
+ WINED3DTEXOPCAPS_DISABLE;
if (GL_SUPPORT(ARB_TEXTURE_ENV_COMBINE) ||
GL_SUPPORT(EXT_TEXTURE_ENV_COMBINE) ||
GL_SUPPORT(NV_TEXTURE_ENV_COMBINE4)) {
- *pCaps->TextureOpCaps |= D3DTEXOPCAPS_BLENDDIFFUSEALPHA |
- D3DTEXOPCAPS_BLENDTEXTUREALPHA |
- D3DTEXOPCAPS_BLENDFACTORALPHA |
- D3DTEXOPCAPS_BLENDCURRENTALPHA |
- D3DTEXOPCAPS_LERP |
- D3DTEXOPCAPS_SUBTRACT;
+ *pCaps->TextureOpCaps |= WINED3DTEXOPCAPS_BLENDDIFFUSEALPHA |
+ WINED3DTEXOPCAPS_BLENDTEXTUREALPHA |
+ WINED3DTEXOPCAPS_BLENDFACTORALPHA |
+ WINED3DTEXOPCAPS_BLENDCURRENTALPHA |
+ WINED3DTEXOPCAPS_LERP |
+ WINED3DTEXOPCAPS_SUBTRACT;
}
if (GL_SUPPORT(ATI_TEXTURE_ENV_COMBINE3) ||
GL_SUPPORT(NV_TEXTURE_ENV_COMBINE4)) {
- *pCaps->TextureOpCaps |= D3DTEXOPCAPS_ADDSMOOTH |
- D3DTEXOPCAPS_MULTIPLYADD |
- D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR |
- D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA |
- D3DTEXOPCAPS_BLENDTEXTUREALPHAPM;
+ *pCaps->TextureOpCaps |= WINED3DTEXOPCAPS_ADDSMOOTH |
+ WINED3DTEXOPCAPS_MULTIPLYADD |
+ WINED3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR |
+ WINED3DTEXOPCAPS_MODULATECOLOR_ADDALPHA |
+ WINED3DTEXOPCAPS_BLENDTEXTUREALPHAPM;
}
if (GL_SUPPORT(ARB_TEXTURE_ENV_DOT3))
- *pCaps->TextureOpCaps |= D3DTEXOPCAPS_DOTPRODUCT3;
+ *pCaps->TextureOpCaps |= WINED3DTEXOPCAPS_DOTPRODUCT3;
if (GL_SUPPORT(NV_REGISTER_COMBINERS)) {
- *pCaps->TextureOpCaps |= D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR |
- D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA;
+ *pCaps->TextureOpCaps |= WINED3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR |
+ WINED3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA;
}
-
-
+
+
#if 0
- *pCaps->TextureOpCaps |= D3DTEXOPCAPS_BUMPENVMAP;
+ *pCaps->TextureOpCaps |= WINED3DTEXOPCAPS_BUMPENVMAP;
/* FIXME: Add
- D3DTEXOPCAPS_BUMPENVMAPLUMINANCE
- D3DTEXOPCAPS_PREMODULATE */
+ WINED3DTEXOPCAPS_BUMPENVMAPLUMINANCE
+ WINED3DTEXOPCAPS_PREMODULATE */
#endif
*pCaps->MaxTextureBlendStages = GL_LIMITS(texture_stages);
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index d32d8de..c20532e 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -41,6 +41,7 @@
#include "wined3d_private_types.h"
#include "ddraw.h"
#include "wine/wined3d_interface.h"
+#include "wine/wined3d_caps.h"
#include "wine/wined3d_gl.h"
#include "wine/list.h"
diff --git a/include/wine/wined3d_caps.h b/include/wine/wined3d_caps.h
new file mode 100644
index 0000000..4bf474b
--- /dev/null
+++ b/include/wine/wined3d_caps.h
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2007 Henri Verbeet
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef __WINE_WINED3D_CAPS_H
+#define __WINE_WINED3D_CAPS_H
+
+#define WINED3DTEXOPCAPS_DISABLE 0x00000001
+#define WINED3DTEXOPCAPS_SELECTARG1 0x00000002
+#define WINED3DTEXOPCAPS_SELECTARG2 0x00000004
+#define WINED3DTEXOPCAPS_MODULATE 0x00000008
+#define WINED3DTEXOPCAPS_MODULATE2X 0x00000010
+#define WINED3DTEXOPCAPS_MODULATE4X 0x00000020
+#define WINED3DTEXOPCAPS_ADD 0x00000040
+#define WINED3DTEXOPCAPS_ADDSIGNED 0x00000080
+#define WINED3DTEXOPCAPS_ADDSIGNED2X 0x00000100
+#define WINED3DTEXOPCAPS_SUBTRACT 0x00000200
+#define WINED3DTEXOPCAPS_ADDSMOOTH 0x00000400
+#define WINED3DTEXOPCAPS_BLENDDIFFUSEALPHA 0x00000800
+#define WINED3DTEXOPCAPS_BLENDTEXTUREALPHA 0x00001000
+#define WINED3DTEXOPCAPS_BLENDFACTORALPHA 0x00002000
+#define WINED3DTEXOPCAPS_BLENDTEXTUREALPHAPM 0x00004000
+#define WINED3DTEXOPCAPS_BLENDCURRENTALPHA 0x00008000
+#define WINED3DTEXOPCAPS_PREMODULATE 0x00010000
+#define WINED3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR 0x00020000
+#define WINED3DTEXOPCAPS_MODULATECOLOR_ADDALPHA 0x00040000
+#define WINED3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR 0x00080000
+#define WINED3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA 0x00100000
+#define WINED3DTEXOPCAPS_BUMPENVMAP 0x00200000
+#define WINED3DTEXOPCAPS_BUMPENVMAPLUMINANCE 0x00400000
+#define WINED3DTEXOPCAPS_DOTPRODUCT3 0x00800000
+#define WINED3DTEXOPCAPS_MULTIPLYADD 0x01000000
+#define WINED3DTEXOPCAPS_LERP 0x02000000
+
+#endif /* __WINE_WINED3D_CAPS_H */
More information about the wine-cvs
mailing list