From 4c76d3083ac8a3a702559473e669e2cadb35c642 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Thu, 28 Nov 2013 15:47:12 +0100 Subject: Enable broken IBO fallback for Hisilicon Immersion 16 GPU This GPU is on the Huawei Ascend D1 and exhibits crashes in glDrawElements() when rendering scenegraph when the workaround is not turned on. Change-Id: Ic601d34c01e34faaa091a631cfed74c3601c9c43 Reviewed-by: Gunnar Sletta --- src/quick/scenegraph/qsgcontext.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/quick/scenegraph/qsgcontext.cpp') diff --git a/src/quick/scenegraph/qsgcontext.cpp b/src/quick/scenegraph/qsgcontext.cpp index afde7939f2..90803db9fe 100644 --- a/src/quick/scenegraph/qsgcontext.cpp +++ b/src/quick/scenegraph/qsgcontext.cpp @@ -454,6 +454,8 @@ void QSGRenderContext::initialize(QOpenGLContext *context) const char *renderer = (const char *) glGetString(GL_RENDERER); if (strstr(renderer, "llvmpipe")) m_serializedRender = true; + if (strstr(vendor, "Hisilicon Technologies") && strstr(renderer, "Immersion.16")) + m_brokenIBOs = true; #endif emit initialized(); -- cgit v1.2.3