diff options
Diffstat (limited to 'libs')
-rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 1 | ||||
-rw-r--r-- | libs/hwui/renderstate/RenderState.cpp | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index c5e709e..773c6f5 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -1710,6 +1710,7 @@ void OpenGLRenderer::drawPatch(const SkBitmap* bitmap, const Patch* mesh, Texture* texture = entry ? entry->texture : mCaches.textureCache.get(bitmap); if (!texture) return; + const AutoTexture autoCleanup(texture); // 9 patches are built for stretching - always filter int textureFillFlags = TextureFillFlags::ForceFilter; diff --git a/libs/hwui/renderstate/RenderState.cpp b/libs/hwui/renderstate/RenderState.cpp index 1e39bfa..84b6965 100644 --- a/libs/hwui/renderstate/RenderState.cpp +++ b/libs/hwui/renderstate/RenderState.cpp @@ -306,6 +306,10 @@ void RenderState::render(const Glop& glop) { // Shader uniforms SkiaShader::apply(*mCaches, fill.skiaShaderData); + Texture* texture = (fill.skiaShaderData.skiaShaderType & kBitmap_SkiaShaderType) ? + fill.skiaShaderData.bitmapData.bitmapTexture : nullptr; + const AutoTexture autoCleanup(texture); + // ------------------------------------ // ---------- GL state setup ---------- // ------------------------------------ |