Index: src/gpu/gl/builders/GrGLVertexShaderBuilder.cpp |
diff --git a/src/gpu/gl/builders/GrGLVertexShaderBuilder.cpp b/src/gpu/gl/builders/GrGLVertexShaderBuilder.cpp |
index f484497954992e47e71f6e269b39e41d6727eb90..6d5d344088d1671fc410bd3793e6813966b834bf 100644 |
--- a/src/gpu/gl/builders/GrGLVertexShaderBuilder.cpp |
+++ b/src/gpu/gl/builders/GrGLVertexShaderBuilder.cpp |
@@ -36,10 +36,15 @@ void GrGLVertexBuilder::emitAttributes(const GrGeometryProcessor& gp) { |
void GrGLVertexBuilder::transformToNormalizedDeviceSpace(const GrShaderVar& posVar) { |
SkASSERT(!fRtAdjustName); |
+ GrSLPrecision precision = kDefault_GrSLPrecision; |
+ if (fProgramBuilder->ctxInfo().vendor() == kARM_GrGLVendor) { |
+ precision = kHigh_GrSLPrecision; |
+ } |
+ |
// setup RT Uniform |
fProgramBuilder->fUniformHandles.fRTAdjustmentUni = |
fProgramBuilder->addUniform(GrGLProgramBuilder::kVertex_Visibility, |
- kVec4f_GrSLType, kDefault_GrSLPrecision, |
+ kVec4f_GrSLType, precision, |
fProgramBuilder->rtAdjustment(), |
&fRtAdjustName); |
if (this->getProgramBuilder()->desc().header().fSnapVerticesToPixelCenters) { |