diff options
author | 2014-02-25 18:50:17 -0800 | |
---|---|---|
committer | 2014-02-25 18:50:17 -0800 | |
commit | 9757ac0b9d62f6aea5e47cfb375f445c78bb7897 (patch) | |
tree | d17c80970154798e66dbf914974926b15fa33f61 /libs/hwui/LayerRenderer.cpp | |
parent | 5eb4adcbda0ff22e48716d3cf9356a9a720475b5 (diff) |
Fix TextureView texture filtering.
bug:11748993
TextureView should always be drawn with linear filtering if drawing a
buffer sized differently from the layer.
This fixes a bug where TextureViews that were sized differently from
their contents wouldn't be drawn with texture filtering, causing
visible scaling artifacts.
Change-Id: I8a5d27452fe7269ec53896992f37cff51e3ce15a
Diffstat (limited to 'libs/hwui/LayerRenderer.cpp')
-rw-r--r-- | libs/hwui/LayerRenderer.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libs/hwui/LayerRenderer.cpp b/libs/hwui/LayerRenderer.cpp index ea8eb31f8437..e0ac2ba31faa 100644 --- a/libs/hwui/LayerRenderer.cpp +++ b/libs/hwui/LayerRenderer.cpp @@ -290,14 +290,15 @@ Layer* LayerRenderer::createTextureLayer() { } void LayerRenderer::updateTextureLayer(Layer* layer, uint32_t width, uint32_t height, - bool isOpaque, GLenum renderTarget, float* transform) { + bool isOpaque, bool forceFilter, GLenum renderTarget, float* textureTransform) { if (layer) { layer->setBlend(!isOpaque); + layer->setForceFilter(forceFilter); layer->setSize(width, height); layer->layer.set(0.0f, 0.0f, width, height); layer->region.set(width, height); layer->regionRect.set(0.0f, 0.0f, width, height); - layer->getTexTransform().load(transform); + layer->getTexTransform().load(textureTransform); if (renderTarget != layer->getRenderTarget()) { layer->setRenderTarget(renderTarget); |