diff options
| author | Ryan Houdek <Sonicadvance1@gmail.com> | 2014-12-18 19:43:12 -0600 |
|---|---|---|
| committer | Ryan Houdek <Sonicadvance1@gmail.com> | 2014-12-18 19:43:12 -0600 |
| commit | 02f22152bedc292101d15fb89856fa89b861bfde (patch) | |
| tree | 76e963ec8fb61c74c672f95cc6a4a2713211501a /Source/Core/VideoBackends/OGL/Render.cpp | |
| parent | c7b809d46b466cabac296d1891f3f5e96cf499a0 (diff) | |
| parent | e7e8a4f1cb3d1c7801c18f4d3ff5cae797d5f5b3 (diff) | |
Merge pull request #1706 from Armada651/line-width
VideoCommon: Merge LineGeometryShader into GeometryShaderGen.
Diffstat (limited to 'Source/Core/VideoBackends/OGL/Render.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/OGL/Render.cpp | 25 |
1 files changed, 6 insertions, 19 deletions
diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp index 9ee86471ff..cc52c47e03 100644 --- a/Source/Core/VideoBackends/OGL/Render.cpp +++ b/Source/Core/VideoBackends/OGL/Render.cpp @@ -476,6 +476,7 @@ Renderer::Renderer() g_Config.backend_info.bSupportsEarlyZ = GLExtensions::Supports("GL_ARB_shader_image_load_store"); g_Config.backend_info.bSupportsBBox = GLExtensions::Supports("GL_ARB_shader_storage_buffer_object"); g_Config.backend_info.bSupportsGSInstancing = GLExtensions::Supports("GL_ARB_gpu_shader5"); + g_Config.backend_info.bSupportsGeometryShaders = (GLExtensions::Version() >= 320); // Desktop OpenGL supports the binding layout if it supports 420pack // OpenGL ES 3.1 supports it implicitly without an extension @@ -498,7 +499,7 @@ Renderer::Renderer() { g_ogl_config.eSupportedGLSLVersion = GLSLES_300; g_ogl_config.bSupportsAEP = false; - g_Config.backend_info.bSupportsStereoscopy = false; + g_Config.backend_info.bSupportsGeometryShaders = false; } else { @@ -506,7 +507,7 @@ Renderer::Renderer() g_ogl_config.bSupportsAEP = GLExtensions::Supports("GL_ANDROID_extension_pack_es31a"); g_Config.backend_info.bSupportsBindingLayout = true; g_Config.backend_info.bSupportsEarlyZ = true; - g_Config.backend_info.bSupportsStereoscopy = g_ogl_config.bSupportsAEP; + g_Config.backend_info.bSupportsGeometryShaders = g_ogl_config.bSupportsAEP; } } else @@ -522,13 +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+ + g_Config.backend_info.bSupportsGeometryShaders = 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+ + g_Config.backend_info.bSupportsGeometryShaders = false; // geometry shaders are only supported on glsl150+ } else { @@ -565,7 +566,7 @@ Renderer::Renderer() bSuccess = false; } - if (g_Config.iStereoMode > 0 && !g_Config.backend_info.bSupportsStereoscopy) + if (g_Config.iStereoMode > 0 && !g_Config.backend_info.bSupportsGeometryShaders) OSD::AddMessage("Stereoscopic 3D isn't supported by your GPU, support for OpenGL 3.2 is required.", 10000); if (!bSuccess) @@ -881,9 +882,6 @@ void Renderer::DrawDebugInfo() GLsizei count = static_cast<GLsizei>(stats.efb_regions.size() * 2*6); glDrawArrays(GL_LINES, 0, count); - // Restore Line Size - SetLineWidth(); - // Clear stored regions stats.efb_regions.clear(); } @@ -1901,17 +1899,6 @@ void Renderer::SetDitherMode() glDisable(GL_DITHER); } -void Renderer::SetLineWidth() -{ - float fratio = xfmem.viewport.wd != 0 ? - ((float)Renderer::GetTargetWidth() / EFB_WIDTH) : 1.0f; - if (bpmem.lineptwidth.linesize > 0) - // scale by ratio of widths - glLineWidth((float)bpmem.lineptwidth.linesize * fratio / 6.0f); - if (GLInterface->GetMode() == GLInterfaceMode::MODE_OPENGL && bpmem.lineptwidth.pointsize > 0) - glPointSize((float)bpmem.lineptwidth.pointsize * fratio / 6.0f); -} - void Renderer::SetSamplerState(int stage, int texindex) { auto const& tex = bpmem.tex[texindex]; |
