History log of /frameworks/base/libs/hwui/renderthread/RenderThread.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
34781b253083703502a7874df3619196bc7106cd 06-Jul-2017 John Reck <jreck@google.com> Move frame history into jank tracker

Test: hwui_unit_tests & manual
Change-Id: If761947652750640268217cd8cd97c8382441b44
/frameworks/base/libs/hwui/renderthread/RenderThread.cpp
f9e45d1d818ae0956ba77ed598b7040cfecca553 01-Jun-2017 Derek Sollenberger <djsollen@google.com> Implement CacheManager for the Skia pipelines.

The core of the implementation is complete and provides heuristic
cache sizing based on the size of the surface being used. This CL
will also be used to add the following features in the future...

1) Support Vulkan pipeline reporting on the size of the surface.
2) Complete the VectorDrawableAtlas stub code
3) Automatic purging of stale resources for low memory devices.

Test: hwui_unit_tests (new test added) and CtsUiRendering
Bug: 62260637
Change-Id: Ib85159cca28b646fe249f2190b07f1b7e0f50d8f
/frameworks/base/libs/hwui/renderthread/RenderThread.cpp
7bc3bc6028d0c7b16fec72c3922fc627c8657951 24-May-2017 Stan Iliev <stani@google.com> Implement HW Bitmap for Skia pipeline

Implement HW Bitmap for Skia pipeline. Use new Skia
SkImage::MakeFromAHardwareBuffer API, which will enable to
record HW Bitmap into a picture. Move logic that uploads
SkBitmap into a GraphicBuffer into pipeline specific classes.

Test: All CTS and other tests pass for HWUI pipleine. For Skia
pipeline graphics CTS tests pass, 2 UIRendering CTS tests which
excise HW bitmaps with color spaces fail, bitmapShaderEglImage
macrobench fails (to be fixed by a CL in Skia), HWUI unit tests
pass, no EGL leaks found.

Change-Id: Id5926d7cccd81af8b55400f44fb524a427543d05
/frameworks/base/libs/hwui/renderthread/RenderThread.cpp
59069e00a8965cb67350e95f32d62c31d6bf010e 17-May-2017 John Reck <jreck@google.com> Revert "Fix recent apps in system UI for Skia pipeline"

This reverts commit b33013fb3c570e0a3ced8729dced9f0d294761a6.

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: I98b2dfd750be57a15785808e2d5723616e2ce20a
/frameworks/base/libs/hwui/renderthread/RenderThread.cpp
b33013fb3c570e0a3ced8729dced9f0d294761a6 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
/frameworks/base/libs/hwui/renderthread/RenderThread.cpp
2f944482ece3aba2068ac71cd9c5067e4bc8424c 27-Mar-2017 John Reck <jreck@google.com> Add missing assert that task isn't queued

Probably won't fix anything but this assert is in queue()
but not queueAtFront() and inserting a task twice is Really Bad.

Bug: 36139852
Test: ¯\_(ツ)_/¯
Change-Id: Ida0f829eecfdd46c17c36b816528c49d12b7cf29
/frameworks/base/libs/hwui/renderthread/RenderThread.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/RenderThread.cpp
7269372d5f6a972e1878c37a07deca1e47c6f5fa 18-Nov-2016 John Reck <jreck@google.com> Merge "Avoid starving RT anims"
am: f77c220aa9

Change-Id: I3d4ba24ae0e6de4683d47163fd8f3bf65b98bd17
a5b7b8916622d44661b6e7936c9b738655a06f3b 15-Nov-2016 John Reck <jreck@google.com> Avoid starving RT anims

Test: Manual, usleep(16000) in DrawFrameTask and tap
on recents

Merged-In: I88bb30a2503bc908ec45650c7d36b6fb3cc750d0

Change-Id: I88bb30a2503bc908ec45650c7d36b6fb3cc750d0
/frameworks/base/libs/hwui/renderthread/RenderThread.cpp
769ccdbc1e4f1acbc73a7c595fc5dbacf53a1702 17-Nov-2016 John Reck <jreck@google.com> Merge "Avoid starving RT anims"
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/RenderThread.cpp
12efa55094b2fe38ef5ce232f3d8f02e78b71621 15-Nov-2016 John Reck <jreck@google.com> Avoid starving RT anims

Test: Manual, usleep(16000) in DrawFrameTask and tap
on recents

