History log of /frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a896306c38c4d11c43b967a21db6d74c251b2520 14-Jun-2017 John Reck <jreck@google.com> Add a workaround for simulate secondary display

To workaround a deadlock caused by bufferqueue locks
we force RenderThread over to use async mode which
we enable via eglSwapInterval(0)

Bug: 38372997
Test: steps in the bug
Change-Id: Ia305f73abbdd64ab0c25d1f7d32792cc6295a0ce
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
9a814875c4e3a98fea99dae623f22268a9afa38a 23-May-2017 John Reck <jreck@google.com> Improve time to texture destruction

Eliminate textureCache.mGarbage which is only cleared
in a trimMemory. Instead when we hit ~Bitmap post a
message to RenderThread to release the texture immediately

Bug: 38258699
Test: manual
Change-Id: I962ba275e89afb628ba02f74769287edbab9fed4
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
576b6a8a7994f649c0dbacfc34611d1580e16bd6 17-May-2017 John Reck <jreck@google.com> Revert "Fix recent apps in system UI for Skia pipeline"

This reverts commit 625dd56a45bfe95c5f1baa1891529503ff3374a9.

Reason for revert: Caused a memory leak, b/38330767
Bug: 38136140
Bug: 38330767
Test: manual, verified memory isn't leaking doing the steps in b/38330767

Change-Id: I998bea04788d58ba6bad71c1691d5a3b33190c1b
Merged-In: I98b2dfd750be57a15785808e2d5723616e2ce20a
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
625dd56a45bfe95c5f1baa1891529503ff3374a9 06-May-2017 Stan Iliev <stani@google.com> Fix recent apps in system UI for Skia pipeline

Enable HW Bitmaps for Skia pipeline just enough to make
recent apps list working by adding support for BitmapShader.
Drawing HW bitmaps in a canvas is also supported.

Test: recent apps work, HWUI unit tests pass, CTS tests pass.
bug: 38136140
Change-Id: Ibd06c859c86dc213310d5ce5272497e1882d0cc6
Merged-In: Ibd06c859c86dc213310d5ce5272497e1882d0cc6
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
4d7094dc998b4765cb73c6ec26e61a6cc0df030f 06-Mar-2017 Tom Cherry <tomcherry@google.com> Merge "Check for spurious wake ups" am: 3a3cd0a27f am: c2dcebe6e6
am: 1344c034c5

Change-Id: I8ffc749ab6fbd825ce238fff4ba1d12609585c04
298a146754e35cbc650aa991ebff1a41eefdbe80 28-Feb-2017 Tom Cherry <tomcherry@google.com> Check for spurious wake ups

Condition::wait() can spuriously wake up, so we must guard it with
another check to ensure that a given wake was truly due to having
been signaled.

Bug: 34592766
Test: Boot bullhead
Change-Id: Iaa5a0ca6186aea50c51e2c402ef95d7ba861be92
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
df1742ed47da1e9b61afeae16fa448d5302a8aa0 20-Jan-2017 John Reck <jreck@google.com> Overhaul GraphicsStatsService

* LRU cache of recently-used is dead, replaced
disk storage
* ASHMEM size is read from native by the system service,
no longer requires keeping a sizeof() in sync with a
constant in Java
* Supports dumping in proto format by passing --proto
* Rotates logs on a daily basis
* Keeps a history of the most recent 3 days

Bug: 33705836
Test: Manual. Verified log rotating works by setting it up to
rotate every minute instead of day. Confirmed /data/system/graphicsstats
only has the most recent 3 entries after several minutes

Change-Id: Ib84bafb26c58701cc86f123236de4fff01aaa4aa
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
6983bc40d72acbf06cd04818877cb3f5fea22886 02-Feb-2017 Stan Iliev <stani@google.com> Fix deadlock in render thread when Bitmap.prepareToDraw is invoked

Fix a deadlock with Skia pipelines, caused by calling
Bitmap::getSkBitmap from render thread.

Test: built and booted an image. Ran recent apps activity.
bug: 35060578
bug: 34926691
Change-Id: Iaf7957b955d938b722b153d72ad832ae5d50e86f
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
2de950d5a8b47c7b4648ada1b1260ce4b7342798 25-Jan-2017 John Reck <jreck@google.com> Overhaul RenderNode's DisplayList management

* Move mValid to native
* Have destroyHardwareResources destroy everything
* Remove flaky mParentCount checks in setStaging
* All tree updates have an internal observer to
ensure onRemovedFromTree() is a reliable signal
* onRemovedFromTree() immediately releases resources
to avoid displaylist "leaks"

Test: Unit tests for validity added & pass, manually
verified that b/34072929 doesn't repro

Bug: 34072929

Change-Id: I856534b4ed1b7f009fc4b7cd13209b97fa42a71c
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
59eecb526adc5bd7041e7b6147bfcc40dd2c200e 18-Nov-2016 sergeyv <sergeyv@google.com> Support readback from hardware bitmaps

Test: hwuimacro readbackFromHBitmap --onscreen.
bug:30999911
Change-Id: I369c069c40cb0f9adae5a94501815f29c2d7df0f
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
c4fbada76aa840105553b2c2bce2204e673d2983 07-Nov-2016 Derek Sollenberger <djsollen@google.com> Support Surface and Layer Readback in the SkiaPipelines.

Test: CTS TextureViewTests and UIRendering
Change-Id: I2969c8f5a975bfd9aebcbb585c64d1fcbb2487c2
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
97cc85fd4b5ab6070ce75c2792369d4611625eaf 01-Nov-2016 Sergei Vasilinetc <sergeyv@google.com> Merge "Routine to upload hardware bitmaps"
694d499662838123f474f41b31dea84ec5d563f0 27-Oct-2016 sergeyv <sergeyv@google.com> Routine to upload hardware bitmaps

Change-Id: Id8283a0975325e6830d55fd1e33c5f292a1e9be0
Test: refactoring cl.
bug:30999911
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
daf7229047c44947b9b02ee187fe5b13f30ebd4b 25-Oct-2016 Derek Sollenberger <djsollen@google.com> Move OpenGL specific details behind renderPipeline interface.

