diff options
Diffstat (limited to 'src/gpu/gl/GrGLContext.cpp')
-rw-r--r-- | src/gpu/gl/GrGLContext.cpp | 10 |
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); |