History log of /frameworks/base/libs/hwui/LayerRenderer.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7077506f9945b87b02bdd47ffce75a5b813c821c 14-Nov-2011 Dave Burke <daveburke@google.com> Revert "Discard framebuffer rendering queues when discarding layers"

This reverts commit da96f8ac2c1c35a54f3f36e6d776cb386a251d03.
/frameworks/base/libs/hwui/LayerRenderer.cpp
da96f8ac2c1c35a54f3f36e6d776cb386a251d03 11-Nov-2011 Romain Guy <romainguy@google.com> Discard framebuffer rendering queues when discarding layers
Bug #5581817

Change-Id: If612846ec5f7793710fc4df152791fb32c506551
/frameworks/base/libs/hwui/LayerRenderer.cpp
5cd5c3f7e4df99f47e3def6e3707b9eb8205aef3 18-Oct-2011 Romain Guy <romainguy@google.com> Return early when we cannot allocate a hardware layer
Bug #5462308

Change-Id: I52dab809662f6f42a49ca03edc50f6b98fc35a06
/frameworks/base/libs/hwui/LayerRenderer.cpp
7953745dd565167113f8cbfc461bc0521d32d870 12-Oct-2011 Romain Guy <romainguy@google.com> Reduce the size of libhwui by 50%

This change removes unnessary symbols. All symbols are hidden by
default, public APIs with exported symbols are explicitly marked
with ANDROID_API.

Change-Id: I692fde432a86c12108de1cfd1f6504919a7d5f3f
/frameworks/base/libs/hwui/LayerRenderer.cpp
a9dc86b21defc26db0d71f276aff5c3af0b62ff5 11-Oct-2011 Romain Guy <romainguy@google.com> Correctly apply transforms when getting a TextureView's bitmap
Bug #5439406

Change-Id: I271a9a2e38f5b3600dc158f8f442a6b0893f472b
/frameworks/base/libs/hwui/LayerRenderer.cpp
8a3957d43bcae93fbb9f6b4b4c3de8abdb3c953c 08-Sep-2011 Romain Guy <romainguy@google.com> Add reminder in the code to fix T-junctions

Change-Id: I52b112694f930e641f01fb78dc55412986023411
/frameworks/base/libs/hwui/LayerRenderer.cpp
65b345fa22b878e141b8fd8ece9c208df00fa40f 28-Jul-2011 Romain Guy <romainguy@google.com> Reclaim more memory, more often.

Yay.

Change-Id: I04557ad575c307a55088549f48f0e9ad994b7275
/frameworks/base/libs/hwui/LayerRenderer.cpp
eea60692b060737faeaa02bb30f5b79e2202b482 27-Jul-2011 Romain Guy <romainguy@google.com> Improve layers debugging

Change-Id: Ia4950dd5f0e0a224ecb69c581d33aa4f32260a7c
/frameworks/base/libs/hwui/LayerRenderer.cpp
ec19b4a764d512091a780fc93ced567dfbf80914 08-Jul-2011 Romain Guy <romainguy@google.com> Use NEAREST filtering mode for TextureView.getBitmap().

Change-Id: I4649062bbdf18ebba7924bdf578f39ad8f6576ac
/frameworks/base/libs/hwui/LayerRenderer.cpp
9ace8f5e79e76893fe4ca9e4d10f6c4056330485 08-Jul-2011 Romain Guy <romainguy@google.com> Use NEAREST filtering for layers whenever possible.

Change-Id: Id5bee1bd4a322cf93e8000b08e18f1e1b058648e
/frameworks/base/libs/hwui/LayerRenderer.cpp
4a5a71518a71a44dbccb3af9a08b82056ea748b3 25-Jun-2011 Romain Guy <romainguy@google.com> Don't set texture parameters on every frame.

Change-Id: Iec368405ad6a4ccfd569a0b3b4d681871a770396
/frameworks/base/libs/hwui/LayerRenderer.cpp
80429c458506485904715180d10584092a5cd082 25-Jun-2011 Romain Guy <romainguy@google.com> Properly tear down TextureView

Change-Id: Ic23cd9257889d0abe8cc3fc1d04a66d0505e383e
/frameworks/base/libs/hwui/LayerRenderer.cpp
a9489274d67b540804aafb587a226f7c2ae4464d 23-Jun-2011 Romain Guy <romainguy@google.com> Add the ability to specify the opacity of a TextureView

TextureView assumes its content is opaque by default.

Change-Id: Iba873423566a5b67c388081838bd910dceba32ba
/frameworks/base/libs/hwui/LayerRenderer.cpp
d6b2a00dd43257d1498b09175bff63663f6cb861 18-Jun-2011 Romain Guy <romainguy@google.com> Add error checking to LayerRenderer::copyLayer

This method is invoked by TextureView.getBitmap() and failures must be
caught to avoid leaving the GL context in a potentially bad state.

Change-Id: I620de395ba1bc20154de58c81963223dc55cac78
/frameworks/base/libs/hwui/LayerRenderer.cpp
77a811610f99e21da7f88dafef60d09f345d0506 15-Jun-2011 Romain Guy <romainguy@google.com> Add TextureView.getBitmap()

