From 667b3d28ee61174201ba1509e5942ff4699d6f04 Mon Sep 17 00:00:00 2001 From: Francisco Zurita Date: Mon, 26 Feb 2018 01:13:56 -0500 Subject: [PATCH] Make some Android checks only apply to PowerVR --- src/Graphics/OpenGLContext/opengl_ContextImpl.cpp | 8 ++++---- src/Graphics/OpenGLContext/opengl_GLInfo.cpp | 2 ++ src/Graphics/OpenGLContext/opengl_GLInfo.h | 1 + 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Graphics/OpenGLContext/opengl_ContextImpl.cpp b/src/Graphics/OpenGLContext/opengl_ContextImpl.cpp index 7141d277..2e82f983 100644 --- a/src/Graphics/OpenGLContext/opengl_ContextImpl.cpp +++ b/src/Graphics/OpenGLContext/opengl_ContextImpl.cpp @@ -142,10 +142,10 @@ void ContextImpl::clearDepthBuffer() CachedDepthMask * depthMask = m_cachedFunctions->getCachedDepthMask(); enableScissor->enable(false); -#ifdef OS_ANDROID - depthMask->setDepthMask(false); - glClear(GL_DEPTH_BUFFER_BIT); -#endif + if (m_glInfo.renderer == Renderer::PowerVR) { + depthMask->setDepthMask(false); + glClear(GL_DEPTH_BUFFER_BIT); + } depthMask->setDepthMask(true); glClear(GL_DEPTH_BUFFER_BIT); diff --git a/src/Graphics/OpenGLContext/opengl_GLInfo.cpp b/src/Graphics/OpenGLContext/opengl_GLInfo.cpp index 38a9f103..036a5305 100644 --- a/src/Graphics/OpenGLContext/opengl_GLInfo.cpp +++ b/src/Graphics/OpenGLContext/opengl_GLInfo.cpp @@ -38,6 +38,8 @@ void GLInfo::init() { renderer = Renderer::VideoCore; else if (strstr((const char*)strRenderer, "Intel") != nullptr) renderer = Renderer::Intel; + else if (strstr((const char*)strRenderer, "PowerVR") != nullptr) + renderer = Renderer::PowerVR; LOG(LOG_VERBOSE, "OpenGL renderer: %s\n", strRenderer); int numericVersion = majorVersion * 10 + minorVersion; diff --git a/src/Graphics/OpenGLContext/opengl_GLInfo.h b/src/Graphics/OpenGLContext/opengl_GLInfo.h index 97681153..966d0311 100644 --- a/src/Graphics/OpenGLContext/opengl_GLInfo.h +++ b/src/Graphics/OpenGLContext/opengl_GLInfo.h @@ -9,6 +9,7 @@ enum class Renderer { Adreno, VideoCore, Intel, + PowerVR, Other };