Henri Verbeet : d3d10: Add the ID3D10EffectType interface.

Alexandre Julliard julliard at winehq.org
Wed Feb 25 09:22:41 CST 2009


Module: wine
Branch: master
Commit: 75d2c807d61a5db79ee7c08b8f33b1ecb8381527
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=75d2c807d61a5db79ee7c08b8f33b1ecb8381527

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Wed Feb 25 08:39:01 2009 +0100

d3d10: Add the ID3D10EffectType interface.

---

 include/Makefile.in   |    2 +
 include/d3d10.idl     |    6 ++--
 include/d3d10effect.h |   54 +++++++++++++++++++++++++++++++++++++
 include/d3d10shader.h |   70 +++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 129 insertions(+), 3 deletions(-)

diff --git a/include/Makefile.in b/include/Makefile.in
index 5411cc0..f3dc4ff 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -121,7 +121,9 @@ SRCDIR_INCLUDES = \
 	custcntl.h \
 	cvconst.h \
 	d3d.h \
+	d3d10effect.h \
 	d3d10misc.h \
+	d3d10shader.h \
 	d3d8.h \
 	d3d8caps.h \
 	d3d8types.h \
diff --git a/include/d3d10.idl b/include/d3d10.idl
index ad90ede..6205917 100644
--- a/include/d3d10.idl
+++ b/include/d3d10.idl
@@ -1533,7 +1533,7 @@ interface ID3D10Multithread : IUnknown
         BOOL GetMultithreadProtected();
 }
 
-cpp_quote("#include <d3d10misc.h>")
-/* TODO: Include "d310effect.h" as soon as it exists */
-/* TODO: Include "d310shader.h" as soon as it exists */
+cpp_quote("#include \"d3d10misc.h\"")
+cpp_quote("#include \"d3d10shader.h\"")
+cpp_quote("#include \"d3d10effect.h\"")
 /* TODO: Include "d310sdklayers.h" as soon as it exists */
diff --git a/include/d3d10effect.h b/include/d3d10effect.h
new file mode 100644
index 0000000..2ebca68
--- /dev/null
+++ b/include/d3d10effect.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009 Henri Verbeet for CodeWeavers
+ *
+ * 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_D3D10EFFECT_H
+#define __WINE_D3D10EFFECT_H
+
+#include "d3d10.h"
+
+typedef struct _D3D10_EFFECT_TYPE_DESC
+{
+    LPCSTR TypeName;
+    D3D10_SHADER_VARIABLE_CLASS Class;
+    D3D10_SHADER_VARIABLE_TYPE Type;
+    UINT Elements;
+    UINT Members;
+    UINT Rows;
+    UINT Columns;
+    UINT PackedSize;
+    UINT UnpackedSize;
+    UINT Stride;
+} D3D10_EFFECT_TYPE_DESC;
+
+DEFINE_GUID(IID_ID3D10EffectType, 0x4e9e1ddc, 0xcd9d, 0x4772, 0xa8, 0x37, 0x00, 0x18, 0x0b, 0x9b, 0x88, 0xfd);
+
+#define INTERFACE ID3D10EffectType
+DECLARE_INTERFACE(ID3D10EffectType)
+{
+    STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+    STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_TYPE_DESC *desc) PURE;
+    STDMETHOD_(struct ID3D10EffectType *, GetMemberTypeByIndex)(THIS_ UINT index) PURE;
+    STDMETHOD_(struct ID3D10EffectType *, GetMemberTypeByName)(THIS_ LPCSTR name) PURE;
+    STDMETHOD_(struct ID3D10EffectType *, GetMemberTypeBySemantic)(THIS_ LPCSTR semantic) PURE;
+    STDMETHOD_(LPCSTR, GetMemberName)(THIS_ UINT index) PURE;
+    STDMETHOD_(LPCSTR, GetMemberSemantic)(THIS_ UINT index) PURE;
+};
+#undef INTERFACE
+
+#endif /* __WINE_D3D10EFFECT_H */
diff --git a/include/d3d10shader.h b/include/d3d10shader.h
new file mode 100644
index 0000000..8564c03
--- /dev/null
+++ b/include/d3d10shader.h
@@ -0,0 +1,70 @@
+/*
+ * Copyright 2009 Henri Verbeet for CodeWeavers
+ *
+ * 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_D3D10SHADER_H
+#define __WINE_D3D10SHADER_H
+
+#include "d3d10.h"
+
+typedef enum _D3D10_SHADER_VARIABLE_CLASS
+{
+    D3D10_SVC_SCALAR,
+    D3D10_SVC_VECTOR,
+    D3D10_SVC_MATRIX_ROWS,
+    D3D10_SVC_MATRIX_COLUMNS,
+    D3D10_SVC_OBJECT,
+    D3D10_SVC_STRUCT,
+    D3D10_SVC_FORCE_DWORD = 0x7fffffff
+} D3D10_SHADER_VARIABLE_CLASS, *LPD3D10_SHADER_VARIABLE_CLASS;
+
+typedef enum _D3D10_SHADER_VARIABLE_TYPE
+{
+    D3D10_SVT_VOID = 0,
+    D3D10_SVT_BOOL = 1,
+    D3D10_SVT_INT = 2,
+    D3D10_SVT_FLOAT = 3,
+    D3D10_SVT_STRING = 4,
+    D3D10_SVT_TEXTURE = 5,
+    D3D10_SVT_TEXTURE1D = 6,
+    D3D10_SVT_TEXTURE2D = 7,
+    D3D10_SVT_TEXTURE3D = 8,
+    D3D10_SVT_TEXTURECUBE = 9,
+    D3D10_SVT_SAMPLER = 10,
+    D3D10_SVT_PIXELSHADER = 15,
+    D3D10_SVT_VERTEXSHADER = 16,
+    D3D10_SVT_UINT = 19,
+    D3D10_SVT_UINT8 = 20,
+    D3D10_SVT_GEOMETRYSHADER = 21,
+    D3D10_SVT_RASTERIZER = 22,
+    D3D10_SVT_DEPTHSTENCIL = 23,
+    D3D10_SVT_BLEND = 24,
+    D3D10_SVT_BUFFER = 25,
+    D3D10_SVT_CBUFFER = 26,
+    D3D10_SVT_TBUFFER = 27,
+    D3D10_SVT_TEXTURE1DARRAY = 28,
+    D3D10_SVT_TEXTURE2DARRAY = 29,
+    D3D10_SVT_RENDERTARGETVIEW = 30,
+    D3D10_SVT_DEPTHSTENCILVIEW = 31,
+    D3D10_SVT_TEXTURE2DMS = 32,
+    D3D10_SVT_TEXTURE2DMSARRAY = 33,
+    D3D10_SVT_TEXTURECUBEARRAY = 34,
+    D3D10_SVT_FORCE_DWORD = 0x7fffffff
+} D3D10_SHADER_VARIABLE_TYPE, *LPD3D10_SHADER_VARIABLE_TYPE;
+
+#endif /* __WINE_D3D10SHADER_H */




More information about the wine-cvs mailing list