diff options
Diffstat (limited to 'libs/hwui/GlLayer.cpp')
| -rw-r--r-- | libs/hwui/GlLayer.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/libs/hwui/GlLayer.cpp b/libs/hwui/GlLayer.cpp index aacad548c68b..070e95432a11 100644 --- a/libs/hwui/GlLayer.cpp +++ b/libs/hwui/GlLayer.cpp @@ -55,9 +55,15 @@ void GlLayer::onGlContextLost() { texture.deleteTexture(); } -void GlLayer::bindTexture() const { - if (texture.mId) { - caches.textureState().bindTexture(texture.target(), texture.mId); +void GlLayer::setRenderTarget(GLenum renderTarget) { + if (renderTarget != getRenderTarget()) { + // new render target: bind with new target, and update filter/wrap + texture.mTarget = renderTarget; + if (texture.mId) { + caches.textureState().bindTexture(texture.target(), texture.mId); + } + texture.setFilter(GL_NEAREST, false, true); + texture.setWrap(GL_CLAMP_TO_EDGE, false, true); } } |