aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl/GrGLContext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/gl/GrGLContext.cpp')
-rw-r--r--src/gpu/gl/GrGLContext.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gpu/gl/GrGLContext.cpp b/src/gpu/gl/GrGLContext.cpp
index 537363493f..fc8b195fd3 100644
--- a/src/gpu/gl/GrGLContext.cpp
+++ b/src/gpu/gl/GrGLContext.cpp
@@ -47,6 +47,16 @@ bool GrGLContextInfo::initialize(const GrGLInterface* interface) {
fVendor = GrGLGetVendor(interface);
+ /*
+ * Qualcomm drivers have a horrendous bug with some drivers. Though they claim to
+ * support GLES 3.00, some perfectly valid GLSL300 shaders will only compile with
+ * #version 100, and will fail to compile with #version 300 es. In the long term, we
+ * need to lock this down to a specific driver version.
+ */
+ if (kQualcomm_GrGLVendor == fVendor) {
+ fGLSLGeneration = k110_GrGLSLGeneration;
+ }
+
fRenderer = GrGLGetRendererFromString(renderer);
fIsMesa = GrGLIsMesaFromVersionString(ver);