| Index: src/gpu/gl/GrGpuGL.cpp | 
| diff --git a/src/gpu/gl/GrGpuGL.cpp b/src/gpu/gl/GrGpuGL.cpp | 
| index 149025aa0d9606fc718176ca48f722394712b542..98db317109d79c8360eaa1d7ef5848f82a420c47 100644 | 
| --- a/src/gpu/gl/GrGpuGL.cpp | 
| +++ b/src/gpu/gl/GrGpuGL.cpp | 
| @@ -966,15 +966,16 @@ GrTexture* GrGpuGL::onCreateTexture(const GrTextureDesc& desc, | 
| GrGLTexture::TexParams initialTexParams; | 
| // we only set a subset here so invalidate first | 
| initialTexParams.invalidate(); | 
| -    initialTexParams.fFilter = GR_GL_NEAREST; | 
| +    initialTexParams.fMinFilter = GR_GL_NEAREST; | 
| +    initialTexParams.fMagFilter = GR_GL_NEAREST; | 
| initialTexParams.fWrapS = GR_GL_CLAMP_TO_EDGE; | 
| initialTexParams.fWrapT = GR_GL_CLAMP_TO_EDGE; | 
| GL_CALL(TexParameteri(GR_GL_TEXTURE_2D, | 
| GR_GL_TEXTURE_MAG_FILTER, | 
| -                          initialTexParams.fFilter)); | 
| +                          initialTexParams.fMagFilter)); | 
| GL_CALL(TexParameteri(GR_GL_TEXTURE_2D, | 
| GR_GL_TEXTURE_MIN_FILTER, | 
| -                          initialTexParams.fFilter)); | 
| +                          initialTexParams.fMinFilter)); | 
| GL_CALL(TexParameteri(GR_GL_TEXTURE_2D, | 
| GR_GL_TEXTURE_WRAP_S, | 
| initialTexParams.fWrapS)); | 
| @@ -2016,12 +2017,18 @@ void GrGpuGL::bindTexture(int unitIdx, const GrTextureParams& params, GrGLTextur | 
| bool setAll = timestamp < this->getResetTimestamp(); | 
| GrGLTexture::TexParams newTexParams; | 
|  | 
| -    static GrGLenum glFilterModes[] = { | 
| +    static GrGLenum glMinFilterModes[] = { | 
| GR_GL_NEAREST, | 
| GR_GL_LINEAR, | 
| GR_GL_LINEAR_MIPMAP_LINEAR | 
| }; | 
| -    newTexParams.fFilter = glFilterModes[params.filterMode()]; | 
| +    static GrGLenum glMagFilterModes[] = { | 
| +        GR_GL_NEAREST, | 
| +        GR_GL_LINEAR, | 
| +        GR_GL_LINEAR | 
| +    }; | 
| +    newTexParams.fMinFilter = glMinFilterModes[params.filterMode()]; | 
| +    newTexParams.fMagFilter = glMagFilterModes[params.filterMode()]; | 
|  | 
| #ifndef SKIA_IGNORE_GPU_MIPMAPS | 
| if (params.filterMode() == GrTextureParams::kMipMap_FilterMode && | 
| @@ -2037,14 +2044,17 @@ void GrGpuGL::bindTexture(int unitIdx, const GrTextureParams& params, GrGLTextur | 
| memcpy(newTexParams.fSwizzleRGBA, | 
| GrGLShaderBuilder::GetTexParamSwizzle(texture->config(), this->glCaps()), | 
| sizeof(newTexParams.fSwizzleRGBA)); | 
| -    if (setAll || newTexParams.fFilter != oldTexParams.fFilter) { | 
| +    if (setAll || newTexParams.fMagFilter != oldTexParams.fMagFilter) { | 
| this->setTextureUnit(unitIdx); | 
| GL_CALL(TexParameteri(GR_GL_TEXTURE_2D, | 
| GR_GL_TEXTURE_MAG_FILTER, | 
| -                              newTexParams.fFilter)); | 
| +                              newTexParams.fMagFilter)); | 
| +    } | 
| +    if (setAll || newTexParams.fMinFilter != oldTexParams.fMinFilter) { | 
| +        this->setTextureUnit(unitIdx); | 
| GL_CALL(TexParameteri(GR_GL_TEXTURE_2D, | 
| GR_GL_TEXTURE_MIN_FILTER, | 
| -                              newTexParams.fFilter)); | 
| +                              newTexParams.fMinFilter)); | 
| } | 
| if (setAll || newTexParams.fWrapS != oldTexParams.fWrapS) { | 
| this->setTextureUnit(unitIdx); | 
|  |