[05/10] wined3d: Add WINED3DTEXOPCAPS flags and use them
H. Verbeet
hverbeet at gmail.com
Wed Feb 14 16:30:46 CST 2007
Changelog:
- Add WINED3DTEXOPCAPS flags and use them
-------------- next part --------------
---
dlls/wined3d/directx.c | 52 ++++++++++++++++++++--------------------
dlls/wined3d/wined3d_private.h | 1 +
include/wine/wined3d_caps.h | 49 ++++++++++++++++++++++++++++++++++++++
3 files changed, 76 insertions(+), 26 deletions(-)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 7e2fc05..360f8f3 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -2130,48 +2130,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 6111f53..5bc141e 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-patches
mailing list