Index: src/gpu/gl/GrGLGpu.cpp |
diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp |
index e29a7f81f317aa189e7263dc23416263cb264e8e..7822e872b2f5215eafc3353181e62c6afe419934 100644 |
--- a/src/gpu/gl/GrGLGpu.cpp |
+++ b/src/gpu/gl/GrGLGpu.cpp |
@@ -3319,7 +3319,15 @@ void GrGLGpu::createCopyPrograms() { |
if (kSamplerTypes[i] == kSamplerExternal_GrSLType) { |
fshaderTxt.appendf("#extension %s : require\n", |
this->glCaps().glslCaps()->externalTextureExtensionString()); |
+ } else if (kSamplerTypes[i] == kSampler2DRect_GrSLType) { |
+ const char* rectangleFeatureString = |
+ this->glCaps().glslCaps()->rectangleTextureExtensionString(); |
+ if (rectangleFeatureString) { |
+ fshaderTxt.appendf("#extension %s : require\n", |
+ rectangleFeatureString); |
+ } |
} |
+ |
GrGLSLAppendDefaultFloatPrecisionDeclaration(kDefault_GrSLPrecision, |
*this->glCaps().glslCaps(), |
&fshaderTxt); |
@@ -3342,8 +3350,8 @@ void GrGLGpu::createCopyPrograms() { |
" %s = %s(u_texture, v_texCoord);" |
"}", |
fsOutName, |
- GrGLSLTexture2DFunctionName(kVec2f_GrSLType, kSamplerTypes[i], this->glslGeneration()) |
- ); |
+ GrGLSLTexture2DFunctionName(kVec2f_GrSLType, kSamplerTypes[i], |
+ *this->glCaps().glslCaps())); |
GL_CALL_RET(fCopyPrograms[i].fProgram, CreateProgram()); |
const char* str; |