Loading core/java/android/view/View.java +0 −1 Original line number Diff line number Diff line Loading @@ -58,7 +58,6 @@ import android.util.PoolableManager; import android.util.Pools; import android.util.SparseArray; import android.view.ContextMenu.ContextMenuInfo; import android.view.View.MeasureSpec; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityEventSource; import android.view.accessibility.AccessibilityManager; Loading libs/hwui/LayerRenderer.cpp +7 −2 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ namespace uirenderer { void LayerRenderer::prepare(bool opaque) { LAYER_RENDERER_LOGD("Rendering into layer, fbo = %d", mLayer->fbo); glGetIntegerv(GL_FRAMEBUFFER_BINDING, (GLint*) &mPreviousFbo); glBindFramebuffer(GL_FRAMEBUFFER, mLayer->fbo); OpenGLRenderer::prepare(opaque); Loading @@ -37,11 +36,17 @@ void LayerRenderer::prepare(bool opaque) { void LayerRenderer::finish() { OpenGLRenderer::finish(); glBindFramebuffer(GL_FRAMEBUFFER, mPreviousFbo); generateMesh(); LAYER_RENDERER_LOGD("Finished rendering into layer, fbo = %d", mLayer->mFbo); // No need to unbind our FBO, this will be taken care of by the caller // who will invoke OpenGLRenderer::resume() } GLint LayerRenderer::getTargetFbo() { return mLayer->fbo; } /////////////////////////////////////////////////////////////////////////////// Loading libs/hwui/LayerRenderer.h +1 −2 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ public: bool hasLayer(); Region* getRegion(); GLint getTargetFbo(); static Layer* createLayer(uint32_t width, uint32_t height, bool isOpaque = false); static bool resizeLayer(Layer* layer, uint32_t width, uint32_t height); Loading @@ -61,8 +62,6 @@ private: void generateMesh(); Layer* mLayer; GLuint mPreviousFbo; }; // class LayerRenderer }; // namespace uirenderer Loading libs/hwui/OpenGLRenderer.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -200,7 +200,7 @@ void OpenGLRenderer::resume() { glDisable(GL_DITHER); glBindFramebuffer(GL_FRAMEBUFFER, 0); glBindFramebuffer(GL_FRAMEBUFFER, getTargetFbo()); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); mCaches.blend = true; Loading libs/hwui/OpenGLRenderer.h +13 −0 Original line number Diff line number Diff line Loading @@ -145,14 +145,27 @@ protected: return mSnapshot; } /** * Returns the region of the current layer. */ virtual Region* getRegion() { return mSnapshot->region; } /** * Indicates whether rendering is currently targeted at a layer. */ virtual bool hasLayer() { return (mSnapshot->flags & Snapshot::kFlagFboTarget) && mSnapshot->region; } /** * Returns the name of the FBO this renderer is rendering into. */ virtual GLint getTargetFbo() { return 0; } private: /** * Saves the current state of the renderer as a new snapshot. Loading Loading
core/java/android/view/View.java +0 −1 Original line number Diff line number Diff line Loading @@ -58,7 +58,6 @@ import android.util.PoolableManager; import android.util.Pools; import android.util.SparseArray; import android.view.ContextMenu.ContextMenuInfo; import android.view.View.MeasureSpec; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityEventSource; import android.view.accessibility.AccessibilityManager; Loading
libs/hwui/LayerRenderer.cpp +7 −2 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ namespace uirenderer { void LayerRenderer::prepare(bool opaque) { LAYER_RENDERER_LOGD("Rendering into layer, fbo = %d", mLayer->fbo); glGetIntegerv(GL_FRAMEBUFFER_BINDING, (GLint*) &mPreviousFbo); glBindFramebuffer(GL_FRAMEBUFFER, mLayer->fbo); OpenGLRenderer::prepare(opaque); Loading @@ -37,11 +36,17 @@ void LayerRenderer::prepare(bool opaque) { void LayerRenderer::finish() { OpenGLRenderer::finish(); glBindFramebuffer(GL_FRAMEBUFFER, mPreviousFbo); generateMesh(); LAYER_RENDERER_LOGD("Finished rendering into layer, fbo = %d", mLayer->mFbo); // No need to unbind our FBO, this will be taken care of by the caller // who will invoke OpenGLRenderer::resume() } GLint LayerRenderer::getTargetFbo() { return mLayer->fbo; } /////////////////////////////////////////////////////////////////////////////// Loading
libs/hwui/LayerRenderer.h +1 −2 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ public: bool hasLayer(); Region* getRegion(); GLint getTargetFbo(); static Layer* createLayer(uint32_t width, uint32_t height, bool isOpaque = false); static bool resizeLayer(Layer* layer, uint32_t width, uint32_t height); Loading @@ -61,8 +62,6 @@ private: void generateMesh(); Layer* mLayer; GLuint mPreviousFbo; }; // class LayerRenderer }; // namespace uirenderer Loading
libs/hwui/OpenGLRenderer.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -200,7 +200,7 @@ void OpenGLRenderer::resume() { glDisable(GL_DITHER); glBindFramebuffer(GL_FRAMEBUFFER, 0); glBindFramebuffer(GL_FRAMEBUFFER, getTargetFbo()); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); mCaches.blend = true; Loading
libs/hwui/OpenGLRenderer.h +13 −0 Original line number Diff line number Diff line Loading @@ -145,14 +145,27 @@ protected: return mSnapshot; } /** * Returns the region of the current layer. */ virtual Region* getRegion() { return mSnapshot->region; } /** * Indicates whether rendering is currently targeted at a layer. */ virtual bool hasLayer() { return (mSnapshot->flags & Snapshot::kFlagFboTarget) && mSnapshot->region; } /** * Returns the name of the FBO this renderer is rendering into. */ virtual GLint getTargetFbo() { return 0; } private: /** * Saves the current state of the renderer as a new snapshot. Loading