Change-Id: I88bb30a2503bc908ec45650c7d36b6fb3cc750d0
/frameworks/base/libs/hwui/renderthread/RenderThread.cpp
0e3cba31460e0698def0310003b7d291f1174afa 09-Nov-2016 Derek Sollenberger <djsollen@google.com> Handle vulkan windowing directly in SkiaVulkanPipeline

Test: manual testing in skiavk mode
Change-Id: I2fab80bae2787bfdacbc70d0402e98450e59406d
/frameworks/base/libs/hwui/renderthread/RenderThread.cpp
fb5c675b7e1fee074f19cf1866b5dda0785dbe64 29-Jul-2016 John Reck <jreck@google.com> resolve merge conflicts of 67daab6 to nyc-mr1-dev-plus-aosp

Change-Id: I35f867b8d6408a7eae9cf5643f0908259de90cb1
2d5b8d73929a38b019c6b6276d4a19542b990f0c 29-Jul-2016 John Reck <jreck@google.com> Teach JankTracker about new swap behaviors

Bug: 30440166

If we are using HWC2, there's a change in timing
when in triple buffering with the pipelined offsets.
This changes JankTracker to recognize that and silently
erase that from the total duration

Change-Id: Ib1fd4209070f17dbd2baed707c8cf73fb11c3cf2
/frameworks/base/libs/hwui/renderthread/RenderThread.cpp
85e0c89ba55188ecc484538efbfdb570606fc1a2 28-Apr-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 1599b981 to nyc-dev-plus-aosp

Change-Id: I90807581e10b6a0024515ff634ac8b29eaa5fc9f
c6baf563ba6aa207a48317c177b29f1d2b70cf3d 27-Apr-2016 Chih-Hung Hsieh <chh@google.com> Fix google-explicit-constructor warnings.

Bug: 28341362
Change-Id: Ibdd6a210bb7ff228e3624cc319169f77aca3b51e
/frameworks/base/libs/hwui/renderthread/RenderThread.cpp
cba287b9716155183faf21865a6c28ba49ffe486 10-Nov-2015 John Reck <jreck@google.com> Fix threading issues

Bug: 25584167
Change-Id: I413ef9e0c86f7cca1f7d085e0071745ca0192853
/frameworks/base/libs/hwui/renderthread/RenderThread.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/RenderThread.cpp
0a24b146cd3dacf372ce98424044423a5b2fbf2a 20-Oct-2015 Chris Craik <ccraik@google.com> Add initial OpReorderer benchmarks

Change-Id: I6ca8ea89be2159331b2ad7031769c65f54161918
/frameworks/base/libs/hwui/renderthread/RenderThread.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/RenderThread.cpp
b36016c65f1d1b5846dba0349aab491dbd3a746a 11-Mar-2015 John Reck <jreck@google.com> Cleanups & simplifications

Change-Id: I5ad5e3b8fe55b1528f2e20c63e5abe51d9e40ff1
/frameworks/base/libs/hwui/renderthread/RenderThread.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/RenderThread.cpp
65fe5eeb19e2e15c8b1ee91e8a2dcf0c25e48ca6 27-Jan-2015 Chris Craik <ccraik@google.com> Move scissor state to RenderState

Change-Id: I1227a3886fb24e4d9fad79fca469794f06cfb15e
/frameworks/base/libs/hwui/renderthread/RenderThread.cpp
026111bc56498d6ac463b335d91e2ee5e06901be 28-Jan-2015 Yabin Cui <yabinc@google.com> am f7049289: am 3812e68e: Merge "kill HAVE_PTHREADS."
automerge: 3a10a67

* commit '3a10a672f05735be46256617b8a61cdb1e589008':
kill HAVE_PTHREADS.
3a10a672f05735be46256617b8a61cdb1e589008 27-Jan-2015 Yabin Cui <yabinc@google.com> am f7049289: am 3812e68e: Merge "kill HAVE_PTHREADS."

* commit 'f70492898b3efa3c5f480f195062fa6f293bc764':
kill HAVE_PTHREADS.
1610486d371b867c0a842ede38e64774c18ba5d9 27-Jan-2015 Yabin Cui <yabinc@google.com> kill HAVE_PTHREADS.