Test: new and existing unit tests still pass.
Change-Id: I6164f30f45ebe450788ed8d949eca5af9a44e585
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
ec4a4b13eae2241d1613890c1c1c096bed891845 21-Oct-2016 sergeyv <sergeyv@google.com> Use Bitmap in DisplayList & RecordedOps instead of SkBitmap
Test: refactoring cl.
bug:32216791

Change-Id: I1d8a9a6e772e2176b6c2409409a910478b45f8db
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
253f2c213f6ecda63b6872aee77bd30d5ec07c82 29-Sep-2016 Romain Guy <romainguy@google.com> Linear blending, step 1

NOTE: Linear blending is currently disabled in this CL as the
feature is still a work in progress

Android currently performs all blending (any kind of linear math
on colors really) on gamma-encoded colors. Since Android assumes
that the default color space is sRGB, all bitmaps and colors
are encoded with the sRGB Opto-Electronic Conversion Function
(OECF, which can be approximated with a power function). Since
the power curve is not linear, our linear math is incorrect.
The result is that we generate colors that tend to be too dark;
this affects blending but also anti-aliasing, gradients, blurs,
etc.

The solution is to convert gamma-encoded colors back to linear
space before doing any math on them, using the sRGB Electo-Optical
Conversion Function (EOCF). This is achieved in different
ways in different parts of the pipeline:

- Using hardware conversions when sampling from OpenGL textures
or writing into OpenGL frame buffers
- Using software conversion functions, to translate app-supplied
colors to and from sRGB
- Using Skia's color spaces

Any type of processing on colors must roughly ollow these steps:

[sRGB input]->EOCF->[linear data]->[processing]->OECF->[sRGB output]

For the sRGB color space, the conversion functions are defined as
follows:

OECF(linear) :=
linear <= 0.0031308 ? linear * 12.92 : (pow(linear, 1/2.4) * 1.055) - 0.055

EOCF(srgb) :=
srgb <= 0.04045 ? srgb / 12.92 : pow((srgb + 0.055) / 1.055, 2.4)

The EOCF is simply the reciprocal of the OECF.
While it is highly recommended to use the exact sRGB conversion
functions everywhere possible, it is sometimes useful or beneficial
to rely on approximations:

- pow(x,2.2) and pow(x,1/2.2)
- x^2 and sqrt(x)

The latter is particularly useful in fragment shaders (for instance
to apply dithering in sRGB space), especially if the sqrt() can be
replaced with an inversesqrt().

Here is a fairly exhaustive list of modifications implemented
in this CL:

- Set TARGET_ENABLE_LINEAR_BLENDING := false in BoardConfig.mk
to disable linear blending. This is only for GLES 2.0 GPUs
with no hardware sRGB support. This flag is currently assumed
to be false (see note above)
- sRGB writes are disabled when entering a functor (WebView).
This will need to be fixed at some point
- Skia bitmaps are created with the sRGB color space
- Bitmaps using a 565 config are expanded to 888
- Linear blending is disabled when entering a functor
- External textures are not properly sampled (see below)
- Gradients are interpolated in linear space
- Texture-based dithering was replaced with analytical dithering
- Dithering is done in the quantization color space, which is
why we must do EOCF(OECF(color)+dither)
- Text is now gamma corrected differently depending on the luminance
of the source pixel. The asumption is that a bright pixel will be
blended on a dark background and the other way around. The source
alpha is gamma corrected to thicken dark on bright and thin
bright on dark to match the intended design of fonts. This also
matches the behavior of popular design/drawing applications
- Removed the asset atlas. It did not contain anything useful and
could not be sampled in sRGB without a yet-to-be-defined GL
extension
- The last column of color matrices is converted to linear space
because its value are added to linear colors

Missing features:
- Resource qualifier?
- Regeneration of goldeng images for automated tests
- Handle alpha8/grey8 properly
- Disable sRGB write for layers with external textures

Test: Manual testing while work in progress
Bug: 29940137

Change-Id: I6a07b15ab49b554377cd33a36b6d9971a15e9a0b
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
9580146f5076aaa7c498f86bd3d724c00599f6f4 01-Sep-2016 John Reck <jreck@google.com> Add API to copy a window

Change-Id: I9bb5209010db6665be4b6f8db81a6fc1b7debc45
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
712765ff3448e84f415866f040e0e84a3f553361 10-Aug-2016 John Reck <jreck@google.com> resolve merge conflicts of 1d7ee6b to master

Change-Id: I2ed0f2c3233151e890bd8bde825d306ec8f0d8fd
cd68212f0821e75081375a5af5ef5fce6e45e167 09-Aug-2016 John Reck <jreck@google.com> Make updateSurface non-blocking

Bug: 30442298

We already do this for initialize(), fix
it so that update() is parallel with the
UI thread as well.

Shaves ~7ms off of the 99th percentile on
NotificationShade open & close

Change-Id: I1791df495453fb9e1e12362c68e3d20e837e62be
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
8b9a1fa0848df557d5c718f3ef1230e6a82a320a 02-Aug-2016 John Reck <jreck@google.com> Eliminate recents upload jank am: 4387190d8e am: 021a952150
am: 897b9effb7

Change-Id: Iab2f01b5b3a9be6946e36169209c281a3320ed14
4387190d8ec9fe4e953fcfeb093a644b82cf85ed 01-Aug-2016 John Reck <jreck@google.com> Eliminate recents upload jank

Bug: 30342017

Upload recents thumbnails in the
dead gaps between frames instead of
at the start of a frame. This eliminates
jank caused by the large texture
upload.

Change-Id: I507cd286d199109c7a9a1511d68ba5ab5d28069f
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
56ad6ec42f814e9e61030ff819cac4e5d31def8b 22-Jul-2016 Derek Sollenberger <djsollen@google.com> Remove LayerRenderer.

There is only one caller each for the static functions here so this
CL moves the logic to the caller. Also by moving some of the code
into the pipeline it makes it easier for future changes to configure
how a pipeline handles a layer.

Change-Id: Ib735b5154325cbb658fd151f7a19dbf434ab44b7
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
5e00c7ce063116c11315639f0035aca8ad73e8cc 07-Jul-2016 Chris Craik <ccraik@google.com> Delete old rendering pipeline

