summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/Render.cpp
diff options
context:
space:
mode:
authorSonicadvance1 <Sonicadvance1@gmail.com>2014-09-04 18:03:53 -0500
committerSonicadvance1 <Sonicadvance1@gmail.com>2014-09-04 19:03:49 -0500
commite32b2e17711939475c19771edeb619721362eb0a (patch)
treebb1e0c6dfba47e4923eb68976b65c7135d879ccc /Source/Core/VideoBackends/OGL/Render.cpp
parentf9650c52f8f6dcf5bdb78b9e114a100bf83c19b1 (diff)
Work around Intel's failings with with buffer_storage
Diffstat (limited to 'Source/Core/VideoBackends/OGL/Render.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/Render.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp
index 85836f0c11..e350d4df1b 100644
--- a/Source/Core/VideoBackends/OGL/Render.cpp
+++ b/Source/Core/VideoBackends/OGL/Render.cpp
@@ -315,17 +315,22 @@ static void InitDriverInfo()
version = 100*major + 10*minor + release;
}
break;
- case DriverDetails::VENDOR_INTEL: // Happens in OS X
+ case DriverDetails::VENDOR_INTEL: // Happens in OS X/Windows
+ {
sscanf(g_ogl_config.gl_renderer, "Intel HD Graphics %d", &family);
- /*
+#ifdef _WIN32
int glmajor = 0;
int glminor = 0;
int major = 0;
int minor = 0;
int release = 0;
- sscanf(g_ogl_config.gl_version, "%d.%d INTEL-%d.%d.%d", &glmajor, &glminor, &major, &minor, &release);
- version = 10000*major + 1000*minor + release;
- */
+ int revision = 0;
+ // Example version string: '4.3.0 - Build 10.18.10.3907'
+ sscanf(g_ogl_config.gl_version, "%d.%d.0 - Build %d.%d.%d.%d", &glmajor, &glminor, &major, &minor, &release, &revision);
+ version = 100000000 * major + 1000000 * minor + 10000 * release + revision;
+ version /= 10000;
+#endif
+ }
break;
case DriverDetails::VENDOR_NVIDIA:
{