This API can be used to get a Bitmap copy of the content of a
TextureView.

Change-Id: I07522216c353720fba5cab333174f58f484eb911
/frameworks/base/libs/hwui/LayerRenderer.cpp
8f0095cd33558e9cc8a440047908e53b68906f5f 03-May-2011 Romain Guy <romainguy@google.com> Allows to render with an OpenGL context inside a TextureView.

Change-Id: I59453f7fc3997f0502a1c5d325d37fed376fabc7
/frameworks/base/libs/hwui/LayerRenderer.cpp
aa6c24c21c727a196451332448d4e3b11a80be69 29-Apr-2011 Romain Guy <romainguy@google.com> New widget: TextureView
Bug #4343984

TextureView can be used to render media content (video, OpenGL,
RenderScript) inside a View.

The key difference with SurfaceView is that TextureView does
not create a new Surface. This gives the ability to seamlessly
transform, animate, fade, etc. a TextureView, which was hard
if not impossible to do with a SurfaceView.
A TextureView also interacts perfectly with ScrollView,
ListView, etc. It allows application to embed media content
in a much more flexible way than before.

For instance, to render the camera preview at 50% opacity,
all you need to do is the following:

mTextureView.setAlpha(0.5f);
Camera c = Camera.open();
c.setPreviewTexture(mTextureView.getSurfaceTexture());
c.startPreview();

TextureView uses a SurfaceTexture to get the job done. More
APIs are required to make it easy to create OpenGL contexts
for a TextureView. It can currently be done with a bit of
JNI code.

Change-Id: Iaa7953097ab5beb8437bcbbfa03b2df5b7f80cd7
/frameworks/base/libs/hwui/LayerRenderer.cpp
9fc27819d75e24ad63d7b383d80f5cb66a577a0d 27-Apr-2011 Romain Guy <romainguy@google.com> Correctly compute tex coords for rect layers.
Bug #4192695

This change also fixes Javadoc links in the framework.

Change-Id: Ia548bcb18baba5d6fe6a4a04a2278e3a3bd465b2
/frameworks/base/libs/hwui/LayerRenderer.cpp
40667676e542a9daeafeac9904c30004e8706fd3 18-Mar-2011 Romain Guy <romainguy@google.com> Optimize rect-shaped layers.

This brings back an optimization disabled in HC-MR1. This time the
correct geometry is generated to avoid unnecessary blending.

Change-Id: Id56404dc46bb84c75facc25c18488a690741b592
/frameworks/base/libs/hwui/LayerRenderer.cpp
6217a71cd281003a376d998269d577d26a61c206 16-Mar-2011 Romain Guy <romainguy@google.com> Fix performance issue in Launcher
Bug #3515248

The problem is caused by the fast path when compositing layers on screen.
The fast path draws a single quad using glDrawArrays() whereas the general
path draws an arbitrary mesh using glDrawElements(). It looks like there's
an issue in the driver since glDrawArrays() is significantly slower than
glDrawElements() for a quad (6 vertices!)

This change just gets rid of the fast path.

Change-Id: Ib2361253ec67f44a988270f76c183422f12ce537
/frameworks/base/libs/hwui/LayerRenderer.cpp
40a787f89a6f4c20f2c7fce29e5bc53954305f34 03-Mar-2011 Romain Guy <romainguy@google.com> Properly initialize FBO textures for linear filtering.

Change-Id: I67fc4fd760483ef85809be8d6e608cf4f469650f
/frameworks/base/libs/hwui/LayerRenderer.cpp
09b7c91de73b59aa3f679b3ae3ba299f82ec9f8a 03-Feb-2011 Romain Guy <romainguy@google.com> Allocate layers from the layers pool.
Bug #3413433

This change will be beneficial to Launcher to avoid hiccups when
swiping pages of icons. When a layer is discarded, it is kept
in the layers pool instead of being destroyed right away. This
favors memory reuse over allocations.

Change-Id: Ifb6944ba83d6ceb67c331527c0827b26ce648eb1
/frameworks/base/libs/hwui/LayerRenderer.cpp
62687ec12cb8e0b1d4044a235b1387b9a8c3b4b4 03-Feb-2011 Romain Guy <romainguy@google.com> Don't clobber the local dirty rect after rendering a layer.
Bug #3417254
Bug #3413433

Change-Id: I8045e9ec414ebe4ce4d38124142a00726d2c634d
/frameworks/base/libs/hwui/LayerRenderer.cpp
beff8d83ef062975459f149ad0c632a3797d78ce 02-Feb-2011 Romain Guy <romainguy@google.com> Fix incorrect dirty rectangle transformation in hardware layers.
Bug #3413433

Change-Id: Iba201c7c4b4f11937797f3afcbf20c5a7395be25
/frameworks/base/libs/hwui/LayerRenderer.cpp
3a3133d876caf60ebff2176ad75c3dcf0259148d 02-Feb-2011 Romain Guy <romainguy@google.com> Update layers based on the dirty region.
Bug #3413433

This helps Launcher when a widget updates during a scroll, or when interacting
with widgets on the workspace if layers are still turned on.

