[core] Disable debugging extension when running on ANGLE over Direct3D

The ANGLE implementation of GL_KHR_debug on Direct3D seems to be broken
leading to a bad_alloc being thrown when running with a debug build, so
disable it in that platform.
This commit is contained in:
Ander Conselvan de Oliveira
2018-08-28 14:32:30 +03:00
parent 1c53dc9ca8
commit 68d463ec28

View File

@@ -127,7 +127,11 @@ void Context::initializeExtensions(const std::function<gl::ProcAddress(const cha
const std::string renderer = reinterpret_cast<const char*>(MBGL_CHECK_ERROR(glGetString(GL_RENDERER)));
Log::Info(Event::General, "GPU Identifier: %s", renderer.c_str());
debugging = std::make_unique<extension::Debugging>(fn);
// Block ANGLE on Direct3D since the debugging extension is causing crashes
if (!(renderer.find("ANGLE") != std::string::npos
&& renderer.find("Direct3D") != std::string::npos)) {
debugging = std::make_unique<extension::Debugging>(fn);
}
// Block Adreno 2xx, 3xx as it crashes on glBuffer(Sub)Data
// Block ARM Mali-T720 (in some MT8163 chipsets) as it crashes on glBindVertexArray