[PATCH 1/1] wined3d: Also check for "Mesa" in GL_VERSION in wined3d_guess_gl_vendor().
Henri Verbeet
hverbeet at codeweavers.com
Mon Jun 12 07:01:43 CDT 2017
The existing checks should be sufficient, but the GL_VERSION one is
potentially more reliable.
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
dlls/wined3d/directx.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 7ad944f..9707f81 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -1761,7 +1761,7 @@ static DWORD wined3d_parse_gl_version(const char *gl_version)
}
static enum wined3d_gl_vendor wined3d_guess_gl_vendor(const struct wined3d_gl_info *gl_info,
- const char *gl_vendor_string, const char *gl_renderer)
+ const char *gl_vendor_string, const char *gl_renderer, const char *gl_version)
{
/* MacOS has various specialities in the extensions it advertises. Some have to be loaded from
* the opengl 1.2+ core, while other extensions are advertised, but software emulated. So try to
@@ -1792,7 +1792,8 @@ static enum wined3d_gl_vendor wined3d_guess_gl_vendor(const struct wined3d_gl_in
|| strstr(gl_vendor_string, "Intel")
|| strstr(gl_renderer, "Mesa")
|| strstr(gl_renderer, "Gallium")
- || strstr(gl_renderer, "Intel"))
+ || strstr(gl_renderer, "Intel")
+ || strstr(gl_version, "Mesa"))
return GL_VENDOR_MESA;
FIXME("Received unrecognized GL_VENDOR %s. Returning GL_VENDOR_UNKNOWN.\n",
@@ -4350,7 +4351,7 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter,
checkGLcall("creating VAO");
}
- gl_vendor = wined3d_guess_gl_vendor(gl_info, gl_vendor_str, gl_renderer_str);
+ gl_vendor = wined3d_guess_gl_vendor(gl_info, gl_vendor_str, gl_renderer_str, gl_version_str);
TRACE("Guessed GL vendor %#x.\n", gl_vendor);
if (!(gpu_description = query_gpu_description(gl_info, &vram_bytes)))
--
2.1.4
More information about the wine-patches
mailing list