Index: src/gpu/gl/GrGLShaderBuilder.cpp |
diff --git a/src/gpu/gl/GrGLShaderBuilder.cpp b/src/gpu/gl/GrGLShaderBuilder.cpp |
index c5df4c803ce501011616bef7c7d458d1668d8996..be10594c85d950f5189b5f28728ce0544100a519 100644 |
--- a/src/gpu/gl/GrGLShaderBuilder.cpp |
+++ b/src/gpu/gl/GrGLShaderBuilder.cpp |
@@ -693,9 +693,17 @@ static GrGLuint attach_shader(const GrGLContext& glCtx, |
bool GrGLShaderBuilder::compileAndAttachShaders(GrGLuint programId, SkTDArray<GrGLuint>* shaderIds) const { |
SkString fragShaderSrc(GrGetGLSLVersionDecl(this->ctxInfo())); |
fragShaderSrc.append(fFSExtensions); |
- append_default_precision_qualifier(kDefaultFragmentPrecision, |
- fGpu->glStandard(), |
- &fragShaderSrc); |
+ |
+ if (kImagination_GrGLVendor == this->ctxInfo().vendor() && |
+ kPVRRogueHood_GrGLRenderer == this->ctxInfo().renderer()) |
+ append_default_precision_qualifier(GrGLShaderVar::kHigh_Precision, |
bsalomon
2014/06/09 13:56:45
Can you not just apply highp to the vars emitted b
changjun.yang
2014/06/10 11:41:17
Thanks! Pls see my comments above.
|
+ fGpu->glStandard(), |
+ &fragShaderSrc); |
+ else |
+ append_default_precision_qualifier(kDefaultFragmentPrecision, |
+ fGpu->glStandard(), |
+ &fragShaderSrc); |
+ |
this->appendUniformDecls(kFragment_Visibility, &fragShaderSrc); |
this->appendDecls(fFSInputs, &fragShaderSrc); |
// We shouldn't have declared outputs on 1.10 |