Change-Id: Ic7a42eb34f74f4ae988039754f815e2efd1d1e4f
/frameworks/base/libs/hwui/LayerRenderer.cpp
a45c056e62be0ca97edbdd6f6660822cf453c886 27-Jan-2011 Chet Haase <chet@google.com> Merge "Fix display List bugs" into honeycomb
678e0adbdbac5fa3f25ca8371fdff1b3182f67e9 25-Jan-2011 Chet Haase <chet@google.com> Fix display List bugs

Various property setters in View need to invalidate the parent's
cache to get redrawn properly when accelerated with display lists.

Also, fix logic around display lists and old-style Animations in
ViewGroup.

Change-Id: I70e1c2fa49e62228ee4a1301a006ce50bda4c305
/frameworks/base/libs/hwui/LayerRenderer.cpp
4f09f5417b5c14fd31336dacfff86972e7885a03 27-Jan-2011 Romain Guy <romainguy@google.com> Don't draw the same triangles several times.
Bug #3388197

Change-Id: Ief1dfd9447f144e9992340a173d2893e5e049129
/frameworks/base/libs/hwui/LayerRenderer.cpp
7d7b5490a0b0763e831b31bc11f17d8159b5914a 25-Jan-2011 Romain Guy <romainguy@google.com> Enable partial invalidates when rendering with OpenGL.

Change-Id: Ie8be06c4776b815e8737753eb8003b4fd8936130
/frameworks/base/libs/hwui/LayerRenderer.cpp
c88e357d1ed9dadfc0efb3dfbe92f24460674ef5 22-Jan-2011 Romain Guy <romainguy@google.com> Fix regression with hardware layers.

The renderer was checking whether the layer's region is a rect to
draw it with a simple quad. This test was done against the layer's
region structure, which was cleared after generating the mesh.
Unfortunately Region::isRect() returns true when the region is
empty, which was causing the renderer to always use a quad to
draw a mesh on screen.

Change-Id: If4b874579ee0cedcb67367c9efa5c0c98ca55231
/frameworks/base/libs/hwui/LayerRenderer.cpp
42f3a4b7c35dd1ea1922356eb3611af8cde05179 19-Jan-2011 Romain Guy <romainguy@google.com> Make embedded hardware layers work.
Bug #3369474

Change-Id: Ib6d7fb44eedda9dc2933b5e1b176f307968af91d
/frameworks/base/libs/hwui/LayerRenderer.cpp
fb13abd800cd610c7f46815848545feff83e5748 17-Jan-2011 Romain Guy <romainguy@google.com> Fix 9patch rendering in ExpandableListView.

Change-Id: I60843d61a40b0cb7dd09923cb4489a5a76f20486
/frameworks/base/libs/hwui/LayerRenderer.cpp
f219da5e32e85deb442468ee9a63bb28eb198557 16-Jan-2011 Romain Guy <romainguy@google.com> Don't blend transparent pixels when rendering layers.

With this change, the rendere keeps track of what regions are rendered into
and generates a mesh that matches these regions exactly. The mesh is used
to composite the layer on screen.

Change-Id: I1f342576b9134fb29caff7fb8f4c1da179fe956d
/frameworks/base/libs/hwui/LayerRenderer.cpp
ada830f639591b99c3e40de22b07296c7932a33f 13-Jan-2011 Romain Guy <romainguy@google.com> Cleanup implementation of hardware layers.

The new implementation relies on OpenGLRenderer's existing layer
code instead of duplicating it. The new code is much cleaner, with
simpler and better APIs and allows tracking of drawn regions inside
layers. Region tracking is not yet enabled but this will be done
in a future CL.

Change-Id: Ie826121a2227de8252c77b992a61218defea5143
/frameworks/base/libs/hwui/LayerRenderer.cpp
1fc883b271707c4206ae20cc9a935d7bd4a7485e 12-Jan-2011 Romain Guy <romainguy@google.com> Add logging to the new layers API.

Change-Id: I78b9426eb17de3e775aca9fafe4a50bd9c0785c4
/frameworks/base/libs/hwui/LayerRenderer.cpp
57066eb64c9a190d1afc87bb060bbb2d31e5b86c 12-Jan-2011 Romain Guy <romainguy@google.com> Cleanup GL objects on the correct thread.

Change-Id: Iddfea6e08a6591a4fab147151098ef27005f373d
/frameworks/base/libs/hwui/LayerRenderer.cpp
a9d0711392689a94b9f76eb0c16d0718c005603e 12-Jan-2011 Romain Guy <romainguy@google.com> Don't break the build!

Change-Id: I42f68c7b023c03adeedc4e979e5f4705188ee9f4
/frameworks/base/libs/hwui/LayerRenderer.cpp
6c319ca1275c8db892c39b48fc54864c949f9171 11-Jan-2011 Romain Guy <romainguy@google.com> Better backend for hardware layers.

With this new backend, a hardware layer is only recreated when
its associated view is udpated. This offers fast composition
in GL and fast update of the layer in GL as well.

Change-Id: I97c43a612f5955c6bf1c192c8ca4af10fdf1d076
/frameworks/base/libs/hwui/LayerRenderer.cpp