Henri Verbeet : wined3d: Add a separate function for guessing the vendor.
Alexandre Julliard
julliard at winehq.org
Fri Aug 14 08:59:27 CDT 2009
Module: wine
Branch: master
Commit: a1402e06777ef771ab7bfb63dbb4f744bae4357e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a1402e06777ef771ab7bfb63dbb4f744bae4357e
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Fri Aug 14 09:23:21 2009 +0200
wined3d: Add a separate function for guessing the vendor.
---
dlls/wined3d/directx.c | 49 ++++++++++++++++++++++-------------------------
1 files changed, 23 insertions(+), 26 deletions(-)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 0876039..c7e2f04 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -946,6 +946,28 @@ static void fixup_extensions(struct wined3d_gl_info *gl_info, const char *gl_ren
}
}
+static GL_Vendors wined3d_guess_vendor(const char *gl_vendor, const char *gl_renderer)
+{
+ if (strstr(gl_vendor, "NVIDIA"))
+ return VENDOR_NVIDIA;
+
+ if (strstr(gl_vendor, "ATI"))
+ return VENDOR_ATI;
+
+ if (strstr(gl_vendor, "Intel(R)")
+ || strstr(gl_renderer, "Intel(R)")
+ || strstr(gl_vendor, "Intel Inc."))
+ return VENDOR_INTEL;
+
+ if (strstr(gl_vendor, "Mesa")
+ || strstr(gl_vendor, "Tungsten Graphics, Inc."))
+ return VENDOR_MESA;
+
+ FIXME_(d3d_caps)("Received unrecognized GL_VENDOR %s. Returning VENDOR_WINE.\n", debugstr_a(gl_vendor));
+
+ return VENDOR_WINE;
+}
+
/* Context activation is done by the caller. */
static BOOL IWineD3DImpl_FillGLCaps(struct wined3d_gl_info *gl_info)
{
@@ -992,32 +1014,7 @@ static BOOL IWineD3DImpl_FillGLCaps(struct wined3d_gl_info *gl_info)
HeapFree(GetProcessHeap(), 0, gl_renderer);
return FALSE;
}
-
- /* Fill in the GL vendor */
- if (strstr(gl_string, "NVIDIA"))
- {
- gl_info->gl_vendor = VENDOR_NVIDIA;
- }
- else if (strstr(gl_string, "ATI"))
- {
- gl_info->gl_vendor = VENDOR_ATI;
- }
- else if (strstr(gl_string, "Intel(R)")
- || strstr(gl_renderer, "Intel(R)")
- || strstr(gl_string, "Intel Inc."))
- {
- gl_info->gl_vendor = VENDOR_INTEL;
- }
- else if (strstr(gl_string, "Mesa")
- || strstr(gl_string, "Tungsten Graphics, Inc."))
- {
- gl_info->gl_vendor = VENDOR_MESA;
- }
- else
- {
- FIXME_(d3d_caps)("Received unrecognized GL_VENDOR %s. Setting VENDOR_WINE.\n", debugstr_a(gl_string));
- gl_info->gl_vendor = VENDOR_WINE;
- }
+ gl_info->gl_vendor = wined3d_guess_vendor(gl_string, gl_renderer);
TRACE_(d3d_caps)("found GL_VENDOR (%s)->(0x%04x)\n", debugstr_a(gl_string), gl_info->gl_vendor);
/* Parse the GL_VERSION field into major and minor information */
More information about the wine-cvs
mailing list