Bug: 19083585
Change-Id: Ib466949bb6cd6d1bbc4680e989f0f9fae62ca564
/frameworks/base/libs/hwui/renderthread/RenderThread.cpp
f78ff7d49a4da604ba4fbcf2b662f5e4bd8bfa16 15-Jan-2015 John Reck <jreck@google.com> am cefeb34e: am 2c9f86aa: am 53af1cd3: Merge "Vsyncs are hard" into lmp-mr1-dev

* commit 'cefeb34e4866209e2ccf4c520919fe31a3f1aeb5':
Vsyncs are hard
a22c9b2cd171a656fa684d57a915dbe636da5f6a 14-Jan-2015 John Reck <jreck@google.com> Vsyncs are hard

Bug: 18866485
Change-Id: I7d304df0f20a3296956cb6887a72adba9243f117
/frameworks/base/libs/hwui/renderthread/RenderThread.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/RenderThread.cpp
a733f89c05567c97359169832f41389b939baaad 19-Dec-2014 John Reck <jreck@google.com> Tweak RT-animator scheduling

Bug: 18226391

The issue occurs as a result of a dispatchFrame itself
taking longer than 12ms, the alloted budget. The result
is that a vsync request (which occured at the end) would
miss the vsync that occured 1ms prior to the end of the frame.
As a result it would end up waiting for the following vsync,
essentially dropping to 30fps even though 60 could have been
sustained.

Fix this with a few tweaks.
First, adjust the UI thread's delay bias from (now + 4ms) to
(vsync + 4ms), this prevents RT animators from slowly drifting
if the vsync occurs mid-task.
Second, request a vsync preemptively prior to running callbacks.
This way if any callbacks needs the next vsync and it takes
"too long", we will catch that vsync.
Finally, fix an issue where the display event queue was always
drained & rejected at the end of a task loop. Instead, drain
and reject all stale vsyncs. This still prevents the issue of
both UI thread & RT thread trying to drive 2 frames in a single
pulse, but also allows RT to notice that it missed a vsync
pulse it needed and that it should speed-up a bit in response

Change-Id: I9d6be037737e9283297898cac2e3563453e797cd
/frameworks/base/libs/hwui/renderthread/RenderThread.cpp
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/RenderThread.cpp
8b59a528b54279ce640b2d23a00acae1d0f477c5 22-Nov-2014 John Reck <jreck@android.com> Revert "Frameworks/base: Unused parameters in hwui"

This reverts commit 42ddc18d108f789705ad4eb697ce9599ad322507.

Change-Id: I3574a936a39a96314db6437d0a1eb58d260d893d
/frameworks/base/libs/hwui/renderthread/RenderThread.cpp
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/RenderThread.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/RenderThread.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/RenderThread.cpp
21be43e142a6fcb3283d7b2da14eb39b690cf643 14-Aug-2014 John Reck <jreck@google.com> Fix hwuitask & RT priorities

Bug: 15993695

Change-Id: Ib6f07237cb834e8d10f3074f8fb206d27f91859a
/frameworks/base/libs/hwui/renderthread/RenderThread.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/RenderThread.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/RenderThread.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/RenderThread.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/RenderThread.cpp
18f16e6fba74eda173e1e7c869e6e2e2acc073ff 03-May-2014 John Reck <jreck@google.com> TIME LORD!

Bug: 14444180

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

Change-Id: Icf29098edfdaf7ed550bbe9d49e9eaefb4167084
/frameworks/base/libs/hwui/renderthread/RenderThread.cpp
a6260b83da52b80438074a9fd207327d9e6e6d03 30-Jan-2014 John Reck <jreck@google.com> Fix nano vs. millis

Change-Id: I54f752bb7faab5fa66c36252c9f7cf8f5c9939c9
/frameworks/base/libs/hwui/renderthread/RenderThread.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/RenderThread.cpp
69d251383f3656a580c3878045de235d70a12000 19-Dec-2013 Brian Carlstrom <bdc@google.com> Track Looper decoupling from ALooper

Change-Id: I83d1f5f6600019268c53706b7bf6d94b84931e18
/frameworks/base/libs/hwui/renderthread/RenderThread.cpp
cec24ae16e9a0a7c3075f1a8d9149bb7fb3813fc 05-Nov-2013 John Reck <jreck@google.com> RenderThread work

Hacky prototype needs a private API to enable

Change-Id: I21e0ddf3cdbd38a4036354b5d6012449e1a34849
/frameworks/base/libs/hwui/renderthread/RenderThread.cpp