fixes: 30002246

Change-Id: I45df0e924708526cee045b14c291bd23aa1a92db
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
aa1735370b24428647508d2ff0f29a617cb955e9 07-Jul-2016 Tim Murray <timmurray@google.com> Merge changes from topic \\'fifo\\' into nyc-mr1-dev am: a96d445aef
am: 03b34e402c

Change-Id: If3104889f659aef9a6d7035e18ab839544c9ecb3
33eb07f5759b85a5617f8057d8a335019c7d24dd 10-Jun-2016 Tim Murray <timmurray@google.com> Add new mode for SCHED_FIFO on UI and RenderThreads.

Add a new mode, controlled by sys.use_fifo_ui property, that enables the
top app's UI and RenderThread to be SCHED_FIFO. This eliminates almost
all jank due to scheduling competition with non-UI critical
threads. This mode may not be suitable for all devices.

bug 24503801

Change-Id: I7b8a31830ad80f7efa00236928d5476998ed4e00
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
03de074d05108fa9fb07c6b847c7163ada5776da 07-Jul-2016 Stan Iliev <stani@google.com> Implement runtime switch to select default renderer mode

Add a system property debug.hwui.default_renderer, which allows
to set rendering mode to OpenGL (default), Skia OpenGL or Vulkan.

Change-Id: I8bca5bacc5108f77437e340ac61f2d8db8cc4c39
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
f1480761c1a83aecd09cdd473ec797a41d1a2f3f 04-Jul-2016 John Reck <jreck@google.com> Benchmark-mode for macrobench

Adds googlebench output format support
Adds offscreen rendering for >60fps benchmarking
Adds 'all' alias to run all registered TestScenes

Change-Id: I2579e40f2f4c941bfbd90c75efbee384c08a116b
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
05357641d398ef77d880da387a230820ab3203fe 29-Jun-2016 Derek Sollenberger <djsollen@google.com> Remove unused method from RenderProxy and CanvasContext.

Change-Id: I324bbfa40a2155d0212fa20c6bd39df5bb21d27a
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
ab1080c4d075b008cebdd9a2031ebbd51f9c2729 22-Jun-2016 John Reck <jreck@google.com> Delete unused args

Bug: 21170575
Change-Id: Icc832f70f206342557f44667ad3498405d04db78
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
e94cbc76d560a157c0a0d47181b4ed2a0aadbeb1 25-Apr-2016 John Reck <jreck@google.com> API tweaks to PixelCopy and make it public

Bug: 27708453
Change-Id: I81667ce42f9ca1c1a13e1e61299927900845fc84
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
8afcc76920499d0a384dba1470c5a377f80ed768 13-Apr-2016 John Reck <jreck@google.com> Revert "Revert "Make stopped state a first-class thing""

This reverts commit eab3f2658aa41d37c3b05d49a2ce4e3f4ed85399.

Fixes first-frame issue, mReportNextDraw needs to override
mStopped

Fixes: 28118961
Fixes: 27286867

Change-Id: I5c811759637d08ba9f3b342016d1b3006986d5a2
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
d2eec0efb2e47b23b2a12ab2967e422f0be49094 12-Apr-2016 John Reck <jreck@google.com> Merge "Framework-side of SurfaceView#getBitmap" into nyc-dev
10dd0585c11dcedb5a271d54e645594f1d215d5c 01-Apr-2016 John Reck <jreck@google.com> Framework-side of SurfaceView#getBitmap

Bug: 27708453

Change-Id: Ie6fd7eca522d3e6549d8af587c975fd7e6053649
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
825fa4d5ae7b2907ee1769d09e6333306de2a92e 11-Apr-2016 John Reck <jreck@google.com> Merge "Revert "Make stopped state a first-class thing"" into nyc-dev
eab3f2658aa41d37c3b05d49a2ce4e3f4ed85399 11-Apr-2016 John Reck <jreck@google.com> Revert "Make stopped state a first-class thing"

This reverts commit 945961f78a78eced823d5ba78505c781b079703d.

Change-Id: Iebc1d49fac33380233f8785fc39bec6c30a5e714
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
c724dcf23c5e2ebd22c042a8a6f2424b7e9d5029 08-Apr-2016 John Reck <jreck@google.com> Merge "Make stopped state a first-class thing" into nyc-dev
4a735441e82207e18036be09d0d02c855930938f 08-Apr-2016 John Reck <jreck@google.com> Merge "Fix a derp" into nyc-dev
a41f2445156fe0bcfde6bd4d813dfc43796a526d 08-Apr-2016 John Reck <jreck@google.com> Fix a derp

Fixes: 28074465

I knew I added that flag for a reason...

Change-Id: I6e28237dcd50191769a828bf2646c3a00c14387c
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
945961f78a78eced823d5ba78505c781b079703d 08-Apr-2016 John Reck <jreck@google.com> Make stopped state a first-class thing

Bug: 27286867

WindowManager has committed to stopped state
controlling the lifecycle of the Surface, so
make that a first-class thing in HWUI as well.

This makes it more resistent to things like
a rogue updateSurface() happening while mStopped=true,
leading to bad things down the line. Instead let
the surface be changed/updated as often as desired,
and just block any attempt to draw on that surface.

Also removes some unnecessary makeCurrent()s, as
EglManager ensures that we *always* have a valid
GL context now (using a pbuffer surface if there is
no window surface set)

Change-Id: Iead78ddebc7997e8fdb0c9534836352f5e54b9bd
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
51f2d606dcbfba3cc5b03dfea37c1304b91c232f 06-Apr-2016 John Reck <jreck@google.com> Fix some edge cases

Bug: 27709981

This desperately needs a refactor, but to keep
the current (really needed & nice) behavior of
dispatching after sync finishes would be difficult
to handle cleanly without lots of ripping so... #yolo

Change-Id: I831a06c6ae7412a062720d68ecbe3085190f0258
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
660108075e61d7b7e6c138000890011510d5b079 30-Mar-2016 John Reck <jreck@google.com> Expand JankTracker

Bug: 27922347

