From d63d0007c1192063eef1e409de681e4fb6f40041 Mon Sep 17 00:00:00 2001 From: Kai Ninomiya Date: Fri, 6 Oct 2017 13:11:13 -0700 Subject: [PATCH] dontInitializeUninitializedLocals on Qualcomm only SH_INITIALIZE_UNINITIALIZED_LOCALS triggers a very unpredictable crash in the shader compiler on Qualcomm Adreno (at least 4xx) on Marshmallow. Bug: angleproject:2046 Change-Id: I9a109f7ff442b4e9d3880d137f1a55a19105bcef Reviewed-on: https://chromium-review.googlesource.com/705930 Commit-Queue: Kai Ninomiya Reviewed-by: Jamie Madill --- CONTRIBUTORS | 1 + src/libANGLE/renderer/gl/renderergl_utils.cpp | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index cd2ab34af..a767773b3 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -41,6 +41,7 @@ Google Inc. Justin Schuh Scott Graham Corentin Wallez + Kai Ninomiya Adobe Systems Inc. Alexandru Chiculita diff --git a/src/libANGLE/renderer/gl/renderergl_utils.cpp b/src/libANGLE/renderer/gl/renderergl_utils.cpp index 7d49e7179..23a9c3639 100644 --- a/src/libANGLE/renderer/gl/renderergl_utils.cpp +++ b/src/libANGLE/renderer/gl/renderergl_utils.cpp @@ -1067,7 +1067,9 @@ void GenerateWorkarounds(const FunctionsGL *functions, WorkaroundsGL *workaround #endif #if defined(ANGLE_PLATFORM_ANDROID) - workarounds->dontInitializeUninitializedLocals = true; + // Triggers a bug on Marshmallow Adreno (4xx?) driver. + // http://anglebug.com/2046 + workarounds->dontInitializeUninitializedLocals = IsQualcomm(vendor); #endif workarounds->finishDoesNotCauseQueriesToBeAvailable =