summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/Render.cpp
diff options
context:
space:
mode:
authorJules Blok <jules.blok@gmail.com>2014-10-30 14:56:40 +0100
committerJules Blok <jules.blok@gmail.com>2014-11-23 14:27:38 +0100
commit35342664e3f0196aed528c15dc9fadd00bce50a9 (patch)
tree0ee90410fa9977254055773c40ce950a96132eee /Source/Core/VideoBackends/OGL/Render.cpp
parentf370cb386cccfa56e2ef677a55b27561c8217e7d (diff)
OGL: Disable stereoscopy if the GPU does not support geometry shaders.
Diffstat (limited to 'Source/Core/VideoBackends/OGL/Render.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/Render.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp
index 1a0b7e5708..bd605c2a2b 100644
--- a/Source/Core/VideoBackends/OGL/Render.cpp
+++ b/Source/Core/VideoBackends/OGL/Render.cpp
@@ -507,6 +507,8 @@ Renderer::Renderer()
g_Config.backend_info.bSupportsBindingLayout = true;
g_Config.backend_info.bSupportsEarlyZ = true;
}
+ // TODO: OpenGL ES 3.1 provides the necessary features as extensions.
+ g_Config.backend_info.bSupportsStereoscopy = false;
}
else
{
@@ -521,11 +523,13 @@ Renderer::Renderer()
{
g_ogl_config.eSupportedGLSLVersion = GLSL_130;
g_Config.backend_info.bSupportsEarlyZ = false; // layout keyword is only supported on glsl150+
+ g_Config.backend_info.bSupportsStereoscopy = false; // geometry shaders are only supported on glsl150+
}
else if (strstr(g_ogl_config.glsl_version, "1.40"))
{
g_ogl_config.eSupportedGLSLVersion = GLSL_140;
g_Config.backend_info.bSupportsEarlyZ = false; // layout keyword is only supported on glsl150+
+ g_Config.backend_info.bSupportsStereoscopy = false; // geometry shaders are only supported on glsl150+
}
else
{
@@ -570,6 +574,7 @@ Renderer::Renderer()
if (g_ogl_config.max_samples < 1 || !g_ogl_config.bSupportsMSAA)
g_ogl_config.max_samples = 1;
+ g_Config.VerifyValidity();
UpdateActiveConfig();
OSD::AddMessage(StringFromFormat("Video Info: %s, %s, %s",
@@ -587,7 +592,8 @@ Renderer::Renderer()
g_ogl_config.bSupportsGLBufferStorage ? "" : "BufferStorage ",
g_ogl_config.bSupportsGLSync ? "" : "Sync ",
g_ogl_config.bSupportsMSAA ? "" : "MSAA ",
- g_ogl_config.bSupportSampleShading ? "" : "SSAA "
+ g_ogl_config.bSupportSampleShading ? "" : "SSAA ",
+ g_ActiveConfig.backend_info.bSupportsGSInstancing ? "" : "GSInstancing "
);
s_LastMultisampleMode = g_ActiveConfig.iMultisampleMode;