* Dump the full histogram
* Expand the histogram to have a slow-frame section with
large 50ms buckets to raise the cap to 5s to give more
insight into system-health
* Stop excluding first-frame metrics as we want to include
those in our global tracking. Automated tests already filter
these out by doing resets before running anyway.

Change-Id: Idaba8aad591f59d10a6477b11efc0767ff715083
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
910beb8f5d9042163e2ad0dbb744d9f147db9604 03-Feb-2016 Andres Morales <anmorales@google.com> updates to FrameStatsObserver API

- Rename to FrameMetrics to avoid collision with existing
android.view.FrameStats class
- Make FrameMetricsObserver implementation detail,
exposing FrameMetricsListener interface as public API
and wrapping in FrameStatsObserver to maintain state
- Remove dropped frame count call, in favor of passing as
parameter to callback method.
- Move away from raw timestamp access in favor of Metric IDs
which represent higher-level, more stable stages in a frame
lifecycle and match the categories exposed in the onscreen
bars.
- Support many-to-many Window<->FrameMetricsListener relationship

Change-Id: I00e741d664d4c868b1b6d0131a23f8316bd8c5c2
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
f648108f83d4e74811919e9811efb8fcc184b8a3 03-Feb-2016 John Reck <jreck@google.com> Have RT drive window positioning

Bug: 22802885

Change-Id: I6beed5474d3a943b16e9097f7bd61ce3cbd37505
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
06f5bc70a667a02b14e31d3f53f91d3661e30666 16-Dec-2015 Andres Morales <anmorales@google.com> expose hwui frame stats through FrameStatsObserver

Change-Id: I88884bafc8e2f6d7f67a36d3609490e83cf8afd5
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
465eefb9f31928157158a0f30319d1d95a21a567 19-Jan-2016 John Reck <jreck@google.com> Merge "fix race condition between HWUI cache and renderThread" am: 2c2b5e8514
am: 4354ae9883

* commit '4354ae9883ae1282ac457539f46d529bdfa89fec':
fix race condition between HWUI cache and renderThread
c0a0e1a66da20a18045d59451b59ec32685bcf18 18-Jan-2016 Thomas Buhot <thomas.buhot@intel.com> fix race condition between HWUI cache and renderThread

getMaximumBitmapWidth() and getMaximumBitmapHeight() of DisplayListCanvas
need HWUI cache instance. Since the initialization of the cache is
asynchronous it may crash if not yet ready. Add a staticFence() call
to guarantee the cache has been created prior issuing the call.

Change-Id: I5ed9e5cc084444c8d1872a77fef50e294ae14e93
Signed-off-by: Thomas Buhot <thomas.buhot@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
ff3edce12d3081517e9a724cc18a0de58af5187a 14-Jan-2016 Chris Craik <ccraik@google.com> Log render pipeline in gfxinfo dump

Change-Id: Ia50c445b29d918f274ec45632d61d8b8479c72eb
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
bf4b31f7b23b0bc7a2ed4fc779aac37c9c486eb2 16-Dec-2015 John Reck <jreck@google.com> resolve merge conflicts of 04ce46db64 to master.

Change-Id: I935bb47718f0e7d5fb48945dd8de6e28dac136e5
0bcd0cb6b1193168fa2840855195347488daab9e 04-Dec-2015 Thomas Buhot <thomas.buhot@intel.com> libhwui: make setSurface asynchronous

On the critical path of the cold launch of applications
the main thread of the started application tells the RenderThread
to create a surface. This process is synchronous and blocks
the main thread of the application until the creation
of the EGLContext is complete.
As a consequence the launch time of the application is delayed
by time spent allocating the EGL Context in the RenderThread.

With this optimization the launch time of any application
is improved (for example settings by 20 to 40 ms).

Change-Id: Ibf47aaa0abb8dedf7aa00693073db3785d9d6b08
Signed-off-by: Thomas Buhot <thomas.buhot@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
cba287b9716155183faf21865a6c28ba49ffe486 10-Nov-2015 John Reck <jreck@google.com> Fix threading issues

Bug: 25584167
Change-Id: I413ef9e0c86f7cca1f7d085e0071745ca0192853
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
6b50780363d3bb8db600c770183fa07677509ae8 03-Nov-2015 John Reck <jreck@google.com> Remove almost-all android::Singleton users

Bug: 25426213
Change-Id: I88e6206e8915cce95c3a8a8a82a4bb8fbf668141
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
0a24b146cd3dacf372ce98424044423a5b2fbf2a 20-Oct-2015 Chris Craik <ccraik@google.com> Add initial OpReorderer benchmarks

Change-Id: I6ca8ea89be2159331b2ad7031769c65f54161918
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
b816087962aba0019b022303330f03b897b580ed 22-Sep-2015 Skuhne <skuhne@google.com> Rendering the window frame with a second thread

Using a multi threaded render node to render the window frame
asynchronously from the application relayout.

Bug: 22527834
Bug: 24400680
Bug: 24459827
Bug: 24409773
Bug: 24537510
Change-Id: I1010fc6a8b6e38424178140afa3ca124433ab7e4
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
ea7a7fb75acb7305eb774ca7bc7e96103bd49323 28-Aug-2015 Skuhne <skuhne@google.com> MultiThreaded rendering of different renderNodes

This is adding the renderer side infrastructure to allow
rendering multiple render nodes with different threads.
This is a pre-step for decoupling a non client decor
resize reder from a content resize render.

Multiple render nodes can be added to be drawn, and to
prevent overdrawing, a content bounds area can be set

Bug: 22527834

Change-Id: Ie7271e20895bf38957e5a84aeefc883e282039ad
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
e248bd1b2c3fcf8088429507e73b31f45ee2544b 05-Aug-2015 John Reck <jreck@google.com> Serializing display lists

This is a WIP prototype

Change-Id: Id4bfcf2b7bf905221c3734b7b6887c9b2efd37e6
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
c36df952292b69920d4764a8a37361073fcf4f2c 29-Jul-2015 John Reck <jreck@google.com> Re-enable -Werror on clang

