1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-02 09:03:37 +00:00

Disable dual source blending for Adreno, it causes GPU driver crashes

This commit is contained in:
fzurita 2020-11-01 09:12:48 -05:00 committed by Sergey Lipskiy
parent 1b70d5b145
commit d509758b6f

View File

@ -45,6 +45,8 @@ void GLInfo::init() {
LOG(LOG_VERBOSE, "OpenGL vendor: %s", glGetString(GL_VENDOR));
const char * strRenderer = reinterpret_cast<const char *>(glGetString(GL_RENDERER));
bool isAnyAdreno = strstr(strRenderer, "Adreno") != nullptr;
if (std::regex_match(std::string(strRenderer), std::regex("Adreno.*530")))
renderer = Renderer::Adreno530;
else if (std::regex_match(std::string(strRenderer), std::regex("Adreno.*540")) ||
@ -162,7 +164,7 @@ void GLInfo::init() {
ext_fetch = Utils::isExtensionSupported(*this, "GL_EXT_shader_framebuffer_fetch") && !isGLES2 && (!isGLESX || ext_draw_buffers_indexed) && !imageTexturesInterlock;
eglImage = (Utils::isEGLExtensionSupported("EGL_KHR_image_base") || Utils::isEGLExtensionSupported("EGL_KHR_image"));
dual_source_blending = !(isGLESX) || Utils::isExtensionSupported(*this, "GL_EXT_blend_func_extended");
dual_source_blending = !isGLESX || (Utils::isExtensionSupported(*this, "GL_EXT_blend_func_extended") && !isAnyAdreno);
#ifdef OS_ANDROID
eglImage = eglImage &&