Module: wine
Branch: master
Commit: 66d6c7333ca67faca05588960a5fb4be44a17d7f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=66d6c7333ca67faca05588960…
Author: Henri Verbeet <hverbeet(a)codeweavers.com>
Date: Mon Oct 20 15:28:08 2008 +0200
d3d10: Add a debug function for D3D10_DRIVER_TYPE.
---
dlls/d3d10/Makefile.in | 3 ++-
dlls/d3d10/d3d10_main.c | 7 ++-----
dlls/d3d10/d3d10_private.h | 33 +++++++++++++++++++++++++++++++++
dlls/d3d10/utils.c | 43 +++++++++++++++++++++++++++++++++++++++++++
include/Makefile.in | 1 +
include/d3d10.idl | 2 +-
include/d3d10misc.h | 39 +++++++++++++++++++++++++++++++++++++++
7 files changed, 121 insertions(+), 7 deletions(-)
diff --git a/dlls/d3d10/Makefile.in b/dlls/d3d10/Makefile.in
index d9bb511..0acf4c0 100644
--- a/dlls/d3d10/Makefile.in
+++ b/dlls/d3d10/Makefile.in
@@ -7,7 +7,8 @@ IMPORTLIB = d3d10
IMPORTS = dxguid uuid wined3d kernel32
C_SRCS = \
- d3d10_main.c
+ d3d10_main.c \
+ utils.c
RC_SRCS = version.rc
diff --git a/dlls/d3d10/d3d10_main.c b/dlls/d3d10/d3d10_main.c
index 8d80c41..c0a65f4 100644
--- a/dlls/d3d10/d3d10_main.c
+++ b/dlls/d3d10/d3d10_main.c
@@ -20,12 +20,9 @@
*/
#include "config.h"
-#include <stdarg.h>
+#include "wine/port.h"
-#include "windef.h"
-#include "winbase.h"
-#include "winuser.h"
-#include "wine/debug.h"
+#include "d3d10_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(d3d10);
diff --git a/dlls/d3d10/d3d10_private.h b/dlls/d3d10/d3d10_private.h
new file mode 100644
index 0000000..6c6bf12
--- /dev/null
+++ b/dlls/d3d10/d3d10_private.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2008 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_D3D10_PRIVATE_H
+#define __WINE_D3D10_PRIVATE_H
+
+#include "wine/debug.h"
+
+#include "winbase.h"
+#include "winuser.h"
+#include "objbase.h"
+
+#include "d3d10.h"
+
+/* TRACE helper functions */
+const char *debug_d3d10_driver_type(D3D10_DRIVER_TYPE driver_type);
+
+#endif /* __WINE_D3D10_PRIVATE_H */
diff --git a/dlls/d3d10/utils.c b/dlls/d3d10/utils.c
new file mode 100644
index 0000000..461056b
--- /dev/null
+++ b/dlls/d3d10/utils.c
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2008 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
+ *
+ */
+
+#include "config.h"
+#include "wine/port.h"
+
+#include "d3d10_private.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(d3d10);
+
+#define WINE_D3D10_TO_STR(x) case x: return #x
+
+const char *debug_d3d10_driver_type(D3D10_DRIVER_TYPE driver_type)
+{
+ switch(driver_type)
+ {
+ WINE_D3D10_TO_STR(D3D10_DRIVER_TYPE_HARDWARE);
+ WINE_D3D10_TO_STR(D3D10_DRIVER_TYPE_REFERENCE);
+ WINE_D3D10_TO_STR(D3D10_DRIVER_TYPE_NULL);
+ WINE_D3D10_TO_STR(D3D10_DRIVER_TYPE_SOFTWARE);
+ default:
+ FIXME("Unrecognized D3D10_DRIVER_TYPE %#x\n", driver_type);
+ return "unrecognized";
+ }
+}
+
+#undef WINE_D3D10_TO_STR
diff --git a/include/Makefile.in b/include/Makefile.in
index d7e85f4..c70e6db 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -112,6 +112,7 @@ SRCDIR_INCLUDES = \
custcntl.h \
cvconst.h \
d3d.h \
+ d3d10misc.h \
d3d8.h \
d3d8caps.h \
d3d8types.h \
diff --git a/include/d3d10.idl b/include/d3d10.idl
index 032063f..ad90ede 100644
--- a/include/d3d10.idl
+++ b/include/d3d10.idl
@@ -1533,7 +1533,7 @@ interface ID3D10Multithread : IUnknown
BOOL GetMultithreadProtected();
}
-/* TODO: Include "d310misc.h" as soon as it exists */
+cpp_quote("#include <d3d10misc.h>")
/* TODO: Include "d310effect.h" as soon as it exists */
/* TODO: Include "d310shader.h" as soon as it exists */
/* TODO: Include "d310sdklayers.h" as soon as it exists */
diff --git a/include/d3d10misc.h b/include/d3d10misc.h
new file mode 100644
index 0000000..69b8069
--- /dev/null
+++ b/include/d3d10misc.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2008 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 __D3D10MISC_H__
+#define __D3D10MISC_H__
+
+#include "d3d10.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum D3D10_DRIVER_TYPE {
+ D3D10_DRIVER_TYPE_HARDWARE = 0,
+ D3D10_DRIVER_TYPE_REFERENCE = 1,
+ D3D10_DRIVER_TYPE_NULL = 2,
+ D3D10_DRIVER_TYPE_SOFTWARE = 3,
+} D3D10_DRIVER_TYPE;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __D3D10MISC_H__ */