Change-Id: I582bd0665752c7a9deb4f9de094d0dd0a50cda6a
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
53e51e4aa933f9603587e1780f446c18816bf9be 01-Jun-2015 Chris Craik <ccraik@google.com> Handle shader matrix correctly when ignoring canvas transform

bug:20063841

Restores old SkShader matrix behavior from before the Glop refactor.

Many drawing operations draw without sending the canvas transform to
the GL shader. In such cases, we need to adapt the matrix sent to the
SkShader logic to invert the canvas transform that's built into
the mesh.

Change-Id: I42b6f59df36ce46436322b95bf9ad2140795ee58
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
50210d912925aef14e4ce69be82e4949122a3cd9 15-May-2015 Alan Viverette <alanv@google.com> Adjust light source for window position

Bug: 16523629
Change-Id: I2f3fed1edcac0a3cfd5034aded45e08ececfebaf
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
9eb9dd326ae93cd84eb9bbc740f753fe8d8c7a13 06-May-2015 Chih-Hung Hsieh <chh@google.com> Fix clang warnings on unused variable, mismatched tag, print format.

BUG: 20890093
Change-Id: I91588f481d80b69823bc9d104b8bd09167ee5373
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
356b1777092e7da3ac5eae0bc94bd21e1cf9319a 05-May-2015 Chris Craik <ccraik@google.com> Merge "Cleanup properties" into mnc-dev
7f2e5e3cea6af1f1dff35842aa13d46c47315b91 05-May-2015 John Reck <jreck@google.com> Dump profile info after running test

Bug: 20824843

Not really a proper "benchmark mode" but it turns out
we already have reasonably good profile data, so tweak
the test app to spit it out after a run.

Change-Id: Iaee9c0d61b5508daf282fe5f95d0b37ee419a8f1
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
2507c34d91bb0d722b6012e85cb47387b2aa6873 04-May-2015 Chris Craik <ccraik@google.com> Cleanup properties

bug:19967854

Separate properties from Caches, into static, RenderThread-only class.

Also rewrites the means for java to set properties to correctly handle
threading, and adds an override for profile bars so that SysUi doesn't clutter
the screen with them.

Change-Id: I6e21a96065f52b9ecc49d1a126244804ba106fa9
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
a15eedd266af3229217bfd45e6fec0001336279a 04-May-2015 John Reck <jreck@google.com> Fix setName use-after-free

Bug: 20764439
Change-Id: I7a0f85bb82629b1302db02015fa493dc09eb31f7
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
3731dc220ed457e0f1e99d7ec2589e0a43872b59 14-Apr-2015 John Reck <jreck@google.com> A bunch more cleanups

Switch a few places to using android::canvas
instead of SkCanvas as well which eliminated
some JNI

Change-Id: I8f98b56442a06362b82b984cd1bd3a92398d8dbc
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
9d4efdf2802f06ccf7031610891f75af70ea5538 17-Apr-2015 John Reck <jreck@google.com> Revert "A bunch more cleanups"

This reverts commit c294d128d03bc9a9982b273a82516c04583438cc.

Change-Id: Id1ebb236950f7c36c6d86e1dd95566d3a200748d
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
c294d128d03bc9a9982b273a82516c04583438cc 14-Apr-2015 John Reck <jreck@google.com> A bunch more cleanups

Switch a few places to using android::canvas
instead of SkCanvas as well which eliminated
some JNI

Change-Id: I8f98b56442a06362b82b984cd1bd3a92398d8dbc
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
c74e289a6537227ab80fa59da9d5d6f88dc9fe33 30-Mar-2015 John Reck <jreck@google.com> Merge "Add GraphicsStatsService"
edc524c90506d80e0fc5fb67e8de7b8f3ef53439 18-Mar-2015 John Reck <jreck@google.com> Add GraphicsStatsService

More S's for More Speed

Split JankTracker's backing data from the
class to allow for data relocation to/from ashmem regions

Pack the jank tracking data to fit in 256 bytes

Change-Id: Ife86a64b71a328fbd0c8075fe6a0404e081f725b
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
111928fa324db73f94389bdfab4b108cbd30d8f4 24-Mar-2015 John Reck <jreck@google.com> resolved conflicts for merge of 4142f026 to master

Change-Id: Iabe3aa0ac6911a26d2ba7219f18332897276ed6f
c80c9ad188ac6c421e70c906104d4394504878fb 20-Mar-2015 youngmin0822.lee <youngmin0822.lee@lge.com> Don't create unnecessary RenderThread's instance when executing 'dumpsys gfxinfo'

To obtain the gfxinfo for each process, the static method of RenderProxy is used, which is named outputLogBuffer().
In there,
1. RenderTask is created for getting DisplayList Commands in RenderNode.
2. staticPostAndWait() is called
3. RenderThread's instance is created by 'RenderThread::getInstance()' in staticPostAndWait()

In case of the service, they don't use HW Acceleration, so don't need RenderThread.
But, by the process of No.3, RenderThread is created for all process.
As we know, RenderThread never be destroyed while the process is alive.
This patch checks RenderThread instance before the creation of RenderTask.
And, there is no one, just return to prevent the unnecessay creation of it.

Change-Id: I4fe29d83c9ced3e8b67177c0874c5d8ee62e1870
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
b36016c65f1d1b5846dba0349aab491dbd3a746a 11-Mar-2015 John Reck <jreck@google.com> Cleanups & simplifications

Change-Id: I5ad5e3b8fe55b1528f2e20c63e5abe51d9e40ff1
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
c87be99c6ead0720a8918ea38ce3b25e5c49e1c6 20-Feb-2015 John Reck <jreck@google.com> C++11 style fixups

Change-Id: I356d02338820bfef41a9e278c88dafc17cfe1cf9
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
ba6adf66d3c44c0aa2fd8a224862ff1901d64300 19-Feb-2015 John Reck <jreck@google.com> Initial attempt at jank-tracking stat collection

Is a bit naive, perhaps overly aggressive, but sorta works

Change-Id: I01a774e00dbe681439c02557d9728ae43c45ce50
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
2ae07339824efc50468f971ff8920ff0b894cad4 21-Jan-2015 Chris Craik <ccraik@google.com> Remove DisplayListLogBuffer

