| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On some cases (noticed from log) that there is a crash in
libhwui.so, future debug log shows that the light center position
values are nan, causing an out of bound access in hull function
in SpotShadow.cpp for parameter retPoly which assume to be of
maximum length of pointsLength only but not the case when all
points are nan.
More log shows that a Snapshot was created (new) without
mRelativeLightCenter begin set, and Layer.cpp trying to
use it by calling updateLightPosFromRenderer. Those values
are random values in stack which causing math calc based on
that value returning nan also.
Initialize mRelativeLightCenter to 0 in Snapshot.cpp to avoid the
problem.
Change-Id: I9e24f6f1f856d053d09db1b1aae100f219f2a6de
|
|
|
|
|
|
|
|
| |
* Devices still exhibit issues here even when using an AOSP codebase.
This problem exists upstream, so make this the default codepath for
everything.
Change-Id: I49e4e1ad3f294844a4e865d727776bc99f0df439
|
|\
| |
| |
| |
| |
| |
| |
| | |
https://android.googlesource.com/platform/frameworks/base into cm-13.0
Android 6.0.1 release 22
Change-Id: I0d31899b234156a91accb61e0a7fb3d8d16d5062
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix memory leak in HWUI
std::unique_ptr::release just releases the ownership of the
managed object. To delete the object, std::unique_ptr::reset
function should be called.
Bug: 26116596
Change-Id: If65f74085b1fc2be3a9fffc433326e0bcdb40ff3
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
and save the result. Then pass that value to
UiFrameInfoBuilder::setVsync as both arguments.
The order of function argument evaluation is undefined in C++. Because
the value returned from TimeLord::latestVsync may be changed by
the preceding call to TimeLord::computeFrameTimeNanos the values of the
arguments passed to UiFrameInfoBuilder::setVsync is also undefined. This
change removes any ambiguity.
Change-Id: Ie71ee453f9ccc725edfe5f7cc9b277f2a809dfdc
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit e02ec7c37a92fd63748a610bac6a23d0409788cf.
Change-Id: Iea7fadf04c4ffa62be28f783342ae749f89bf931
|
| |\ \
| | | |
| | | |
| | | | |
into mnc-dr-dev
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
b/25417885
Change-Id: I4b87e35ca68091fd0409cb9fe9b9400af860a507
|
| |\ \ \
| | |_|/
| |/| | |
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | | |
b/24534579
Change-Id: Ib3581ec99387ca70ca036026f64857a49657d94b
(cherry picked from commit 8d0ec389531d071529fb0a800f10733b057205d9)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Bug 25462107
This reverts commit d354fd2c66855d116440eb4c936317f124241225.
Change-Id: Ib7c50b5becf247f837f3cc20f9128d9411d22563
|
| | |
| | |
| | |
| | |
| | |
| | | |
bug:25417885
Change-Id: I0ef8034d79ba3682925e3c2a4b7ccd833fd4f156
|
| |/
| |
| |
| |
| |
| | |
bug:25417885
Change-Id: I8244bd28c2d46fc449398b9bf5104bf7cbaded8a
|
| |
| |
| |
| | |
Change-Id: I7ea61090824cd04c76e7c39639edff7059c8b7ba
|
| |
| |
| |
| |
| |
| |
| | |
Align x offset and width to 32, y offset and height to 4.
It improves the font texture upload performance.
Change-Id: I967eeed90658f2ce1eb08cb2740d5dc34c72f40b
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When there is not enough space and we cannot delete any
Texture in TextureCache to secure space, a new Texture is
created over and over again for the same SkBitmap and
there is the case that it is not deleted.
This patch avoids such cases.
Change-Id: Ic5353995e6d0716c31fe3bb49c60ec1a71574643
Signed-off-by: Dohyun Lee <leedhyun11@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| | |
Not all devices seem to be able to deal with this so let them opt
out of it, even though it does provide a UI slow-down.
Change-Id: I402193c2c930e815ba69071142b9093a0630b590
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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: I41cfe4e18f2d26af5058b8b17c19df60ac1e5d85
Signed-off-by: Thomas Buhot <thomas.buhot@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
std::unique_ptr::release just releases the ownership of the
managed object. To delete the object, std::unique_ptr::reset
function should be called.
Change-Id: If65f74085b1fc2be3a9fffc433326e0bcdb40ff3
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
https://android.googlesource.com/platform/frameworks/base into cm-13.0
Android 6.0.1 release 3
Change-Id: I59b9e5a943e0860d43bcfb36ee0e8b8b072412ea
|
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit e02ec7c37a92fd63748a610bac6a23d0409788cf.
Change-Id: Iea7fadf04c4ffa62be28f783342ae749f89bf931
|
| | |
| | |
| | |
| | |
| | |
| | | |
b/25417885
Change-Id: I4b87e35ca68091fd0409cb9fe9b9400af860a507
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
b/24534579
Change-Id: Ib3581ec99387ca70ca036026f64857a49657d94b
(cherry picked from commit 8d0ec389531d071529fb0a800f10733b057205d9)
|
| | |
| | |
| | |
| | |
| | |
| | | |
bug:25417885
Change-Id: I8244bd28c2d46fc449398b9bf5104bf7cbaded8a
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Bug 25462107
This reverts commit d354fd2c66855d116440eb4c936317f124241225.
Change-Id: Ib7c50b5becf247f837f3cc20f9128d9411d22563
|
| |/
| |
| |
| |
| |
| | |
bug:25417885
Change-Id: I0ef8034d79ba3682925e3c2a4b7ccd833fd4f156
|
| |
| |
| |
| |
| |
| | |
This reverts commit 3973c59b77243793c9f5d9aed7a44483decf8c17.
Change-Id: I9348e68bcecb30a66a71e571fdce587f786aad7d
|
| |
| |
| |
| |
| |
| | |
This reverts commit a9cdd4ff38aed1fb1bac64caec97bfb0b72d0ce9.
Change-Id: I3be8069c365cc213c9d57d513c1de5be42ace055
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On the critical path of the cold launch of applications
the main thread of the started application allocates
the surface buffer. The allocation is synchronous and blocks
the main thread of the application.
As a consequence the launch time of the application is delayed
by the time spent doing the allocation.
With this optimization the allocation is performed
asynchronously in the RenderThread. This optimization
will benefit to the launch of all applications.
Change-Id: I4bc145cfc3ba6fe1efbca519bcee2e4ea6617ae7
Signed-off-by: Thomas Buhot <thomas.buhot@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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 the settings
application is reduced by 20 ms to 40 ms.
This optimization applies to the launch of all
applications.
Change-Id: Ibf47aaa0abb8dedf7aa00693073db3785d9d6b08
Signed-off-by: Thomas Buhot <thomas.buhot@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since preserve swap is enabled, we need to clear the color buffer
when the scissor rect is prepared for a new process. This prevents
garbage being present from the previous process in the color buffer.
CRs-Fixed: 549755
Change-Id: Icd12ae388077b8c9ed329c37314e896500078543
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When precache, PathTexture is added to PathCache, and it is released after drawn if we want to clean it.
But the PathCache LRU still holds the entry of the PathTexture object. When trim the cache in
the end of each frame, LRU finds that its mListener is not NULL and invoke the functor, however,
mListerer points to the released PathTexture object and is a dangling pointer, thus leads to crash.
Smart pointer don't help here since they only manage scopes, while PathTexture is also controled by
its cleanup field.
The fix is to also remove the LRU entry of PathTexture*, it will also release the texture object
and there won't be texture leaks.
Change-Id: Iaa0621df5dc71532e9e75b38ad94384353930b95
|
| |
| |
| |
| |
| |
| | |
The array list is too small and causing stack corruption
Change-Id: I0e34dad39357fb63977d2ce6f183ced7b6a632be
|
| |
| |
| |
| |
| |
| | |
b/25417885
Change-Id: I4b87e35ca68091fd0409cb9fe9b9400af860a507
|
|/
|
|
|
|
|
|
|
|
| |
bug:24584749
Fonts are only destroyed when the renderer is destroyed, this prevents
modifying the FontRenderer's LruCache while it's being iterated through
in FontRenderer::~FontRenderer.
Change-Id: I0e2c9f87981bfa50454ec8689df05851839e288e
|
|\
| |
| |
| |
| |
| |
| | |
mnc-dev
* commit '0b8045425ff58f992046ff2be35bc91001dabf7b':
Constrain drawBitmap matrix-to-rect optimization
|
| |
| |
| |
| |
| |
| |
| |
| | |
bug:22962165
Optimization is not valid if matrix would flip image.
Change-Id: Ieee42390517bd3466b7d94596f0fbbe192ab757e
|
|\ \
| |/
| |
| |
| | |
* commit '70e5db9413f82bf1f000bd99b3d2dbecf6e4ab04':
Fix crash in kModeProcessNoContext
|
| |
| |
| |
| |
| | |
Bug: 22931143
Change-Id: I9897a28b1edd006aee67ae2343874ad92bbd15a0
|
|\ \
| |/
| |
| |
| | |
* commit 'c03ab87ac9f721ff22bfe5e9c0cd0e5be64f261e':
Disable skipping frames on empty damage
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bug: 22592975
Optimization added in MNC is not quite correct, occasionally
it will fail to repaint when it was supposed to leading
to buffer corruption. Disable the optimization for now.
Change-Id: I34dfdfb357eda298198043ded7335d4588a003fd
|
|\ \
| |/
| |
| |
| | |
* commit '730c0f6591b1c99699e9d0ecf36d696f7d87629f':
Fix stencil mask usage in HWUI
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
bug:21588246
Ensure we always set the mask before clearing, and removes
some unneeded optimizations around mask usage in
debug (overdraw) mode.
Change-Id: I71ed06c16f8d9f158953d5aa160098514f0f7f00
|
|\ \
| |/
| |
| |
| | |
* commit '8b1154c487c25388107dc024376435f3b0ae2385':
Move updateMatrix() call to animateCommon
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bug: 22667315
HWUI internally always assumes that RenderNode->properties()
has a fully-baked matrix. However, RenderThread animations violate
this and will perform an update of that matrix after they run. This
was missing in the fallback scenario where an animation was
running on a View that is detached from the tree.
If a RenderThread animation is started on an attached view, it becomes
detached, and is then re-attached it will crash in the staging
properties push. The fix for this is to move the call to updateMatrix
from animate() to animateCommon() so that the animateNoDamage()
path will similarly perform the necessary matrix update.
Change-Id: I4c899a6f68659342a6515f1d7f20d3c4af65caf0
|
|\ \
| |/
| |
| |
| | |
* commit '2abf0f24af60b8644d5b61eed9666793083546ee':
Fix a race condition that could cause lockup
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bug: 22676664
If a task is queued on a worker thread that is busy
processing a task AND a trim memory signal comes along
prior to the initial task being completed then the
tasks that were queued prior to the exit request will
never be processed.
This is bad, as when those futures are used later on, such
as in trying to delete them from the cache, they will block
waiting for the orphaned task to be finished.
Simple fix is to just never stop the worker threads. Increase
RAM usage slightly as we won't reclaim that stack space, but
this cost is fairly small
Change-Id: I818b011f9bc6ba06942fdad81c27656bd97b42d4
|
|\ \
| |/
| |
| |
| | |
* commit '1fddd3efa9ac10e794d7bdf457b7b52c7e4614f7':
Mark isInUse per-window
|