Change-Id: I001832fc444b6d532f4a382e0a31cc1d8956dbd8
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
d41c4d8c732095ae99c955b6b82f7306633004b1 06-Jan-2015 Chris Craik <ccraik@google.com> Add overrides and switch to nullptr keyword for all files

Adds remaining missing overrides and nullptr usages, missed due to
an extreme failure in tool usage.

Change-Id: I56abd72975a3999ad13330003c348db40f59aebf
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
9fb42f07784ac9e1ab29fa7d5bcda6c3081d238f 04-Dec-2014 John Reck <jreck@google.com> resolved conflicts for merge of a75b0ad3 to master

Change-Id: I32a2d129c556407727ada909daa6470309d42499
a75b0ad3842a5cfc406fbd9c7a36bf8a7bdcf069 04-Dec-2014 John Reck <jreck@google.com> resolved conflicts for merge of a51a0901 to lmp-mr1-dev-plus-aosp

Change-Id: Id7df835f0bd3d5d276b162635ddfb7fe0918dfed
01a5ea35fbba4c5bb1d7790ae1677a2fa752e042 03-Dec-2014 John Reck <jreck@google.com> Resume RT-animations after a pauseSurface

Bug: 18203577

The issue occurs as a result of performTraversals() both doing
a window relayout call *and* early-returning because it's not dirty.

To fix this pauseSurface() returns whether or not the RT-side is
"dirty" to force ViewRootImpl to do a draw even if mDirty is
otherwise empty.

Change-Id: I534f367e75d18d273ebf14df3927f5c464ef6bef
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
64bb413a664001c95c8439cf097dc3033f4ed733 22-Nov-2014 Andreas Gampe <agampe@google.com> Revert "resolved conflicts for merge of 220c3f4f to master"

Reverted as hwui doesn't agree.

This reverts commit 8a902d9f24e83c87b054adb5836b4a5b8a257be9.

Change-Id: I109e7b02bee2921e2155ded6df36f52e6f574b5a
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
2ab8298dc37851aab4623ba3f98d71055d653a73 21-Nov-2014 Andreas Gampe <agampe@google.com> resolved conflicts for merge of 99377df1 to lmp-mr1-dev-plus-aosp

Change-Id: I3a98f55832ac447b1ed0dd129c7a93d088025943
42ddc18d108f789705ad4eb697ce9599ad322507 21-Nov-2014 Andreas Gampe <agampe@google.com> Frameworks/base: Unused parameters in hwui

Remove Clang cutout for unused parameters. Fix warnings.

Remove Clang cutout for deprecated Skia function usage. Has been
fixed in the L push.

Change-Id: I7ea073ff67127cc1e14e798b655e2c50615fe8e7
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
1272887050a269d6d506b42099c2857847ad100b 11-Nov-2014 Andreas Gampe <agampe@google.com> resolved conflicts for merge of 1d03b816 to lmp-mr1-dev-plus-aosp

Change-Id: Ib673768fe5fc03615626ef4b10590e5317f22172
1e19674107e1aa2224c2b8c7d12bfa057efe80ea 11-Nov-2014 Andreas Gampe <agampe@google.com> Frameworks/base: Wall Werror in libs/hwui

Turn on -Wall -Werror in libs/hwui. Fix errors.

Change-Id: I74962d08c889712dacbd0d86d6760fc10802b6bd
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
0e89e2b7bcb2c035e8cee77f93120e7c5617f8d2 31-Oct-2014 John Reck <jreck@google.com> Layer changes

Bug: 17208461

* Switch Layer to be VirtualLightRefBase instead of
Caches' side-channel ref-counting
* Include active layers in gfxinfo dump
* Run gfxinfo dump on the correct thread
* Dump gfxinfo on Layer creation failure

Change-Id: I28d195699e2334518e215ab28c7a17355aee9678
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
1125d1fa92ab9f3b8315bbfb72e038b62dfd454b 23-Oct-2014 John Reck <jreck@google.com> Add some free zoom to lockHardwareCanvas

Bug: 18099195

Don't use EGL_SWAP_BUFFER_PRESERVED on surfaces that will
never benefit. Also clean up some confusing naming

Change-Id: I674ca64e0464a3282cff79e5ecd350d08f47c014
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
749906b468912dab7bf69a86e852deac3e80b0cc 04-Oct-2014 John Reck <jreck@google.com> Cleanup DeferredLayerUpdater

Bug: 17765082

DeferredLayerUpdater had fallen behind RT updates. Re-snap to
latest expectations, ensuring to call requireGlContext() prior
to detachSurfaceTexture to avoid leaking SurfaceTextures

Change-Id: Ic65fb9831e5284f658866da8da9ad5af1d227699
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
17035b0211a3c9d45ea46a99217a6acbe76e8fbe 03-Sep-2014 John Reck <jreck@google.com> Have destroy call freePrefetchedLayers

Bug: 17208461

There's a potential race condition between HardwareRenderer.destroy()
being called (which calls destroyCanvasAndSurface()) and the renderer
being finalized (which is what calls freePrefetchedLayers), during which
time it's possible we get a TRIM_MEMORY_COMPLETE and destroy the EGL
context.

Fix this race condition by moving stopDrawing() and freePrefetchedLayers()
into destroyCanvasAndSurface() where they should have been in the first
place.

Also, if we hit the assertion failure, dump the current state of
Caches to try and provide more context for the failure.

Change-Id: Ife0ba3562041e8b08e87e3e13640472b3004eed6
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
119907cd2575c56b1ebf66348b52e67aaf6a88d8 14-Aug-2014 John Reck <jreck@google.com> Animator stuff

Bug: 17228458

Change-Id: Id884a429a512f9cd2be0ed16dbd0f10e92b4440d
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
3e8249568cc428296ac76c7ddce3f0382d40fe5b 20-Aug-2014 John Reck <jreck@google.com> Implement full View.buildLayer

Bug: 17152292

Change-Id: Ia3cc2aadf72fe14517f50762fc634794df51ad5a
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
69e5adffb19135d51bde8e458f4907d7265f3e23 14-Aug-2014 Chris Craik <ccraik@google.com> Define shadow casting behavior within layers

bug:15860114

Savelayers and HW layers both now support shadow casting.

For save layers, the light source should always be correct, for HW
layers, the light source position is set when the layer is created,
and updated when it is resized.

Change-Id: Ie85567dd43c2bb0a0b08fd0bd4db41efa793ac2b
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
cd3a22cfec09c065d0667dd044c0788912e82465 06-Aug-2014 John Reck <jreck@google.com> Don't start RenderThread to do trimMemory

Bug: 16825138

Change-Id: I35f57898b14bc8526c3d93a3003bca6f5a3d7fbe
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
738ec3aace180018560998d1c2cdeb9ddde5fbfa 25-Jul-2014 Chris Craik <ccraik@google.com> Revert "Dump RenderThread stack on unresponsive"

bug:16563871
bug:16565900
bug:16555847
bug:16551643

This reverts commit ca66e06b9db6e6c921662886e4b7ddd02ac92280.

Change-Id: I23e8d4eaf828b1b298126ba5f36e4e8e7451706a
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
058fc640017c90120c599d378a4cbc55668b05b7 24-Jul-2014 Chris Craik <ccraik@google.com> Connect shadow style attributes to renderer

bug:15859361

Moves lighting info out of StatefulBaseRenderer, since it's not useful
at record time, and only used by OGLR.

Change-Id: I7ab065d02d9304afad1dc4c48597a7a621366f8e
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
73b7a4db4116774156fda3a510cc3afa14be9ffd 23-Jul-2014 John Reck <jreck@google.com> Dump RenderThread stack on unresponsive

Bug: 16408405

Change-Id: I4ba4836fd1451fb8ba77c34cdb843d3cb4217bb8
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
f47a594f5250b1914c36423ee6b371f0b8db09d0 01-Jul-2014 John Reck <jreck@google.com> Fix onTrimMemory for HardwareRenderer

Also fixes detachFunctor possibly drawing after return

Bug: 15189843
Bug: 15990672

Change-Id: I64c48cb674c461a8eeaba407b697e09f72c98ce3
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
918ad523b2780e0c893f3d2a32d4ec13f2a7e921 27-Jun-2014 John Reck <jreck@google.com> More cleanups

Change-Id: Id5967944b949a2aec57e4fe9fdcdc04c11b8c35a
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
3b20251a355c88193c439f928a84ae69483fb488 23-Jun-2014 John Reck <jreck@google.com> No-fail invokeFunctor

Bug: 15513308
Bug: 15449247

Change-Id: I13a29f9c8d4975cdda6dcb33b6332c2555ff0f7c
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
546f353e7f562fdbcf59980bcb7dc11567658aa3 10-Jun-2014 Mark Salyzyn <salyzyn@google.com> hwui: 64-bit compile issue

Change-Id: Ic3e3dbc6cde4bc58b23a8ab267b0868f370ad149
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
e4267ea4f20740c37c01bfb6aefcf61fddc4566a 04-Jun-2014 John Reck <jreck@google.com> Even FASTER damage calculations!

* Now with more native!
* Less matrix math thanks to bulk-property-update support!
* Zero JNI on the View.damageInParent() path!
* Fully aware of RT-driven animators!
* Likely full of new and exciting bugs!
* But it also fixes at least 1 existing invalidate bug!

Change-Id: Ie0773f85a60850ff2668370c58defef2e8aa079f
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
d72e0a339b54af0c4e731513bbad120dff694723 30-May-2014 John Reck <jreck@google.com> Re-jigger layers

Bug: 15185239
Bug: 15238382

Make DeferredLayerUpdater ref counted so that
HardwareLayer:finalizer() works non-crashily on
leaked layers
Give DeferredLayerUpdater the ability to have a layer destroyer
set so that leaked layers can still be recycled on the
RenderThread
Order layer updates based off of pushLayerUpdate() calls to fix
issue with nested layers

Change-Id: I4449cee607f7e5126e02fed7464cf48038e3dfdf
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
fe5e7b7346a54537b980796ceeca66bfdbd05561 24-May-2014 John Reck <jreck@google.com> Enable debug stuffs

Bug: 14596762
* dumpsys gfxinfo implemented
* profile GPU visual_bars implemented

Change-Id: Icb948a9d5af5989b5615504d0d76ade64b93ef5b
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
e1628b7c6fc3822fa83cf02028ce8ad67abb0afe 24-May-2014 John Reck <jreck@google.com> Implement FlushCaches TODO

Change-Id: Id05429e98ffe0858275b32c41fb215c1d8d930b2
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
a5dda645da738da7b4ae15e28fa7d93d3b04b94f 23-May-2014 John Reck <jreck@google.com> Bag of scheduling tweaks

Bug: 15118640

* Prevent over-stuffing the queue by dropping frames
* Prevent double-drawing in one pulse by RT by deferring
vsync registration until post-draw so that it catches
the next vsync pulse instead of the current one
* Bias vsync race condition towards the UI thread
* Fix queueDelay to actually work

Change-Id: Ibf584258bd93ebcbba058bd976dc8b307f1c6155
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
797b95b26bbb7557678af78b9a2a61830158920f 21-May-2014 Chris Craik <ccraik@google.com> Define light position (using new lighting spec) in Java

Also updates the relative shadow strengths.

Change-Id: I6cac7275d38df98aea9f0dda463cd7207102986a
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
63a06673253914510bbeebd500655008682dade1 07-May-2014 John Reck <jreck@google.com> Implement TODO(romainguy)

Bug: 14277445

Change-Id: Id52d6f7fcc023000adcc440bd4da67d9a673536b
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
e4280baaa709c74d86cf6a389a4674ca665f5af6 06-May-2014 John Reck <jreck@google.com> Implement loadSystemProperties

Bug: 14087580

Change-Id: I7153f38c70b554a78c56a0e794da929fc401ee7a
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
f9be77940e365036fecd8cc0e491e8545c34e79b 03-May-2014 John Reck <jreck@google.com> Make RenderNodeAnimator and WebView play nice

Change-Id: Ifaefcf510b2d377663fc86f60608d6ec9be8329a
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
18f16e6fba74eda173e1e7c869e6e2e2acc073ff 03-May-2014 John Reck <jreck@google.com> TIME LORD!

Bug: 14444180

Change-Id: I68bec3807c4d1c88d5af1aec2fe6907d60b5f2f3
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
e45b1fd03b524d2b57cc6c222d89076a31a08bea 15-Apr-2014 John Reck <jreck@google.com> RenderThread animator support

Change-Id: Icf29098edfdaf7ed550bbe9d49e9eaefb4167084
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
fae904d63947fe1687d1d44be29234cc3d538f24 14-Apr-2014 John Reck <jreck@google.com> Fence on destruction

Bug: 14052927
destroyCanvasAndSurface() needs a fence as when it returns the
underlying BufferQueue is going to be released from under
the render thread.

Change-Id: I0147a1d5ec5adf0239c761ef22f65cd8c8a137df
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
822bbb382fa6b6c8d1b45770e27c2c2732a7afb7 11-Apr-2014 John Reck <jreck@google.com> Merge "Make attachFunctor blocking"
d3d8dafc2f61fb118c060720b52684c59303f3db 11-Apr-2014 John Reck <jreck@google.com> Make attachFunctor blocking

Bug: 13930200

Change-Id: I9b0cf92fd16bb30baa09b6f8d7ae22a8b2a7fd80
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
8ca3eecc2b7fe507d3482745efc4cd2567ad15a1 10-Apr-2014 John Reck <jreck@google.com> Remove sync flush

Bug: 13952590
It was attempting to flush state changes after the canvas was
destroyed, which caused layer updates to crash.

Due to the removal of SetDisplayListData, the sync mode isn't able
to do anything ever, so remove it.

Change-Id: I1e18ce288d81fd47cc6e612afda9476f75ecef2e
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
8e1f918738abf70a4dc86dbb12b386a9deea37f8 10-Apr-2014 John Reck <jreck@google.com> Merge "Switch DisplayListData to a staging model"
8de65a8e05285df52a1e6f0c1d5616dd233298a7 10-Apr-2014 John Reck <jreck@google.com> Switch DisplayListData to a staging model

Bug: 13912977

Change-Id: I5b2f664e797be22a58300964f57ceb4fab60528c
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
f7d9c1dc84671d4e99657ef071d275700d85bb11 09-Apr-2014 John Reck <jreck@google.com> Fix ThreadedRenderer.setEnabled()

Bug: 13914116
Fixes lifecycle issues around setEnabled where ThreadedRenderer
was reporting as being enabled before it had a Surface. This is
incorrect.

Also fix some EGL lifecycle issues

Change-Id: I12ebb279707f9b533a570b61d68735d858b560bf
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
1949e7928eeec22cd3f74b5f763a4eb433238453 09-Apr-2014 John Reck <jreck@google.com> Ensure there's a GL context before creating a Layer

Bug: 13745587

Change-Id: Ib0ec059d9a5974a48734daeec9d83580cada94a3
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
e2c455264351964bf1ae78da2256c17258f0d3ea 08-Apr-2014 John Reck <jreck@google.com> Veto pool TODO

Change-Id: I50067dba630b75aa539e4406cfc15f66949684b3
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
85189c5dafb08f051c7024f42ceedcbcf5dbbc7c 08-Apr-2014 John Reck <jreck@google.com> Merge "Fence on draws that are reported"
28ad7b52e038ef0cdd89f753d9839444a434b299 08-Apr-2014 John Reck <jreck@google.com> Fence on draws that are reported

Change-Id: Ib2ec16cbda40f40df1710bdc868869ea8301f17e
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
087bc0c14bdccf7c258dce0cdef46a69a839b427 05-Apr-2014 John Reck <jreck@google.com> Refcount RenderNode

Change-Id: I7a86db8acc2b78ef33d987a43a119f5933d7d752
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
0d1f634f4b5e1bb37aa51777efb6a68619488d01 29-Mar-2014 John Reck <jreck@google.com> Add invokeFunctor

Change-Id: I09e675d3e02e3e528642175ada00b2b17fab7652
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
668f0e38ef0277d55d3118af37e17b8c435df85c 26-Mar-2014 John Reck <jreck@google.com> Async drawing!

Change-Id: I7e728356f58af88174328a8c0b90d27b128bfe01
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
e18264b079481a244b30e3f71012c53bbd861f92 12-Mar-2014 John Reck <jreck@google.com> Rename DisplayList->RenderNode

Change-Id: Id42e23c9a1a6eb6eaeafef707ced7fa6887b03d0
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
be34f2f3b340196426bdf558b28951359a4d84fa 10-Mar-2014 John Reck <jreck@google.com> DisplayList lifecycle changes

Bug: 13360343
Change DisplayList to be more forgiving with weaker lifecycle
requirements. Is more self-managed with a strong reference
to the renderer it needs

Also fix naming mismatch

Change-Id: I5c89453a72a52954f6f959f0846199705dbb6476
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
44fd8d24f761f82d21e9b00932648a1b6bf91449 26-Feb-2014 John Reck <jreck@google.com> DisplayList overhaul

Change-Id: I53418d580c98f706e971545cff81b9921c12cc5f
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
19b6bcfd83eb7fb92ebd06d2fec89e308311f1d0 15-Feb-2014 John Reck <jreck@google.com> Support HardwareLayers in RenderThread

Also has a few HardwareLayer lifecycle fixes

Change-Id: I6308cb05f8f199eed72189ace768013a46815941
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
fc53ef27793a39e9effd829e9cae02a9ca14147e 11-Feb-2014 John Reck <jreck@google.com> Implement missing safelyRun() on ThreadedRenderer

Change-Id: I14b75f37a13fabaa759a51369190dbdc84087c4b
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp
4f02bf4eef6af47f35c70c4dda5b7b9523d89ca0 04-Jan-2014 John Reck <jreck@google.com> Native-side proxy

Remove RemoteGLRenderer
Remove reflection-based control

Change-Id: If17c2bbb61c7141986d88c4763def77ed1074985
/frameworks/base/libs/hwui/renderthread/RenderProxy.cpp